diff --git a/Cargo.lock b/Cargo.lock index 7decabb..4eb52b4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -367,7 +367,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.43", + "syn 2.0.44", ] [[package]] @@ -396,13 +396,13 @@ checksum = "e1d90cd0b264dfdd8eb5bad0a2c217c1f88fa96a8573f40e7b12de23fb468f46" [[package]] name = "async-trait" -version = "0.1.75" +version = "0.1.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdf6721fb0140e4f897002dd086c06f6c27775df19cfe1fccb21181a48fd2c98" +checksum = "531b97fb4cd3dfdce92c35dedbfdc1f0b9d8091c8ca943d6dae340ef5012d514" dependencies = [ "proc-macro2", "quote", - "syn 2.0.43", + "syn 2.0.44", ] [[package]] @@ -574,7 +574,7 @@ checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.43", + "syn 2.0.44", ] [[package]] @@ -671,7 +671,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.43", + "syn 2.0.44", ] [[package]] @@ -1114,7 +1114,7 @@ checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.43", + "syn 2.0.44", ] [[package]] @@ -1135,7 +1135,7 @@ checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246" dependencies = [ "proc-macro2", "quote", - "syn 2.0.43", + "syn 2.0.44", ] [[package]] @@ -1146,7 +1146,7 @@ checksum = "c2ad8cef1d801a4686bfd8919f0b30eac4c8e48968c437a6405ded4fb5272d2b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.43", + "syn 2.0.44", ] [[package]] @@ -2125,7 +2125,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.43", + "syn 2.0.44", ] [[package]] @@ -2221,7 +2221,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.43", + "syn 2.0.44", ] [[package]] @@ -2401,18 +2401,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.71" +version = "1.0.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75cb1540fadbd5b8fbccc4dddad2734eba435053f725621c070711a14bb5f4b8" +checksum = "2dd5e8a1f1029c43224ad5898e50140c2aebb1705f19e67c918ebf5b9e797fe1" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.33" +version = "1.0.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "22a37c9326af5ed140c86a46655b5278de879853be5573c01df185b6f49a580a" dependencies = [ "proc-macro2", ] @@ -2656,7 +2656,7 @@ checksum = "5a32af5427251d2e4be14fc151eabe18abb4a7aad5efee7044da9f096c906a43" dependencies = [ "proc-macro2", "quote", - "syn 2.0.43", + "syn 2.0.44", ] [[package]] @@ -2735,14 +2735,14 @@ checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.43", + "syn 2.0.44", ] [[package]] name = "serde_json" -version = "1.0.108" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" +checksum = "cb0652c533506ad7a2e353cce269330d6afd8bdfb6d75e0ace5b35aacbd7b9e9" dependencies = [ "itoa", "ryu", @@ -2757,7 +2757,7 @@ checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145" dependencies = [ "proc-macro2", "quote", - "syn 2.0.43", + "syn 2.0.44", ] [[package]] @@ -2911,9 +2911,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.43" +version = "2.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee659fb5f3d355364e1f3e5bc10fb82068efbf824a1e9d1c9504244a6469ad53" +checksum = "92d27c2c202598d05175a6dd3af46824b7f747f8d8e9b14c623f19fa5069735d" dependencies = [ "proc-macro2", "quote", @@ -2965,22 +2965,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.52" +version = "1.0.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a48fd946b02c0a526b2e9481c8e2a17755e47039164a86c4070446e3a4614d" +checksum = "b2cd5904763bad08ad5513ddbb12cf2ae273ca53fa9f68e843e236ec6dfccc09" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.52" +version = "1.0.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7fbe9b594d6568a6a1443250a7e67d80b74e1e96f6d1715e1e21cc1888291d3" +checksum = "3dcf4a824cce0aeacd6f38ae6f24234c8e80d68632338ebaa1443b5df9e29e19" dependencies = [ "proc-macro2", "quote", - "syn 2.0.43", + "syn 2.0.44", ] [[package]] @@ -3108,7 +3108,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.43", + "syn 2.0.44", ] [[package]] @@ -3288,7 +3288,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.43", + "syn 2.0.44", "wasm-bindgen-shared", ] @@ -3322,7 +3322,7 @@ checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" dependencies = [ "proc-macro2", "quote", - "syn 2.0.43", + "syn 2.0.44", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3917,7 +3917,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.43", + "syn 2.0.44", ] [[package]] diff --git a/examples/clue_solver.ds b/examples/clue_solver.ds index 15d1a43..256c500 100644 --- a/examples/clue_solver.ds +++ b/examples/clue_solver.ds @@ -30,11 +30,11 @@ make_guess = (cards , current_room ) { } else { output( 'I question ' - + random(cards:suspects) + + random:from(cards:suspects) + ' in the ' + current_room + ' with the ' - + random(cards:weapons) + + random:from(cards:weapons) + '.' ) } diff --git a/examples/jq_data.ds b/examples/jq_data.ds index 26a9ee8..3673a51 100644 --- a/examples/jq_data.ds +++ b/examples/jq_data.ds @@ -1,4 +1,4 @@ -data = from_json(read('examples/assets/jq_data.json')) +data = json:parse(fs:read('examples/assets/jq_data.json')) new_data = [] diff --git a/examples/match.ds b/examples/match.ds index a2ab2ca..2991c01 100644 --- a/examples/match.ds +++ b/examples/match.ds @@ -1,9 +1,9 @@ -foo_or_bar = match random_boolean() { +foo_or_bar = match random:boolean() { true => "foo" false => "bar" } -num = match random_integer() { +num = match random:integer() { 1 => "one", 2 => { "two" }, * => "neither", diff --git a/examples/sea_creatures.ds b/examples/sea_creatures.ds index 026815f..79af3b4 100644 --- a/examples/sea_creatures.ds +++ b/examples/sea_creatures.ds @@ -1,5 +1,5 @@ -raw_data = read('examples/assets/seaCreatures.json') -sea_creatures = from_json(raw_data) +raw_data = fs:read('examples/assets/seaCreatures.json') +sea_creatures = json:parse(raw_data) data = { creatures = [] diff --git a/examples/threads.ds b/examples/threads.ds new file mode 100644 index 0000000..1a49f6d --- /dev/null +++ b/examples/threads.ds @@ -0,0 +1,3 @@ +handle = thread:spawn("my_thread", { + +}) diff --git a/src/abstract_tree/assignment.rs b/src/abstract_tree/assignment.rs index dba4532..00101e3 100644 --- a/src/abstract_tree/assignment.rs +++ b/src/abstract_tree/assignment.rs @@ -83,8 +83,6 @@ impl AbstractTree for Assignment { AssignmentOperator::Equal => {} AssignmentOperator::PlusEqual => { if let Type::List(item_type) = identifier_type { - println!("{item_type} {statement_type}"); - item_type .check(&statement_type) .map_err(|error| error.at_node(statement_node, source))?; diff --git a/src/abstract_tree/built_in_value.rs b/src/abstract_tree/built_in_value.rs index bf927ed..a0fa908 100644 --- a/src/abstract_tree/built_in_value.rs +++ b/src/abstract_tree/built_in_value.rs @@ -6,12 +6,16 @@ use tree_sitter::Node; use crate::{AbstractTree, BuiltInFunction, Function, List, Map, Result, Type, Value}; static ARGS: OnceLock = OnceLock::new(); +static FS: OnceLock = OnceLock::new(); +static JSON: OnceLock = OnceLock::new(); static RANDOM: OnceLock = OnceLock::new(); #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)] pub enum BuiltInValue { Args, AssertEqual, + Fs, + Json, Length, Output, Random, @@ -22,6 +26,8 @@ impl BuiltInValue { match self { BuiltInValue::Args => Type::list_of(Type::String), BuiltInValue::AssertEqual => BuiltInFunction::AssertEqual.r#type(), + BuiltInValue::Fs => Type::Map, + BuiltInValue::Json => Type::Map, BuiltInValue::Length => BuiltInFunction::Length.r#type(), BuiltInValue::Output => BuiltInFunction::Output.r#type(), BuiltInValue::Random => Type::Map, @@ -38,6 +44,32 @@ impl BuiltInValue { BuiltInValue::AssertEqual => { &Value::Function(Function::BuiltIn(BuiltInFunction::AssertEqual)) } + BuiltInValue::Fs => FS.get_or_init(|| { + let fs_context = Map::new(); + + fs_context + .set( + "read".to_string(), + Value::Function(Function::BuiltIn(BuiltInFunction::FsRead)), + None, + ) + .unwrap(); + + Value::Map(fs_context) + }), + BuiltInValue::Json => JSON.get_or_init(|| { + let json_context = Map::new(); + + json_context + .set( + "parse".to_string(), + Value::Function(Function::BuiltIn(BuiltInFunction::JsonParse)), + None, + ) + .unwrap(); + + Value::Map(json_context) + }), BuiltInValue::Length => &Value::Function(Function::BuiltIn(BuiltInFunction::Length)), BuiltInValue::Output => &Value::Function(Function::BuiltIn(BuiltInFunction::Output)), BuiltInValue::Random => RANDOM.get_or_init(|| { @@ -46,7 +78,12 @@ impl BuiltInValue { { let mut variables = random_context.variables_mut().unwrap(); - for built_in_function in [BuiltInFunction::RandomBoolean] { + for built_in_function in [ + BuiltInFunction::RandomBoolean, + BuiltInFunction::RandomFloat, + BuiltInFunction::RandomFrom, + BuiltInFunction::RandomInteger, + ] { let key = built_in_function.name().to_string(); let value = Value::Function(Function::BuiltIn(built_in_function)); let r#type = built_in_function.r#type(); @@ -66,6 +103,8 @@ impl AbstractTree for BuiltInValue { let built_in_value = match node.kind() { "args" => BuiltInValue::Args, "assert_equal" => BuiltInValue::AssertEqual, + "fs" => BuiltInValue::Fs, + "json" => BuiltInValue::Json, "length" => BuiltInValue::Length, "output" => BuiltInValue::Output, "random" => BuiltInValue::Random, diff --git a/src/abstract_tree/function_call.rs b/src/abstract_tree/function_call.rs index 342aad9..b9741d0 100644 --- a/src/abstract_tree/function_call.rs +++ b/src/abstract_tree/function_call.rs @@ -78,13 +78,13 @@ impl AbstractTree for FunctionCall { } fn run(&self, source: &str, context: &Map) -> Result { - let value = match &self.function_expression { + let (name, value) = match &self.function_expression { FunctionExpression::Identifier(identifier) => { let key = identifier.inner(); let variables = context.variables()?; if let Some((value, _)) = variables.get(key) { - value.clone() + (Some(key.clone()), value.clone()) } else { return Err(Error::FunctionIdentifierNotFound( identifier.inner().clone(), @@ -92,11 +92,11 @@ impl AbstractTree for FunctionCall { } } FunctionExpression::FunctionCall(function_call) => { - function_call.run(source, context)? + (None, function_call.run(source, context)?) } - FunctionExpression::Value(value_node) => value_node.run(source, context)?, - FunctionExpression::Index(index) => index.run(source, context)?, - FunctionExpression::Yield(r#yield) => r#yield.run(source, context)?, + FunctionExpression::Value(value_node) => (None, value_node.run(source, context)?), + FunctionExpression::Index(index) => (None, index.run(source, context)?), + FunctionExpression::Yield(r#yield) => (None, r#yield.run(source, context)?), }; let mut arguments = Vec::with_capacity(self.arguments.len()); @@ -107,7 +107,18 @@ impl AbstractTree for FunctionCall { arguments.push(value); } - value.as_function()?.call(&arguments, source, context) + if let Some(name) = &name { + context.set(name.to_string(), value.clone(), None)?; + } + + value + .as_function() + .map_err(|error| { + println!("{name:?}"); + + error + })? + .call(name, &arguments, source, context) } fn expected_type(&self, context: &Map) -> Result { diff --git a/src/built_in_functions/mod.rs b/src/built_in_functions.rs similarity index 58% rename from src/built_in_functions/mod.rs rename to src/built_in_functions.rs index 126efe2..8b2ddcb 100644 --- a/src/built_in_functions/mod.rs +++ b/src/built_in_functions.rs @@ -1,9 +1,6 @@ -use std::{ - fmt::{self, Display, Formatter}, - fs::read_to_string, -}; +use std::fs::read_to_string; -use rand::random; +use rand::{random, thread_rng, Rng}; use serde::{Deserialize, Serialize}; use crate::{Error, Map, Result, Type, Value}; @@ -12,19 +9,27 @@ use crate::{Error, Map, Result, Type, Value}; pub enum BuiltInFunction { AssertEqual, FsRead, + JsonParse, + Length, Output, RandomBoolean, - Length, + RandomFloat, + RandomFrom, + RandomInteger, } impl BuiltInFunction { pub fn name(&self) -> &'static str { match self { BuiltInFunction::AssertEqual => "assert_equal", - BuiltInFunction::FsRead => "fs_read", + BuiltInFunction::FsRead => "read", + BuiltInFunction::JsonParse => "parse", + BuiltInFunction::Length => "length", BuiltInFunction::Output => "output", BuiltInFunction::RandomBoolean => "boolean", - BuiltInFunction::Length => "length", + BuiltInFunction::RandomFloat => "float", + BuiltInFunction::RandomFrom => "from", + BuiltInFunction::RandomInteger => "integer", } } @@ -32,9 +37,13 @@ impl BuiltInFunction { match self { BuiltInFunction::AssertEqual => Type::function(vec![Type::Any, Type::Any], Type::None), BuiltInFunction::FsRead => Type::function(vec![Type::String], Type::String), + BuiltInFunction::JsonParse => Type::function(vec![Type::String], Type::Any), + BuiltInFunction::Length => Type::function(vec![Type::Collection], Type::Integer), BuiltInFunction::Output => Type::function(vec![Type::Any], Type::None), BuiltInFunction::RandomBoolean => Type::function(vec![], Type::Boolean), - BuiltInFunction::Length => Type::function(vec![Type::Collection], Type::Integer), + BuiltInFunction::RandomFloat => Type::function(vec![], Type::Float), + BuiltInFunction::RandomFrom => Type::function(vec![Type::Collection], Type::Any), + BuiltInFunction::RandomInteger => Type::function(vec![], Type::Integer), } } @@ -56,19 +65,13 @@ impl BuiltInFunction { Ok(Value::String(file_content)) } - BuiltInFunction::Output => { + BuiltInFunction::JsonParse => { Error::expect_argument_amount(self, 1, arguments.len())?; - let value = arguments.first().unwrap(); + let string = arguments.first().unwrap().as_string()?; + let value = serde_json::from_str(&string)?; - println!("{value}"); - - Ok(Value::none()) - } - BuiltInFunction::RandomBoolean => { - Error::expect_argument_amount(self, 0, arguments.len())?; - - Ok(Value::Boolean(random())) + Ok(value) } BuiltInFunction::Length => { Error::expect_argument_amount(self, 1, arguments.len())?; @@ -88,12 +91,50 @@ impl BuiltInFunction { Ok(Value::Integer(length as i64)) } + BuiltInFunction::Output => { + Error::expect_argument_amount(self, 1, arguments.len())?; + + let value = arguments.first().unwrap(); + + println!("{value}"); + + Ok(Value::none()) + } + BuiltInFunction::RandomBoolean => { + Error::expect_argument_amount(self, 0, arguments.len())?; + + Ok(Value::Boolean(random())) + } + BuiltInFunction::RandomFloat => { + Error::expect_argument_amount(self, 0, arguments.len())?; + + Ok(Value::Float(random())) + } + BuiltInFunction::RandomFrom => { + Error::expect_argument_amount(self, 1, arguments.len())?; + + let value = arguments.first().unwrap(); + + if let Ok(list) = value.as_list() { + let items = list.items(); + + if items.len() == 0 { + Ok(Value::none()) + } else { + let random_index = thread_rng().gen_range(0..items.len()); + let random_value = items.get(random_index).cloned().unwrap_or_default(); + + Ok(random_value) + } + } else { + todo!() + } + } + BuiltInFunction::RandomInteger => { + Error::expect_argument_amount(self, 0, arguments.len())?; + + Ok(Value::Integer(random())) + } } } } - -impl Display for BuiltInFunction { - fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { - write!(f, "{}", self.r#type()) - } -} diff --git a/src/value/function.rs b/src/value/function.rs index 3e302e8..3a26beb 100644 --- a/src/value/function.rs +++ b/src/value/function.rs @@ -17,20 +17,28 @@ pub enum Function { impl Display for Function { fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { match self { - Function::BuiltIn(inner) => write!(f, "{inner}"), - Function::ContextDefined(inner) => write!(f, "{inner}"), + Function::BuiltIn(built_in_function) => write!(f, "{}", built_in_function.r#type()), + Function::ContextDefined(context_defined_function) => { + write!(f, "{}", context_defined_function.r#type()) + } } } } impl Function { - pub fn call(&self, arguments: &[Value], source: &str, outer_context: &Map) -> Result { + pub fn call( + &self, + name: Option, + arguments: &[Value], + source: &str, + outer_context: &Map, + ) -> Result { match self { Function::BuiltIn(built_in_function) => { built_in_function.call(arguments, source, outer_context) } Function::ContextDefined(context_defined_function) => { - context_defined_function.call(arguments, source, outer_context) + context_defined_function.call(name, arguments, source, outer_context) } } } @@ -90,15 +98,10 @@ impl AbstractTree for Function { .check(&body.expected_type(&function_context)?) .map_err(|error| error.at_node(body_node, source))?; - let r#type = Type::Function { - parameter_types, - return_type: Box::new(return_type.take_inner()), - }; + let r#type = Type::function(parameter_types, return_type.take_inner()); Ok(Self::ContextDefined(ContextDefinedFunction::new( - parameters, - body, - Some(r#type), + parameters, body, r#type, ))) } @@ -122,12 +125,7 @@ pub struct ContextDefinedFunction { } impl ContextDefinedFunction { - pub fn new(parameters: Vec, body: Block, r#type: Option) -> Self { - let r#type = r#type.unwrap_or(Type::Function { - parameter_types: vec![Type::Any; parameters.len()], - return_type: Box::new(Type::Any), - }); - + pub fn new(parameters: Vec, body: Block, r#type: Type) -> Self { Self { parameters, body, @@ -157,49 +155,32 @@ impl ContextDefinedFunction { } } - pub fn call(&self, arguments: &[Value], source: &str, outer_context: &Map) -> Result { - let context = Map::clone_from(outer_context)?; + 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(); - context.set(key, value.clone(), None)?; + function_context.set(key, value.clone(), None)?; } - let return_value = self.body.run(source, &context)?; + 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 Display for ContextDefinedFunction { - fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { - write!(f, "(")?; - - let (parameter_types, return_type) = if let Type::Function { - parameter_types, - return_type, - } = &self.r#type - { - (parameter_types, return_type) - } else { - return Err(fmt::Error); - }; - - for (index, (parameter, r#type)) in self - .parameters - .iter() - .zip(parameter_types.iter()) - .enumerate() - { - write!(f, "{} <{}>", parameter.inner(), r#type)?; - - if index != self.parameters.len() - 1 { - write!(f, ", ")?; - } - } - - write!(f, ") -> {}", return_type) - } -} diff --git a/tests/interpret.rs b/tests/interpret.rs index 42d0990..1955ab6 100644 --- a/tests/interpret.rs +++ b/tests/interpret.rs @@ -514,14 +514,11 @@ mod blocks { } } -mod std { +mod built_in_values { use dust_lang::*; #[test] - fn load_std() { - assert_eq!( - interpret("std:read"), - Ok(Value::Function(Function::BuiltIn(BuiltInFunction::FsRead))) - ); + fn args() { + assert!(interpret("args").is_ok_and(|value| value.is_list())); } } diff --git a/tree-sitter-dust/grammar.js b/tree-sitter-dust/grammar.js index d91fa96..a032665 100644 --- a/tree-sitter-dust/grammar.js +++ b/tree-sitter-dust/grammar.js @@ -441,6 +441,8 @@ module.exports = grammar({ 'args', 'assert_equal', 'env', + 'fs', + 'json', 'length', 'output', 'random', diff --git a/tree-sitter-dust/src/grammar.json b/tree-sitter-dust/src/grammar.json index 994266e..4c3a366 100644 --- a/tree-sitter-dust/src/grammar.json +++ b/tree-sitter-dust/src/grammar.json @@ -1412,6 +1412,14 @@ "type": "STRING", "value": "env" }, + { + "type": "STRING", + "value": "fs" + }, + { + "type": "STRING", + "value": "json" + }, { "type": "STRING", "value": "length" diff --git a/tree-sitter-dust/src/node-types.json b/tree-sitter-dust/src/node-types.json index f000b88..d3e6ed8 100644 --- a/tree-sitter-dust/src/node-types.json +++ b/tree-sitter-dust/src/node-types.json @@ -804,6 +804,10 @@ "type": "for", "named": false }, + { + "type": "fs", + "named": false + }, { "type": "identifier", "named": true @@ -824,6 +828,10 @@ "type": "integer", "named": true }, + { + "type": "json", + "named": false + }, { "type": "length", "named": false diff --git a/tree-sitter-dust/src/parser.c b/tree-sitter-dust/src/parser.c index 71affa7..5eae33e 100644 --- a/tree-sitter-dust/src/parser.c +++ b/tree-sitter-dust/src/parser.c @@ -8,9 +8,9 @@ #define LANGUAGE_VERSION 14 #define STATE_COUNT 446 #define LARGE_STATE_COUNT 27 -#define SYMBOL_COUNT 106 +#define SYMBOL_COUNT 108 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 63 +#define TOKEN_COUNT 65 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 0 #define MAX_ALIAS_SEQUENCE_LENGTH 6 @@ -76,52 +76,54 @@ enum { anon_sym_args = 57, anon_sym_assert_equal = 58, anon_sym_env = 59, - anon_sym_length = 60, - anon_sym_output = 61, - anon_sym_random = 62, - sym_root = 63, - sym_statement = 64, - sym_expression = 65, - sym__expression_kind = 66, - aux_sym__expression_list = 67, - sym_block = 68, - sym_value = 69, - sym_boolean = 70, - sym_list = 71, - sym_map = 72, - sym_option = 73, - sym_index = 74, - sym_index_expression = 75, - sym_math = 76, - sym_math_operator = 77, - sym_logic = 78, - sym_logic_operator = 79, - sym_assignment = 80, - sym_index_assignment = 81, - sym_assignment_operator = 82, - sym_if_else = 83, - sym_if = 84, - sym_else_if = 85, - sym_else = 86, - sym_match = 87, - sym_while = 88, - sym_for = 89, - sym_return = 90, - sym_type_definition = 91, - sym_type = 92, - sym_function = 93, - sym_function_expression = 94, - sym__function_expression_kind = 95, - sym_function_call = 96, - sym_yield = 97, - sym_built_in_value = 98, - aux_sym_root_repeat1 = 99, - aux_sym_list_repeat1 = 100, - aux_sym_map_repeat1 = 101, - aux_sym_if_else_repeat1 = 102, - aux_sym_match_repeat1 = 103, - aux_sym_type_repeat1 = 104, - aux_sym_function_repeat1 = 105, + anon_sym_fs = 60, + anon_sym_json = 61, + anon_sym_length = 62, + anon_sym_output = 63, + anon_sym_random = 64, + sym_root = 65, + sym_statement = 66, + sym_expression = 67, + sym__expression_kind = 68, + aux_sym__expression_list = 69, + sym_block = 70, + sym_value = 71, + sym_boolean = 72, + sym_list = 73, + sym_map = 74, + sym_option = 75, + sym_index = 76, + sym_index_expression = 77, + sym_math = 78, + sym_math_operator = 79, + sym_logic = 80, + sym_logic_operator = 81, + sym_assignment = 82, + sym_index_assignment = 83, + sym_assignment_operator = 84, + sym_if_else = 85, + sym_if = 86, + sym_else_if = 87, + sym_else = 88, + sym_match = 89, + sym_while = 90, + sym_for = 91, + sym_return = 92, + sym_type_definition = 93, + sym_type = 94, + sym_function = 95, + sym_function_expression = 96, + sym__function_expression_kind = 97, + sym_function_call = 98, + sym_yield = 99, + sym_built_in_value = 100, + aux_sym_root_repeat1 = 101, + aux_sym_list_repeat1 = 102, + aux_sym_map_repeat1 = 103, + aux_sym_if_else_repeat1 = 104, + aux_sym_match_repeat1 = 105, + aux_sym_type_repeat1 = 106, + aux_sym_function_repeat1 = 107, }; static const char * const ts_symbol_names[] = { @@ -185,6 +187,8 @@ static const char * const ts_symbol_names[] = { [anon_sym_args] = "args", [anon_sym_assert_equal] = "assert_equal", [anon_sym_env] = "env", + [anon_sym_fs] = "fs", + [anon_sym_json] = "json", [anon_sym_length] = "length", [anon_sym_output] = "output", [anon_sym_random] = "random", @@ -294,6 +298,8 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_args] = anon_sym_args, [anon_sym_assert_equal] = anon_sym_assert_equal, [anon_sym_env] = anon_sym_env, + [anon_sym_fs] = anon_sym_fs, + [anon_sym_json] = anon_sym_json, [anon_sym_length] = anon_sym_length, [anon_sym_output] = anon_sym_output, [anon_sym_random] = anon_sym_random, @@ -583,6 +589,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_fs] = { + .visible = true, + .named = false, + }, + [anon_sym_json] = { + .visible = true, + .named = false, + }, [anon_sym_length] = { .visible = true, .named = false, @@ -781,54 +795,54 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [0] = 0, [1] = 1, [2] = 2, - [3] = 2, - [4] = 2, - [5] = 5, + [3] = 3, + [4] = 3, + [5] = 3, [6] = 6, [7] = 7, [8] = 8, [9] = 9, [10] = 6, - [11] = 8, - [12] = 7, - [13] = 8, - [14] = 7, - [15] = 6, - [16] = 9, - [17] = 7, + [11] = 11, + [12] = 11, + [13] = 9, + [14] = 8, + [15] = 11, + [16] = 6, + [17] = 6, [18] = 9, - [19] = 8, - [20] = 8, - [21] = 9, - [22] = 7, - [23] = 6, + [19] = 11, + [20] = 9, + [21] = 11, + [22] = 8, + [23] = 8, [24] = 9, [25] = 6, - [26] = 26, + [26] = 8, [27] = 27, [28] = 28, [29] = 29, [30] = 28, - [31] = 27, - [32] = 28, + [31] = 29, + [32] = 32, [33] = 33, [34] = 34, [35] = 35, - [36] = 35, - [37] = 29, - [38] = 38, + [36] = 28, + [37] = 35, + [38] = 34, [39] = 39, - [40] = 35, - [41] = 29, - [42] = 27, - [43] = 43, + [40] = 40, + [41] = 34, + [42] = 35, + [43] = 29, [44] = 44, [45] = 45, [46] = 46, - [47] = 45, - [48] = 48, - [49] = 46, - [50] = 44, + [47] = 46, + [48] = 45, + [49] = 44, + [50] = 50, [51] = 51, [52] = 52, [53] = 53, @@ -846,10 +860,10 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [65] = 65, [66] = 66, [67] = 67, - [68] = 68, + [68] = 66, [69] = 69, [70] = 70, - [71] = 52, + [71] = 71, [72] = 72, [73] = 73, [74] = 74, @@ -859,289 +873,289 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [78] = 78, [79] = 79, [80] = 45, - [81] = 46, + [81] = 44, [82] = 82, - [83] = 82, - [84] = 44, + [83] = 46, + [84] = 82, [85] = 45, - [86] = 46, + [86] = 44, [87] = 45, [88] = 46, - [89] = 75, + [89] = 77, [90] = 44, - [91] = 51, - [92] = 52, - [93] = 74, - [94] = 54, + [91] = 52, + [92] = 66, + [93] = 61, + [94] = 58, [95] = 62, - [96] = 60, - [97] = 61, - [98] = 63, - [99] = 52, - [100] = 72, - [101] = 70, - [102] = 69, - [103] = 58, - [104] = 59, - [105] = 79, - [106] = 66, - [107] = 57, - [108] = 56, - [109] = 73, - [110] = 67, - [111] = 53, - [112] = 55, - [113] = 64, - [114] = 75, - [115] = 77, - [116] = 68, - [117] = 78, - [118] = 48, - [119] = 65, + [96] = 63, + [97] = 73, + [98] = 66, + [99] = 71, + [100] = 69, + [101] = 72, + [102] = 59, + [103] = 79, + [104] = 60, + [105] = 51, + [106] = 67, + [107] = 74, + [108] = 76, + [109] = 53, + [110] = 54, + [111] = 56, + [112] = 65, + [113] = 70, + [114] = 77, + [115] = 55, + [116] = 78, + [117] = 57, + [118] = 50, + [119] = 64, [120] = 45, - [121] = 46, + [121] = 44, [122] = 122, [123] = 122, - [124] = 124, - [125] = 75, + [124] = 77, + [125] = 125, [126] = 126, [127] = 127, [128] = 128, - [129] = 128, + [129] = 82, [130] = 82, [131] = 131, - [132] = 82, - [133] = 133, - [134] = 133, - [135] = 133, - [136] = 133, + [132] = 131, + [133] = 131, + [134] = 131, + [135] = 131, + [136] = 136, [137] = 131, [138] = 138, - [139] = 139, + [139] = 136, [140] = 140, - [141] = 140, - [142] = 133, - [143] = 139, + [141] = 126, + [142] = 127, + [143] = 128, [144] = 140, [145] = 145, [146] = 127, - [147] = 127, + [147] = 147, [148] = 128, - [149] = 133, - [150] = 145, + [149] = 147, + [150] = 140, [151] = 145, [152] = 152, [153] = 126, - [154] = 126, - [155] = 139, + [154] = 145, + [155] = 136, [156] = 156, [157] = 157, [158] = 158, [159] = 159, [160] = 160, - [161] = 159, - [162] = 162, - [163] = 163, - [164] = 163, - [165] = 159, + [161] = 161, + [162] = 159, + [163] = 160, + [164] = 164, + [165] = 165, [166] = 166, - [167] = 160, - [168] = 168, + [167] = 167, + [168] = 159, [169] = 169, - [170] = 169, - [171] = 159, - [172] = 172, - [173] = 166, - [174] = 158, - [175] = 158, - [176] = 172, - [177] = 162, - [178] = 169, - [179] = 168, - [180] = 159, - [181] = 158, - [182] = 166, - [183] = 159, - [184] = 158, + [170] = 166, + [171] = 167, + [172] = 166, + [173] = 173, + [174] = 167, + [175] = 159, + [176] = 167, + [177] = 159, + [178] = 167, + [179] = 167, + [180] = 161, + [181] = 164, + [182] = 158, + [183] = 169, + [184] = 159, [185] = 169, - [186] = 158, - [187] = 166, - [188] = 166, - [189] = 166, - [190] = 158, - [191] = 166, - [192] = 158, - [193] = 166, - [194] = 194, + [186] = 159, + [187] = 167, + [188] = 159, + [189] = 167, + [190] = 159, + [191] = 169, + [192] = 164, + [193] = 158, + [194] = 169, [195] = 159, - [196] = 194, - [197] = 158, - [198] = 194, - [199] = 158, - [200] = 168, - [201] = 166, - [202] = 158, + [196] = 167, + [197] = 169, + [198] = 167, + [199] = 169, + [200] = 173, + [201] = 169, + [202] = 169, [203] = 159, - [204] = 166, - [205] = 159, + [204] = 169, + [205] = 167, [206] = 159, - [207] = 158, - [208] = 166, - [209] = 163, - [210] = 166, - [211] = 159, + [207] = 165, + [208] = 165, + [209] = 166, + [210] = 169, + [211] = 167, [212] = 212, [213] = 213, [214] = 214, - [215] = 78, - [216] = 45, - [217] = 56, - [218] = 44, - [219] = 77, + [215] = 215, + [216] = 52, + [217] = 78, + [218] = 57, + [219] = 219, [220] = 220, [221] = 221, - [222] = 46, - [223] = 61, - [224] = 72, - [225] = 45, - [226] = 67, - [227] = 46, - [228] = 62, - [229] = 52, - [230] = 53, - [231] = 66, - [232] = 57, - [233] = 55, - [234] = 54, - [235] = 60, - [236] = 64, - [237] = 75, - [238] = 77, - [239] = 59, - [240] = 63, - [241] = 58, - [242] = 70, - [243] = 79, - [244] = 69, - [245] = 56, - [246] = 44, - [247] = 51, - [248] = 73, + [222] = 222, + [223] = 44, + [224] = 224, + [225] = 225, + [226] = 226, + [227] = 227, + [228] = 222, + [229] = 229, + [230] = 230, + [231] = 231, + [232] = 45, + [233] = 233, + [234] = 46, + [235] = 235, + [236] = 59, + [237] = 65, + [238] = 238, + [239] = 67, + [240] = 74, + [241] = 52, + [242] = 73, + [243] = 72, + [244] = 238, + [245] = 55, + [246] = 238, + [247] = 238, + [248] = 46, [249] = 78, - [250] = 74, - [251] = 68, - [252] = 252, - [253] = 253, - [254] = 254, - [255] = 255, - [256] = 256, - [257] = 52, - [258] = 258, - [259] = 259, - [260] = 260, - [261] = 261, - [262] = 262, - [263] = 263, - [264] = 264, - [265] = 261, - [266] = 266, - [267] = 212, - [268] = 266, - [269] = 266, - [270] = 213, - [271] = 266, - [272] = 266, - [273] = 266, - [274] = 266, - [275] = 214, - [276] = 48, - [277] = 65, - [278] = 75, - [279] = 279, - [280] = 77, - [281] = 78, - [282] = 56, - [283] = 220, - [284] = 45, - [285] = 221, - [286] = 46, - [287] = 253, - [288] = 256, - [289] = 261, - [290] = 264, - [291] = 254, - [292] = 261, - [293] = 260, - [294] = 252, - [295] = 259, - [296] = 255, - [297] = 263, - [298] = 262, - [299] = 258, - [300] = 46, - [301] = 45, - [302] = 302, + [250] = 238, + [251] = 76, + [252] = 61, + [253] = 44, + [254] = 60, + [255] = 51, + [256] = 63, + [257] = 77, + [258] = 238, + [259] = 45, + [260] = 57, + [261] = 70, + [262] = 56, + [263] = 79, + [264] = 213, + [265] = 71, + [266] = 54, + [267] = 66, + [268] = 53, + [269] = 58, + [270] = 62, + [271] = 69, + [272] = 212, + [273] = 238, + [274] = 214, + [275] = 66, + [276] = 276, + [277] = 57, + [278] = 78, + [279] = 50, + [280] = 52, + [281] = 219, + [282] = 215, + [283] = 77, + [284] = 64, + [285] = 226, + [286] = 235, + [287] = 222, + [288] = 231, + [289] = 225, + [290] = 227, + [291] = 44, + [292] = 45, + [293] = 229, + [294] = 221, + [295] = 220, + [296] = 224, + [297] = 222, + [298] = 230, + [299] = 233, + [300] = 300, + [301] = 301, + [302] = 44, [303] = 82, [304] = 82, - [305] = 44, - [306] = 45, - [307] = 307, - [308] = 308, + [305] = 305, + [306] = 306, + [307] = 46, + [308] = 45, [309] = 309, - [310] = 46, + [310] = 310, [311] = 311, [312] = 312, - [313] = 44, - [314] = 309, - [315] = 312, - [316] = 308, - [317] = 307, - [318] = 312, + [313] = 310, + [314] = 314, + [315] = 315, + [316] = 46, + [317] = 45, + [318] = 44, [319] = 309, - [320] = 320, - [321] = 321, - [322] = 75, - [323] = 323, - [324] = 52, - [325] = 58, - [326] = 326, - [327] = 327, + [320] = 311, + [321] = 311, + [322] = 315, + [323] = 310, + [324] = 324, + [325] = 76, + [326] = 66, + [327] = 77, [328] = 328, - [329] = 328, + [329] = 45, [330] = 330, [331] = 331, [332] = 332, - [333] = 332, - [334] = 332, - [335] = 335, - [336] = 45, - [337] = 46, + [333] = 333, + [334] = 328, + [335] = 331, + [336] = 44, + [337] = 331, [338] = 338, - [339] = 338, - [340] = 338, + [339] = 339, + [340] = 340, [341] = 341, - [342] = 338, - [343] = 343, - [344] = 344, - [345] = 338, + [342] = 341, + [343] = 341, + [344] = 341, + [345] = 341, [346] = 346, - [347] = 338, - [348] = 338, - [349] = 343, + [347] = 341, + [348] = 341, + [349] = 341, [350] = 338, - [351] = 338, + [351] = 351, [352] = 338, - [353] = 343, - [354] = 338, - [355] = 338, - [356] = 356, - [357] = 343, + [353] = 338, + [354] = 341, + [355] = 341, + [356] = 341, + [357] = 341, [358] = 358, - [359] = 358, - [360] = 360, + [359] = 359, + [360] = 359, [361] = 361, - [362] = 358, - [363] = 363, + [362] = 362, + [363] = 359, [364] = 364, [365] = 365, [366] = 366, @@ -1149,78 +1163,78 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [368] = 368, [369] = 369, [370] = 370, - [371] = 213, - [372] = 212, + [371] = 212, + [372] = 213, [373] = 373, [374] = 374, [375] = 374, - [376] = 374, - [377] = 377, + [376] = 376, + [377] = 374, [378] = 378, - [379] = 378, + [379] = 379, [380] = 380, [381] = 378, - [382] = 382, + [382] = 379, [383] = 383, - [384] = 384, - [385] = 383, - [386] = 384, - [387] = 380, - [388] = 388, + [384] = 380, + [385] = 385, + [386] = 383, + [387] = 379, + [388] = 380, [389] = 383, - [390] = 390, - [391] = 384, - [392] = 382, - [393] = 380, + [390] = 378, + [391] = 391, + [392] = 392, + [393] = 393, [394] = 394, - [395] = 395, - [396] = 396, - [397] = 382, + [395] = 391, + [396] = 391, + [397] = 397, [398] = 398, [399] = 399, [400] = 400, [401] = 401, - [402] = 399, + [402] = 402, [403] = 403, - [404] = 404, - [405] = 399, - [406] = 406, - [407] = 407, + [404] = 400, + [405] = 405, + [406] = 401, + [407] = 402, [408] = 400, [409] = 401, - [410] = 403, - [411] = 400, + [410] = 410, + [411] = 399, [412] = 412, - [413] = 401, - [414] = 403, + [413] = 399, + [414] = 402, [415] = 415, [416] = 416, - [417] = 417, + [417] = 415, [418] = 418, [419] = 419, [420] = 415, [421] = 421, - [422] = 416, - [423] = 415, + [422] = 415, + [423] = 423, [424] = 424, - [425] = 418, + [425] = 419, [426] = 426, - [427] = 427, + [427] = 419, [428] = 416, - [429] = 418, - [430] = 415, + [429] = 416, + [430] = 430, [431] = 416, [432] = 432, [433] = 433, [434] = 434, [435] = 415, - [436] = 416, - [437] = 427, + [436] = 415, + [437] = 430, [438] = 415, - [439] = 427, + [439] = 416, [440] = 440, [441] = 433, - [442] = 415, + [442] = 430, [443] = 432, [444] = 433, [445] = 432, @@ -1756,360 +1770,377 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { if (lookahead == 'e') ADVANCE(4); if (lookahead == 'f') ADVANCE(5); if (lookahead == 'i') ADVANCE(6); - if (lookahead == 'l') ADVANCE(7); - if (lookahead == 'm') ADVANCE(8); - if (lookahead == 'n') ADVANCE(9); - if (lookahead == 'o') ADVANCE(10); - if (lookahead == 'r') ADVANCE(11); - if (lookahead == 's') ADVANCE(12); - if (lookahead == 't') ADVANCE(13); - if (lookahead == 'w') ADVANCE(14); + if (lookahead == 'j') ADVANCE(7); + if (lookahead == 'l') ADVANCE(8); + if (lookahead == 'm') ADVANCE(9); + if (lookahead == 'n') ADVANCE(10); + if (lookahead == 'o') ADVANCE(11); + if (lookahead == 'r') ADVANCE(12); + if (lookahead == 's') ADVANCE(13); + if (lookahead == 't') ADVANCE(14); + if (lookahead == 'w') ADVANCE(15); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(0) END_STATE(); case 1: - if (lookahead == 'n') ADVANCE(15); - if (lookahead == 'r') ADVANCE(16); - if (lookahead == 's') ADVANCE(17); + if (lookahead == 'n') ADVANCE(16); + if (lookahead == 'r') ADVANCE(17); + if (lookahead == 's') ADVANCE(18); END_STATE(); case 2: - if (lookahead == 'o') ADVANCE(18); - END_STATE(); - case 3: if (lookahead == 'o') ADVANCE(19); END_STATE(); + case 3: + if (lookahead == 'o') ADVANCE(20); + END_STATE(); case 4: - if (lookahead == 'l') ADVANCE(20); - if (lookahead == 'n') ADVANCE(21); + if (lookahead == 'l') ADVANCE(21); + if (lookahead == 'n') ADVANCE(22); END_STATE(); case 5: - if (lookahead == 'a') ADVANCE(22); - if (lookahead == 'l') ADVANCE(23); - if (lookahead == 'o') ADVANCE(24); + if (lookahead == 'a') ADVANCE(23); + if (lookahead == 'l') ADVANCE(24); + if (lookahead == 'o') ADVANCE(25); + if (lookahead == 's') ADVANCE(26); END_STATE(); case 6: - if (lookahead == 'f') ADVANCE(25); - if (lookahead == 'n') ADVANCE(26); + if (lookahead == 'f') ADVANCE(27); + if (lookahead == 'n') ADVANCE(28); END_STATE(); case 7: - if (lookahead == 'e') ADVANCE(27); + if (lookahead == 's') ADVANCE(29); END_STATE(); case 8: - if (lookahead == 'a') ADVANCE(28); + if (lookahead == 'e') ADVANCE(30); END_STATE(); case 9: - if (lookahead == 'o') ADVANCE(29); - if (lookahead == 'u') ADVANCE(30); + if (lookahead == 'a') ADVANCE(31); END_STATE(); case 10: - if (lookahead == 'p') ADVANCE(31); - if (lookahead == 'u') ADVANCE(32); + if (lookahead == 'o') ADVANCE(32); + if (lookahead == 'u') ADVANCE(33); END_STATE(); case 11: - if (lookahead == 'a') ADVANCE(33); - if (lookahead == 'e') ADVANCE(34); + if (lookahead == 'p') ADVANCE(34); + if (lookahead == 'u') ADVANCE(35); END_STATE(); case 12: - if (lookahead == 'o') ADVANCE(35); - if (lookahead == 't') ADVANCE(36); + if (lookahead == 'a') ADVANCE(36); + if (lookahead == 'e') ADVANCE(37); END_STATE(); case 13: - if (lookahead == 'r') ADVANCE(37); + if (lookahead == 'o') ADVANCE(38); + if (lookahead == 't') ADVANCE(39); END_STATE(); case 14: - if (lookahead == 'h') ADVANCE(38); + if (lookahead == 'r') ADVANCE(40); END_STATE(); case 15: - if (lookahead == 'y') ADVANCE(39); + if (lookahead == 'h') ADVANCE(41); END_STATE(); case 16: - if (lookahead == 'g') ADVANCE(40); - END_STATE(); - case 17: - if (lookahead == 's') ADVANCE(41); if (lookahead == 'y') ADVANCE(42); END_STATE(); + case 17: + if (lookahead == 'g') ADVANCE(43); + END_STATE(); case 18: - if (lookahead == 'o') ADVANCE(43); + if (lookahead == 's') ADVANCE(44); + if (lookahead == 'y') ADVANCE(45); END_STATE(); case 19: - if (lookahead == 'l') ADVANCE(44); + if (lookahead == 'o') ADVANCE(46); END_STATE(); case 20: - if (lookahead == 's') ADVANCE(45); - END_STATE(); - case 21: - if (lookahead == 'v') ADVANCE(46); - END_STATE(); - case 22: if (lookahead == 'l') ADVANCE(47); END_STATE(); + case 21: + if (lookahead == 's') ADVANCE(48); + END_STATE(); + case 22: + if (lookahead == 'v') ADVANCE(49); + END_STATE(); case 23: - if (lookahead == 'o') ADVANCE(48); + if (lookahead == 'l') ADVANCE(50); END_STATE(); case 24: - if (lookahead == 'r') ADVANCE(49); + if (lookahead == 'o') ADVANCE(51); END_STATE(); case 25: - ACCEPT_TOKEN(anon_sym_if); + if (lookahead == 'r') ADVANCE(52); END_STATE(); case 26: - ACCEPT_TOKEN(anon_sym_in); - if (lookahead == 't') ADVANCE(50); + ACCEPT_TOKEN(anon_sym_fs); END_STATE(); case 27: - if (lookahead == 'n') ADVANCE(51); + ACCEPT_TOKEN(anon_sym_if); END_STATE(); case 28: - if (lookahead == 'p') ADVANCE(52); + ACCEPT_TOKEN(anon_sym_in); if (lookahead == 't') ADVANCE(53); END_STATE(); case 29: - if (lookahead == 'n') ADVANCE(54); + if (lookahead == 'o') ADVANCE(54); END_STATE(); case 30: - if (lookahead == 'm') ADVANCE(55); + if (lookahead == 'n') ADVANCE(55); END_STATE(); case 31: - if (lookahead == 't') ADVANCE(56); - END_STATE(); - case 32: + if (lookahead == 'p') ADVANCE(56); if (lookahead == 't') ADVANCE(57); END_STATE(); - case 33: + case 32: if (lookahead == 'n') ADVANCE(58); END_STATE(); + case 33: + if (lookahead == 'm') ADVANCE(59); + END_STATE(); case 34: - if (lookahead == 't') ADVANCE(59); + if (lookahead == 't') ADVANCE(60); END_STATE(); case 35: - if (lookahead == 'm') ADVANCE(60); + if (lookahead == 't') ADVANCE(61); END_STATE(); case 36: - if (lookahead == 'r') ADVANCE(61); + if (lookahead == 'n') ADVANCE(62); END_STATE(); case 37: - if (lookahead == 'u') ADVANCE(62); + if (lookahead == 't') ADVANCE(63); END_STATE(); case 38: - if (lookahead == 'i') ADVANCE(63); + if (lookahead == 'm') ADVANCE(64); END_STATE(); case 39: - ACCEPT_TOKEN(anon_sym_any); + if (lookahead == 'r') ADVANCE(65); END_STATE(); case 40: - if (lookahead == 's') ADVANCE(64); + if (lookahead == 'u') ADVANCE(66); END_STATE(); case 41: - if (lookahead == 'e') ADVANCE(65); + if (lookahead == 'i') ADVANCE(67); END_STATE(); case 42: - if (lookahead == 'n') ADVANCE(66); + ACCEPT_TOKEN(anon_sym_any); END_STATE(); case 43: - if (lookahead == 'l') ADVANCE(67); + if (lookahead == 's') ADVANCE(68); END_STATE(); case 44: - if (lookahead == 'l') ADVANCE(68); - END_STATE(); - case 45: if (lookahead == 'e') ADVANCE(69); END_STATE(); + case 45: + if (lookahead == 'n') ADVANCE(70); + END_STATE(); case 46: - ACCEPT_TOKEN(anon_sym_env); + if (lookahead == 'l') ADVANCE(71); END_STATE(); case 47: - if (lookahead == 's') ADVANCE(70); + if (lookahead == 'l') ADVANCE(72); END_STATE(); case 48: - if (lookahead == 'a') ADVANCE(71); + if (lookahead == 'e') ADVANCE(73); END_STATE(); case 49: - ACCEPT_TOKEN(anon_sym_for); + ACCEPT_TOKEN(anon_sym_env); END_STATE(); case 50: - ACCEPT_TOKEN(anon_sym_int); + if (lookahead == 's') ADVANCE(74); END_STATE(); case 51: - if (lookahead == 'g') ADVANCE(72); + if (lookahead == 'a') ADVANCE(75); END_STATE(); case 52: - ACCEPT_TOKEN(anon_sym_map); + ACCEPT_TOKEN(anon_sym_for); END_STATE(); case 53: - if (lookahead == 'c') ADVANCE(73); + ACCEPT_TOKEN(anon_sym_int); END_STATE(); case 54: - if (lookahead == 'e') ADVANCE(74); + if (lookahead == 'n') ADVANCE(76); END_STATE(); case 55: - ACCEPT_TOKEN(anon_sym_num); + if (lookahead == 'g') ADVANCE(77); END_STATE(); case 56: - if (lookahead == 'i') ADVANCE(75); + ACCEPT_TOKEN(anon_sym_map); END_STATE(); case 57: - if (lookahead == 'p') ADVANCE(76); + if (lookahead == 'c') ADVANCE(78); END_STATE(); case 58: - if (lookahead == 'd') ADVANCE(77); - END_STATE(); - case 59: - if (lookahead == 'u') ADVANCE(78); - END_STATE(); - case 60: if (lookahead == 'e') ADVANCE(79); END_STATE(); + case 59: + ACCEPT_TOKEN(anon_sym_num); + END_STATE(); + case 60: + if (lookahead == 'i') ADVANCE(80); + END_STATE(); case 61: - ACCEPT_TOKEN(anon_sym_str); + if (lookahead == 'p') ADVANCE(81); END_STATE(); case 62: - if (lookahead == 'e') ADVANCE(80); + if (lookahead == 'd') ADVANCE(82); END_STATE(); case 63: - if (lookahead == 'l') ADVANCE(81); + if (lookahead == 'u') ADVANCE(83); END_STATE(); case 64: - ACCEPT_TOKEN(anon_sym_args); - END_STATE(); - case 65: - if (lookahead == 'r') ADVANCE(82); - END_STATE(); - case 66: - if (lookahead == 'c') ADVANCE(83); - END_STATE(); - case 67: - ACCEPT_TOKEN(anon_sym_bool); - END_STATE(); - case 68: if (lookahead == 'e') ADVANCE(84); END_STATE(); - case 69: - ACCEPT_TOKEN(anon_sym_else); + case 65: + ACCEPT_TOKEN(anon_sym_str); END_STATE(); - case 70: + case 66: if (lookahead == 'e') ADVANCE(85); END_STATE(); + case 67: + if (lookahead == 'l') ADVANCE(86); + END_STATE(); + case 68: + ACCEPT_TOKEN(anon_sym_args); + END_STATE(); + case 69: + if (lookahead == 'r') ADVANCE(87); + END_STATE(); + case 70: + if (lookahead == 'c') ADVANCE(88); + END_STATE(); case 71: - if (lookahead == 't') ADVANCE(86); + ACCEPT_TOKEN(anon_sym_bool); END_STATE(); case 72: - if (lookahead == 't') ADVANCE(87); + if (lookahead == 'e') ADVANCE(89); END_STATE(); case 73: - if (lookahead == 'h') ADVANCE(88); + ACCEPT_TOKEN(anon_sym_else); END_STATE(); case 74: - ACCEPT_TOKEN(anon_sym_none); + if (lookahead == 'e') ADVANCE(90); END_STATE(); case 75: - if (lookahead == 'o') ADVANCE(89); + if (lookahead == 't') ADVANCE(91); END_STATE(); case 76: - if (lookahead == 'u') ADVANCE(90); + ACCEPT_TOKEN(anon_sym_json); END_STATE(); case 77: - if (lookahead == 'o') ADVANCE(91); + if (lookahead == 't') ADVANCE(92); END_STATE(); case 78: - if (lookahead == 'r') ADVANCE(92); + if (lookahead == 'h') ADVANCE(93); END_STATE(); case 79: - ACCEPT_TOKEN(anon_sym_some); + ACCEPT_TOKEN(anon_sym_none); END_STATE(); case 80: - ACCEPT_TOKEN(anon_sym_true); + if (lookahead == 'o') ADVANCE(94); END_STATE(); case 81: - if (lookahead == 'e') ADVANCE(93); + if (lookahead == 'u') ADVANCE(95); END_STATE(); case 82: - if (lookahead == 't') ADVANCE(94); + if (lookahead == 'o') ADVANCE(96); END_STATE(); case 83: - ACCEPT_TOKEN(anon_sym_async); + if (lookahead == 'r') ADVANCE(97); END_STATE(); case 84: - if (lookahead == 'c') ADVANCE(95); + ACCEPT_TOKEN(anon_sym_some); END_STATE(); case 85: - ACCEPT_TOKEN(anon_sym_false); + ACCEPT_TOKEN(anon_sym_true); END_STATE(); case 86: - ACCEPT_TOKEN(anon_sym_float); + if (lookahead == 'e') ADVANCE(98); END_STATE(); case 87: - if (lookahead == 'h') ADVANCE(96); + if (lookahead == 't') ADVANCE(99); END_STATE(); case 88: - ACCEPT_TOKEN(anon_sym_match); + ACCEPT_TOKEN(anon_sym_async); END_STATE(); case 89: - if (lookahead == 'n') ADVANCE(97); + if (lookahead == 'c') ADVANCE(100); END_STATE(); case 90: - if (lookahead == 't') ADVANCE(98); + ACCEPT_TOKEN(anon_sym_false); END_STATE(); case 91: - if (lookahead == 'm') ADVANCE(99); + ACCEPT_TOKEN(anon_sym_float); END_STATE(); case 92: - if (lookahead == 'n') ADVANCE(100); + if (lookahead == 'h') ADVANCE(101); END_STATE(); case 93: - ACCEPT_TOKEN(anon_sym_while); + ACCEPT_TOKEN(anon_sym_match); END_STATE(); case 94: - if (lookahead == '_') ADVANCE(101); + if (lookahead == 'n') ADVANCE(102); END_STATE(); case 95: - if (lookahead == 't') ADVANCE(102); + if (lookahead == 't') ADVANCE(103); END_STATE(); case 96: - ACCEPT_TOKEN(anon_sym_length); + if (lookahead == 'm') ADVANCE(104); END_STATE(); case 97: - ACCEPT_TOKEN(anon_sym_option); + if (lookahead == 'n') ADVANCE(105); END_STATE(); case 98: - ACCEPT_TOKEN(anon_sym_output); + ACCEPT_TOKEN(anon_sym_while); END_STATE(); case 99: - ACCEPT_TOKEN(anon_sym_random); + if (lookahead == '_') ADVANCE(106); END_STATE(); case 100: - ACCEPT_TOKEN(anon_sym_return); + if (lookahead == 't') ADVANCE(107); END_STATE(); case 101: - if (lookahead == 'e') ADVANCE(103); + ACCEPT_TOKEN(anon_sym_length); END_STATE(); case 102: - if (lookahead == 'i') ADVANCE(104); + ACCEPT_TOKEN(anon_sym_option); END_STATE(); case 103: - if (lookahead == 'q') ADVANCE(105); + ACCEPT_TOKEN(anon_sym_output); END_STATE(); case 104: - if (lookahead == 'o') ADVANCE(106); + ACCEPT_TOKEN(anon_sym_random); END_STATE(); case 105: - if (lookahead == 'u') ADVANCE(107); + ACCEPT_TOKEN(anon_sym_return); END_STATE(); case 106: - if (lookahead == 'n') ADVANCE(108); + if (lookahead == 'e') ADVANCE(108); END_STATE(); case 107: - if (lookahead == 'a') ADVANCE(109); + if (lookahead == 'i') ADVANCE(109); END_STATE(); case 108: - ACCEPT_TOKEN(anon_sym_collection); + if (lookahead == 'q') ADVANCE(110); END_STATE(); case 109: - if (lookahead == 'l') ADVANCE(110); + if (lookahead == 'o') ADVANCE(111); END_STATE(); case 110: + if (lookahead == 'u') ADVANCE(112); + END_STATE(); + case 111: + if (lookahead == 'n') ADVANCE(113); + END_STATE(); + case 112: + if (lookahead == 'a') ADVANCE(114); + END_STATE(); + case 113: + ACCEPT_TOKEN(anon_sym_collection); + END_STATE(); + case 114: + if (lookahead == 'l') ADVANCE(115); + END_STATE(); + case 115: ACCEPT_TOKEN(anon_sym_assert_equal); END_STATE(); default: @@ -2201,8 +2232,8 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [80] = {.lex_state = 25}, [81] = {.lex_state = 25}, [82] = {.lex_state = 25}, - [83] = {.lex_state = 25}, - [84] = {.lex_state = 1}, + [83] = {.lex_state = 1}, + [84] = {.lex_state = 25}, [85] = {.lex_state = 1}, [86] = {.lex_state = 1}, [87] = {.lex_state = 1}, @@ -2334,83 +2365,83 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [213] = {.lex_state = 0}, [214] = {.lex_state = 0}, [215] = {.lex_state = 0}, - [216] = {.lex_state = 2}, + [216] = {.lex_state = 0}, [217] = {.lex_state = 0}, - [218] = {.lex_state = 2}, + [218] = {.lex_state = 0}, [219] = {.lex_state = 0}, - [220] = {.lex_state = 0}, - [221] = {.lex_state = 0}, - [222] = {.lex_state = 2}, + [220] = {.lex_state = 25}, + [221] = {.lex_state = 25}, + [222] = {.lex_state = 25}, [223] = {.lex_state = 2}, - [224] = {.lex_state = 2}, - [225] = {.lex_state = 2}, - [226] = {.lex_state = 2}, - [227] = {.lex_state = 2}, - [228] = {.lex_state = 2}, - [229] = {.lex_state = 2}, - [230] = {.lex_state = 2}, - [231] = {.lex_state = 2}, + [224] = {.lex_state = 25}, + [225] = {.lex_state = 25}, + [226] = {.lex_state = 25}, + [227] = {.lex_state = 25}, + [228] = {.lex_state = 25}, + [229] = {.lex_state = 25}, + [230] = {.lex_state = 25}, + [231] = {.lex_state = 25}, [232] = {.lex_state = 2}, - [233] = {.lex_state = 2}, + [233] = {.lex_state = 25}, [234] = {.lex_state = 2}, - [235] = {.lex_state = 2}, + [235] = {.lex_state = 25}, [236] = {.lex_state = 2}, [237] = {.lex_state = 2}, - [238] = {.lex_state = 2}, + [238] = {.lex_state = 1}, [239] = {.lex_state = 2}, [240] = {.lex_state = 2}, [241] = {.lex_state = 2}, [242] = {.lex_state = 2}, [243] = {.lex_state = 2}, - [244] = {.lex_state = 2}, + [244] = {.lex_state = 1}, [245] = {.lex_state = 2}, - [246] = {.lex_state = 2}, - [247] = {.lex_state = 2}, + [246] = {.lex_state = 1}, + [247] = {.lex_state = 1}, [248] = {.lex_state = 2}, [249] = {.lex_state = 2}, - [250] = {.lex_state = 2}, + [250] = {.lex_state = 1}, [251] = {.lex_state = 2}, - [252] = {.lex_state = 25}, - [253] = {.lex_state = 25}, - [254] = {.lex_state = 25}, - [255] = {.lex_state = 25}, - [256] = {.lex_state = 25}, + [252] = {.lex_state = 2}, + [253] = {.lex_state = 2}, + [254] = {.lex_state = 2}, + [255] = {.lex_state = 2}, + [256] = {.lex_state = 2}, [257] = {.lex_state = 2}, - [258] = {.lex_state = 25}, - [259] = {.lex_state = 25}, - [260] = {.lex_state = 25}, - [261] = {.lex_state = 25}, - [262] = {.lex_state = 25}, - [263] = {.lex_state = 25}, - [264] = {.lex_state = 25}, - [265] = {.lex_state = 25}, - [266] = {.lex_state = 1}, - [267] = {.lex_state = 5}, - [268] = {.lex_state = 1}, - [269] = {.lex_state = 1}, - [270] = {.lex_state = 5}, - [271] = {.lex_state = 1}, - [272] = {.lex_state = 1}, + [258] = {.lex_state = 1}, + [259] = {.lex_state = 2}, + [260] = {.lex_state = 2}, + [261] = {.lex_state = 2}, + [262] = {.lex_state = 2}, + [263] = {.lex_state = 2}, + [264] = {.lex_state = 5}, + [265] = {.lex_state = 2}, + [266] = {.lex_state = 2}, + [267] = {.lex_state = 2}, + [268] = {.lex_state = 2}, + [269] = {.lex_state = 2}, + [270] = {.lex_state = 2}, + [271] = {.lex_state = 2}, + [272] = {.lex_state = 5}, [273] = {.lex_state = 1}, - [274] = {.lex_state = 1}, - [275] = {.lex_state = 5}, - [276] = {.lex_state = 4}, - [277] = {.lex_state = 4}, - [278] = {.lex_state = 3}, - [279] = {.lex_state = 25}, + [274] = {.lex_state = 5}, + [275] = {.lex_state = 2}, + [276] = {.lex_state = 25}, + [277] = {.lex_state = 5}, + [278] = {.lex_state = 5}, + [279] = {.lex_state = 4}, [280] = {.lex_state = 5}, [281] = {.lex_state = 5}, [282] = {.lex_state = 5}, - [283] = {.lex_state = 5}, - [284] = {.lex_state = 3}, - [285] = {.lex_state = 5}, - [286] = {.lex_state = 3}, + [283] = {.lex_state = 3}, + [284] = {.lex_state = 4}, + [285] = {.lex_state = 1}, + [286] = {.lex_state = 1}, [287] = {.lex_state = 1}, [288] = {.lex_state = 1}, [289] = {.lex_state = 1}, [290] = {.lex_state = 1}, - [291] = {.lex_state = 1}, - [292] = {.lex_state = 1}, + [291] = {.lex_state = 3}, + [292] = {.lex_state = 3}, [293] = {.lex_state = 1}, [294] = {.lex_state = 1}, [295] = {.lex_state = 1}, @@ -2418,70 +2449,70 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [297] = {.lex_state = 1}, [298] = {.lex_state = 1}, [299] = {.lex_state = 1}, - [300] = {.lex_state = 2}, - [301] = {.lex_state = 2}, - [302] = {.lex_state = 1}, + [300] = {.lex_state = 1}, + [301] = {.lex_state = 1}, + [302] = {.lex_state = 2}, [303] = {.lex_state = 2}, [304] = {.lex_state = 2}, - [305] = {.lex_state = 2}, - [306] = {.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 = 2}, - [311] = {.lex_state = 1}, - [312] = {.lex_state = 2}, + [311] = {.lex_state = 2}, + [312] = {.lex_state = 1}, [313] = {.lex_state = 2}, - [314] = {.lex_state = 2}, + [314] = {.lex_state = 1}, [315] = {.lex_state = 2}, [316] = {.lex_state = 2}, [317] = {.lex_state = 2}, [318] = {.lex_state = 2}, [319] = {.lex_state = 2}, - [320] = {.lex_state = 1}, + [320] = {.lex_state = 2}, [321] = {.lex_state = 2}, [322] = {.lex_state = 2}, - [323] = {.lex_state = 1}, + [323] = {.lex_state = 2}, [324] = {.lex_state = 2}, [325] = {.lex_state = 2}, - [326] = {.lex_state = 7}, - [327] = {.lex_state = 3}, + [326] = {.lex_state = 2}, + [327] = {.lex_state = 2}, [328] = {.lex_state = 2}, [329] = {.lex_state = 2}, - [330] = {.lex_state = 1}, - [331] = {.lex_state = 7}, - [332] = {.lex_state = 2}, - [333] = {.lex_state = 2}, + [330] = {.lex_state = 7}, + [331] = {.lex_state = 2}, + [332] = {.lex_state = 3}, + [333] = {.lex_state = 7}, [334] = {.lex_state = 2}, - [335] = {.lex_state = 1}, + [335] = {.lex_state = 2}, [336] = {.lex_state = 2}, [337] = {.lex_state = 2}, [338] = {.lex_state = 2}, - [339] = {.lex_state = 2}, - [340] = {.lex_state = 2}, - [341] = {.lex_state = 7}, + [339] = {.lex_state = 7}, + [340] = {.lex_state = 7}, + [341] = {.lex_state = 2}, [342] = {.lex_state = 2}, [343] = {.lex_state = 2}, - [344] = {.lex_state = 7}, + [344] = {.lex_state = 2}, [345] = {.lex_state = 2}, [346] = {.lex_state = 7}, [347] = {.lex_state = 2}, [348] = {.lex_state = 2}, [349] = {.lex_state = 2}, [350] = {.lex_state = 2}, - [351] = {.lex_state = 2}, + [351] = {.lex_state = 7}, [352] = {.lex_state = 2}, [353] = {.lex_state = 2}, [354] = {.lex_state = 2}, [355] = {.lex_state = 2}, - [356] = {.lex_state = 7}, + [356] = {.lex_state = 2}, [357] = {.lex_state = 2}, - [358] = {.lex_state = 2}, + [358] = {.lex_state = 1}, [359] = {.lex_state = 2}, - [360] = {.lex_state = 1}, + [360] = {.lex_state = 2}, [361] = {.lex_state = 1}, - [362] = {.lex_state = 2}, - [363] = {.lex_state = 1}, + [362] = {.lex_state = 1}, + [363] = {.lex_state = 2}, [364] = {.lex_state = 1}, [365] = {.lex_state = 1}, [366] = {.lex_state = 1}, @@ -2511,48 +2542,48 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [390] = {.lex_state = 1}, [391] = {.lex_state = 1}, [392] = {.lex_state = 1}, - [393] = {.lex_state = 1}, + [393] = {.lex_state = 25}, [394] = {.lex_state = 1}, [395] = {.lex_state = 1}, - [396] = {.lex_state = 25}, + [396] = {.lex_state = 1}, [397] = {.lex_state = 1}, [398] = {.lex_state = 1}, [399] = {.lex_state = 0}, [400] = {.lex_state = 1}, [401] = {.lex_state = 0}, [402] = {.lex_state = 0}, - [403] = {.lex_state = 0}, - [404] = {.lex_state = 0}, + [403] = {.lex_state = 1}, + [404] = {.lex_state = 1}, [405] = {.lex_state = 0}, - [406] = {.lex_state = 1}, - [407] = {.lex_state = 1}, + [406] = {.lex_state = 0}, + [407] = {.lex_state = 0}, [408] = {.lex_state = 1}, [409] = {.lex_state = 0}, - [410] = {.lex_state = 0}, - [411] = {.lex_state = 1}, + [410] = {.lex_state = 1}, + [411] = {.lex_state = 0}, [412] = {.lex_state = 1}, [413] = {.lex_state = 0}, [414] = {.lex_state = 0}, [415] = {.lex_state = 0}, [416] = {.lex_state = 0}, [417] = {.lex_state = 0}, - [418] = {.lex_state = 1}, - [419] = {.lex_state = 5}, + [418] = {.lex_state = 0}, + [419] = {.lex_state = 1}, [420] = {.lex_state = 0}, - [421] = {.lex_state = 0}, + [421] = {.lex_state = 5}, [422] = {.lex_state = 0}, [423] = {.lex_state = 0}, [424] = {.lex_state = 25}, [425] = {.lex_state = 1}, - [426] = {.lex_state = 0}, - [427] = {.lex_state = 0}, + [426] = {.lex_state = 5}, + [427] = {.lex_state = 1}, [428] = {.lex_state = 0}, - [429] = {.lex_state = 1}, + [429] = {.lex_state = 0}, [430] = {.lex_state = 0}, [431] = {.lex_state = 0}, [432] = {.lex_state = 0}, [433] = {.lex_state = 1}, - [434] = {.lex_state = 5}, + [434] = {.lex_state = 0}, [435] = {.lex_state = 0}, [436] = {.lex_state = 0}, [437] = {.lex_state = 0}, @@ -2628,40 +2659,42 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_args] = ACTIONS(1), [anon_sym_assert_equal] = ACTIONS(1), [anon_sym_env] = ACTIONS(1), + [anon_sym_fs] = ACTIONS(1), + [anon_sym_json] = ACTIONS(1), [anon_sym_length] = ACTIONS(1), [anon_sym_output] = ACTIONS(1), [anon_sym_random] = ACTIONS(1), }, [1] = { [sym_root] = STATE(440), - [sym_statement] = STATE(26), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), + [sym_statement] = STATE(7), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(26), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [aux_sym_root_repeat1] = STATE(7), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -2684,103 +2717,107 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [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), }, [2] = { - [sym_statement] = STATE(12), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), + [sym_statement] = STATE(2), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(12), - [aux_sym_map_repeat1] = STATE(393), - [sym_identifier] = ACTIONS(39), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [aux_sym_root_repeat1] = STATE(2), + [ts_builtin_sym_end] = ACTIONS(39), + [sym_identifier] = ACTIONS(41), [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(7), - [anon_sym_async] = ACTIONS(9), - [anon_sym_LBRACE] = ACTIONS(11), - [anon_sym_RBRACE] = ACTIONS(41), - [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_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), + [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), }, [3] = { - [sym_statement] = STATE(22), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), + [sym_statement] = STATE(19), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(22), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [aux_sym_root_repeat1] = STATE(19), [aux_sym_map_repeat1] = STATE(380), - [sym_identifier] = ACTIONS(39), + [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(43), + [anon_sym_RBRACE] = ACTIONS(94), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), @@ -2798,46 +2835,48 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [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), }, [4] = { - [sym_statement] = STATE(7), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), + [sym_statement] = STATE(11), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(7), - [aux_sym_map_repeat1] = STATE(387), - [sym_identifier] = ACTIONS(39), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [aux_sym_root_repeat1] = STATE(11), + [aux_sym_map_repeat1] = STATE(388), + [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(45), + [anon_sym_RBRACE] = ACTIONS(96), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), @@ -2855,96 +2894,100 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [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), }, [5] = { - [sym_statement] = STATE(5), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), + [sym_statement] = STATE(15), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(5), - [ts_builtin_sym_end] = ACTIONS(47), - [sym_identifier] = ACTIONS(49), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [aux_sym_root_repeat1] = STATE(15), + [aux_sym_map_repeat1] = STATE(384), + [sym_identifier] = ACTIONS(92), [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(52), - [anon_sym_async] = ACTIONS(55), - [anon_sym_LBRACE] = ACTIONS(58), - [anon_sym_RBRACE] = ACTIONS(47), - [sym_integer] = ACTIONS(61), - [sym_float] = ACTIONS(64), - [sym_string] = ACTIONS(64), - [anon_sym_true] = ACTIONS(67), - [anon_sym_false] = ACTIONS(67), - [anon_sym_LBRACK] = ACTIONS(70), - [anon_sym_none] = ACTIONS(73), - [anon_sym_some] = ACTIONS(76), - [anon_sym_if] = ACTIONS(79), - [anon_sym_match] = ACTIONS(82), - [anon_sym_while] = ACTIONS(85), - [anon_sym_for] = ACTIONS(88), - [anon_sym_asyncfor] = ACTIONS(91), - [anon_sym_return] = ACTIONS(94), - [anon_sym_args] = ACTIONS(97), - [anon_sym_assert_equal] = ACTIONS(97), - [anon_sym_env] = ACTIONS(97), - [anon_sym_length] = ACTIONS(97), - [anon_sym_output] = ACTIONS(97), - [anon_sym_random] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(7), + [anon_sym_async] = ACTIONS(9), + [anon_sym_LBRACE] = ACTIONS(11), + [anon_sym_RBRACE] = ACTIONS(98), + [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), }, [6] = { - [sym_statement] = STATE(20), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), + [sym_statement] = STATE(2), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(20), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -2968,45 +3011,47 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [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), }, [7] = { - [sym_statement] = STATE(5), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), + [sym_statement] = STATE(2), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(5), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [aux_sym_root_repeat1] = STATE(2), + [ts_builtin_sym_end] = ACTIONS(102), [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), @@ -3024,95 +3069,41 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [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), }, [8] = { - [sym_statement] = STATE(5), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), + [sym_statement] = STATE(12), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(5), - [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(102), - [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_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - }, - [9] = { - [sym_statement] = STATE(14), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(14), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [aux_sym_root_repeat1] = STATE(12), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -3136,39 +3127,41 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [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), }, - [10] = { - [sym_statement] = STATE(13), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), + [9] = { + [sym_statement] = STATE(17), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(13), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [aux_sym_root_repeat1] = STATE(17), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -3192,39 +3185,41 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [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), }, - [11] = { - [sym_statement] = STATE(5), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), + [10] = { + [sym_statement] = STATE(2), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(5), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -3248,39 +3243,41 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [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), }, - [12] = { - [sym_statement] = STATE(5), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), + [11] = { + [sym_statement] = STATE(2), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(5), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -3304,39 +3301,41 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [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), }, - [13] = { - [sym_statement] = STATE(5), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), + [12] = { + [sym_statement] = STATE(2), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(5), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -3360,95 +3359,41 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [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), }, - [14] = { - [sym_statement] = STATE(5), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), + [13] = { + [sym_statement] = STATE(10), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(5), - [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(114), - [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_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - }, - [15] = { - [sym_statement] = STATE(11), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(11), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [aux_sym_root_repeat1] = STATE(10), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -3472,45 +3417,47 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [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), }, - [16] = { - [sym_statement] = STATE(22), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), + [14] = { + [sym_statement] = STATE(11), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(22), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [aux_sym_root_repeat1] = STATE(11), [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(43), + [anon_sym_RBRACE] = ACTIONS(96), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), @@ -3528,487 +3475,41 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [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), }, - [17] = { - [sym_statement] = STATE(5), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), + [15] = { + [sym_statement] = STATE(2), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(5), - [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_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - }, - [18] = { - [sym_statement] = STATE(12), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(12), - [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), - [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_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - }, - [19] = { - [sym_statement] = STATE(5), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(5), - [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_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - }, - [20] = { - [sym_statement] = STATE(5), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(5), - [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(118), - [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_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - }, - [21] = { - [sym_statement] = STATE(7), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [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(45), - [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_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - }, - [22] = { - [sym_statement] = STATE(5), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(5), - [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_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - }, - [23] = { - [sym_statement] = STATE(19), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(19), - [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_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - }, - [24] = { - [sym_statement] = STATE(17), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(17), - [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), - [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_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - }, - [25] = { - [sym_statement] = STATE(8), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(8), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -4032,45 +3533,47 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [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), }, - [26] = { - [sym_statement] = STATE(5), - [sym_expression] = STATE(83), - [sym__expression_kind] = STATE(66), - [sym_block] = STATE(261), - [sym_value] = STATE(75), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_option] = STATE(67), - [sym_index] = STATE(65), + [16] = { + [sym_statement] = STATE(2), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), [sym_index_expression] = STATE(438), - [sym_math] = STATE(66), - [sym_logic] = STATE(66), - [sym_assignment] = STATE(261), - [sym_index_assignment] = STATE(261), - [sym_if_else] = STATE(261), - [sym_if] = STATE(212), - [sym_match] = STATE(261), - [sym_while] = STATE(261), - [sym_for] = STATE(261), - [sym_return] = STATE(261), - [sym_function] = STATE(67), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(59), - [sym_function_call] = STATE(58), - [sym_yield] = STATE(58), - [sym_built_in_value] = STATE(67), - [aux_sym_root_repeat1] = STATE(5), - [ts_builtin_sym_end] = ACTIONS(124), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [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(116), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), @@ -4088,6 +3591,588 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [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), + }, + [17] = { + [sym_statement] = STATE(2), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), + [sym_index_expression] = STATE(438), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), + [sym_function_expression] = STATE(437), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [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(118), + [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), + }, + [18] = { + [sym_statement] = STATE(25), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), + [sym_index_expression] = STATE(438), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), + [sym_function_expression] = STATE(437), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [aux_sym_root_repeat1] = STATE(25), + [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(114), + [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), + }, + [19] = { + [sym_statement] = STATE(2), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), + [sym_index_expression] = STATE(438), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), + [sym_function_expression] = STATE(437), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [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), + }, + [20] = { + [sym_statement] = STATE(16), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), + [sym_index_expression] = STATE(438), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), + [sym_function_expression] = STATE(437), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [aux_sym_root_repeat1] = STATE(16), + [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), + }, + [21] = { + [sym_statement] = STATE(2), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), + [sym_index_expression] = STATE(438), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), + [sym_function_expression] = STATE(437), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [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), + }, + [22] = { + [sym_statement] = STATE(21), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), + [sym_index_expression] = STATE(438), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), + [sym_function_expression] = STATE(437), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [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(122), + [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), + }, + [23] = { + [sym_statement] = STATE(19), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), + [sym_index_expression] = STATE(438), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), + [sym_function_expression] = STATE(437), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [aux_sym_root_repeat1] = STATE(19), + [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(94), + [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), + }, + [24] = { + [sym_statement] = STATE(6), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), + [sym_index_expression] = STATE(438), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), + [sym_function_expression] = STATE(437), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [aux_sym_root_repeat1] = STATE(6), + [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(112), + [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), + }, + [25] = { + [sym_statement] = STATE(2), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), + [sym_index_expression] = STATE(438), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), + [sym_function_expression] = STATE(437), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [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(124), + [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), + }, + [26] = { + [sym_statement] = STATE(15), + [sym_expression] = STATE(82), + [sym__expression_kind] = STATE(70), + [sym_block] = STATE(222), + [sym_value] = STATE(77), + [sym_boolean] = STATE(53), + [sym_list] = STATE(53), + [sym_map] = STATE(53), + [sym_option] = STATE(53), + [sym_index] = STATE(64), + [sym_index_expression] = STATE(438), + [sym_math] = STATE(70), + [sym_logic] = STATE(70), + [sym_assignment] = STATE(222), + [sym_index_assignment] = STATE(222), + [sym_if_else] = STATE(222), + [sym_if] = STATE(213), + [sym_match] = STATE(222), + [sym_while] = STATE(222), + [sym_for] = STATE(222), + [sym_return] = STATE(222), + [sym_function] = STATE(53), + [sym_function_expression] = STATE(437), + [sym__function_expression_kind] = STATE(60), + [sym_function_call] = STATE(76), + [sym_yield] = STATE(76), + [sym_built_in_value] = STATE(53), + [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(98), + [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), @@ -4126,465 +4211,52 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_asyncfor, ACTIONS(156), 1, anon_sym_return, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, - STATE(114), 1, + STATE(257), 1, sym_value, - STATE(119), 1, + STATE(284), 1, sym_index, - STATE(130), 1, - sym_expression, - STATE(267), 1, - sym_if, - STATE(291), 1, - sym_statement, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(103), 2, - sym_function_call, - sym_yield, - STATE(106), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - STATE(289), 8, - sym_block, - sym_assignment, - sym_index_assignment, - sym_if_else, - sym_match, - sym_while, - sym_for, - sym_return, - [113] = 30, - ACTIONS(3), 1, - sym__comment, - ACTIONS(5), 1, - sym_identifier, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(9), 1, - anon_sym_async, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - sym_integer, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_none, - ACTIONS(23), 1, - anon_sym_some, - ACTIONS(25), 1, - anon_sym_if, - ACTIONS(27), 1, - anon_sym_match, - ACTIONS(29), 1, - anon_sym_while, - ACTIONS(31), 1, - anon_sym_for, - ACTIONS(33), 1, - anon_sym_asyncfor, - ACTIONS(35), 1, - anon_sym_return, - STATE(59), 1, - sym__function_expression_kind, - STATE(65), 1, - sym_index, - STATE(75), 1, - sym_value, - STATE(82), 1, - sym_expression, - STATE(212), 1, - sym_if, - STATE(258), 1, - sym_statement, - 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(58), 2, - sym_function_call, - sym_yield, - STATE(66), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(37), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(67), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - STATE(265), 8, - sym_block, - sym_assignment, - sym_index_assignment, - sym_if_else, - sym_match, - sym_while, - sym_for, - sym_return, - [226] = 30, - ACTIONS(3), 1, - sym__comment, - ACTIONS(146), 1, - anon_sym_if, - ACTIONS(148), 1, - anon_sym_match, - ACTIONS(160), 1, - sym_identifier, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(164), 1, - anon_sym_async, - ACTIONS(166), 1, - anon_sym_LBRACE, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(180), 1, - anon_sym_while, - ACTIONS(182), 1, - anon_sym_for, - ACTIONS(184), 1, - anon_sym_asyncfor, - ACTIONS(186), 1, - anon_sym_return, - STATE(59), 1, - sym__function_expression_kind, - STATE(237), 1, - sym_value, - STATE(277), 1, - sym_index, - STATE(297), 1, - sym_statement, STATE(304), 1, sym_expression, STATE(372), 1, sym_if, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(241), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - STATE(289), 8, - sym_block, - sym_assignment, - sym_index_assignment, - sym_if_else, - sym_match, - sym_while, - sym_for, - sym_return, - [339] = 30, - ACTIONS(3), 1, - sym__comment, - ACTIONS(146), 1, - anon_sym_if, - ACTIONS(148), 1, - anon_sym_match, - ACTIONS(160), 1, - sym_identifier, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(164), 1, - anon_sym_async, - ACTIONS(166), 1, - anon_sym_LBRACE, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(180), 1, - anon_sym_while, - ACTIONS(182), 1, - anon_sym_for, - ACTIONS(184), 1, - anon_sym_asyncfor, - ACTIONS(186), 1, - anon_sym_return, - STATE(59), 1, - sym__function_expression_kind, - STATE(237), 1, - sym_value, - STATE(277), 1, - sym_index, - STATE(299), 1, + STATE(385), 1, sym_statement, - STATE(304), 1, - sym_expression, - STATE(372), 1, - sym_if, - STATE(439), 1, - sym_function_expression, + STATE(436), 1, + sym_index_expression, STATE(442), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(241), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - STATE(289), 8, - sym_block, - sym_assignment, - sym_index_assignment, - sym_if_else, - sym_match, - sym_while, - sym_for, - sym_return, - [452] = 30, - ACTIONS(3), 1, - sym__comment, - ACTIONS(146), 1, - anon_sym_if, - ACTIONS(148), 1, - anon_sym_match, - ACTIONS(160), 1, - sym_identifier, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(164), 1, - anon_sym_async, - ACTIONS(166), 1, - anon_sym_LBRACE, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(180), 1, - anon_sym_while, - ACTIONS(182), 1, - anon_sym_for, - ACTIONS(184), 1, - anon_sym_asyncfor, - ACTIONS(186), 1, - anon_sym_return, - STATE(59), 1, - sym__function_expression_kind, - STATE(237), 1, - sym_value, - STATE(277), 1, - sym_index, - STATE(291), 1, - sym_statement, - STATE(304), 1, - sym_expression, - STATE(372), 1, - sym_if, - STATE(439), 1, sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(241), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - STATE(289), 8, - sym_block, - sym_assignment, - sym_index_assignment, - sym_if_else, - sym_match, - sym_while, - sym_for, - sym_return, - [565] = 30, - ACTIONS(3), 1, - sym__comment, - ACTIONS(126), 1, - sym_identifier, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(130), 1, - anon_sym_async, - ACTIONS(132), 1, - anon_sym_LBRACE, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(146), 1, - anon_sym_if, - ACTIONS(148), 1, - anon_sym_match, - ACTIONS(150), 1, - anon_sym_while, - ACTIONS(152), 1, - anon_sym_for, - ACTIONS(154), 1, - anon_sym_asyncfor, - ACTIONS(156), 1, - anon_sym_return, - STATE(59), 1, - sym__function_expression_kind, - STATE(114), 1, - sym_value, - STATE(119), 1, - sym_index, - STATE(130), 1, - sym_expression, - STATE(267), 1, - sym_if, - STATE(299), 1, - sym_statement, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, - sym_index_expression, ACTIONS(136), 2, sym_float, sym_string, ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(103), 2, + STATE(251), 2, sym_function_call, sym_yield, - STATE(106), 3, + STATE(261), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, + STATE(268), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - STATE(289), 8, + ACTIONS(158), 8, + 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, + STATE(297), 8, sym_block, sym_assignment, sym_index_assignment, @@ -4593,7 +4265,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while, sym_for, sym_return, - [678] = 30, + [115] = 30, ACTIONS(3), 1, sym__comment, ACTIONS(146), 1, @@ -4624,714 +4296,52 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_asyncfor, ACTIONS(186), 1, anon_sym_return, - STATE(59), 1, - sym__function_expression_kind, - STATE(237), 1, - sym_value, - STATE(277), 1, - sym_index, - STATE(303), 1, - sym_expression, - STATE(372), 1, - sym_if, - STATE(390), 1, - sym_statement, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(241), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - STATE(292), 8, - sym_block, - sym_assignment, - sym_index_assignment, - sym_if_else, - sym_match, - sym_while, - sym_for, - sym_return, - [791] = 30, - ACTIONS(3), 1, - sym__comment, - ACTIONS(126), 1, - sym_identifier, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(130), 1, - anon_sym_async, - ACTIONS(132), 1, - anon_sym_LBRACE, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(146), 1, - anon_sym_if, - ACTIONS(148), 1, - anon_sym_match, - ACTIONS(150), 1, - anon_sym_while, - ACTIONS(152), 1, - anon_sym_for, - ACTIONS(154), 1, - anon_sym_asyncfor, - ACTIONS(156), 1, - anon_sym_return, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, STATE(114), 1, sym_value, STATE(119), 1, sym_index, - STATE(132), 1, + STATE(129), 1, sym_expression, - STATE(267), 1, - sym_if, - STATE(302), 1, - sym_statement, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(103), 2, - sym_function_call, - sym_yield, - STATE(106), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - STATE(292), 8, - sym_block, - sym_assignment, - sym_index_assignment, - sym_if_else, - sym_match, - sym_while, - sym_for, - sym_return, - [904] = 30, - ACTIONS(3), 1, - sym__comment, - ACTIONS(126), 1, - sym_identifier, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(130), 1, - anon_sym_async, - ACTIONS(132), 1, - anon_sym_LBRACE, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(146), 1, - anon_sym_if, - ACTIONS(148), 1, - anon_sym_match, - ACTIONS(150), 1, - anon_sym_while, - ACTIONS(152), 1, - anon_sym_for, - ACTIONS(154), 1, - anon_sym_asyncfor, - ACTIONS(156), 1, - anon_sym_return, - STATE(59), 1, - sym__function_expression_kind, - STATE(114), 1, - sym_value, - STATE(119), 1, - sym_index, - STATE(130), 1, - sym_expression, - STATE(267), 1, - sym_if, - STATE(290), 1, - sym_statement, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(103), 2, - sym_function_call, - sym_yield, - STATE(106), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - STATE(289), 8, - sym_block, - sym_assignment, - sym_index_assignment, - sym_if_else, - sym_match, - sym_while, - sym_for, - sym_return, - [1017] = 30, - ACTIONS(3), 1, - sym__comment, - ACTIONS(146), 1, - anon_sym_if, - ACTIONS(148), 1, - anon_sym_match, - ACTIONS(160), 1, - sym_identifier, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(164), 1, - anon_sym_async, - ACTIONS(166), 1, - anon_sym_LBRACE, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(180), 1, - anon_sym_while, - ACTIONS(182), 1, - anon_sym_for, - ACTIONS(184), 1, - anon_sym_asyncfor, - ACTIONS(186), 1, - anon_sym_return, - STATE(59), 1, - sym__function_expression_kind, - STATE(237), 1, - sym_value, - STATE(277), 1, - sym_index, - STATE(290), 1, - sym_statement, - STATE(304), 1, - sym_expression, - STATE(372), 1, - sym_if, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(241), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - STATE(289), 8, - sym_block, - sym_assignment, - sym_index_assignment, - sym_if_else, - sym_match, - sym_while, - sym_for, - sym_return, - [1130] = 30, - ACTIONS(3), 1, - sym__comment, - ACTIONS(126), 1, - sym_identifier, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(130), 1, - anon_sym_async, - ACTIONS(132), 1, - anon_sym_LBRACE, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(146), 1, - anon_sym_if, - ACTIONS(148), 1, - anon_sym_match, - ACTIONS(150), 1, - anon_sym_while, - ACTIONS(152), 1, - anon_sym_for, - ACTIONS(154), 1, - anon_sym_asyncfor, - ACTIONS(156), 1, - anon_sym_return, - STATE(59), 1, - sym__function_expression_kind, - STATE(114), 1, - sym_value, - STATE(119), 1, - sym_index, - STATE(130), 1, - sym_expression, - STATE(267), 1, - sym_if, - STATE(297), 1, - sym_statement, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(103), 2, - sym_function_call, - sym_yield, - STATE(106), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - STATE(289), 8, - sym_block, - sym_assignment, - sym_index_assignment, - sym_if_else, - sym_match, - sym_while, - sym_for, - sym_return, - [1243] = 30, - ACTIONS(3), 1, - sym__comment, - ACTIONS(146), 1, - anon_sym_if, - ACTIONS(148), 1, - anon_sym_match, - ACTIONS(160), 1, - sym_identifier, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(164), 1, - anon_sym_async, - ACTIONS(166), 1, - anon_sym_LBRACE, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(180), 1, - anon_sym_while, - ACTIONS(182), 1, - anon_sym_for, - ACTIONS(184), 1, - anon_sym_asyncfor, - ACTIONS(186), 1, - anon_sym_return, - STATE(59), 1, - sym__function_expression_kind, - STATE(237), 1, - sym_value, - STATE(277), 1, - sym_index, - STATE(303), 1, - sym_expression, - STATE(372), 1, - sym_if, - STATE(390), 1, - sym_statement, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(241), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - STATE(292), 8, - sym_block, - sym_assignment, - sym_index_assignment, - sym_if_else, - sym_match, - sym_while, - sym_for, - sym_return, - [1356] = 30, - ACTIONS(3), 1, - sym__comment, - ACTIONS(146), 1, - anon_sym_if, - ACTIONS(148), 1, - anon_sym_match, - ACTIONS(160), 1, - sym_identifier, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(164), 1, - anon_sym_async, - ACTIONS(166), 1, - anon_sym_LBRACE, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(180), 1, - anon_sym_while, - ACTIONS(182), 1, - anon_sym_for, - ACTIONS(184), 1, - anon_sym_asyncfor, - ACTIONS(186), 1, - anon_sym_return, - STATE(59), 1, - sym__function_expression_kind, - STATE(237), 1, - sym_value, - STATE(277), 1, - sym_index, - STATE(303), 1, - sym_expression, - STATE(372), 1, - sym_if, - STATE(388), 1, - sym_statement, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(241), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - STATE(292), 8, - sym_block, - sym_assignment, - sym_index_assignment, - sym_if_else, - sym_match, - sym_while, - sym_for, - sym_return, - [1469] = 30, - ACTIONS(3), 1, - sym__comment, - ACTIONS(5), 1, - sym_identifier, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(9), 1, - anon_sym_async, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - sym_integer, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_none, - ACTIONS(23), 1, - anon_sym_some, - ACTIONS(25), 1, - anon_sym_if, - ACTIONS(27), 1, - anon_sym_match, - ACTIONS(29), 1, - anon_sym_while, - ACTIONS(31), 1, - anon_sym_for, - ACTIONS(33), 1, - anon_sym_asyncfor, - ACTIONS(35), 1, - anon_sym_return, - STATE(59), 1, - sym__function_expression_kind, - STATE(65), 1, - sym_index, - STATE(75), 1, - sym_value, - STATE(82), 1, - sym_expression, - STATE(212), 1, - sym_if, STATE(264), 1, - sym_statement, - 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(58), 2, - sym_function_call, - sym_yield, - STATE(66), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(37), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(67), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - STATE(265), 8, - sym_block, - sym_assignment, - sym_index_assignment, - sym_if_else, - sym_match, - sym_while, - sym_for, - sym_return, - [1582] = 30, - ACTIONS(3), 1, - sym__comment, - ACTIONS(5), 1, - sym_identifier, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(9), 1, - anon_sym_async, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - sym_integer, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_none, - ACTIONS(23), 1, - anon_sym_some, - ACTIONS(25), 1, - anon_sym_if, - ACTIONS(27), 1, - anon_sym_match, - ACTIONS(29), 1, - anon_sym_while, - ACTIONS(31), 1, - anon_sym_for, - ACTIONS(33), 1, - anon_sym_asyncfor, - ACTIONS(35), 1, - anon_sym_return, - STATE(59), 1, - sym__function_expression_kind, - STATE(65), 1, - sym_index, - STATE(75), 1, - sym_value, - STATE(82), 1, - sym_expression, - STATE(212), 1, sym_if, - STATE(263), 1, + STATE(286), 1, sym_statement, - STATE(437), 1, - sym_function_expression, - STATE(438), 1, + STATE(420), 1, sym_index_expression, - ACTIONS(15), 2, + STATE(430), 1, + sym_function_expression, + ACTIONS(170), 2, sym_float, sym_string, - ACTIONS(17), 2, + ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(58), 2, + STATE(108), 2, sym_function_call, sym_yield, - STATE(66), 3, + STATE(113), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(37), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(67), 6, + STATE(109), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - STATE(265), 8, + ACTIONS(188), 8, + 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, + STATE(287), 8, sym_block, sym_assignment, sym_index_assignment, @@ -5340,90 +4350,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while, sym_for, sym_return, - [1695] = 30, - ACTIONS(3), 1, - sym__comment, - ACTIONS(5), 1, - sym_identifier, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(9), 1, - anon_sym_async, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - sym_integer, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_none, - ACTIONS(23), 1, - anon_sym_some, - ACTIONS(25), 1, - anon_sym_if, - ACTIONS(27), 1, - anon_sym_match, - ACTIONS(29), 1, - anon_sym_while, - ACTIONS(31), 1, - anon_sym_for, - ACTIONS(33), 1, - anon_sym_asyncfor, - ACTIONS(35), 1, - anon_sym_return, - STATE(59), 1, - sym__function_expression_kind, - STATE(65), 1, - sym_index, - STATE(75), 1, - sym_value, - STATE(82), 1, - sym_expression, - STATE(212), 1, - sym_if, - STATE(254), 1, - sym_statement, - 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(58), 2, - sym_function_call, - sym_yield, - STATE(66), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(37), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(67), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - STATE(265), 8, - sym_block, - sym_assignment, - sym_index_assignment, - sym_if_else, - sym_match, - sym_while, - sym_for, - sym_return, - [1808] = 30, + [230] = 30, ACTIONS(3), 1, sym__comment, ACTIONS(146), 1, @@ -5454,50 +4381,52 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_asyncfor, ACTIONS(186), 1, anon_sym_return, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, - STATE(237), 1, + STATE(114), 1, sym_value, - STATE(277), 1, + STATE(119), 1, sym_index, - STATE(303), 1, + STATE(129), 1, sym_expression, - STATE(372), 1, + STATE(264), 1, sym_if, - STATE(388), 1, + STATE(295), 1, sym_statement, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, + 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(241), 2, + STATE(108), 2, sym_function_call, sym_yield, - STATE(231), 3, + STATE(113), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, + STATE(109), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - STATE(292), 8, + ACTIONS(188), 8, + 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, + STATE(287), 8, sym_block, sym_assignment, sym_index_assignment, @@ -5506,14 +4435,1320 @@ static const uint16_t ts_small_parse_table[] = { sym_while, sym_for, sym_return, - [1921] = 5, + [345] = 30, ACTIONS(3), 1, sym__comment, - STATE(193), 1, + ACTIONS(126), 1, + sym_identifier, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(130), 1, + anon_sym_async, + ACTIONS(132), 1, + anon_sym_LBRACE, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(146), 1, + anon_sym_if, + ACTIONS(148), 1, + anon_sym_match, + ACTIONS(150), 1, + anon_sym_while, + ACTIONS(152), 1, + anon_sym_for, + ACTIONS(154), 1, + anon_sym_asyncfor, + ACTIONS(156), 1, + anon_sym_return, + STATE(60), 1, + sym__function_expression_kind, + STATE(257), 1, + sym_value, + STATE(284), 1, + sym_index, + STATE(286), 1, + sym_statement, + STATE(303), 1, + sym_expression, + STATE(372), 1, + sym_if, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + STATE(287), 8, + sym_block, + sym_assignment, + sym_index_assignment, + sym_if_else, + sym_match, + sym_while, + sym_for, + sym_return, + [460] = 30, + ACTIONS(3), 1, + sym__comment, + ACTIONS(5), 1, + sym_identifier, + ACTIONS(7), 1, + anon_sym_LPAREN, + ACTIONS(9), 1, + anon_sym_async, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + sym_integer, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_none, + ACTIONS(23), 1, + anon_sym_some, + ACTIONS(25), 1, + anon_sym_if, + ACTIONS(27), 1, + anon_sym_match, + ACTIONS(29), 1, + anon_sym_while, + ACTIONS(31), 1, + anon_sym_for, + ACTIONS(33), 1, + anon_sym_asyncfor, + ACTIONS(35), 1, + anon_sym_return, + STATE(60), 1, + sym__function_expression_kind, + STATE(64), 1, + sym_index, + STATE(77), 1, + sym_value, + STATE(84), 1, + sym_expression, + STATE(213), 1, + sym_if, + STATE(220), 1, + sym_statement, + 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(76), 2, + sym_function_call, + sym_yield, + STATE(70), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(53), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(37), 8, + 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, + STATE(228), 8, + sym_block, + sym_assignment, + sym_index_assignment, + sym_if_else, + sym_match, + sym_while, + sym_for, + sym_return, + [575] = 30, + ACTIONS(3), 1, + sym__comment, + ACTIONS(126), 1, + sym_identifier, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(130), 1, + anon_sym_async, + ACTIONS(132), 1, + anon_sym_LBRACE, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(146), 1, + anon_sym_if, + ACTIONS(148), 1, + anon_sym_match, + ACTIONS(150), 1, + anon_sym_while, + ACTIONS(152), 1, + anon_sym_for, + ACTIONS(154), 1, + anon_sym_asyncfor, + ACTIONS(156), 1, + anon_sym_return, + STATE(60), 1, + sym__function_expression_kind, + STATE(257), 1, + sym_value, + STATE(284), 1, + sym_index, + STATE(304), 1, + sym_expression, + STATE(372), 1, + sym_if, + STATE(397), 1, + sym_statement, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + STATE(297), 8, + sym_block, + sym_assignment, + sym_index_assignment, + sym_if_else, + sym_match, + sym_while, + sym_for, + sym_return, + [690] = 30, + ACTIONS(3), 1, + sym__comment, + ACTIONS(126), 1, + sym_identifier, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(130), 1, + anon_sym_async, + ACTIONS(132), 1, + anon_sym_LBRACE, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(146), 1, + anon_sym_if, + ACTIONS(148), 1, + anon_sym_match, + ACTIONS(150), 1, + anon_sym_while, + ACTIONS(152), 1, + anon_sym_for, + ACTIONS(154), 1, + anon_sym_asyncfor, + ACTIONS(156), 1, + anon_sym_return, + STATE(60), 1, + sym__function_expression_kind, + STATE(257), 1, + sym_value, + STATE(284), 1, + sym_index, + STATE(304), 1, + sym_expression, + STATE(372), 1, + sym_if, + STATE(385), 1, + sym_statement, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + STATE(297), 8, + sym_block, + sym_assignment, + sym_index_assignment, + sym_if_else, + sym_match, + sym_while, + sym_for, + sym_return, + [805] = 30, + ACTIONS(3), 1, + sym__comment, + ACTIONS(126), 1, + sym_identifier, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(130), 1, + anon_sym_async, + ACTIONS(132), 1, + anon_sym_LBRACE, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(146), 1, + anon_sym_if, + ACTIONS(148), 1, + anon_sym_match, + ACTIONS(150), 1, + anon_sym_while, + ACTIONS(152), 1, + anon_sym_for, + ACTIONS(154), 1, + anon_sym_asyncfor, + ACTIONS(156), 1, + anon_sym_return, + STATE(60), 1, + sym__function_expression_kind, + STATE(257), 1, + sym_value, + STATE(284), 1, + sym_index, + STATE(293), 1, + sym_statement, + STATE(303), 1, + sym_expression, + STATE(372), 1, + sym_if, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + STATE(287), 8, + sym_block, + sym_assignment, + sym_index_assignment, + sym_if_else, + sym_match, + sym_while, + sym_for, + sym_return, + [920] = 30, + ACTIONS(3), 1, + sym__comment, + ACTIONS(146), 1, + anon_sym_if, + ACTIONS(148), 1, + anon_sym_match, + ACTIONS(160), 1, + sym_identifier, + ACTIONS(162), 1, + anon_sym_LPAREN, + ACTIONS(164), 1, + anon_sym_async, + ACTIONS(166), 1, + anon_sym_LBRACE, + ACTIONS(168), 1, + sym_integer, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(176), 1, + anon_sym_none, + ACTIONS(178), 1, + anon_sym_some, + ACTIONS(180), 1, + anon_sym_while, + ACTIONS(182), 1, + anon_sym_for, + ACTIONS(184), 1, + anon_sym_asyncfor, + ACTIONS(186), 1, + anon_sym_return, + STATE(60), 1, + sym__function_expression_kind, + STATE(114), 1, + sym_value, + STATE(119), 1, + sym_index, + STATE(129), 1, + sym_expression, + STATE(264), 1, + sym_if, + STATE(288), 1, + sym_statement, + 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(108), 2, + sym_function_call, + sym_yield, + STATE(113), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(109), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 8, + 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, + STATE(287), 8, + sym_block, + sym_assignment, + sym_index_assignment, + sym_if_else, + sym_match, + sym_while, + sym_for, + sym_return, + [1035] = 30, + ACTIONS(3), 1, + sym__comment, + ACTIONS(5), 1, + sym_identifier, + ACTIONS(7), 1, + anon_sym_LPAREN, + ACTIONS(9), 1, + anon_sym_async, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + sym_integer, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_none, + ACTIONS(23), 1, + anon_sym_some, + ACTIONS(25), 1, + anon_sym_if, + ACTIONS(27), 1, + anon_sym_match, + ACTIONS(29), 1, + anon_sym_while, + ACTIONS(31), 1, + anon_sym_for, + ACTIONS(33), 1, + anon_sym_asyncfor, + ACTIONS(35), 1, + anon_sym_return, + STATE(60), 1, + sym__function_expression_kind, + STATE(64), 1, + sym_index, + STATE(77), 1, + sym_value, + STATE(84), 1, + sym_expression, + STATE(213), 1, + sym_if, + STATE(235), 1, + sym_statement, + 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(76), 2, + sym_function_call, + sym_yield, + STATE(70), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(53), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(37), 8, + 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, + STATE(228), 8, + sym_block, + sym_assignment, + sym_index_assignment, + sym_if_else, + sym_match, + sym_while, + sym_for, + sym_return, + [1150] = 30, + ACTIONS(3), 1, + sym__comment, + ACTIONS(126), 1, + sym_identifier, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(130), 1, + anon_sym_async, + ACTIONS(132), 1, + anon_sym_LBRACE, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(146), 1, + anon_sym_if, + ACTIONS(148), 1, + anon_sym_match, + ACTIONS(150), 1, + anon_sym_while, + ACTIONS(152), 1, + anon_sym_for, + ACTIONS(154), 1, + anon_sym_asyncfor, + ACTIONS(156), 1, + anon_sym_return, + STATE(60), 1, + sym__function_expression_kind, + STATE(257), 1, + sym_value, + STATE(284), 1, + sym_index, + STATE(288), 1, + sym_statement, + STATE(303), 1, + sym_expression, + STATE(372), 1, + sym_if, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + STATE(287), 8, + sym_block, + sym_assignment, + sym_index_assignment, + sym_if_else, + sym_match, + sym_while, + sym_for, + sym_return, + [1265] = 30, + ACTIONS(3), 1, + sym__comment, + ACTIONS(146), 1, + anon_sym_if, + ACTIONS(148), 1, + anon_sym_match, + ACTIONS(160), 1, + sym_identifier, + ACTIONS(162), 1, + anon_sym_LPAREN, + ACTIONS(164), 1, + anon_sym_async, + ACTIONS(166), 1, + anon_sym_LBRACE, + ACTIONS(168), 1, + sym_integer, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(176), 1, + anon_sym_none, + ACTIONS(178), 1, + anon_sym_some, + ACTIONS(180), 1, + anon_sym_while, + ACTIONS(182), 1, + anon_sym_for, + ACTIONS(184), 1, + anon_sym_asyncfor, + ACTIONS(186), 1, + anon_sym_return, + STATE(60), 1, + sym__function_expression_kind, + STATE(114), 1, + sym_value, + STATE(119), 1, + sym_index, + STATE(129), 1, + sym_expression, + STATE(264), 1, + sym_if, + STATE(293), 1, + sym_statement, + 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(108), 2, + sym_function_call, + sym_yield, + STATE(113), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(109), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 8, + 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, + STATE(287), 8, + sym_block, + sym_assignment, + sym_index_assignment, + sym_if_else, + sym_match, + sym_while, + sym_for, + sym_return, + [1380] = 30, + ACTIONS(3), 1, + sym__comment, + ACTIONS(126), 1, + sym_identifier, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(130), 1, + anon_sym_async, + ACTIONS(132), 1, + anon_sym_LBRACE, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(146), 1, + anon_sym_if, + ACTIONS(148), 1, + anon_sym_match, + ACTIONS(150), 1, + anon_sym_while, + ACTIONS(152), 1, + anon_sym_for, + ACTIONS(154), 1, + anon_sym_asyncfor, + ACTIONS(156), 1, + anon_sym_return, + STATE(60), 1, + sym__function_expression_kind, + STATE(257), 1, + sym_value, + STATE(284), 1, + sym_index, + STATE(304), 1, + sym_expression, + STATE(372), 1, + sym_if, + STATE(397), 1, + sym_statement, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + STATE(297), 8, + sym_block, + sym_assignment, + sym_index_assignment, + sym_if_else, + sym_match, + sym_while, + sym_for, + sym_return, + [1495] = 30, + ACTIONS(3), 1, + sym__comment, + ACTIONS(146), 1, + anon_sym_if, + ACTIONS(148), 1, + anon_sym_match, + ACTIONS(160), 1, + sym_identifier, + ACTIONS(162), 1, + anon_sym_LPAREN, + ACTIONS(164), 1, + anon_sym_async, + ACTIONS(166), 1, + anon_sym_LBRACE, + ACTIONS(168), 1, + sym_integer, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(176), 1, + anon_sym_none, + ACTIONS(178), 1, + anon_sym_some, + ACTIONS(180), 1, + anon_sym_while, + ACTIONS(182), 1, + anon_sym_for, + ACTIONS(184), 1, + anon_sym_asyncfor, + ACTIONS(186), 1, + anon_sym_return, + STATE(60), 1, + sym__function_expression_kind, + STATE(114), 1, + sym_value, + STATE(119), 1, + sym_index, + STATE(130), 1, + sym_expression, + STATE(264), 1, + sym_if, + STATE(300), 1, + sym_statement, + 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(108), 2, + sym_function_call, + sym_yield, + STATE(113), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(109), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 8, + 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, + STATE(297), 8, + sym_block, + sym_assignment, + sym_index_assignment, + sym_if_else, + sym_match, + sym_while, + sym_for, + sym_return, + [1610] = 30, + ACTIONS(3), 1, + sym__comment, + ACTIONS(5), 1, + sym_identifier, + ACTIONS(7), 1, + anon_sym_LPAREN, + ACTIONS(9), 1, + anon_sym_async, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + sym_integer, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_none, + ACTIONS(23), 1, + anon_sym_some, + ACTIONS(25), 1, + anon_sym_if, + ACTIONS(27), 1, + anon_sym_match, + ACTIONS(29), 1, + anon_sym_while, + ACTIONS(31), 1, + anon_sym_for, + ACTIONS(33), 1, + anon_sym_asyncfor, + ACTIONS(35), 1, + anon_sym_return, + STATE(60), 1, + sym__function_expression_kind, + STATE(64), 1, + sym_index, + STATE(77), 1, + sym_value, + STATE(84), 1, + sym_expression, + STATE(213), 1, + sym_if, + STATE(229), 1, + sym_statement, + 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(76), 2, + sym_function_call, + sym_yield, + STATE(70), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(53), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(37), 8, + 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, + STATE(228), 8, + sym_block, + sym_assignment, + sym_index_assignment, + sym_if_else, + sym_match, + sym_while, + sym_for, + sym_return, + [1725] = 30, + ACTIONS(3), 1, + sym__comment, + ACTIONS(5), 1, + sym_identifier, + ACTIONS(7), 1, + anon_sym_LPAREN, + ACTIONS(9), 1, + anon_sym_async, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + sym_integer, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_none, + ACTIONS(23), 1, + anon_sym_some, + ACTIONS(25), 1, + anon_sym_if, + ACTIONS(27), 1, + anon_sym_match, + ACTIONS(29), 1, + anon_sym_while, + ACTIONS(31), 1, + anon_sym_for, + ACTIONS(33), 1, + anon_sym_asyncfor, + ACTIONS(35), 1, + anon_sym_return, + STATE(60), 1, + sym__function_expression_kind, + STATE(64), 1, + sym_index, + STATE(77), 1, + sym_value, + STATE(84), 1, + sym_expression, + STATE(213), 1, + sym_if, + STATE(231), 1, + sym_statement, + 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(76), 2, + sym_function_call, + sym_yield, + STATE(70), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(53), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(37), 8, + 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, + STATE(228), 8, + sym_block, + sym_assignment, + sym_index_assignment, + sym_if_else, + sym_match, + sym_while, + sym_for, + sym_return, + [1840] = 30, + ACTIONS(3), 1, + sym__comment, + ACTIONS(126), 1, + sym_identifier, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(130), 1, + anon_sym_async, + ACTIONS(132), 1, + anon_sym_LBRACE, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(146), 1, + anon_sym_if, + ACTIONS(148), 1, + anon_sym_match, + ACTIONS(150), 1, + anon_sym_while, + ACTIONS(152), 1, + anon_sym_for, + ACTIONS(154), 1, + anon_sym_asyncfor, + ACTIONS(156), 1, + anon_sym_return, + STATE(60), 1, + sym__function_expression_kind, + STATE(257), 1, + sym_value, + STATE(284), 1, + sym_index, + STATE(295), 1, + sym_statement, + STATE(303), 1, + sym_expression, + STATE(372), 1, + sym_if, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + STATE(287), 8, + sym_block, + sym_assignment, + sym_index_assignment, + sym_if_else, + sym_match, + sym_while, + sym_for, + sym_return, + [1955] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(194), 1, + anon_sym_DASH_GT, + STATE(179), 1, sym_logic_operator, - STATE(197), 1, + STATE(184), 1, sym_math_operator, - ACTIONS(190), 23, + ACTIONS(190), 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_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, + ACTIONS(192), 25, + 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, + [2019] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(194), 1, + anon_sym_DASH_GT, + STATE(179), 1, + sym_logic_operator, + STATE(184), 1, + sym_math_operator, + ACTIONS(196), 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_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, + ACTIONS(198), 25, + 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, + [2083] = 5, + ACTIONS(3), 1, + sym__comment, + STATE(179), 1, + sym_logic_operator, + STATE(184), 1, + sym_math_operator, + ACTIONS(200), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -5537,7 +5772,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(192), 23, + ACTIONS(202), 25, anon_sym_async, sym_identifier, sym_integer, @@ -5558,74 +5793,18 @@ static const uint16_t ts_small_parse_table[] = { 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, - [1981] = 6, + [2145] = 5, ACTIONS(3), 1, sym__comment, - ACTIONS(198), 1, - anon_sym_DASH_GT, - STATE(193), 1, - sym_logic_operator, - STATE(197), 1, + STATE(162), 1, sym_math_operator, - ACTIONS(194), 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_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, - ACTIONS(196), 23, - 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_length, - anon_sym_output, - anon_sym_random, - [2043] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(198), 1, - anon_sym_DASH_GT, - STATE(193), 1, + STATE(171), 1, sym_logic_operator, - STATE(197), 1, - sym_math_operator, ACTIONS(200), 22, ts_builtin_sym_end, anon_sym_SEMI, @@ -5636,7 +5815,6 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_COLON, - anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -5649,7 +5827,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, - ACTIONS(202), 23, + anon_sym_DASH_GT, + ACTIONS(202), 25, anon_sym_async, sym_identifier, sym_integer, @@ -5670,19 +5849,21 @@ static const uint16_t ts_small_parse_table[] = { 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, - [2105] = 6, + [2206] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(204), 1, anon_sym_DASH_GT, - STATE(166), 1, - sym_logic_operator, - STATE(175), 1, + STATE(162), 1, sym_math_operator, - ACTIONS(194), 21, + STATE(171), 1, + sym_logic_operator, + ACTIONS(196), 21, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -5704,7 +5885,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, - ACTIONS(196), 23, + ACTIONS(198), 25, anon_sym_async, sym_identifier, sym_integer, @@ -5725,10 +5906,69 @@ static const uint16_t ts_small_parse_table[] = { 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, - [2166] = 10, + [2269] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(204), 1, + anon_sym_DASH_GT, + STATE(162), 1, + sym_math_operator, + STATE(171), 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), 25, + 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, + [2332] = 10, ACTIONS(3), 1, sym__comment, ACTIONS(210), 1, @@ -5741,7 +5981,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT, STATE(41), 1, sym_assignment_operator, - STATE(375), 1, + STATE(377), 1, sym_type_definition, ACTIONS(218), 2, anon_sym_PLUS_EQ, @@ -5765,7 +6005,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(208), 21, + ACTIONS(208), 23, anon_sym_async, sym_identifier, sym_integer, @@ -5784,119 +6024,12 @@ static const uint16_t ts_small_parse_table[] = { 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, - [2235] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(204), 1, - anon_sym_DASH_GT, - STATE(166), 1, - sym_logic_operator, - STATE(175), 1, - sym_math_operator, - ACTIONS(200), 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(202), 23, - 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_length, - anon_sym_output, - anon_sym_random, - [2296] = 5, - ACTIONS(3), 1, - sym__comment, - STATE(166), 1, - sym_logic_operator, - STATE(175), 1, - sym_math_operator, - ACTIONS(190), 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(192), 23, - 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_length, - anon_sym_output, - anon_sym_random, - [2355] = 3, + [2403] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(220), 23, @@ -5923,7 +6056,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(222), 23, + ACTIONS(222), 25, anon_sym_async, sym_identifier, sym_integer, @@ -5944,65 +6077,15 @@ static const uint16_t ts_small_parse_table[] = { 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, - [2409] = 4, + [2459] = 3, 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), 23, - 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_length, - anon_sym_output, - anon_sym_random, - [2465] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(230), 23, + ACTIONS(224), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -6026,34 +6109,89 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, + ACTIONS(226), 25, + 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, + [2515] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(228), 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(230), 25, + 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, + [2571] = 3, + ACTIONS(3), 1, + sym__comment, ACTIONS(232), 23, - 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_length, - anon_sym_output, - anon_sym_random, - [2519] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(234), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -6077,58 +6215,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(236), 23, - 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_length, - anon_sym_output, - anon_sym_random, - [2573] = 3, - ACTIONS(3), 1, - sym__comment, - 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), 23, + ACTIONS(234), 25, anon_sym_async, sym_identifier, sym_integer, @@ -6149,13 +6236,15 @@ static const uint16_t ts_small_parse_table[] = { 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, [2627] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(242), 23, + ACTIONS(236), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -6179,7 +6268,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(244), 23, + ACTIONS(238), 25, anon_sym_async, sym_identifier, sym_integer, @@ -6200,13 +6289,15 @@ static const uint16_t ts_small_parse_table[] = { 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, - [2681] = 3, + [2683] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(246), 23, + ACTIONS(240), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -6230,7 +6321,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(248), 23, + ACTIONS(242), 25, anon_sym_async, sym_identifier, sym_integer, @@ -6251,10 +6342,1032 @@ static const uint16_t ts_small_parse_table[] = { 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, - [2735] = 4, + [2739] = 3, + 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), 25, + 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, + [2795] = 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), 25, + 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, + [2851] = 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), 25, + 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, + [2907] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(256), 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(258), 25, + 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, + [2963] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(260), 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(262), 25, + 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, + [3019] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(264), 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(266), 25, + 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, + [3075] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(268), 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(270), 25, + 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, + [3131] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(210), 1, + anon_sym_LPAREN, + ACTIONS(212), 1, + anon_sym_EQ, + ACTIONS(214), 1, + anon_sym_COLON, + STATE(31), 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, + 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_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, + [3197] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(272), 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(274), 25, + 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, + [3253] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(276), 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(278), 25, + 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, + [3309] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(280), 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(282), 25, + 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, + [3365] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(276), 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(278), 25, + 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, + [3423] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(214), 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(286), 25, + 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, + [3479] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(288), 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(290), 25, + 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, + [3535] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(292), 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(294), 25, + 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, + [3591] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(296), 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(298), 25, + 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, + [3647] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(300), 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(302), 25, + 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, + [3703] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(304), 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(306), 25, + 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, + [3759] = 10, + ACTIONS(3), 1, + sym__comment, + ACTIONS(210), 1, + anon_sym_LPAREN, + ACTIONS(214), 1, + anon_sym_COLON, + ACTIONS(216), 1, + anon_sym_LT, + ACTIONS(308), 1, + anon_sym_EQ, + STATE(41), 1, + sym_assignment_operator, + STATE(376), 1, + sym_type_definition, + ACTIONS(218), 2, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + ACTIONS(206), 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(208), 23, + 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, + [3829] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(210), 1, @@ -6282,7 +7395,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(208), 23, + ACTIONS(208), 25, anon_sym_async, sym_identifier, sym_integer, @@ -6303,831 +7416,12 @@ static const uint16_t ts_small_parse_table[] = { 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, - [2791] = 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), 23, - 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_length, - anon_sym_output, - anon_sym_random, - [2845] = 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), 23, - 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_length, - anon_sym_output, - anon_sym_random, - [2899] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(258), 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(260), 23, - 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_length, - anon_sym_output, - anon_sym_random, - [2953] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(262), 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(264), 23, - 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_length, - anon_sym_output, - anon_sym_random, - [3007] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(266), 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(268), 23, - 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_length, - anon_sym_output, - anon_sym_random, - [3061] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(270), 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(272), 23, - 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_length, - anon_sym_output, - anon_sym_random, - [3115] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(210), 1, - anon_sym_LPAREN, - ACTIONS(212), 1, - anon_sym_EQ, - ACTIONS(214), 1, - anon_sym_COLON, - STATE(28), 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, - 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), 22, - 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_length, - anon_sym_output, - anon_sym_random, - [3179] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(274), 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(276), 23, - 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_length, - anon_sym_output, - anon_sym_random, - [3233] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(278), 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(280), 23, - 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_length, - anon_sym_output, - anon_sym_random, - [3287] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(282), 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(284), 23, - 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_length, - anon_sym_output, - anon_sym_random, - [3341] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(286), 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(288), 23, - 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_length, - anon_sym_output, - anon_sym_random, - [3395] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(214), 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(290), 23, - 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_length, - anon_sym_output, - anon_sym_random, - [3449] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(224), 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(226), 23, - 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_length, - anon_sym_output, - anon_sym_random, - [3503] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(292), 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(294), 23, - 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_length, - anon_sym_output, - anon_sym_random, - [3557] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(296), 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(298), 23, - 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_length, - anon_sym_output, - anon_sym_random, - [3611] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(300), 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(302), 23, - 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_length, - anon_sym_output, - anon_sym_random, - [3665] = 5, + [3887] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(210), 1, @@ -7156,7 +7450,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(208), 23, + ACTIONS(208), 25, anon_sym_async, sym_identifier, sym_integer, @@ -7177,119 +7471,12 @@ static const uint16_t ts_small_parse_table[] = { 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, - [3723] = 10, - ACTIONS(3), 1, - sym__comment, - ACTIONS(210), 1, - anon_sym_LPAREN, - ACTIONS(214), 1, - anon_sym_COLON, - ACTIONS(216), 1, - anon_sym_LT, - ACTIONS(304), 1, - anon_sym_EQ, - STATE(41), 1, - sym_assignment_operator, - STATE(377), 1, - sym_type_definition, - ACTIONS(218), 2, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - ACTIONS(206), 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(208), 21, - 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_length, - anon_sym_output, - anon_sym_random, - [3791] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(306), 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(308), 23, - 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_length, - anon_sym_output, - anon_sym_random, - [3845] = 3, + [3947] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(310), 23, @@ -7316,7 +7503,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(312), 23, + ACTIONS(312), 25, anon_sym_async, sym_identifier, sym_integer, @@ -7337,10 +7524,12 @@ static const uint16_t ts_small_parse_table[] = { 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, - [3899] = 3, + [4003] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(314), 23, @@ -7367,7 +7556,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(316), 23, + ACTIONS(316), 25, anon_sym_async, sym_identifier, sym_integer, @@ -7388,19 +7577,21 @@ static const uint16_t ts_small_parse_table[] = { 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, - [3953] = 6, + [4059] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(318), 1, anon_sym_DASH_GT, - STATE(207), 1, + STATE(195), 1, sym_math_operator, - STATE(210), 1, + STATE(196), 1, sym_logic_operator, - ACTIONS(194), 19, + ACTIONS(196), 19, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -7420,7 +7611,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_asyncfor, - ACTIONS(196), 21, + ACTIONS(198), 23, anon_sym_async, sym_identifier, sym_integer, @@ -7439,19 +7630,21 @@ static const uint16_t ts_small_parse_table[] = { 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, - [4010] = 6, + [4118] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(318), 1, anon_sym_DASH_GT, - STATE(207), 1, + STATE(195), 1, sym_math_operator, - STATE(210), 1, + STATE(196), 1, sym_logic_operator, - ACTIONS(200), 19, + ACTIONS(190), 19, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -7471,7 +7664,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_asyncfor, - ACTIONS(202), 21, + ACTIONS(192), 23, anon_sym_async, sym_identifier, sym_integer, @@ -7490,29 +7683,141 @@ static const uint16_t ts_small_parse_table[] = { 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, - [4067] = 10, + [4177] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(318), 1, anon_sym_DASH_GT, - ACTIONS(326), 1, + ACTIONS(324), 1, + anon_sym_SEMI, + ACTIONS(328), 1, anon_sym_DASH, - STATE(207), 1, + STATE(195), 1, sym_math_operator, - STATE(210), 1, + STATE(196), 1, sym_logic_operator, - ACTIONS(330), 2, + ACTIONS(332), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(324), 4, + ACTIONS(326), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(328), 6, + 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(320), 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(322), 20, + 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, + [4246] = 5, + ACTIONS(3), 1, + sym__comment, + STATE(176), 1, + sym_logic_operator, + STATE(177), 1, + sym_math_operator, + ACTIONS(202), 19, + 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, + ACTIONS(200), 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, + [4303] = 10, + ACTIONS(3), 1, + sym__comment, + ACTIONS(318), 1, + anon_sym_DASH_GT, + ACTIONS(328), 1, + anon_sym_DASH, + STATE(195), 1, + sym_math_operator, + STATE(196), 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, @@ -7529,7 +7834,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_asyncfor, - ACTIONS(322), 18, + ACTIONS(322), 20, anon_sym_async, sym_identifier, sym_integer, @@ -7545,73 +7850,21 @@ static const uint16_t ts_small_parse_table[] = { 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, - [4132] = 11, + [4370] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(318), 1, + ACTIONS(334), 1, anon_sym_DASH_GT, - ACTIONS(326), 1, - anon_sym_DASH, - ACTIONS(332), 1, - anon_sym_SEMI, - STATE(207), 1, - sym_math_operator, - STATE(210), 1, + STATE(176), 1, sym_logic_operator, - ACTIONS(330), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(324), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(328), 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(320), 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(322), 18, - 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_length, - anon_sym_output, - anon_sym_random, - [4199] = 5, - ACTIONS(3), 1, - sym__comment, - STATE(189), 1, - sym_logic_operator, - STATE(190), 1, + STATE(177), 1, sym_math_operator, - ACTIONS(192), 17, + ACTIONS(198), 19, sym_identifier, sym_integer, anon_sym_true, @@ -7626,10 +7879,12 @@ static const uint16_t ts_small_parse_table[] = { 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, - ACTIONS(190), 24, + ACTIONS(196), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -7653,17 +7908,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [4254] = 6, + [4429] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(334), 1, anon_sym_DASH_GT, - STATE(189), 1, + STATE(176), 1, sym_logic_operator, - STATE(190), 1, + STATE(177), 1, sym_math_operator, - ACTIONS(196), 17, + ACTIONS(192), 19, sym_identifier, sym_integer, anon_sym_true, @@ -7678,10 +7932,12 @@ static const uint16_t ts_small_parse_table[] = { 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, - ACTIONS(194), 23, + ACTIONS(190), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -7705,16 +7961,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - [4311] = 6, + [4488] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(334), 1, + ACTIONS(336), 1, anon_sym_DASH_GT, - STATE(189), 1, - sym_logic_operator, - STATE(190), 1, + STATE(203), 1, sym_math_operator, - ACTIONS(202), 17, + STATE(205), 1, + sym_logic_operator, + ACTIONS(198), 19, sym_identifier, sym_integer, anon_sym_true, @@ -7729,6 +7985,58 @@ static const uint16_t ts_small_parse_table[] = { 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, + 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, + [4546] = 5, + ACTIONS(3), 1, + sym__comment, + STATE(203), 1, + sym_math_operator, + STATE(205), 1, + sym_logic_operator, + ACTIONS(202), 19, + 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, @@ -7744,7 +8052,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, - anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -7756,107 +8063,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - [4368] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(336), 1, anon_sym_DASH_GT, - STATE(199), 1, - sym_math_operator, - STATE(204), 1, - sym_logic_operator, - ACTIONS(196), 17, - 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_length, - anon_sym_output, - anon_sym_random, - ACTIONS(194), 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, - [4424] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(336), 1, - anon_sym_DASH_GT, - STATE(199), 1, - sym_math_operator, - STATE(204), 1, - sym_logic_operator, - ACTIONS(202), 17, - 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_length, - anon_sym_output, - anon_sym_random, - ACTIONS(200), 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, - [4480] = 4, + [4602] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(214), 1, @@ -7882,7 +8090,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(338), 21, + ACTIONS(338), 23, anon_sym_async, sym_identifier, sym_integer, @@ -7901,17 +8109,21 @@ static const uint16_t ts_small_parse_table[] = { 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, - [4532] = 5, + [4656] = 6, ACTIONS(3), 1, sym__comment, - STATE(199), 1, + ACTIONS(336), 1, + anon_sym_DASH_GT, + STATE(203), 1, sym_math_operator, - STATE(204), 1, + STATE(205), 1, sym_logic_operator, - ACTIONS(192), 17, + ACTIONS(192), 19, sym_identifier, sym_integer, anon_sym_true, @@ -7926,10 +8138,12 @@ static const uint16_t ts_small_parse_table[] = { 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, - ACTIONS(190), 23, + ACTIONS(190), 22, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -7952,57 +8166,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [4586] = 3, + [4714] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(222), 17, - 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_length, - anon_sym_output, - anon_sym_random, - 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, - [4635] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(226), 17, + ACTIONS(226), 19, sym_identifier, sym_integer, anon_sym_true, @@ -8017,6 +8184,8 @@ static const uint16_t ts_small_parse_table[] = { 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, @@ -8045,10 +8214,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - [4684] = 3, + [4765] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(302), 17, + ACTIONS(278), 19, sym_identifier, sym_integer, anon_sym_true, @@ -8063,6 +8232,248 @@ static const uint16_t ts_small_parse_table[] = { 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, + ACTIONS(276), 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, + [4816] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(262), 19, + 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, + ACTIONS(260), 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, + [4867] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(250), 19, + 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, + 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, + [4918] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(266), 19, + 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, + ACTIONS(264), 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, + [4969] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(270), 19, + 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, + ACTIONS(268), 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, + [5020] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(302), 19, + 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, @@ -8091,242 +8502,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - [4733] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(236), 17, - 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_length, - anon_sym_output, - anon_sym_random, - 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, - [4782] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(264), 17, - 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_length, - anon_sym_output, - anon_sym_random, - ACTIONS(262), 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, - [4831] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(256), 17, - 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_length, - anon_sym_output, - anon_sym_random, - 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, - [4880] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(260), 17, - 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_length, - anon_sym_output, - anon_sym_random, - 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, - [4929] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(268), 17, - 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_length, - anon_sym_output, - anon_sym_random, - 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, - [4978] = 4, + [5071] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(340), 1, anon_sym_DOT_DOT, - ACTIONS(226), 17, + ACTIONS(278), 19, sym_identifier, sym_integer, anon_sym_true, @@ -8341,10 +8522,12 @@ static const uint16_t ts_small_parse_table[] = { 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, - ACTIONS(224), 23, + ACTIONS(276), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -8368,10 +8551,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - [5029] = 3, + [5124] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(294), 17, + ACTIONS(294), 19, sym_identifier, sym_integer, anon_sym_true, @@ -8386,6 +8569,8 @@ static const uint16_t ts_small_parse_table[] = { 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, @@ -8414,10 +8599,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - [5078] = 3, + [5175] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(290), 17, + ACTIONS(286), 19, sym_identifier, sym_integer, anon_sym_true, @@ -8432,6 +8617,8 @@ static const uint16_t ts_small_parse_table[] = { 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, @@ -8460,333 +8647,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - [5127] = 3, + [5226] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(288), 17, - 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_length, - anon_sym_output, - anon_sym_random, - 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, - [5176] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(210), 1, - anon_sym_LPAREN, - ACTIONS(208), 17, - 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_length, - anon_sym_output, - anon_sym_random, - 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, - [5227] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(252), 17, - 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_length, - anon_sym_output, - anon_sym_random, - 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, - [5276] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(316), 17, - 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_length, - anon_sym_output, - anon_sym_random, - 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, - [5325] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(276), 17, - 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_length, - anon_sym_output, - anon_sym_random, - 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, - [5374] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(248), 17, - 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_length, - anon_sym_output, - anon_sym_random, - 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, - [5423] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(244), 17, - 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_length, - anon_sym_output, - anon_sym_random, - 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, - [5472] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(298), 17, + ACTIONS(298), 19, sym_identifier, sym_integer, anon_sym_true, @@ -8801,6 +8665,8 @@ static const uint16_t ts_small_parse_table[] = { 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, @@ -8829,10 +8695,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - [5521] = 3, + [5277] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(280), 17, + ACTIONS(254), 19, sym_identifier, sym_integer, anon_sym_true, @@ -8847,10 +8713,12 @@ static const uint16_t ts_small_parse_table[] = { 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, - ACTIONS(278), 24, + ACTIONS(252), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -8875,10 +8743,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - [5570] = 3, + [5328] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(232), 17, + ACTIONS(316), 19, sym_identifier, sym_integer, anon_sym_true, @@ -8893,10 +8761,12 @@ static const uint16_t ts_small_parse_table[] = { 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, - ACTIONS(230), 24, + ACTIONS(314), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -8921,10 +8791,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - [5619] = 3, + [5379] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(240), 17, + ACTIONS(258), 19, sym_identifier, sym_integer, anon_sym_true, @@ -8939,10 +8809,12 @@ static const uint16_t ts_small_parse_table[] = { 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, - ACTIONS(238), 24, + ACTIONS(256), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -8967,10 +8839,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - [5668] = 3, + [5430] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(272), 17, + ACTIONS(222), 19, sym_identifier, sym_integer, anon_sym_true, @@ -8985,10 +8857,12 @@ static const uint16_t ts_small_parse_table[] = { 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, - ACTIONS(270), 24, + ACTIONS(220), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -9013,14 +8887,399 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - [5717] = 5, + [5481] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(282), 19, + 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, + ACTIONS(280), 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, + [5532] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(306), 19, + 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, + ACTIONS(304), 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, + [5583] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(210), 1, + anon_sym_LPAREN, + ACTIONS(208), 19, + 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, + 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, + [5636] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(230), 19, + 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, + ACTIONS(228), 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, + [5687] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(234), 19, + 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, + ACTIONS(232), 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, + [5738] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(242), 19, + 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, + 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, + [5789] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(274), 19, + 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, + ACTIONS(272), 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, + [5840] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(290), 19, + 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, + ACTIONS(288), 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, + [5891] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(210), 1, anon_sym_LPAREN, ACTIONS(214), 1, anon_sym_COLON, - ACTIONS(208), 17, + ACTIONS(208), 19, sym_identifier, sym_integer, anon_sym_true, @@ -9035,6 +9294,8 @@ static const uint16_t ts_small_parse_table[] = { 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, @@ -9061,10 +9322,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - [5770] = 3, + [5946] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(308), 17, + ACTIONS(238), 19, sym_identifier, sym_integer, anon_sym_true, @@ -9079,10 +9340,12 @@ static const uint16_t ts_small_parse_table[] = { 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, - ACTIONS(306), 24, + ACTIONS(236), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -9107,56 +9370,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - [5819] = 3, + [5997] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(284), 17, - 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_length, - anon_sym_output, - anon_sym_random, - ACTIONS(282), 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, - [5868] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(312), 17, + ACTIONS(312), 19, sym_identifier, sym_integer, anon_sym_true, @@ -9171,6 +9388,8 @@ static const uint16_t ts_small_parse_table[] = { 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, @@ -9199,7 +9418,55 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - [5917] = 10, + [6048] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(246), 19, + 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, + 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, + [6099] = 10, ACTIONS(3), 1, sym__comment, ACTIONS(210), 1, @@ -9210,29 +9477,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, ACTIONS(216), 1, anon_sym_LT, - STATE(37), 1, + STATE(38), 1, sym_assignment_operator, - STATE(376), 1, + STATE(374), 1, sym_type_definition, ACTIONS(218), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - ACTIONS(208), 15, - 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_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, ACTIONS(206), 17, anon_sym_SEMI, anon_sym_COMMA, @@ -9251,7 +9502,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - [5979] = 8, + ACTIONS(208), 17, + 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_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + [6163] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(210), 1, @@ -9260,28 +9529,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ, ACTIONS(214), 1, anon_sym_COLON, - STATE(32), 1, + STATE(29), 1, sym_assignment_operator, ACTIONS(218), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - ACTIONS(208), 16, - 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_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, ACTIONS(206), 17, anon_sym_SEMI, anon_sym_COMMA, @@ -9300,16 +9552,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - [6036] = 6, + ACTIONS(208), 18, + 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_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + [6222] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(342), 1, anon_sym_DASH_GT, - STATE(201), 1, + STATE(189), 1, sym_logic_operator, - STATE(202), 1, + STATE(190), 1, sym_math_operator, - ACTIONS(196), 15, + ACTIONS(198), 17, sym_identifier, sym_integer, anon_sym_true, @@ -9322,10 +9593,12 @@ static const uint16_t ts_small_parse_table[] = { 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, - ACTIONS(194), 20, + ACTIONS(196), 20, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -9346,16 +9619,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [6088] = 6, + [6276] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(342), 1, anon_sym_DASH_GT, - STATE(201), 1, + STATE(189), 1, sym_logic_operator, - STATE(202), 1, + STATE(190), 1, sym_math_operator, - ACTIONS(202), 15, + ACTIONS(192), 17, sym_identifier, sym_integer, anon_sym_true, @@ -9368,10 +9641,12 @@ static const uint16_t ts_small_parse_table[] = { 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, - ACTIONS(200), 20, + ACTIONS(190), 20, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -9392,18 +9667,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [6140] = 22, + [6330] = 22, 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(344), 1, sym_identifier, @@ -9413,58 +9688,60 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, ACTIONS(350), 1, anon_sym_STAR, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, - STATE(124), 1, + STATE(125), 1, aux_sym_match_repeat1, - STATE(327), 1, + STATE(332), 1, sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, + STATE(436), 1, sym_index_expression, - ACTIONS(170), 2, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, sym_float, sym_string, - ACTIONS(172), 2, + ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(241), 2, + STATE(251), 2, sym_function_call, sym_yield, - STATE(231), 3, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, + STATE(268), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [6223] = 22, + ACTIONS(158), 8, + 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, + [6415] = 22, 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(344), 1, sym_identifier, @@ -9474,113 +9751,54 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, ACTIONS(352), 1, anon_sym_RBRACE, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, - STATE(124), 1, + STATE(125), 1, aux_sym_match_repeat1, - STATE(327), 1, + STATE(332), 1, sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, + STATE(436), 1, sym_index_expression, - ACTIONS(170), 2, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, sym_float, sym_string, - ACTIONS(172), 2, + ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(241), 2, + STATE(251), 2, sym_function_call, sym_yield, - STATE(231), 3, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, + STATE(268), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [6306] = 22, - ACTIONS(3), 1, - sym__comment, - ACTIONS(354), 1, - sym_identifier, - ACTIONS(357), 1, - anon_sym_LPAREN, - ACTIONS(360), 1, - anon_sym_LBRACE, - ACTIONS(363), 1, - anon_sym_RBRACE, - ACTIONS(365), 1, - sym_integer, - ACTIONS(374), 1, - anon_sym_LBRACK, - ACTIONS(377), 1, - anon_sym_none, - ACTIONS(380), 1, - anon_sym_some, - ACTIONS(383), 1, - anon_sym_STAR, - STATE(59), 1, - sym__function_expression_kind, - STATE(124), 1, - aux_sym_match_repeat1, - STATE(327), 1, - sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(368), 2, - sym_float, - sym_string, - ACTIONS(371), 2, - anon_sym_true, - anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(241), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(386), 6, + ACTIONS(158), 8, 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, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [6389] = 4, + [6500] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(214), 1, anon_sym_COLON, - ACTIONS(338), 15, + ACTIONS(338), 17, sym_identifier, sym_integer, anon_sym_true, @@ -9593,6 +9811,8 @@ static const uint16_t ts_small_parse_table[] = { 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, @@ -9618,18 +9838,81 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - [6436] = 21, + [6549] = 22, ACTIONS(3), 1, sym__comment, - ACTIONS(128), 1, + ACTIONS(354), 1, + sym_identifier, + ACTIONS(357), 1, anon_sym_LPAREN, - ACTIONS(134), 1, + ACTIONS(360), 1, + anon_sym_LBRACE, + ACTIONS(363), 1, + anon_sym_RBRACE, + ACTIONS(365), 1, sym_integer, - ACTIONS(140), 1, + ACTIONS(374), 1, anon_sym_LBRACK, - ACTIONS(142), 1, + ACTIONS(377), 1, anon_sym_none, - ACTIONS(144), 1, + ACTIONS(380), 1, + anon_sym_some, + ACTIONS(383), 1, + anon_sym_STAR, + STATE(60), 1, + sym__function_expression_kind, + STATE(125), 1, + aux_sym_match_repeat1, + STATE(332), 1, + sym_expression, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(368), 2, + sym_float, + sym_string, + ACTIONS(371), 2, + anon_sym_true, + anon_sym_false, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(386), 8, + 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, + [6634] = 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(389), 1, sym_identifier, @@ -9637,58 +9920,60 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, ACTIONS(393), 1, anon_sym_LBRACE, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, STATE(138), 1, aux_sym__expression_list, STATE(156), 1, sym_expression, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, + STATE(420), 1, sym_index_expression, - ACTIONS(136), 2, + STATE(430), 1, + sym_function_expression, + ACTIONS(170), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(103), 2, + STATE(108), 2, sym_function_call, sym_yield, STATE(114), 2, sym_value, sym_index, - STATE(106), 3, + STATE(113), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, + STATE(109), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [6516] = 21, + ACTIONS(188), 8, + 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, + [6716] = 21, ACTIONS(3), 1, sym__comment, - ACTIONS(128), 1, + ACTIONS(162), 1, anon_sym_LPAREN, - ACTIONS(134), 1, + ACTIONS(168), 1, sym_integer, - ACTIONS(140), 1, + ACTIONS(174), 1, anon_sym_LBRACK, - ACTIONS(142), 1, + ACTIONS(176), 1, anon_sym_none, - ACTIONS(144), 1, + ACTIONS(178), 1, anon_sym_some, ACTIONS(389), 1, sym_identifier, @@ -9696,58 +9981,60 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, ACTIONS(395), 1, anon_sym_RPAREN, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, STATE(144), 1, aux_sym__expression_list, STATE(156), 1, sym_expression, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, + STATE(420), 1, sym_index_expression, - ACTIONS(136), 2, + STATE(430), 1, + sym_function_expression, + ACTIONS(170), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(103), 2, + STATE(108), 2, sym_function_call, sym_yield, STATE(114), 2, sym_value, sym_index, - STATE(106), 3, + STATE(113), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, + STATE(109), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [6596] = 21, + ACTIONS(188), 8, + 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, + [6798] = 21, ACTIONS(3), 1, sym__comment, - ACTIONS(128), 1, + ACTIONS(162), 1, anon_sym_LPAREN, - ACTIONS(134), 1, + ACTIONS(168), 1, sym_integer, - ACTIONS(140), 1, + ACTIONS(174), 1, anon_sym_LBRACK, - ACTIONS(142), 1, + ACTIONS(176), 1, anon_sym_none, - ACTIONS(144), 1, + ACTIONS(178), 1, anon_sym_some, ACTIONS(389), 1, sym_identifier, @@ -9755,124 +10042,67 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, ACTIONS(397), 1, anon_sym_RBRACK, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, - STATE(143), 1, + STATE(136), 1, aux_sym_list_repeat1, STATE(157), 1, sym_expression, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, + STATE(420), 1, sym_index_expression, - ACTIONS(136), 2, + STATE(430), 1, + sym_function_expression, + ACTIONS(170), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(103), 2, + STATE(108), 2, sym_function_call, sym_yield, STATE(114), 2, sym_value, sym_index, - STATE(106), 3, + STATE(113), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, + STATE(109), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [6676] = 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(389), 1, - sym_identifier, - ACTIONS(393), 1, - anon_sym_LBRACE, - ACTIONS(399), 1, - anon_sym_RBRACK, - STATE(59), 1, - sym__function_expression_kind, - STATE(139), 1, - aux_sym_list_repeat1, - STATE(157), 1, - sym_expression, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(103), 2, - sym_function_call, - sym_yield, - STATE(114), 2, - sym_value, - sym_index, - STATE(106), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(158), 6, + ACTIONS(188), 8, 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, - STATE(110), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [6756] = 10, + [6880] = 10, ACTIONS(3), 1, sym__comment, - ACTIONS(326), 1, + ACTIONS(328), 1, anon_sym_DASH, ACTIONS(342), 1, anon_sym_DASH_GT, - STATE(201), 1, + STATE(189), 1, sym_logic_operator, - STATE(202), 1, + STATE(190), 1, sym_math_operator, - ACTIONS(330), 2, + ACTIONS(332), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(324), 3, + ACTIONS(326), 3, anon_sym_PLUS, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(328), 6, + ACTIONS(330), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, @@ -9889,7 +10119,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_STAR, - ACTIONS(322), 12, + ACTIONS(322), 14, sym_identifier, sym_integer, anon_sym_true, @@ -9899,89 +10129,32 @@ static const uint16_t ts_small_parse_table[] = { 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, - [6814] = 21, + [6940] = 11, 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(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(350), 1, - anon_sym_STAR, - STATE(59), 1, - sym__function_expression_kind, - STATE(122), 1, - aux_sym_match_repeat1, - STATE(327), 1, - sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(241), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [6894] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(326), 1, + ACTIONS(328), 1, anon_sym_DASH, ACTIONS(342), 1, anon_sym_DASH_GT, - ACTIONS(401), 1, + ACTIONS(399), 1, anon_sym_SEMI, - STATE(201), 1, + STATE(189), 1, sym_logic_operator, - STATE(202), 1, + STATE(190), 1, sym_math_operator, - ACTIONS(330), 2, + ACTIONS(332), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(324), 3, + ACTIONS(326), 3, anon_sym_PLUS, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(328), 6, + ACTIONS(330), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, @@ -9997,7 +10170,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_STAR, - ACTIONS(322), 12, + ACTIONS(322), 14, sym_identifier, sym_integer, anon_sym_true, @@ -10007,309 +10180,445 @@ static const uint16_t ts_small_parse_table[] = { 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, - [6954] = 22, + [7002] = 22, 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(346), 1, anon_sym_LBRACE, - ACTIONS(403), 1, + ACTIONS(401), 1, sym_identifier, - ACTIONS(405), 1, + ACTIONS(403), 1, anon_sym_RPAREN, - STATE(241), 1, + STATE(251), 1, sym_yield, - STATE(349), 1, - sym_function_call, - STATE(352), 1, + STATE(345), 1, sym_expression, - STATE(384), 1, + STATE(352), 1, + sym_function_call, + STATE(389), 1, aux_sym_function_repeat1, STATE(413), 1, sym__function_expression_kind, - STATE(420), 1, + STATE(415), 1, sym_index_expression, - STATE(439), 1, + STATE(442), 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(237), 2, + STATE(257), 2, sym_value, sym_index, STATE(359), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, + STATE(268), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [7036] = 22, + ACTIONS(158), 8, + 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, + [7086] = 22, 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(346), 1, anon_sym_LBRACE, - ACTIONS(403), 1, + ACTIONS(401), 1, + sym_identifier, + ACTIONS(405), 1, + anon_sym_RPAREN, + STATE(251), 1, + sym_yield, + STATE(345), 1, + sym_expression, + STATE(352), 1, + sym_function_call, + STATE(386), 1, + aux_sym_function_repeat1, + STATE(411), 1, + sym__function_expression_kind, + STATE(415), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(257), 2, + sym_value, + sym_index, + STATE(359), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [7170] = 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(401), 1, + sym_identifier, + ACTIONS(405), 1, + anon_sym_RPAREN, + STATE(251), 1, + sym_yield, + STATE(345), 1, + sym_expression, + STATE(352), 1, + sym_function_call, + STATE(386), 1, + aux_sym_function_repeat1, + STATE(399), 1, + sym__function_expression_kind, + STATE(415), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(257), 2, + sym_value, + sym_index, + STATE(359), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [7254] = 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(401), 1, sym_identifier, ACTIONS(407), 1, anon_sym_RPAREN, - STATE(241), 1, + STATE(251), 1, sym_yield, - STATE(349), 1, - sym_function_call, + STATE(345), 1, + sym_expression, STATE(352), 1, - sym_expression, - STATE(391), 1, - aux_sym_function_repeat1, - STATE(409), 1, - sym__function_expression_kind, - STATE(420), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(359), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [7118] = 22, - 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(346), 1, - anon_sym_LBRACE, - ACTIONS(403), 1, - sym_identifier, - ACTIONS(405), 1, - anon_sym_RPAREN, - STATE(241), 1, - sym_yield, - STATE(349), 1, sym_function_call, - STATE(352), 1, - sym_expression, - STATE(384), 1, + STATE(383), 1, aux_sym_function_repeat1, - STATE(401), 1, + STATE(399), 1, sym__function_expression_kind, - STATE(420), 1, + STATE(415), 1, sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(359), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [7200] = 22, - 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(346), 1, - anon_sym_LBRACE, - ACTIONS(403), 1, - sym_identifier, - ACTIONS(409), 1, - anon_sym_RPAREN, - STATE(241), 1, - sym_yield, - STATE(349), 1, - sym_function_call, - STATE(352), 1, - sym_expression, - STATE(386), 1, - aux_sym_function_repeat1, - STATE(413), 1, - sym__function_expression_kind, - STATE(420), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(359), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [7282] = 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(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(350), 1, - anon_sym_STAR, - STATE(59), 1, - sym__function_expression_kind, - STATE(123), 1, - aux_sym_match_repeat1, - STATE(327), 1, - sym_expression, - STATE(439), 1, - sym_function_expression, STATE(442), 1, - sym_index_expression, - ACTIONS(170), 2, + sym_function_expression, + ACTIONS(136), 2, sym_float, sym_string, - ACTIONS(172), 2, + ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(237), 2, + STATE(257), 2, sym_value, sym_index, - STATE(241), 2, - sym_function_call, - sym_yield, - STATE(231), 3, + STATE(359), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, + STATE(268), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [7362] = 21, + ACTIONS(158), 8, + 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, + [7338] = 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(401), 1, + sym_identifier, + ACTIONS(407), 1, + anon_sym_RPAREN, + STATE(251), 1, + sym_yield, + STATE(345), 1, + sym_expression, + STATE(352), 1, + sym_function_call, + STATE(383), 1, + aux_sym_function_repeat1, + STATE(399), 1, + sym__function_expression_kind, + STATE(415), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(257), 2, + sym_value, + sym_index, + STATE(360), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [7422] = 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(389), 1, + sym_identifier, + ACTIONS(393), 1, + anon_sym_LBRACE, + ACTIONS(409), 1, + anon_sym_RBRACK, + STATE(60), 1, + sym__function_expression_kind, + STATE(152), 1, + aux_sym_list_repeat1, + 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(108), 2, + sym_function_call, + sym_yield, + STATE(114), 2, + sym_value, + sym_index, + STATE(113), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(109), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 8, + 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, + [7504] = 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(401), 1, + sym_identifier, + ACTIONS(403), 1, + anon_sym_RPAREN, + STATE(251), 1, + sym_yield, + STATE(345), 1, + sym_expression, + STATE(352), 1, + sym_function_call, + STATE(389), 1, + aux_sym_function_repeat1, + STATE(399), 1, + sym__function_expression_kind, + STATE(415), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(257), 2, + sym_value, + sym_index, + STATE(363), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [7588] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(411), 1, @@ -10328,58 +10637,60 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(437), 1, anon_sym_some, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, STATE(138), 1, aux_sym__expression_list, STATE(156), 1, sym_expression, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, + STATE(420), 1, sym_index_expression, + STATE(430), 1, + sym_function_expression, ACTIONS(425), 2, sym_float, sym_string, ACTIONS(428), 2, anon_sym_true, anon_sym_false, - STATE(103), 2, + STATE(108), 2, sym_function_call, sym_yield, STATE(114), 2, sym_value, sym_index, - STATE(106), 3, + STATE(113), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(440), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, + STATE(109), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [7442] = 21, + ACTIONS(440), 8, + 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, + [7670] = 21, ACTIONS(3), 1, sym__comment, - ACTIONS(128), 1, + ACTIONS(162), 1, anon_sym_LPAREN, - ACTIONS(134), 1, + ACTIONS(168), 1, sym_integer, - ACTIONS(140), 1, + ACTIONS(174), 1, anon_sym_LBRACK, - ACTIONS(142), 1, + ACTIONS(176), 1, anon_sym_none, - ACTIONS(144), 1, + ACTIONS(178), 1, anon_sym_some, ACTIONS(389), 1, sym_identifier, @@ -10387,58 +10698,60 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, ACTIONS(443), 1, anon_sym_RBRACK, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, STATE(152), 1, aux_sym_list_repeat1, STATE(157), 1, sym_expression, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, + STATE(420), 1, sym_index_expression, - ACTIONS(136), 2, + STATE(430), 1, + sym_function_expression, + ACTIONS(170), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(103), 2, + STATE(108), 2, sym_function_call, sym_yield, STATE(114), 2, sym_value, sym_index, - STATE(106), 3, + STATE(113), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, + STATE(109), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [7522] = 21, + ACTIONS(188), 8, + 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, + [7752] = 21, ACTIONS(3), 1, sym__comment, - ACTIONS(128), 1, + ACTIONS(162), 1, anon_sym_LPAREN, - ACTIONS(134), 1, + ACTIONS(168), 1, sym_integer, - ACTIONS(140), 1, + ACTIONS(174), 1, anon_sym_LBRACK, - ACTIONS(142), 1, + ACTIONS(176), 1, anon_sym_none, - ACTIONS(144), 1, + ACTIONS(178), 1, anon_sym_some, ACTIONS(389), 1, sym_identifier, @@ -10446,58 +10759,60 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, ACTIONS(445), 1, anon_sym_RPAREN, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, STATE(138), 1, aux_sym__expression_list, STATE(156), 1, sym_expression, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, + STATE(420), 1, sym_index_expression, - ACTIONS(136), 2, + STATE(430), 1, + sym_function_expression, + ACTIONS(170), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(103), 2, + STATE(108), 2, sym_function_call, sym_yield, STATE(114), 2, sym_value, sym_index, - STATE(106), 3, + STATE(113), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, + STATE(109), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [7602] = 21, + ACTIONS(188), 8, + 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, + [7834] = 21, ACTIONS(3), 1, sym__comment, - ACTIONS(128), 1, + ACTIONS(162), 1, anon_sym_LPAREN, - ACTIONS(134), 1, + ACTIONS(168), 1, sym_integer, - ACTIONS(140), 1, + ACTIONS(174), 1, anon_sym_LBRACK, - ACTIONS(142), 1, + ACTIONS(176), 1, anon_sym_none, - ACTIONS(144), 1, + ACTIONS(178), 1, anon_sym_some, ACTIONS(389), 1, sym_identifier, @@ -10505,47 +10820,49 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, ACTIONS(447), 1, anon_sym_RPAREN, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, STATE(138), 1, aux_sym__expression_list, STATE(156), 1, sym_expression, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, + STATE(420), 1, sym_index_expression, - ACTIONS(136), 2, + STATE(430), 1, + sym_function_expression, + ACTIONS(170), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(103), 2, + STATE(108), 2, sym_function_call, sym_yield, STATE(114), 2, sym_value, sym_index, - STATE(106), 3, + STATE(113), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, + STATE(109), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [7682] = 22, + ACTIONS(188), 8, + 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, + [7916] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(162), 1, @@ -10558,172 +10875,55 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(178), 1, anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(403), 1, - sym_identifier, - ACTIONS(407), 1, - anon_sym_RPAREN, - STATE(241), 1, - sym_yield, - STATE(349), 1, - sym_function_call, - STATE(352), 1, - sym_expression, - STATE(391), 1, - aux_sym_function_repeat1, - STATE(413), 1, - sym__function_expression_kind, - STATE(420), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(358), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [7764] = 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(389), 1, sym_identifier, ACTIONS(393), 1, anon_sym_LBRACE, ACTIONS(449), 1, - anon_sym_RBRACK, - STATE(59), 1, - sym__function_expression_kind, - STATE(152), 1, - aux_sym_list_repeat1, - STATE(157), 1, - sym_expression, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(103), 2, - sym_function_call, - sym_yield, - STATE(114), 2, - sym_value, - sym_index, - STATE(106), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [7844] = 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(389), 1, - sym_identifier, - ACTIONS(393), 1, - anon_sym_LBRACE, - ACTIONS(451), 1, anon_sym_RPAREN, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, - STATE(138), 1, + STATE(140), 1, aux_sym__expression_list, STATE(156), 1, sym_expression, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, + STATE(420), 1, sym_index_expression, - ACTIONS(136), 2, + STATE(430), 1, + sym_function_expression, + ACTIONS(170), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(103), 2, + STATE(108), 2, sym_function_call, sym_yield, STATE(114), 2, sym_value, sym_index, - STATE(106), 3, + STATE(113), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, + STATE(109), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [7924] = 22, + ACTIONS(188), 8, + 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, + [7998] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(162), 1, @@ -10736,65 +10936,66 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(178), 1, anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(403), 1, + ACTIONS(389), 1, sym_identifier, - ACTIONS(407), 1, - anon_sym_RPAREN, - STATE(59), 1, + ACTIONS(393), 1, + anon_sym_LBRACE, + ACTIONS(451), 1, + anon_sym_RBRACK, + STATE(60), 1, sym__function_expression_kind, - STATE(241), 1, - sym_yield, - STATE(338), 1, + STATE(139), 1, + aux_sym_list_repeat1, + STATE(157), 1, sym_expression, - STATE(357), 1, - sym_function_call, - STATE(391), 1, - aux_sym_function_repeat1, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, + 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(237), 2, + STATE(108), 2, + sym_function_call, + sym_yield, + STATE(114), 2, sym_value, sym_index, - STATE(231), 3, + STATE(113), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, + STATE(109), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [8006] = 21, + ACTIONS(188), 8, + 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, + [8080] = 21, ACTIONS(3), 1, sym__comment, - ACTIONS(128), 1, + ACTIONS(162), 1, anon_sym_LPAREN, - ACTIONS(134), 1, + ACTIONS(168), 1, sym_integer, - ACTIONS(140), 1, + ACTIONS(174), 1, anon_sym_LBRACK, - ACTIONS(142), 1, + ACTIONS(176), 1, anon_sym_none, - ACTIONS(144), 1, + ACTIONS(178), 1, anon_sym_some, ACTIONS(389), 1, sym_identifier, @@ -10802,47 +11003,49 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, ACTIONS(453), 1, anon_sym_RPAREN, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, - STATE(140), 1, + STATE(138), 1, aux_sym__expression_list, STATE(156), 1, sym_expression, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, + STATE(420), 1, sym_index_expression, - ACTIONS(136), 2, + STATE(430), 1, + sym_function_expression, + ACTIONS(170), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(103), 2, + STATE(108), 2, sym_function_call, sym_yield, STATE(114), 2, sym_value, sym_index, - STATE(106), 3, + STATE(113), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, + STATE(109), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [8086] = 21, + ACTIONS(188), 8, + 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, + [8162] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(128), 1, @@ -10855,53 +11058,117 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(144), 1, anon_sym_some, + ACTIONS(346), 1, + anon_sym_LBRACE, + ACTIONS(401), 1, + sym_identifier, + ACTIONS(403), 1, + anon_sym_RPAREN, + STATE(60), 1, + sym__function_expression_kind, + STATE(251), 1, + sym_yield, + STATE(350), 1, + sym_function_call, + STATE(355), 1, + sym_expression, + STATE(389), 1, + aux_sym_function_repeat1, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [8246] = 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(389), 1, sym_identifier, ACTIONS(393), 1, anon_sym_LBRACE, ACTIONS(455), 1, anon_sym_RPAREN, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, - STATE(141), 1, + STATE(150), 1, aux_sym__expression_list, STATE(156), 1, sym_expression, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, + STATE(420), 1, sym_index_expression, - ACTIONS(136), 2, + STATE(430), 1, + sym_function_expression, + ACTIONS(170), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(103), 2, + STATE(108), 2, sym_function_call, sym_yield, STATE(114), 2, sym_value, sym_index, - STATE(106), 3, + STATE(113), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, + STATE(109), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [8166] = 21, + ACTIONS(188), 8, + 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, + [8328] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(128), 1, @@ -10914,84 +11181,82 @@ 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(60), 1, + sym__function_expression_kind, + STATE(123), 1, + aux_sym_match_repeat1, + STATE(332), 1, + sym_expression, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [8410] = 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(389), 1, sym_identifier, ACTIONS(393), 1, anon_sym_LBRACE, ACTIONS(457), 1, anon_sym_RBRACK, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, STATE(155), 1, aux_sym_list_repeat1, STATE(157), 1, sym_expression, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(103), 2, - sym_function_call, - sym_yield, - STATE(114), 2, - sym_value, - sym_index, - STATE(106), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [8246] = 22, - 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(346), 1, - anon_sym_LBRACE, - ACTIONS(403), 1, - sym_identifier, - ACTIONS(409), 1, - anon_sym_RPAREN, - STATE(241), 1, - sym_yield, - STATE(349), 1, - sym_function_call, - STATE(352), 1, - sym_expression, - STATE(386), 1, - aux_sym_function_repeat1, - STATE(413), 1, - sym__function_expression_kind, STATE(420), 1, sym_index_expression, - STATE(439), 1, + STATE(430), 1, sym_function_expression, ACTIONS(170), 2, sym_float, @@ -10999,207 +11264,33 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(362), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [8328] = 22, - 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(346), 1, - anon_sym_LBRACE, - ACTIONS(403), 1, - sym_identifier, - ACTIONS(405), 1, - anon_sym_RPAREN, - STATE(59), 1, - sym__function_expression_kind, - STATE(241), 1, - sym_yield, - STATE(338), 1, - sym_expression, - STATE(353), 1, - sym_function_call, - STATE(384), 1, - aux_sym_function_repeat1, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [8410] = 22, - 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(346), 1, - anon_sym_LBRACE, - ACTIONS(403), 1, - sym_identifier, - ACTIONS(409), 1, - anon_sym_RPAREN, - STATE(59), 1, - sym__function_expression_kind, - STATE(241), 1, - sym_yield, - STATE(338), 1, - sym_expression, - STATE(343), 1, - sym_function_call, - STATE(386), 1, - aux_sym_function_repeat1, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [8492] = 21, - ACTIONS(3), 1, - sym__comment, - 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(59), 1, - sym__function_expression_kind, - STATE(152), 1, - aux_sym_list_repeat1, - STATE(157), 1, - sym_expression, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, - sym_index_expression, - ACTIONS(471), 2, - sym_float, - sym_string, - ACTIONS(474), 2, - anon_sym_true, - anon_sym_false, - STATE(103), 2, + STATE(108), 2, sym_function_call, sym_yield, STATE(114), 2, sym_value, sym_index, - STATE(106), 3, + STATE(113), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(488), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, + STATE(109), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [8572] = 21, + ACTIONS(188), 8, + 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, + [8492] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(128), 1, @@ -11212,53 +11303,116 @@ 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(60), 1, + sym__function_expression_kind, + STATE(122), 1, + aux_sym_match_repeat1, + STATE(332), 1, + sym_expression, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [8574] = 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(389), 1, sym_identifier, ACTIONS(393), 1, anon_sym_LBRACE, - ACTIONS(491), 1, + ACTIONS(459), 1, anon_sym_RPAREN, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, STATE(138), 1, aux_sym__expression_list, STATE(156), 1, sym_expression, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, + STATE(420), 1, sym_index_expression, - ACTIONS(136), 2, + STATE(430), 1, + sym_function_expression, + ACTIONS(170), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(103), 2, + STATE(108), 2, sym_function_call, sym_yield, STATE(114), 2, sym_value, sym_index, - STATE(106), 3, + STATE(113), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, + STATE(109), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [8652] = 21, + ACTIONS(188), 8, + 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, + [8656] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(128), 1, @@ -11271,53 +11425,178 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(144), 1, anon_sym_some, + ACTIONS(346), 1, + anon_sym_LBRACE, + ACTIONS(401), 1, + sym_identifier, + ACTIONS(405), 1, + anon_sym_RPAREN, + STATE(60), 1, + sym__function_expression_kind, + STATE(251), 1, + sym_yield, + STATE(338), 1, + sym_function_call, + STATE(355), 1, + sym_expression, + STATE(386), 1, + aux_sym_function_repeat1, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [8740] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(461), 1, + sym_identifier, + ACTIONS(464), 1, + anon_sym_LPAREN, + ACTIONS(467), 1, + anon_sym_LBRACE, + ACTIONS(470), 1, + sym_integer, + ACTIONS(479), 1, + anon_sym_LBRACK, + ACTIONS(482), 1, + anon_sym_RBRACK, + ACTIONS(484), 1, + anon_sym_none, + ACTIONS(487), 1, + anon_sym_some, + STATE(60), 1, + sym__function_expression_kind, + STATE(152), 1, + aux_sym_list_repeat1, + STATE(157), 1, + sym_expression, + STATE(420), 1, + sym_index_expression, + STATE(430), 1, + sym_function_expression, + ACTIONS(473), 2, + sym_float, + sym_string, + ACTIONS(476), 2, + anon_sym_true, + anon_sym_false, + STATE(108), 2, + sym_function_call, + sym_yield, + STATE(114), 2, + sym_value, + sym_index, + STATE(113), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(109), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(490), 8, + 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, + [8822] = 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(389), 1, sym_identifier, ACTIONS(393), 1, anon_sym_LBRACE, ACTIONS(493), 1, anon_sym_RPAREN, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, STATE(138), 1, aux_sym__expression_list, STATE(156), 1, sym_expression, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, + STATE(420), 1, sym_index_expression, - ACTIONS(136), 2, + STATE(430), 1, + sym_function_expression, + ACTIONS(170), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(103), 2, + STATE(108), 2, sym_function_call, sym_yield, STATE(114), 2, sym_value, sym_index, - STATE(106), 3, + STATE(113), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, + STATE(109), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [8732] = 21, + ACTIONS(188), 8, + 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, + [8904] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(128), 1, @@ -11330,74 +11609,138 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(144), 1, anon_sym_some, - ACTIONS(389), 1, - sym_identifier, - ACTIONS(393), 1, + ACTIONS(346), 1, anon_sym_LBRACE, - ACTIONS(495), 1, - anon_sym_RBRACK, - STATE(59), 1, + ACTIONS(401), 1, + sym_identifier, + ACTIONS(407), 1, + anon_sym_RPAREN, + STATE(60), 1, sym__function_expression_kind, - STATE(152), 1, - aux_sym_list_repeat1, - STATE(157), 1, + STATE(251), 1, + sym_yield, + STATE(353), 1, + sym_function_call, + STATE(355), 1, sym_expression, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, + STATE(383), 1, + aux_sym_function_repeat1, + STATE(436), 1, sym_index_expression, + STATE(442), 1, + sym_function_expression, ACTIONS(136), 2, sym_float, sym_string, ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(103), 2, - sym_function_call, - sym_yield, - STATE(114), 2, + STATE(257), 2, sym_value, sym_index, - STATE(106), 3, + STATE(261), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, + STATE(268), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [8812] = 11, + ACTIONS(158), 8, + 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, + [8988] = 21, ACTIONS(3), 1, sym__comment, - ACTIONS(326), 1, + 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(389), 1, + sym_identifier, + ACTIONS(393), 1, + anon_sym_LBRACE, + ACTIONS(495), 1, + anon_sym_RBRACK, + STATE(60), 1, + sym__function_expression_kind, + STATE(152), 1, + aux_sym_list_repeat1, + 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(108), 2, + sym_function_call, + sym_yield, + STATE(114), 2, + sym_value, + sym_index, + STATE(113), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(109), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 8, + 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, + [9070] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(328), 1, anon_sym_DASH, ACTIONS(342), 1, anon_sym_DASH_GT, ACTIONS(501), 1, anon_sym_COMMA, - STATE(201), 1, + STATE(189), 1, sym_logic_operator, - STATE(202), 1, + STATE(190), 1, sym_math_operator, - ACTIONS(330), 2, + ACTIONS(332), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(324), 4, + ACTIONS(326), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(328), 6, + ACTIONS(330), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, @@ -11411,7 +11754,7 @@ static const uint16_t ts_small_parse_table[] = { sym_float, sym_string, anon_sym_LBRACK, - ACTIONS(497), 12, + ACTIONS(497), 14, sym_identifier, sym_integer, anon_sym_true, @@ -11421,31 +11764,33 @@ static const uint16_t ts_small_parse_table[] = { 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, - [8871] = 11, + [9131] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(326), 1, + ACTIONS(328), 1, anon_sym_DASH, ACTIONS(342), 1, anon_sym_DASH_GT, ACTIONS(507), 1, anon_sym_COMMA, - STATE(201), 1, + STATE(189), 1, sym_logic_operator, - STATE(202), 1, + STATE(190), 1, sym_math_operator, - ACTIONS(330), 2, + ACTIONS(332), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(324), 4, + ACTIONS(326), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(328), 6, + ACTIONS(330), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, @@ -11459,7 +11804,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_RBRACK, - ACTIONS(503), 12, + ACTIONS(503), 14, sym_identifier, sym_integer, anon_sym_true, @@ -11469,392 +11814,639 @@ static const uint16_t ts_small_parse_table[] = { 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, - [8930] = 19, + [9192] = 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, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(59), 1, - sym__function_expression_kind, - STATE(225), 1, - sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(241), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [9004] = 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, + ACTIONS(144), 1, anon_sym_some, ACTIONS(346), 1, anon_sym_LBRACE, ACTIONS(509), 1, sym_identifier, - ACTIONS(511), 1, - anon_sym_LPAREN, - STATE(243), 1, - sym_function_expression, - STATE(350), 1, + STATE(60), 1, + sym__function_expression_kind, + STATE(335), 1, sym_expression, - STATE(420), 1, + STATE(415), 1, sym_index_expression, - ACTIONS(170), 2, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, sym_float, sym_string, - ACTIONS(172), 2, + ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(278), 2, + STATE(325), 2, + sym_function_call, + sym_yield, + STATE(327), 2, sym_value, sym_index, - STATE(231), 3, + STATE(261), 3, sym__expression_kind, sym_math, sym_logic, - STATE(239), 3, - sym__function_expression_kind, - sym_function_call, - sym_yield, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, + STATE(268), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [9076] = 19, + ACTIONS(158), 8, + 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, + [9268] = 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(346), 1, + anon_sym_LBRACE, + ACTIONS(509), 1, + sym_identifier, + STATE(60), 1, + sym__function_expression_kind, + STATE(308), 1, + sym_expression, + STATE(435), 1, + sym_index_expression, + STATE(442), 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(327), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [9344] = 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(59), 1, + STATE(60), 1, sym__function_expression_kind, - STATE(329), 1, + STATE(328), 1, sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, + STATE(436), 1, sym_index_expression, - ACTIONS(170), 2, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, sym_float, sym_string, - ACTIONS(172), 2, + ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(241), 2, + STATE(251), 2, sym_function_call, sym_yield, - STATE(231), 3, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, + STATE(268), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [9150] = 17, + ACTIONS(158), 8, + 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, + [9420] = 19, ACTIONS(3), 1, sym__comment, - ACTIONS(168), 1, + ACTIONS(128), 1, + anon_sym_LPAREN, + 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(344), 1, + sym_identifier, ACTIONS(346), 1, anon_sym_LBRACE, - ACTIONS(511), 1, + STATE(60), 1, + sym__function_expression_kind, + STATE(319), 1, + sym_expression, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [9496] = 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, - sym_identifier, - STATE(243), 1, - sym_function_expression, - STATE(345), 1, + anon_sym_LBRACE, + STATE(48), 1, sym_expression, - STATE(442), 1, + STATE(60), 1, + sym__function_expression_kind, + STATE(437), 1, + sym_function_expression, + STATE(438), 1, sym_index_expression, - ACTIONS(170), 2, + ACTIONS(15), 2, sym_float, sym_string, - ACTIONS(172), 2, + ACTIONS(17), 2, anon_sym_true, anon_sym_false, - STATE(231), 3, + STATE(76), 2, + sym_function_call, + sym_yield, + STATE(77), 2, + sym_value, + sym_index, + STATE(70), 3, sym__expression_kind, sym_math, sym_logic, - STATE(239), 5, - sym_value, - sym_index, - sym__function_expression_kind, - sym_function_call, - sym_yield, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, + STATE(53), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [9220] = 19, + ACTIONS(37), 8, + 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, + [9572] = 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(344), 1, sym_identifier, ACTIONS(346), 1, anon_sym_LBRACE, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, - STATE(316), 1, + STATE(334), 1, sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, + STATE(436), 1, sym_index_expression, - ACTIONS(170), 2, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, sym_float, sym_string, - ACTIONS(172), 2, + ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(241), 2, + STATE(251), 2, sym_function_call, sym_yield, - STATE(231), 3, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, + STATE(268), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [9294] = 19, + ACTIONS(158), 8, + 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, + [9648] = 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(344), 1, sym_identifier, ACTIONS(346), 1, anon_sym_LBRACE, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, - STATE(318), 1, + STATE(311), 1, sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, + STATE(436), 1, sym_index_expression, - ACTIONS(170), 2, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, sym_float, sym_string, - ACTIONS(172), 2, + ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(241), 2, + STATE(251), 2, sym_function_call, sym_yield, - STATE(231), 3, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, + STATE(268), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [9368] = 19, + ACTIONS(158), 8, + 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, + [9724] = 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(344), 1, sym_identifier, ACTIONS(346), 1, anon_sym_LBRACE, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, - STATE(312), 1, + STATE(313), 1, sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, + STATE(436), 1, sym_index_expression, - ACTIONS(170), 2, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, sym_float, sym_string, - ACTIONS(172), 2, + ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(241), 2, + STATE(251), 2, sym_function_call, sym_yield, - STATE(231), 3, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, + STATE(268), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [9442] = 17, + ACTIONS(158), 8, + 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, + [9800] = 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(60), 1, + sym__function_expression_kind, + STATE(248), 1, + sym_expression, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [9876] = 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(60), 1, + sym__function_expression_kind, + STATE(291), 1, + sym_expression, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [9952] = 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(60), 1, + sym__function_expression_kind, + STATE(292), 1, + sym_expression, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [10028] = 18, ACTIONS(3), 1, sym__comment, ACTIONS(134), 1, @@ -11865,17 +12457,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(144), 1, anon_sym_some, - ACTIONS(393), 1, + ACTIONS(346), 1, anon_sym_LBRACE, ACTIONS(515), 1, sym_identifier, ACTIONS(517), 1, anon_sym_LPAREN, - STATE(105), 1, + STATE(263), 1, sym_function_expression, STATE(355), 1, sym_expression, - STATE(415), 1, + STATE(436), 1, sym_index_expression, ACTIONS(136), 2, sym_float, @@ -11883,469 +12475,33 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(104), 5, + STATE(283), 2, sym_value, sym_index, + STATE(254), 3, sym__function_expression_kind, sym_function_call, sym_yield, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [9512] = 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(519), 1, - sym_identifier, - ACTIONS(521), 1, - anon_sym_LBRACE, - STATE(49), 1, - sym_expression, - STATE(59), 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(58), 2, - sym_function_call, - sym_yield, - STATE(75), 2, - sym_value, - sym_index, - STATE(66), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(37), 6, + ACTIONS(158), 8, 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, - STATE(67), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [9586] = 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(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(59), 1, - sym__function_expression_kind, - STATE(328), 1, - sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(241), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [9660] = 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(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(59), 1, - sym__function_expression_kind, - STATE(319), 1, - sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(241), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [9734] = 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(519), 1, - sym_identifier, - ACTIONS(521), 1, - anon_sym_LBRACE, - STATE(50), 1, - sym_expression, - STATE(59), 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(58), 2, - sym_function_call, - sym_yield, - STATE(75), 2, - sym_value, - sym_index, - STATE(66), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(37), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(67), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [9808] = 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(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(59), 1, - sym__function_expression_kind, - STATE(246), 1, - sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(241), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [9882] = 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(346), 1, - anon_sym_LBRACE, - ACTIONS(509), 1, - sym_identifier, - ACTIONS(511), 1, - anon_sym_LPAREN, - STATE(243), 1, - sym_function_expression, - STATE(338), 1, - sym_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(278), 2, - sym_value, - sym_index, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(239), 3, - sym__function_expression_kind, - sym_function_call, - sym_yield, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [9954] = 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(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(59), 1, - sym__function_expression_kind, - STATE(317), 1, - sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(241), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [10028] = 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(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(59), 1, - sym__function_expression_kind, - STATE(286), 1, - sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(241), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, [10102] = 19, ACTIONS(3), 1, sym__comment, @@ -12359,49 +12515,51 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(178), 1, anon_sym_some, - ACTIONS(344), 1, + ACTIONS(389), 1, sym_identifier, - ACTIONS(346), 1, + ACTIONS(393), 1, anon_sym_LBRACE, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, - STATE(284), 1, + STATE(88), 1, sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, + 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(237), 2, - sym_value, - sym_index, - STATE(241), 2, + STATE(108), 2, sym_function_call, sym_yield, - STATE(231), 3, + STATE(114), 2, + sym_value, + sym_index, + STATE(113), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, + STATE(109), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [10176] = 19, + ACTIONS(188), 8, + 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, + [10178] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, @@ -12414,13 +12572,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(23), 1, anon_sym_some, - ACTIONS(519), 1, + ACTIONS(511), 1, sym_identifier, - ACTIONS(521), 1, + ACTIONS(513), 1, anon_sym_LBRACE, - STATE(47), 1, + STATE(49), 1, sym_expression, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, STATE(437), 1, sym_function_expression, @@ -12432,141 +12590,90 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(17), 2, anon_sym_true, anon_sym_false, - STATE(58), 2, + STATE(76), 2, sym_function_call, sym_yield, - STATE(75), 2, + STATE(77), 2, sym_value, sym_index, - STATE(66), 3, + STATE(70), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(37), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(67), 6, + STATE(53), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [10250] = 19, + ACTIONS(37), 8, + 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, + [10254] = 19, ACTIONS(3), 1, sym__comment, - ACTIONS(162), 1, + ACTIONS(7), 1, anon_sym_LPAREN, - ACTIONS(168), 1, + ACTIONS(13), 1, sym_integer, - ACTIONS(174), 1, + ACTIONS(19), 1, anon_sym_LBRACK, - ACTIONS(176), 1, + ACTIONS(21), 1, anon_sym_none, - ACTIONS(178), 1, + ACTIONS(23), 1, anon_sym_some, - ACTIONS(344), 1, + ACTIONS(511), 1, sym_identifier, - ACTIONS(346), 1, + ACTIONS(513), 1, anon_sym_LBRACE, - STATE(59), 1, - sym__function_expression_kind, - STATE(307), 1, + STATE(47), 1, sym_expression, - STATE(439), 1, + STATE(60), 1, + sym__function_expression_kind, + STATE(437), 1, sym_function_expression, - STATE(442), 1, + STATE(438), 1, sym_index_expression, - ACTIONS(170), 2, + ACTIONS(15), 2, sym_float, sym_string, - ACTIONS(172), 2, + ACTIONS(17), 2, anon_sym_true, anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(241), 2, + STATE(76), 2, sym_function_call, sym_yield, - STATE(231), 3, + STATE(77), 2, + sym_value, + sym_index, + STATE(70), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, + STATE(53), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [10324] = 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(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(59), 1, - sym__function_expression_kind, - STATE(308), 1, - sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(241), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, + ACTIONS(37), 8, 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, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [10398] = 19, + [10330] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(128), 1, @@ -12579,269 +12686,55 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(144), 1, anon_sym_some, - ACTIONS(389), 1, + ACTIONS(344), 1, sym_identifier, - ACTIONS(393), 1, + ACTIONS(346), 1, anon_sym_LBRACE, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, - STATE(90), 1, + STATE(315), 1, sym_expression, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, + STATE(436), 1, sym_index_expression, + STATE(442), 1, + sym_function_expression, ACTIONS(136), 2, sym_float, sym_string, ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(103), 2, + STATE(251), 2, sym_function_call, sym_yield, - STATE(114), 2, + STATE(257), 2, sym_value, sym_index, - STATE(106), 3, + STATE(261), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, + STATE(268), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [10472] = 19, + ACTIONS(158), 8, + 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, + [10406] = 19, ACTIONS(3), 1, sym__comment, - ACTIONS(162), 1, + ACTIONS(128), 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(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(59), 1, - sym__function_expression_kind, - STATE(309), 1, - sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(241), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [10546] = 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(521), 1, - anon_sym_LBRACE, - ACTIONS(523), 1, - sym_identifier, - ACTIONS(525), 1, - anon_sym_LPAREN, - STATE(79), 1, - sym_function_expression, - STATE(347), 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(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(59), 5, - sym_value, - sym_index, - sym__function_expression_kind, - sym_function_call, - sym_yield, - ACTIONS(37), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(67), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [10616] = 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(346), 1, - anon_sym_LBRACE, - ACTIONS(527), 1, - sym_identifier, - STATE(59), 1, - sym__function_expression_kind, - STATE(306), 1, - sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(322), 2, - sym_value, - sym_index, - STATE(325), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [10690] = 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(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(59), 1, - sym__function_expression_kind, - STATE(222), 1, - sym_expression, - STATE(423), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(241), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [10764] = 17, - ACTIONS(3), 1, - sym__comment, ACTIONS(134), 1, sym_integer, ACTIONS(140), 1, @@ -12850,25 +12743,536 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(144), 1, anon_sym_some, - ACTIONS(393), 1, - anon_sym_LBRACE, - ACTIONS(515), 1, + ACTIONS(344), 1, sym_identifier, - ACTIONS(517), 1, - anon_sym_LPAREN, - STATE(105), 1, - sym_function_expression, - STATE(348), 1, + ACTIONS(346), 1, + anon_sym_LBRACE, + STATE(60), 1, + sym__function_expression_kind, + STATE(223), 1, sym_expression, STATE(435), 1, sym_index_expression, + STATE(442), 1, + sym_function_expression, ACTIONS(136), 2, sym_float, sym_string, ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(231), 3, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [10482] = 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(60), 1, + sym__function_expression_kind, + STATE(232), 1, + sym_expression, + STATE(435), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [10558] = 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(389), 1, + sym_identifier, + ACTIONS(393), 1, + anon_sym_LBRACE, + STATE(60), 1, + sym__function_expression_kind, + STATE(86), 1, + sym_expression, + STATE(422), 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(108), 2, + sym_function_call, + sym_yield, + STATE(114), 2, + sym_value, + sym_index, + STATE(113), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(109), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 8, + 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, + [10634] = 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(389), 1, + sym_identifier, + ACTIONS(393), 1, + anon_sym_LBRACE, + STATE(60), 1, + sym__function_expression_kind, + STATE(85), 1, + sym_expression, + STATE(422), 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(108), 2, + sym_function_call, + sym_yield, + STATE(114), 2, + sym_value, + sym_index, + STATE(113), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(109), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 8, + 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, + [10710] = 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(60), 1, + sym__function_expression_kind, + STATE(302), 1, + sym_expression, + STATE(435), 1, + sym_index_expression, + STATE(442), 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(327), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [10786] = 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(44), 1, + sym_expression, + STATE(60), 1, + sym__function_expression_kind, + STATE(417), 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(76), 2, + sym_function_call, + sym_yield, + STATE(77), 2, + sym_value, + sym_index, + STATE(70), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(53), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(37), 8, + 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, + [10862] = 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(60), 1, + sym__function_expression_kind, + STATE(309), 1, + sym_expression, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [10938] = 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(60), 1, + sym__function_expression_kind, + STATE(321), 1, + sym_expression, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [11014] = 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(60), 1, + sym__function_expression_kind, + STATE(331), 1, + sym_expression, + STATE(415), 1, + sym_index_expression, + STATE(442), 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(327), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [11090] = 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(393), 1, + anon_sym_LBRACE, + ACTIONS(519), 1, + sym_identifier, + ACTIONS(521), 1, + anon_sym_LPAREN, + STATE(103), 1, + sym_function_expression, + STATE(347), 1, + sym_expression, + STATE(420), 1, + sym_index_expression, + ACTIONS(170), 2, + sym_float, + sym_string, + ACTIONS(172), 2, + anon_sym_true, + anon_sym_false, + STATE(261), 3, sym__expression_kind, sym_math, sym_logic, @@ -12878,516 +13282,23 @@ static const uint16_t ts_small_parse_table[] = { sym__function_expression_kind, sym_function_call, sym_yield, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, + STATE(109), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [10834] = 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(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(59), 1, - sym__function_expression_kind, - STATE(216), 1, - sym_expression, - STATE(423), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(241), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, + ACTIONS(188), 8, 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, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [10908] = 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(346), 1, - anon_sym_LBRACE, - ACTIONS(527), 1, - sym_identifier, - STATE(59), 1, - sym__function_expression_kind, - STATE(313), 1, - sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(322), 2, - sym_value, - sym_index, - STATE(325), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [10982] = 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(346), 1, - anon_sym_LBRACE, - ACTIONS(527), 1, - sym_identifier, - STATE(59), 1, - sym__function_expression_kind, - STATE(336), 1, - sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(322), 2, - sym_value, - sym_index, - STATE(325), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [11056] = 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(346), 1, - anon_sym_LBRACE, - ACTIONS(527), 1, - sym_identifier, - STATE(59), 1, - sym__function_expression_kind, - STATE(337), 1, - sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(322), 2, - sym_value, - sym_index, - STATE(325), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [11130] = 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(346), 1, - anon_sym_LBRACE, - ACTIONS(527), 1, - sym_identifier, - STATE(59), 1, - sym__function_expression_kind, - STATE(310), 1, - sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(322), 2, - sym_value, - sym_index, - STATE(325), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [11204] = 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(389), 1, - sym_identifier, - ACTIONS(393), 1, - anon_sym_LBRACE, - STATE(59), 1, - sym__function_expression_kind, - STATE(86), 1, - sym_expression, - STATE(415), 1, - sym_index_expression, - STATE(427), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(103), 2, - sym_function_call, - sym_yield, - STATE(114), 2, - sym_value, - sym_index, - STATE(106), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [11278] = 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(389), 1, - sym_identifier, - ACTIONS(393), 1, - anon_sym_LBRACE, - STATE(59), 1, - sym__function_expression_kind, - STATE(85), 1, - sym_expression, - STATE(415), 1, - sym_index_expression, - STATE(427), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(103), 2, - sym_function_call, - sym_yield, - STATE(114), 2, - sym_value, - sym_index, - STATE(106), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [11352] = 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(346), 1, - anon_sym_LBRACE, - ACTIONS(527), 1, - sym_identifier, - STATE(59), 1, - sym__function_expression_kind, - STATE(300), 1, - sym_expression, - STATE(423), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(322), 2, - sym_value, - sym_index, - STATE(325), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [11426] = 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(346), 1, - anon_sym_LBRACE, - ACTIONS(527), 1, - sym_identifier, - STATE(59), 1, - sym__function_expression_kind, - STATE(301), 1, - sym_expression, - STATE(423), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(322), 2, - sym_value, - sym_index, - STATE(325), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [11500] = 19, + [11162] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, @@ -13400,233 +13311,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(23), 1, anon_sym_some, - ACTIONS(519), 1, - sym_identifier, - ACTIONS(521), 1, - anon_sym_LBRACE, - STATE(46), 1, - sym_expression, - STATE(59), 1, - sym__function_expression_kind, - STATE(430), 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(58), 2, - sym_function_call, - sym_yield, - STATE(75), 2, - sym_value, - sym_index, - STATE(66), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(37), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(67), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [11574] = 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(346), 1, - anon_sym_LBRACE, - ACTIONS(527), 1, - sym_identifier, - STATE(59), 1, - sym__function_expression_kind, - STATE(334), 1, - sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(322), 2, - sym_value, - sym_index, - STATE(325), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [11648] = 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(346), 1, - anon_sym_LBRACE, ACTIONS(511), 1, - anon_sym_LPAREN, + sym_identifier, ACTIONS(513), 1, - sym_identifier, - STATE(243), 1, - sym_function_expression, - STATE(342), 1, - sym_expression, - STATE(423), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(239), 5, - sym_value, - sym_index, - sym__function_expression_kind, - sym_function_call, - sym_yield, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [11718] = 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(346), 1, - anon_sym_LBRACE, - ACTIONS(527), 1, - sym_identifier, - STATE(59), 1, - sym__function_expression_kind, - STATE(332), 1, - sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(322), 2, - sym_value, - sym_index, - STATE(325), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [11792] = 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(519), 1, - sym_identifier, - ACTIONS(521), 1, anon_sym_LBRACE, STATE(45), 1, sym_expression, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, - STATE(430), 1, + STATE(417), 1, sym_index_expression, STATE(437), 1, sym_function_expression, @@ -13636,86 +13329,146 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(17), 2, anon_sym_true, anon_sym_false, - STATE(58), 2, + STATE(76), 2, sym_function_call, sym_yield, - STATE(75), 2, + STATE(77), 2, sym_value, sym_index, - STATE(66), 3, + STATE(70), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(37), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(67), 6, + STATE(53), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [11866] = 19, + ACTIONS(37), 8, + 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, + [11238] = 18, ACTIONS(3), 1, sym__comment, - ACTIONS(162), 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(346), 1, anon_sym_LBRACE, - ACTIONS(527), 1, + ACTIONS(515), 1, sym_identifier, - STATE(59), 1, - sym__function_expression_kind, - STATE(333), 1, - sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(439), 1, + ACTIONS(517), 1, + anon_sym_LPAREN, + STATE(263), 1, sym_function_expression, - ACTIONS(170), 2, + STATE(348), 1, + sym_expression, + STATE(415), 1, + sym_index_expression, + ACTIONS(136), 2, sym_float, sym_string, - ACTIONS(172), 2, + ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(322), 2, + STATE(283), 2, sym_value, sym_index, + STATE(254), 3, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [11312] = 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(60), 1, + sym__function_expression_kind, + STATE(329), 1, + sym_expression, + STATE(415), 1, + sym_index_expression, + STATE(442), 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(231), 3, + STATE(327), 2, + sym_value, + sym_index, + STATE(261), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, + STATE(268), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [11940] = 19, + ACTIONS(158), 8, + 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, + [11388] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(128), 1, @@ -13728,49 +13481,108 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(144), 1, anon_sym_some, - ACTIONS(389), 1, - sym_identifier, - ACTIONS(393), 1, + ACTIONS(346), 1, anon_sym_LBRACE, - STATE(59), 1, + ACTIONS(509), 1, + sym_identifier, + STATE(60), 1, sym__function_expression_kind, - STATE(87), 1, + STATE(336), 1, sym_expression, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, + STATE(415), 1, sym_index_expression, + STATE(442), 1, + sym_function_expression, ACTIONS(136), 2, sym_float, sym_string, ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(103), 2, + STATE(325), 2, sym_function_call, sym_yield, - STATE(114), 2, + STATE(327), 2, sym_value, sym_index, - STATE(106), 3, + STATE(261), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, + STATE(268), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [12014] = 19, + ACTIONS(158), 8, + 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, + [11464] = 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(60), 1, + sym__function_expression_kind, + STATE(317), 1, + sym_expression, + STATE(415), 1, + sym_index_expression, + STATE(442), 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(327), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [11540] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(162), 1, @@ -13783,159 +13595,108 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(178), 1, anon_sym_some, - ACTIONS(344), 1, + ACTIONS(389), 1, sym_identifier, - ACTIONS(346), 1, + ACTIONS(393), 1, anon_sym_LBRACE, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, - STATE(314), 1, + STATE(121), 1, sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, + 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(237), 2, - sym_value, - sym_index, - STATE(241), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [12088] = 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(389), 1, - sym_identifier, - ACTIONS(393), 1, - anon_sym_LBRACE, - STATE(59), 1, - sym__function_expression_kind, - STATE(121), 1, - sym_expression, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(103), 2, + STATE(108), 2, sym_function_call, sym_yield, STATE(114), 2, sym_value, sym_index, - STATE(106), 3, + STATE(113), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, + STATE(109), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [12162] = 19, + ACTIONS(188), 8, + 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, + [11616] = 19, ACTIONS(3), 1, sym__comment, - ACTIONS(128), 1, + ACTIONS(162), 1, anon_sym_LPAREN, - ACTIONS(134), 1, + ACTIONS(168), 1, sym_integer, - ACTIONS(140), 1, + ACTIONS(174), 1, anon_sym_LBRACK, - ACTIONS(142), 1, + ACTIONS(176), 1, anon_sym_none, - ACTIONS(144), 1, + ACTIONS(178), 1, anon_sym_some, ACTIONS(389), 1, sym_identifier, ACTIONS(393), 1, anon_sym_LBRACE, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, STATE(120), 1, sym_expression, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, + STATE(420), 1, sym_index_expression, - ACTIONS(136), 2, + STATE(430), 1, + sym_function_expression, + ACTIONS(170), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(103), 2, + STATE(108), 2, sym_function_call, sym_yield, STATE(114), 2, sym_value, sym_index, - STATE(106), 3, + STATE(113), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, + STATE(109), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [12236] = 17, + ACTIONS(188), 8, + 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, + [11692] = 18, ACTIONS(3), 1, sym__comment, ACTIONS(168), 1, @@ -13946,15 +13707,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(178), 1, anon_sym_some, - ACTIONS(346), 1, + ACTIONS(393), 1, anon_sym_LBRACE, - ACTIONS(511), 1, + ACTIONS(521), 1, anon_sym_LPAREN, - ACTIONS(513), 1, + ACTIONS(523), 1, sym_identifier, - STATE(243), 1, + STATE(103), 1, sym_function_expression, - STATE(351), 1, + STATE(354), 1, sym_expression, STATE(420), 1, sym_index_expression, @@ -13964,140 +13725,148 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(239), 5, - sym_value, - sym_index, - sym__function_expression_kind, - sym_function_call, - sym_yield, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [12306] = 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(389), 1, - sym_identifier, - ACTIONS(393), 1, - anon_sym_LBRACE, - STATE(59), 1, - sym__function_expression_kind, - STATE(88), 1, - sym_expression, - STATE(427), 1, - sym_function_expression, - STATE(435), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(103), 2, - sym_function_call, - sym_yield, - STATE(114), 2, - sym_value, - sym_index, - STATE(106), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [12380] = 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(393), 1, - anon_sym_LBRACE, - ACTIONS(517), 1, - anon_sym_LPAREN, - ACTIONS(529), 1, - sym_identifier, - STATE(105), 1, - sym_function_expression, - STATE(354), 1, - sym_expression, - STATE(435), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(125), 2, + STATE(124), 2, sym_value, sym_index, STATE(104), 3, sym__function_expression_kind, sym_function_call, sym_yield, - STATE(231), 3, + STATE(261), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, + STATE(109), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [12452] = 18, + ACTIONS(188), 8, + 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, + [11766] = 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(60), 1, + sym__function_expression_kind, + STATE(320), 1, + sym_expression, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [11842] = 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(60), 1, + sym__function_expression_kind, + STATE(337), 1, + sym_expression, + STATE(415), 1, + sym_index_expression, + STATE(442), 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(327), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [11918] = 18, ACTIONS(3), 1, sym__comment, ACTIONS(13), 1, @@ -14108,15 +13877,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(23), 1, anon_sym_some, - ACTIONS(521), 1, + ACTIONS(513), 1, anon_sym_LBRACE, ACTIONS(525), 1, - anon_sym_LPAREN, - ACTIONS(531), 1, sym_identifier, + ACTIONS(527), 1, + anon_sym_LPAREN, STATE(79), 1, sym_function_expression, - STATE(339), 1, + STATE(357), 1, sym_expression, STATE(438), 1, sym_index_expression, @@ -14129,29 +13898,31 @@ static const uint16_t ts_small_parse_table[] = { STATE(89), 2, sym_value, sym_index, - STATE(59), 3, + STATE(60), 3, sym__function_expression_kind, sym_function_call, sym_yield, - STATE(231), 3, + STATE(261), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(37), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(67), 6, + STATE(53), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [12524] = 19, + ACTIONS(37), 8, + 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, + [11992] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, @@ -14164,11 +13935,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(23), 1, anon_sym_some, - ACTIONS(519), 1, + ACTIONS(511), 1, sym_identifier, - ACTIONS(521), 1, + ACTIONS(513), 1, anon_sym_LBRACE, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, STATE(80), 1, sym_expression, @@ -14182,141 +13953,33 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(17), 2, anon_sym_true, anon_sym_false, - STATE(58), 2, + STATE(76), 2, sym_function_call, sym_yield, - STATE(75), 2, + STATE(77), 2, sym_value, sym_index, - STATE(66), 3, + STATE(70), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(37), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(67), 6, + STATE(53), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [12598] = 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(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(59), 1, - sym__function_expression_kind, - STATE(227), 1, - sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(241), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, + ACTIONS(37), 8, 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, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [12672] = 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(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(59), 1, - sym__function_expression_kind, - STATE(315), 1, - sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(237), 2, - sym_value, - sym_index, - STATE(241), 2, - sym_function_call, - sym_yield, - STATE(231), 3, - sym__expression_kind, - sym_math, - sym_logic, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [12746] = 19, + [12068] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, @@ -14329,11 +13992,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(23), 1, anon_sym_some, - ACTIONS(519), 1, + ACTIONS(511), 1, sym_identifier, - ACTIONS(521), 1, + ACTIONS(513), 1, anon_sym_LBRACE, - STATE(59), 1, + STATE(60), 1, sym__function_expression_kind, STATE(81), 1, sym_expression, @@ -14347,31 +14010,424 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(17), 2, anon_sym_true, anon_sym_false, - STATE(58), 2, + STATE(76), 2, sym_function_call, sym_yield, - STATE(75), 2, + STATE(77), 2, sym_value, sym_index, - STATE(66), 3, + STATE(70), 3, sym__expression_kind, sym_math, sym_logic, - ACTIONS(37), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(67), 6, + STATE(53), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [12820] = 17, + ACTIONS(37), 8, + 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, + [12144] = 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(529), 1, + sym_identifier, + STATE(263), 1, + sym_function_expression, + STATE(349), 1, + sym_expression, + STATE(415), 1, + sym_index_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(254), 5, + sym_value, + sym_index, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [12216] = 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(60), 1, + sym__function_expression_kind, + STATE(318), 1, + sym_expression, + STATE(415), 1, + sym_index_expression, + STATE(442), 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(327), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [12292] = 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(529), 1, + sym_identifier, + STATE(263), 1, + sym_function_expression, + STATE(344), 1, + sym_expression, + STATE(435), 1, + sym_index_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(254), 5, + sym_value, + sym_index, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [12364] = 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(60), 1, + sym__function_expression_kind, + STATE(322), 1, + sym_expression, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [12440] = 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(393), 1, + anon_sym_LBRACE, + ACTIONS(519), 1, + sym_identifier, + ACTIONS(521), 1, + anon_sym_LPAREN, + STATE(103), 1, + sym_function_expression, + STATE(341), 1, + sym_expression, + STATE(422), 1, + sym_index_expression, + ACTIONS(170), 2, + sym_float, + sym_string, + ACTIONS(172), 2, + anon_sym_true, + anon_sym_false, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(104), 5, + sym_value, + sym_index, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(109), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 8, + 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, + [12512] = 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(529), 1, + sym_identifier, + STATE(263), 1, + sym_function_expression, + STATE(342), 1, + sym_expression, + STATE(436), 1, + sym_index_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(254), 5, + sym_value, + sym_index, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [12584] = 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(389), 1, + sym_identifier, + ACTIONS(393), 1, + anon_sym_LBRACE, + STATE(60), 1, + sym__function_expression_kind, + STATE(87), 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(108), 2, + sym_function_call, + sym_yield, + STATE(114), 2, + sym_value, + sym_index, + STATE(113), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(109), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 8, + 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, + [12660] = 17, ACTIONS(3), 1, sym__comment, ACTIONS(13), 1, @@ -14382,17 +14438,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(23), 1, anon_sym_some, - ACTIONS(521), 1, + ACTIONS(513), 1, anon_sym_LBRACE, - ACTIONS(523), 1, - sym_identifier, - ACTIONS(525), 1, + ACTIONS(527), 1, anon_sym_LPAREN, + ACTIONS(531), 1, + sym_identifier, STATE(79), 1, sym_function_expression, - STATE(340), 1, + STATE(356), 1, sym_expression, - STATE(430), 1, + STATE(438), 1, sym_index_expression, ACTIONS(15), 2, sym_float, @@ -14400,40 +14456,439 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(17), 2, anon_sym_true, anon_sym_false, - STATE(231), 3, + STATE(261), 3, sym__expression_kind, sym_math, sym_logic, - STATE(59), 5, + STATE(60), 5, sym_value, sym_index, sym__function_expression_kind, sym_function_call, sym_yield, - ACTIONS(37), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(67), 6, + STATE(53), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [12890] = 7, + ACTIONS(37), 8, + 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, + [12732] = 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(389), 1, + sym_identifier, + ACTIONS(393), 1, + anon_sym_LBRACE, + STATE(60), 1, + sym__function_expression_kind, + STATE(90), 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(108), 2, + sym_function_call, + sym_yield, + STATE(114), 2, + sym_value, + sym_index, + STATE(113), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(109), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 8, + 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, + [12808] = 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(60), 1, + sym__function_expression_kind, + STATE(259), 1, + sym_expression, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [12884] = 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(60), 1, + sym__function_expression_kind, + STATE(310), 1, + sym_expression, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [12960] = 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(60), 1, + sym__function_expression_kind, + STATE(323), 1, + sym_expression, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [13036] = 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(60), 1, + sym__function_expression_kind, + STATE(316), 1, + sym_expression, + STATE(415), 1, + sym_index_expression, + STATE(442), 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(327), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [13112] = 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(527), 1, + anon_sym_LPAREN, + ACTIONS(531), 1, + sym_identifier, + STATE(79), 1, + sym_function_expression, + STATE(343), 1, + sym_expression, + STATE(417), 1, + sym_index_expression, + ACTIONS(15), 2, + sym_float, + sym_string, + ACTIONS(17), 2, + anon_sym_true, + anon_sym_false, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(60), 5, + sym_value, + sym_index, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(53), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(37), 8, + 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, + [13184] = 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(60), 1, + sym__function_expression_kind, + STATE(253), 1, + sym_expression, + STATE(436), 1, + sym_index_expression, + STATE(442), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(251), 2, + sym_function_call, + sym_yield, + STATE(257), 2, + sym_value, + sym_index, + STATE(261), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [13260] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(537), 1, anon_sym_elseif, ACTIONS(539), 1, anon_sym_else, - STATE(260), 1, + STATE(230), 1, sym_else, - STATE(213), 2, + STATE(214), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(533), 9, @@ -14446,7 +14901,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_asyncfor, - ACTIONS(535), 18, + ACTIONS(535), 20, anon_sym_async, sym_identifier, sym_integer, @@ -14462,19 +14917,21 @@ static const uint16_t ts_small_parse_table[] = { 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, - [12938] = 7, + [13310] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(537), 1, anon_sym_elseif, ACTIONS(539), 1, anon_sym_else, - STATE(252), 1, + STATE(227), 1, sym_else, - STATE(214), 2, + STATE(212), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(541), 9, @@ -14487,7 +14944,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_asyncfor, - ACTIONS(543), 18, + ACTIONS(543), 20, anon_sym_async, sym_identifier, sym_integer, @@ -14503,10 +14960,12 @@ static const uint16_t ts_small_parse_table[] = { 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, - [12986] = 5, + [13360] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(549), 1, @@ -14524,7 +14983,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_asyncfor, - ACTIONS(547), 19, + ACTIONS(547), 21, anon_sym_async, sym_identifier, sym_integer, @@ -14541,10 +15000,84 @@ static const uint16_t ts_small_parse_table[] = { 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, - [13029] = 3, + [13405] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(552), 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(554), 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_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, + [13444] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(224), 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(226), 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_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, + [13483] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(310), 10, @@ -14558,7 +15091,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_elseif, anon_sym_asyncfor, - ACTIONS(312), 19, + ACTIONS(312), 21, anon_sym_async, sym_identifier, sym_integer, @@ -14575,50 +15108,15 @@ static const uint16_t ts_small_parse_table[] = { 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, - [13066] = 6, + [13522] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(552), 1, - anon_sym_DASH_GT, - STATE(182), 1, - sym_logic_operator, - STATE(184), 1, - sym_math_operator, - ACTIONS(196), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(194), 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, - [13109] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(242), 10, + ACTIONS(244), 10, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -14629,7 +15127,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_elseif, anon_sym_asyncfor, - ACTIONS(244), 19, + ACTIONS(246), 21, anon_sym_async, sym_identifier, sym_integer, @@ -14646,15 +15144,158 @@ static const uint16_t ts_small_parse_table[] = { 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, - [13146] = 5, + [13561] = 3, ACTIONS(3), 1, sym__comment, - STATE(182), 1, + ACTIONS(556), 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(558), 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_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, + [13600] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(560), 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(562), 20, + 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, + [13637] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(564), 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(566), 20, + 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, + [13674] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(324), 1, + anon_sym_SEMI, + ACTIONS(320), 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(322), 20, + 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, + [13713] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(568), 1, + anon_sym_DASH_GT, + STATE(174), 1, sym_logic_operator, - STATE(184), 1, + STATE(175), 1, sym_math_operator, ACTIONS(192), 7, anon_sym_async, @@ -14664,7 +15305,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(190), 20, + ACTIONS(190), 19, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, @@ -14684,117 +15325,355 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, + [13756] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(570), 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(572), 20, + 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, + [13793] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(574), 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(576), 20, + 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, + [13830] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(578), 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(580), 20, + 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, + [13867] = 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), 20, + 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, + [13904] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(320), 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(322), 20, + 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, + [13941] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(582), 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(584), 20, + 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, + [13978] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(586), 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(588), 20, + 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, + [14015] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(590), 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(592), 20, + 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, + [14052] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(568), 1, anon_sym_DASH_GT, - [13187] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(306), 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(308), 19, - 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_length, - anon_sym_output, - anon_sym_random, - [13224] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(554), 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(556), 19, - 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_length, - anon_sym_output, - anon_sym_random, - [13261] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(558), 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(560), 19, - 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_length, - anon_sym_output, - anon_sym_random, - [13298] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(552), 1, - anon_sym_DASH_GT, - STATE(182), 1, + STATE(174), 1, sym_logic_operator, - STATE(184), 1, + STATE(175), 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, + [14095] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(594), 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(596), 20, + 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, + [14132] = 5, + ACTIONS(3), 1, + sym__comment, + STATE(174), 1, + sym_logic_operator, + STATE(175), 1, sym_math_operator, ACTIONS(202), 7, anon_sym_async, @@ -14804,7 +15683,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(200), 19, + ACTIONS(200), 20, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, @@ -14824,10 +15703,45 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, - [13341] = 3, + anon_sym_DASH_GT, + [14173] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(260), 7, + ACTIONS(598), 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(600), 20, + 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, + [14210] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(254), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -14835,7 +15749,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(258), 21, + ACTIONS(252), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -14857,10 +15771,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13377] = 3, + [14246] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(294), 7, + ACTIONS(274), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -14868,7 +15782,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(292), 21, + ACTIONS(272), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -14890,46 +15804,54 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13413] = 6, + [14282] = 14, ACTIONS(3), 1, sym__comment, - ACTIONS(562), 1, - anon_sym_DASH_GT, - STATE(158), 1, - sym_math_operator, - STATE(208), 1, - sym_logic_operator, - ACTIONS(196), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(194), 18, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, + 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, - 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, - [13455] = 3, + ACTIONS(602), 1, + sym_identifier, + ACTIONS(604), 1, + anon_sym_LPAREN, + STATE(68), 1, + sym_index_expression, + ACTIONS(15), 2, + sym_float, + sym_string, + ACTIONS(17), 2, + anon_sym_true, + anon_sym_false, + STATE(69), 2, + sym_value, + sym_index, + STATE(53), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(37), 8, + 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, + [14340] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(280), 7, + ACTIONS(282), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -14937,7 +15859,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(278), 21, + ACTIONS(280), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -14959,16 +15881,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13491] = 6, + [14376] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(562), 1, - anon_sym_DASH_GT, - STATE(158), 1, - sym_math_operator, - STATE(208), 1, - sym_logic_operator, - ACTIONS(202), 7, + ACTIONS(306), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -14976,37 +15892,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(200), 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, - [13533] = 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, + ACTIONS(304), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -15028,7 +15914,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13569] = 3, + [14412] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(226), 7, @@ -15061,10 +15947,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13605] = 3, + [14448] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(232), 7, + ACTIONS(302), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -15072,7 +15958,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(230), 21, + ACTIONS(300), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -15094,10 +15980,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13641] = 3, + [14484] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(276), 7, + ACTIONS(298), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -15105,7 +15991,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(274), 21, + ACTIONS(296), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -15127,10 +16013,54 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13677] = 3, + [14520] = 14, ACTIONS(3), 1, sym__comment, - ACTIONS(248), 7, + 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(606), 1, + sym_identifier, + ACTIONS(608), 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(271), 2, + sym_value, + sym_index, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [14578] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(238), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -15138,7 +16068,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(246), 21, + ACTIONS(236), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -15160,10 +16090,102 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13713] = 3, + [14614] = 14, ACTIONS(3), 1, sym__comment, - ACTIONS(240), 7, + 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(606), 1, + sym_identifier, + ACTIONS(608), 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(271), 2, + sym_value, + sym_index, + STATE(268), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 8, + 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, + [14672] = 14, + 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(393), 1, + anon_sym_LBRACE, + ACTIONS(610), 1, + sym_identifier, + ACTIONS(612), 1, + anon_sym_LPAREN, + STATE(98), 1, + sym_index_expression, + ACTIONS(170), 2, + sym_float, + sym_string, + ACTIONS(172), 2, + anon_sym_true, + anon_sym_false, + STATE(100), 2, + sym_value, + sym_index, + STATE(109), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 8, + 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, + [14730] = 5, + ACTIONS(3), 1, + sym__comment, + STATE(206), 1, + sym_math_operator, + STATE(211), 1, + sym_logic_operator, + ACTIONS(202), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -15171,7 +16193,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(238), 21, + ACTIONS(200), 19, + 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, + anon_sym_DASH_GT, + [14770] = 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, @@ -15193,240 +16246,51 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13749] = 3, + [14806] = 14, 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, + ACTIONS(168), 1, + sym_integer, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(176), 1, + anon_sym_none, + ACTIONS(178), 1, + anon_sym_some, + ACTIONS(393), 1, 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, - [13785] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(256), 7, - anon_sym_async, + ACTIONS(610), 1, sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(254), 21, - anon_sym_SEMI, + ACTIONS(612), 1, 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, - [13821] = 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, - [13857] = 5, - ACTIONS(3), 1, - sym__comment, - 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, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - 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, - [13897] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(308), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(306), 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, - [13933] = 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, - [13969] = 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(266), 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, - [14005] = 4, + STATE(92), 1, + sym_index_expression, + ACTIONS(170), 2, + sym_float, + sym_string, + ACTIONS(172), 2, + anon_sym_true, + anon_sym_false, + STATE(100), 2, + sym_value, + sym_index, + STATE(109), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 8, + 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, + [14864] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(210), 2, @@ -15460,10 +16324,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [14043] = 3, + [14902] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(290), 7, + ACTIONS(262), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -15471,7 +16335,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(214), 21, + ACTIONS(260), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -15493,111 +16357,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [14079] = 3, + [14938] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(316), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(314), 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, + ACTIONS(614), 1, anon_sym_DASH_GT, - [14115] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(288), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(286), 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, - [14151] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(244), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(242), 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, - [14187] = 5, - ACTIONS(3), 1, - sym__comment, - STATE(158), 1, + STATE(206), 1, sym_math_operator, - STATE(208), 1, + STATE(211), 1, sym_logic_operator, ACTIONS(192), 7, anon_sym_async, @@ -15607,7 +16374,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(190), 19, + ACTIONS(190), 18, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, @@ -15626,8 +16393,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, + [14980] = 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, - [14227] = 3, + [15016] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(222), 7, @@ -15660,10 +16459,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [14263] = 3, + [15052] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(298), 7, + ACTIONS(270), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -15671,7 +16470,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(296), 21, + ACTIONS(268), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -15693,43 +16492,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [14299] = 3, + [15088] = 5, 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, + ACTIONS(214), 1, + anon_sym_COLON, + ACTIONS(210), 2, 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, - [14335] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(302), 7, + ACTIONS(208), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -15737,14 +16508,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(300), 21, + ACTIONS(206), 18, 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, @@ -15759,490 +16527,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [14371] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(284), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(282), 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, - [14407] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(564), 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(566), 18, - 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_length, - anon_sym_output, - anon_sym_random, - [14442] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(568), 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(570), 18, - 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_length, - anon_sym_output, - anon_sym_random, - [14477] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(572), 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(574), 18, - 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_length, - anon_sym_output, - anon_sym_random, - [14512] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(576), 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(578), 18, - 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_length, - anon_sym_output, - anon_sym_random, - [14547] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(580), 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(582), 18, - 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_length, - anon_sym_output, - anon_sym_random, - [14582] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(584), 1, - anon_sym_DOT_DOT, - ACTIONS(226), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(224), 19, - 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, - anon_sym_DASH_GT, - [14619] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(586), 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(588), 18, - 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_length, - anon_sym_output, - anon_sym_random, - [14654] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(590), 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(592), 18, - 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_length, - anon_sym_output, - anon_sym_random, - [14689] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(541), 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(543), 18, - 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_length, - anon_sym_output, - anon_sym_random, - [14724] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(332), 1, - anon_sym_SEMI, - ACTIONS(320), 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(322), 18, - 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_length, - anon_sym_output, - anon_sym_random, - [14761] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(594), 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(596), 18, - 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_length, - anon_sym_output, - anon_sym_random, - [14796] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(598), 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(600), 18, - 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_length, - anon_sym_output, - anon_sym_random, - [14831] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(602), 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(604), 18, - 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_length, - anon_sym_output, - anon_sym_random, - [14866] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(320), 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(322), 18, - 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_length, - anon_sym_output, - anon_sym_random, - [14901] = 14, + [15128] = 14, ACTIONS(3), 1, sym__comment, ACTIONS(134), 1, @@ -16253,13 +16538,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(144), 1, anon_sym_some, - ACTIONS(393), 1, + ACTIONS(346), 1, anon_sym_LBRACE, ACTIONS(606), 1, sym_identifier, ACTIONS(608), 1, anon_sym_LPAREN, - STATE(99), 1, + STATE(275), 1, sym_index_expression, ACTIONS(136), 2, sym_float, @@ -16267,33 +16552,471 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(101), 2, + STATE(271), 2, sym_value, sym_index, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, + STATE(268), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [14957] = 7, + ACTIONS(158), 8, + 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, + [15186] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(610), 1, + ACTIONS(614), 1, + anon_sym_DASH_GT, + STATE(206), 1, + sym_math_operator, + STATE(211), 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, + [15228] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(246), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(244), 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, + [15264] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(290), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(288), 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, + [15300] = 3, + 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, + [15336] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(316), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(314), 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, + [15372] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(616), 1, anon_sym_elseif, - ACTIONS(612), 1, + ACTIONS(618), 1, anon_sym_else, - STATE(293), 1, + STATE(290), 1, sym_else, - STATE(270), 2, + STATE(272), 2, + sym_else_if, + aux_sym_if_else_repeat1, + ACTIONS(541), 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(543), 14, + 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, + [15416] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(294), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(292), 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, + [15452] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(234), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(232), 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, + [15488] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(278), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(276), 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, + [15524] = 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, + 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, + [15560] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(250), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(248), 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, + [15596] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(266), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(264), 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, + [15632] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(286), 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, + [15668] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(616), 1, + anon_sym_elseif, + ACTIONS(618), 1, + anon_sym_else, + STATE(298), 1, + sym_else, + STATE(274), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(533), 9, @@ -16306,7 +17029,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_STAR, - ACTIONS(535), 12, + ACTIONS(535), 14, sym_identifier, sym_integer, anon_sym_true, @@ -16316,129 +17039,12 @@ static const uint16_t ts_small_parse_table[] = { 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, - [14999] = 14, - 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(346), 1, - anon_sym_LBRACE, - ACTIONS(614), 1, - sym_identifier, - ACTIONS(616), 1, - anon_sym_LPAREN, - STATE(257), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(242), 2, - sym_value, - sym_index, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [15055] = 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(393), 1, - anon_sym_LBRACE, - ACTIONS(606), 1, - sym_identifier, - ACTIONS(608), 1, - anon_sym_LPAREN, - STATE(92), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(101), 2, - sym_value, - sym_index, - ACTIONS(158), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(110), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [15111] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(610), 1, - anon_sym_elseif, - ACTIONS(612), 1, - anon_sym_else, - STATE(294), 1, - sym_else, - STATE(275), 2, - sym_else_if, - aux_sym_if_else_repeat1, - ACTIONS(541), 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(543), 12, - 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_length, - anon_sym_output, - anon_sym_random, - [15153] = 14, + [15712] = 14, ACTIONS(3), 1, sym__comment, ACTIONS(13), 1, @@ -16449,13 +17055,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(23), 1, anon_sym_some, - ACTIONS(521), 1, + ACTIONS(513), 1, anon_sym_LBRACE, - ACTIONS(618), 1, + ACTIONS(602), 1, sym_identifier, - ACTIONS(620), 1, + ACTIONS(604), 1, anon_sym_LPAREN, - STATE(71), 1, + STATE(66), 1, sym_index_expression, ACTIONS(15), 2, sym_float, @@ -16463,155 +17069,31 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(17), 2, anon_sym_true, anon_sym_false, - STATE(70), 2, + STATE(69), 2, sym_value, sym_index, - ACTIONS(37), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(67), 6, + STATE(53), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - [15209] = 14, + ACTIONS(37), 8, + 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, + [15770] = 5, 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(521), 1, - anon_sym_LBRACE, - ACTIONS(618), 1, - sym_identifier, ACTIONS(620), 1, - anon_sym_LPAREN, - STATE(52), 1, - sym_index_expression, - ACTIONS(15), 2, - sym_float, - sym_string, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - STATE(70), 2, - sym_value, - sym_index, - ACTIONS(37), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(67), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [15265] = 14, - 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(346), 1, - anon_sym_LBRACE, - ACTIONS(614), 1, - sym_identifier, - ACTIONS(616), 1, - anon_sym_LPAREN, - STATE(229), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(242), 2, - sym_value, - sym_index, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [15321] = 14, - 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(346), 1, - anon_sym_LBRACE, - ACTIONS(614), 1, - sym_identifier, - ACTIONS(616), 1, - anon_sym_LPAREN, - STATE(324), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(242), 2, - sym_value, - sym_index, - ACTIONS(188), 6, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_length, - anon_sym_output, - anon_sym_random, - STATE(226), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - [15377] = 5, - ACTIONS(3), 1, - sym__comment, - ACTIONS(622), 1, anon_sym_elseif, - STATE(275), 2, + STATE(274), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(545), 9, @@ -16624,7 +17106,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_STAR, - ACTIONS(547), 13, + ACTIONS(547), 15, sym_identifier, sym_integer, anon_sym_true, @@ -16635,10 +17117,136 @@ static const uint16_t ts_small_parse_table[] = { 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, - [15414] = 10, + [15809] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(623), 1, + anon_sym_DOT_DOT, + ACTIONS(278), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(276), 19, + 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, + anon_sym_DASH_GT, + [15846] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(627), 6, + anon_sym_LPAREN, + anon_sym_LBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_asyncfor, + ACTIONS(625), 20, + 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, + [15880] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(244), 10, + 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, + anon_sym_elseif, + ACTIONS(246), 15, + 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, + [15913] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(310), 10, + 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, + anon_sym_elseif, + ACTIONS(312), 15, + 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, + [15946] = 10, ACTIONS(3), 1, sym__comment, ACTIONS(210), 1, @@ -16649,9 +17257,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, ACTIONS(216), 1, anon_sym_LT, - STATE(29), 1, + STATE(34), 1, sym_assignment_operator, - STATE(374), 1, + STATE(375), 1, sym_type_definition, ACTIONS(218), 2, anon_sym_PLUS_EQ, @@ -16675,41 +17283,97 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - [15461] = 8, + [15993] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(210), 1, - anon_sym_LPAREN, - ACTIONS(212), 1, - anon_sym_EQ, - ACTIONS(214), 1, - anon_sym_COLON, - STATE(30), 1, - sym_assignment_operator, - ACTIONS(218), 2, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - ACTIONS(208), 4, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(206), 14, + ACTIONS(224), 10, anon_sym_SEMI, + anon_sym_LPAREN, anon_sym_COMMA, + anon_sym_LBRACE, anon_sym_RBRACE, - sym_identifier, + 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_DASH_GT, - [15503] = 4, + anon_sym_elseif, + ACTIONS(226), 15, + 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, + [16026] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(556), 10, + 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, + anon_sym_elseif, + ACTIONS(558), 15, + 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, + [16059] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(552), 10, + 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, + anon_sym_elseif, + ACTIONS(554), 15, + 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, + [16092] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(214), 1, @@ -16739,168 +17403,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [15537] = 3, + [16126] = 8, ACTIONS(3), 1, sym__comment, - ACTIONS(627), 6, + ACTIONS(210), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_asyncfor, - ACTIONS(625), 18, - 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_length, - anon_sym_output, - anon_sym_random, - [15569] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(306), 10, - 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, - anon_sym_elseif, - ACTIONS(308), 13, - 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_length, - anon_sym_output, - anon_sym_random, - [15600] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(310), 10, - 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, - anon_sym_elseif, - ACTIONS(312), 13, - 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_length, - anon_sym_output, - anon_sym_random, - [15631] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(242), 10, - 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, - anon_sym_elseif, - ACTIONS(244), 13, - 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_length, - anon_sym_output, - anon_sym_random, - [15662] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(554), 10, - 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, - anon_sym_elseif, - ACTIONS(556), 13, - 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_length, - anon_sym_output, - anon_sym_random, - [15693] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(629), 1, - anon_sym_DASH_GT, - STATE(173), 1, - sym_logic_operator, - STATE(174), 1, - sym_math_operator, - ACTIONS(196), 5, - anon_sym_async, - sym_identifier, + ACTIONS(212), 1, + anon_sym_EQ, + ACTIONS(214), 1, + anon_sym_COLON, + STATE(43), 1, + sym_assignment_operator, + ACTIONS(218), 2, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + ACTIONS(208), 4, + anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(194), 15, + ACTIONS(206), 14, anon_sym_SEMI, anon_sym_COMMA, - anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_PLUS, + sym_identifier, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -16910,70 +17436,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - anon_sym_EQ_GT, - [15730] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(558), 10, - 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, - anon_sym_elseif, - ACTIONS(560), 13, - 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_length, - anon_sym_output, - anon_sym_random, - [15761] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(629), 1, anon_sym_DASH_GT, - STATE(173), 1, - sym_logic_operator, - STATE(174), 1, - sym_math_operator, - ACTIONS(202), 5, - anon_sym_async, - sym_identifier, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(200), 15, - anon_sym_SEMI, - 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, - [15798] = 3, + [16168] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(568), 9, + ACTIONS(578), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, @@ -16983,7 +17450,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_STAR, - ACTIONS(570), 12, + ACTIONS(580), 14, sym_identifier, sym_integer, anon_sym_true, @@ -16993,245 +17460,12 @@ static const uint16_t ts_small_parse_table[] = { 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, - [15827] = 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), 12, - 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_length, - anon_sym_output, - anon_sym_random, - [15856] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(320), 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(322), 12, - 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_length, - anon_sym_output, - anon_sym_random, - [15885] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(602), 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(604), 12, - 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_length, - anon_sym_output, - anon_sym_random, - [15914] = 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), 12, - 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_length, - anon_sym_output, - anon_sym_random, - [15943] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(401), 1, - anon_sym_SEMI, - ACTIONS(320), 8, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(322), 12, - 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_length, - anon_sym_output, - anon_sym_random, - [15974] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(541), 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(543), 12, - 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_length, - anon_sym_output, - anon_sym_random, - [16003] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(564), 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(566), 12, - 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_length, - anon_sym_output, - anon_sym_random, - [16032] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(590), 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(592), 12, - 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_length, - anon_sym_output, - anon_sym_random, - [16061] = 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), 12, - 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_length, - anon_sym_output, - anon_sym_random, - [16090] = 3, + [16199] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(598), 9, @@ -17244,7 +17478,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_STAR, - ACTIONS(600), 12, + ACTIONS(600), 14, sym_identifier, sym_integer, anon_sym_true, @@ -17254,13 +17488,15 @@ static const uint16_t ts_small_parse_table[] = { 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, - [16119] = 3, + [16230] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(594), 9, + ACTIONS(320), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, @@ -17270,7 +17506,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_STAR, - ACTIONS(596), 12, + ACTIONS(322), 14, sym_identifier, sym_integer, anon_sym_true, @@ -17280,10 +17516,299 @@ static const uint16_t ts_small_parse_table[] = { 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, - [16148] = 3, + [16261] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(590), 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(592), 14, + 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, + [16292] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(574), 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(576), 14, + 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, + [16323] = 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), 14, + 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, + [16354] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(629), 1, + anon_sym_DASH_GT, + STATE(167), 1, + sym_logic_operator, + STATE(168), 1, + sym_math_operator, + ACTIONS(192), 5, + anon_sym_async, + sym_identifier, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(190), 15, + anon_sym_SEMI, + 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, + [16391] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(629), 1, + anon_sym_DASH_GT, + STATE(167), 1, + sym_logic_operator, + STATE(168), 1, + sym_math_operator, + ACTIONS(198), 5, + anon_sym_async, + sym_identifier, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(196), 15, + anon_sym_SEMI, + 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, + [16428] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(582), 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(584), 14, + 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, + [16459] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(564), 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(566), 14, + 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, + [16490] = 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), 14, + 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, + [16521] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(570), 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(572), 14, + 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, + [16552] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(399), 1, + anon_sym_SEMI, + ACTIONS(320), 8, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_STAR, + ACTIONS(322), 14, + 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, + [16585] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(586), 9, @@ -17296,7 +17821,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_STAR, - ACTIONS(588), 12, + ACTIONS(588), 14, sym_identifier, sym_integer, anon_sym_true, @@ -17306,66 +17831,40 @@ static const uint16_t ts_small_parse_table[] = { 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, - [16177] = 6, + [16616] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(552), 1, - anon_sym_DASH_GT, - STATE(191), 1, - sym_logic_operator, - STATE(192), 1, - sym_math_operator, - ACTIONS(202), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(200), 14, + ACTIONS(594), 9, + anon_sym_SEMI, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_PLUS, + anon_sym_COMMA, + 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, - [16211] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(552), 1, - anon_sym_DASH_GT, - STATE(191), 1, - sym_logic_operator, - STATE(192), 1, - sym_math_operator, - ACTIONS(196), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(194), 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, - [16245] = 4, + ACTIONS(596), 14, + 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, + [16647] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(635), 1, @@ -17378,7 +17877,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_STAR, - ACTIONS(631), 12, + ACTIONS(631), 14, sym_identifier, sym_integer, anon_sym_true, @@ -17388,53 +17887,77 @@ static const uint16_t ts_small_parse_table[] = { 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, - [16275] = 10, + [16679] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(326), 1, - anon_sym_DASH, - ACTIONS(401), 1, - anon_sym_SEMI, - ACTIONS(629), 1, + ACTIONS(639), 7, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_STAR, + ACTIONS(637), 14, + 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, + [16708] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(568), 1, anon_sym_DASH_GT, - STATE(173), 1, - sym_logic_operator, - STATE(174), 1, + STATE(159), 1, sym_math_operator, - ACTIONS(330), 2, + STATE(178), 1, + sym_logic_operator, + ACTIONS(192), 3, + anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(320), 3, - anon_sym_COMMA, - anon_sym_RBRACE, - sym_identifier, - ACTIONS(324), 4, + 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, - ACTIONS(328), 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, - [16317] = 9, + [16742] = 9, ACTIONS(3), 1, sym__comment, - ACTIONS(326), 1, + ACTIONS(328), 1, anon_sym_DASH, ACTIONS(629), 1, anon_sym_DASH_GT, - STATE(173), 1, + STATE(167), 1, sym_logic_operator, - STATE(174), 1, + STATE(168), 1, sym_math_operator, - ACTIONS(330), 2, + ACTIONS(332), 2, anon_sym_GT, anon_sym_LT, ACTIONS(320), 4, @@ -17442,30 +17965,112 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, anon_sym_RBRACE, sym_identifier, - ACTIONS(324), 4, + ACTIONS(326), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(328), 6, + 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, - [16357] = 5, + [16782] = 10, ACTIONS(3), 1, sym__comment, - STATE(191), 1, + ACTIONS(328), 1, + anon_sym_DASH, + ACTIONS(399), 1, + anon_sym_SEMI, + ACTIONS(629), 1, + anon_sym_DASH_GT, + STATE(167), 1, sym_logic_operator, - STATE(192), 1, + STATE(168), 1, sym_math_operator, - ACTIONS(192), 3, + ACTIONS(332), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(320), 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, + [16824] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(482), 6, + anon_sym_LPAREN, + anon_sym_LBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + ACTIONS(641), 14, + 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, + [16852] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(417), 6, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + ACTIONS(643), 14, + 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, + [16880] = 5, + ACTIONS(3), 1, + sym__comment, + STATE(159), 1, + sym_math_operator, + STATE(178), 1, + sym_logic_operator, + ACTIONS(202), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(190), 15, + ACTIONS(200), 15, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON, @@ -17481,23 +18086,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - [16389] = 6, + [16912] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(637), 1, + ACTIONS(568), 1, anon_sym_DASH_GT, - STATE(181), 1, + STATE(159), 1, sym_math_operator, - STATE(188), 1, + STATE(178), 1, sym_logic_operator, - ACTIONS(196), 3, + ACTIONS(198), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(194), 13, + 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, @@ -17508,116 +18114,226 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [16422] = 11, + [16946] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(326), 1, + ACTIONS(328), 1, anon_sym_DASH, ACTIONS(629), 1, anon_sym_DASH_GT, - ACTIONS(639), 1, + ACTIONS(645), 1, anon_sym_async, - ACTIONS(641), 1, + ACTIONS(647), 1, anon_sym_LBRACE, - STATE(173), 1, + STATE(167), 1, sym_logic_operator, - STATE(174), 1, + STATE(168), 1, sym_math_operator, - STATE(220), 1, + STATE(282), 1, sym_block, - ACTIONS(330), 2, + ACTIONS(332), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(324), 4, + ACTIONS(326), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(328), 6, + 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, - [16465] = 11, + [16989] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(326), 1, + ACTIONS(328), 1, anon_sym_DASH, ACTIONS(629), 1, anon_sym_DASH_GT, - ACTIONS(643), 1, + ACTIONS(649), 1, anon_sym_async, - ACTIONS(645), 1, + ACTIONS(651), 1, anon_sym_LBRACE, - STATE(173), 1, + STATE(167), 1, sym_logic_operator, - STATE(174), 1, + STATE(168), 1, sym_math_operator, STATE(285), 1, sym_block, - ACTIONS(330), 2, + ACTIONS(332), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(324), 4, + ACTIONS(326), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(328), 6, + 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, - [16508] = 11, + [17032] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(326), 1, + ACTIONS(328), 1, anon_sym_DASH, ACTIONS(629), 1, anon_sym_DASH_GT, - ACTIONS(647), 1, + ACTIONS(653), 1, anon_sym_async, - ACTIONS(649), 1, + ACTIONS(655), 1, anon_sym_LBRACE, - STATE(173), 1, + STATE(167), 1, sym_logic_operator, - STATE(174), 1, + STATE(168), 1, sym_math_operator, - STATE(295), 1, + STATE(221), 1, sym_block, - ACTIONS(330), 2, + ACTIONS(332), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(324), 4, + ACTIONS(326), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(328), 6, + 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, - [16551] = 6, + [17075] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(637), 1, + ACTIONS(659), 5, + anon_sym_LPAREN, + anon_sym_LBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + ACTIONS(657), 14, + 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, + [17102] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(328), 1, + anon_sym_DASH, + ACTIONS(629), 1, anon_sym_DASH_GT, - STATE(181), 1, + ACTIONS(653), 1, + anon_sym_async, + ACTIONS(655), 1, + anon_sym_LBRACE, + STATE(167), 1, + sym_logic_operator, + STATE(168), 1, sym_math_operator, + STATE(226), 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, + [17145] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(663), 5, + anon_sym_LPAREN, + anon_sym_LBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + ACTIONS(661), 14, + 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, + [17172] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(328), 1, + anon_sym_DASH, + ACTIONS(629), 1, + anon_sym_DASH_GT, + ACTIONS(645), 1, + anon_sym_async, + ACTIONS(647), 1, + anon_sym_LBRACE, + STATE(167), 1, + sym_logic_operator, + STATE(168), 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, + [17215] = 5, + ACTIONS(3), 1, + sym__comment, STATE(188), 1, + sym_math_operator, + STATE(198), 1, sym_logic_operator, ACTIONS(202), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(200), 13, + ACTIONS(200), 14, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON, @@ -17631,74 +18347,48 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [16584] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(653), 7, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(651), 12, - 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_length, - anon_sym_output, - anon_sym_random, - [16611] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(326), 1, - anon_sym_DASH, - ACTIONS(629), 1, anon_sym_DASH_GT, - ACTIONS(655), 1, - anon_sym_async, - ACTIONS(657), 1, - anon_sym_LBRACE, - STATE(173), 1, - sym_logic_operator, - STATE(174), 1, + [17246] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(665), 1, + anon_sym_DASH_GT, + STATE(188), 1, sym_math_operator, - STATE(287), 1, - sym_block, - ACTIONS(330), 2, + STATE(198), 1, + sym_logic_operator, + ACTIONS(198), 3, + anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(324), 4, + ACTIONS(196), 13, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(328), 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, - [16654] = 5, + [17279] = 6, ACTIONS(3), 1, sym__comment, - STATE(181), 1, - sym_math_operator, + ACTIONS(665), 1, + anon_sym_DASH_GT, STATE(188), 1, + sym_math_operator, + STATE(198), 1, sym_logic_operator, ACTIONS(192), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(190), 14, + ACTIONS(190), 13, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON, @@ -17712,230 +18402,174 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - anon_sym_DASH_GT, - [16685] = 11, + [17312] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(326), 1, + ACTIONS(328), 1, anon_sym_DASH, ACTIONS(629), 1, anon_sym_DASH_GT, - ACTIONS(655), 1, + ACTIONS(667), 1, anon_sym_async, - ACTIONS(657), 1, + ACTIONS(669), 1, anon_sym_LBRACE, - STATE(173), 1, + STATE(167), 1, sym_logic_operator, - STATE(174), 1, + STATE(168), 1, sym_math_operator, - STATE(295), 1, + STATE(215), 1, sym_block, - ACTIONS(330), 2, + ACTIONS(332), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(324), 4, + ACTIONS(326), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(328), 6, + 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, - [16728] = 11, + [17355] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(326), 1, + ACTIONS(328), 1, anon_sym_DASH, ACTIONS(629), 1, anon_sym_DASH_GT, - ACTIONS(647), 1, + ACTIONS(671), 1, anon_sym_async, + ACTIONS(673), 1, + anon_sym_LBRACE, + STATE(167), 1, + sym_logic_operator, + STATE(168), 1, + sym_math_operator, + STATE(294), 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, + [17398] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(328), 1, + anon_sym_DASH, + ACTIONS(629), 1, + anon_sym_DASH_GT, ACTIONS(649), 1, + anon_sym_async, + ACTIONS(651), 1, anon_sym_LBRACE, - STATE(173), 1, + STATE(167), 1, sym_logic_operator, - STATE(174), 1, + STATE(168), 1, sym_math_operator, - STATE(287), 1, + STATE(294), 1, sym_block, - ACTIONS(330), 2, + ACTIONS(332), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(324), 4, + ACTIONS(326), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(328), 6, + 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, - [16771] = 11, + [17441] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(326), 1, + ACTIONS(328), 1, anon_sym_DASH, ACTIONS(629), 1, anon_sym_DASH_GT, - ACTIONS(639), 1, + ACTIONS(667), 1, anon_sym_async, - ACTIONS(641), 1, + ACTIONS(669), 1, anon_sym_LBRACE, - STATE(173), 1, + STATE(167), 1, sym_logic_operator, - STATE(174), 1, + STATE(168), 1, sym_math_operator, - STATE(221), 1, + STATE(219), 1, sym_block, - ACTIONS(330), 2, + ACTIONS(332), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(324), 4, + ACTIONS(326), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(328), 6, + 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, - [16814] = 11, + [17484] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(326), 1, + ACTIONS(328), 1, anon_sym_DASH, ACTIONS(629), 1, anon_sym_DASH_GT, - ACTIONS(643), 1, + ACTIONS(671), 1, anon_sym_async, - ACTIONS(645), 1, + ACTIONS(673), 1, anon_sym_LBRACE, - STATE(173), 1, + STATE(167), 1, sym_logic_operator, - STATE(174), 1, + STATE(168), 1, sym_math_operator, - STATE(283), 1, + STATE(285), 1, sym_block, - ACTIONS(330), 2, + ACTIONS(332), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(324), 4, + ACTIONS(326), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(328), 6, + 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, - [16857] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(326), 1, - anon_sym_DASH, - ACTIONS(629), 1, - anon_sym_DASH_GT, - ACTIONS(659), 1, - anon_sym_async, - ACTIONS(661), 1, - anon_sym_LBRACE, - STATE(173), 1, - sym_logic_operator, - STATE(174), 1, - sym_math_operator, - STATE(253), 1, - sym_block, - ACTIONS(330), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(324), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(328), 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, - [16900] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(326), 1, - anon_sym_DASH, - ACTIONS(629), 1, - anon_sym_DASH_GT, - ACTIONS(659), 1, - anon_sym_async, - ACTIONS(661), 1, - anon_sym_LBRACE, - STATE(173), 1, - sym_logic_operator, - STATE(174), 1, - sym_math_operator, - STATE(259), 1, - sym_block, - ACTIONS(330), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(324), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(328), 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, - [16943] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(417), 6, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_LBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - ACTIONS(663), 12, - 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_length, - anon_sym_output, - anon_sym_random, - [16969] = 7, + [17527] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(214), 1, anon_sym_COLON, ACTIONS(216), 1, anon_sym_LT, - STATE(394), 1, + STATE(392), 1, sym_type_definition, ACTIONS(208), 2, anon_sym_DASH, @@ -17955,7 +18589,55 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - [17003] = 5, + [17561] = 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, + [17589] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(675), 1, + anon_sym_DOT_DOT, + ACTIONS(278), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(276), 14, + 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, + anon_sym_DASH_GT, + [17617] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(210), 1, @@ -17980,211 +18662,65 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - [17033] = 3, + [17647] = 9, ACTIONS(3), 1, sym__comment, - ACTIONS(480), 6, - anon_sym_LPAREN, - anon_sym_LBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - ACTIONS(665), 12, - 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_length, - anon_sym_output, - anon_sym_random, - [17059] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(667), 1, - anon_sym_DOT_DOT, - ACTIONS(226), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(224), 14, - 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, - anon_sym_DASH_GT, - [17087] = 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, - [17115] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(671), 1, - anon_sym_DASH_GT, - ACTIONS(669), 16, - 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, - [17140] = 9, - ACTIONS(3), 1, - sym__comment, - ACTIONS(326), 1, - anon_sym_DASH, - ACTIONS(629), 1, - anon_sym_DASH_GT, - ACTIONS(673), 1, - anon_sym_EQ_GT, - STATE(173), 1, - sym_logic_operator, - STATE(174), 1, - sym_math_operator, - ACTIONS(330), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(324), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(328), 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, - [17177] = 9, - ACTIONS(3), 1, - sym__comment, - ACTIONS(326), 1, - anon_sym_DASH, - ACTIONS(629), 1, - anon_sym_DASH_GT, - ACTIONS(675), 1, - anon_sym_LBRACE, - STATE(173), 1, - sym_logic_operator, - STATE(174), 1, - sym_math_operator, - ACTIONS(330), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(324), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(328), 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, - [17214] = 9, - ACTIONS(3), 1, - sym__comment, - ACTIONS(326), 1, + ACTIONS(328), 1, anon_sym_DASH, ACTIONS(629), 1, anon_sym_DASH_GT, ACTIONS(677), 1, anon_sym_LBRACE, - STATE(173), 1, + STATE(167), 1, sym_logic_operator, - STATE(174), 1, + STATE(168), 1, sym_math_operator, - ACTIONS(330), 2, + ACTIONS(332), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(324), 4, + ACTIONS(326), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(328), 6, + 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, - [17251] = 3, + [17684] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(681), 5, - anon_sym_LPAREN, - anon_sym_LBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - ACTIONS(679), 12, - 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_length, - anon_sym_output, - anon_sym_random, - [17276] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(685), 1, + ACTIONS(679), 1, anon_sym_DASH_GT, - ACTIONS(683), 16, + STATE(186), 1, + sym_math_operator, + STATE(187), 1, + sym_logic_operator, + ACTIONS(198), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(196), 11, + anon_sym_RPAREN, + 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, + [17715] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(683), 1, + anon_sym_DASH_GT, + ACTIONS(681), 16, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, @@ -18201,244 +18737,68 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_num, anon_sym_str, anon_sym_option, - [17301] = 9, + [17740] = 9, ACTIONS(3), 1, sym__comment, - ACTIONS(326), 1, + ACTIONS(328), 1, anon_sym_DASH, - ACTIONS(687), 1, - anon_sym_RPAREN, - ACTIONS(689), 1, + ACTIONS(679), 1, anon_sym_DASH_GT, + ACTIONS(685), 1, + anon_sym_RPAREN, STATE(186), 1, sym_math_operator, STATE(187), 1, sym_logic_operator, - ACTIONS(330), 2, + ACTIONS(332), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(324), 4, + ACTIONS(326), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(328), 6, + 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, - [17338] = 9, + [17777] = 9, ACTIONS(3), 1, sym__comment, - ACTIONS(326), 1, - anon_sym_DASH, - ACTIONS(689), 1, - anon_sym_DASH_GT, - ACTIONS(691), 1, - anon_sym_RPAREN, - STATE(186), 1, - sym_math_operator, - STATE(187), 1, - sym_logic_operator, - ACTIONS(330), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(324), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(328), 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, - [17375] = 9, - ACTIONS(3), 1, - sym__comment, - ACTIONS(326), 1, - anon_sym_DASH, - ACTIONS(689), 1, - anon_sym_DASH_GT, - ACTIONS(693), 1, - anon_sym_RPAREN, - STATE(186), 1, - sym_math_operator, - STATE(187), 1, - sym_logic_operator, - ACTIONS(330), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(324), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(328), 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, - [17412] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(697), 5, - anon_sym_LPAREN, - anon_sym_LBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - ACTIONS(695), 12, - 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_length, - anon_sym_output, - anon_sym_random, - [17437] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(689), 1, - anon_sym_DASH_GT, - STATE(186), 1, - sym_math_operator, - STATE(187), 1, - sym_logic_operator, - ACTIONS(196), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(194), 11, - anon_sym_RPAREN, - 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, - [17468] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(689), 1, - anon_sym_DASH_GT, - STATE(186), 1, - sym_math_operator, - STATE(187), 1, - sym_logic_operator, - ACTIONS(202), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(200), 11, - anon_sym_RPAREN, - 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, - [17499] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(326), 1, + ACTIONS(328), 1, anon_sym_DASH, ACTIONS(629), 1, anon_sym_DASH_GT, - STATE(173), 1, + ACTIONS(687), 1, + anon_sym_EQ_GT, + STATE(167), 1, sym_logic_operator, - STATE(174), 1, + STATE(168), 1, sym_math_operator, - ACTIONS(330), 2, + ACTIONS(332), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(324), 4, + ACTIONS(326), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(328), 6, + 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, - [17533] = 8, + [17814] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(318), 1, + ACTIONS(691), 1, anon_sym_DASH_GT, - ACTIONS(326), 1, - anon_sym_DASH, - STATE(173), 1, - sym_logic_operator, - STATE(174), 1, - sym_math_operator, - ACTIONS(330), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(324), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(328), 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, - [17567] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(198), 1, - anon_sym_DASH_GT, - ACTIONS(326), 1, - anon_sym_DASH, - STATE(173), 1, - sym_logic_operator, - STATE(174), 1, - sym_math_operator, - ACTIONS(330), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(324), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(328), 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, - [17601] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(699), 16, + ACTIONS(689), 16, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, @@ -18455,38 +18815,121 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_num, anon_sym_str, anon_sym_option, - [17623] = 8, + [17839] = 9, ACTIONS(3), 1, sym__comment, - ACTIONS(326), 1, + ACTIONS(328), 1, anon_sym_DASH, - ACTIONS(552), 1, + ACTIONS(629), 1, anon_sym_DASH_GT, - STATE(173), 1, + ACTIONS(693), 1, + anon_sym_LBRACE, + STATE(167), 1, sym_logic_operator, - STATE(174), 1, + STATE(168), 1, sym_math_operator, - ACTIONS(330), 2, + ACTIONS(332), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(324), 4, + ACTIONS(326), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(328), 6, + 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, - [17657] = 5, + [17876] = 9, + ACTIONS(3), 1, + sym__comment, + ACTIONS(328), 1, + anon_sym_DASH, + ACTIONS(679), 1, + anon_sym_DASH_GT, + ACTIONS(695), 1, + anon_sym_RPAREN, + STATE(186), 1, + sym_math_operator, + STATE(187), 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, + [17913] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(679), 1, + anon_sym_DASH_GT, + STATE(186), 1, + sym_math_operator, + STATE(187), 1, + sym_logic_operator, + ACTIONS(192), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(190), 11, + anon_sym_RPAREN, + 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, + [17944] = 9, + ACTIONS(3), 1, + sym__comment, + ACTIONS(328), 1, + anon_sym_DASH, + ACTIONS(679), 1, + anon_sym_DASH_GT, + ACTIONS(697), 1, + anon_sym_RPAREN, + STATE(186), 1, + sym_math_operator, + STATE(187), 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, + [17981] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(210), 1, anon_sym_LPAREN, - ACTIONS(701), 1, + ACTIONS(699), 1, anon_sym_RPAREN, ACTIONS(208), 3, anon_sym_DASH, @@ -18504,7 +18947,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - [17685] = 2, + [18009] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(701), 16, + 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, + [18031] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(703), 16, @@ -18524,36 +18987,140 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_num, anon_sym_str, anon_sym_option, - [17707] = 8, + [18053] = 8, ACTIONS(3), 1, sym__comment, - ACTIONS(326), 1, + ACTIONS(328), 1, anon_sym_DASH, - ACTIONS(562), 1, + ACTIONS(334), 1, anon_sym_DASH_GT, - STATE(173), 1, + STATE(167), 1, sym_logic_operator, - STATE(174), 1, + STATE(168), 1, sym_math_operator, - ACTIONS(330), 2, + ACTIONS(332), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(324), 4, + ACTIONS(326), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(328), 6, + 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, - [17741] = 2, + [18087] = 8, ACTIONS(3), 1, sym__comment, - ACTIONS(669), 16, + ACTIONS(328), 1, + anon_sym_DASH, + ACTIONS(614), 1, + anon_sym_DASH_GT, + STATE(167), 1, + sym_logic_operator, + STATE(168), 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, + [18121] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(194), 1, + anon_sym_DASH_GT, + ACTIONS(328), 1, + anon_sym_DASH, + STATE(167), 1, + sym_logic_operator, + STATE(168), 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, + [18155] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(328), 1, + anon_sym_DASH, + ACTIONS(568), 1, + anon_sym_DASH_GT, + STATE(167), 1, + sym_logic_operator, + STATE(168), 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, + [18189] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(328), 1, + anon_sym_DASH, + ACTIONS(679), 1, + anon_sym_DASH_GT, + STATE(186), 1, + sym_math_operator, + STATE(187), 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, + [18223] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(689), 16, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, @@ -18570,159 +19137,85 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_num, anon_sym_str, anon_sym_option, - [17763] = 8, + [18245] = 8, ACTIONS(3), 1, sym__comment, - ACTIONS(204), 1, - anon_sym_DASH_GT, - ACTIONS(326), 1, - anon_sym_DASH, - STATE(173), 1, - sym_logic_operator, - STATE(174), 1, - sym_math_operator, - ACTIONS(330), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(324), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(328), 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, - [17797] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(326), 1, + ACTIONS(328), 1, anon_sym_DASH, ACTIONS(336), 1, anon_sym_DASH_GT, - STATE(173), 1, + STATE(167), 1, sym_logic_operator, - STATE(174), 1, + STATE(168), 1, sym_math_operator, - ACTIONS(330), 2, + ACTIONS(332), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(324), 4, + ACTIONS(326), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(328), 6, + 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, - [17831] = 4, + [18279] = 8, ACTIONS(3), 1, sym__comment, - ACTIONS(210), 2, - anon_sym_LPAREN, - anon_sym_RPAREN, - ACTIONS(208), 3, + ACTIONS(328), 1, anon_sym_DASH, + ACTIONS(679), 1, + anon_sym_DASH_GT, + STATE(167), 1, + sym_logic_operator, + STATE(168), 1, + sym_math_operator, + ACTIONS(332), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(206), 11, + 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, - anon_sym_DASH_GT, - [17857] = 8, + [18313] = 8, ACTIONS(3), 1, sym__comment, - ACTIONS(326), 1, + ACTIONS(328), 1, anon_sym_DASH, - ACTIONS(689), 1, + ACTIONS(665), 1, anon_sym_DASH_GT, - STATE(173), 1, + STATE(167), 1, sym_logic_operator, - STATE(174), 1, + STATE(168), 1, sym_math_operator, - ACTIONS(330), 2, + ACTIONS(332), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(324), 4, + ACTIONS(326), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(328), 6, + 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, - [17891] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(326), 1, - anon_sym_DASH, - ACTIONS(637), 1, - anon_sym_DASH_GT, - STATE(173), 1, - sym_logic_operator, - STATE(174), 1, - sym_math_operator, - ACTIONS(330), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(324), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(328), 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, - [17925] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(326), 1, - anon_sym_DASH, - ACTIONS(689), 1, - anon_sym_DASH_GT, - STATE(186), 1, - sym_math_operator, - STATE(187), 1, - sym_logic_operator, - ACTIONS(330), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(324), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(328), 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, - [17959] = 5, + [18347] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(210), 1, @@ -18745,59 +19238,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - [17987] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(326), 1, - anon_sym_DASH, - ACTIONS(342), 1, - anon_sym_DASH_GT, - STATE(173), 1, - sym_logic_operator, - STATE(174), 1, - sym_math_operator, - ACTIONS(330), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(324), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(328), 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, - [18021] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(326), 1, - anon_sym_DASH, - ACTIONS(334), 1, - anon_sym_DASH_GT, - STATE(173), 1, - sym_logic_operator, - STATE(174), 1, - sym_math_operator, - ACTIONS(330), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(324), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(328), 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, - [18055] = 2, + [18375] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(707), 16, @@ -18817,7 +19258,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_num, anon_sym_str, anon_sym_option, - [18077] = 5, + [18397] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(210), 2, + anon_sym_LPAREN, + 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, + [18423] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(210), 1, @@ -18840,64 +19303,126 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - [18105] = 4, + [18451] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(328), 1, + anon_sym_DASH, + ACTIONS(342), 1, + anon_sym_DASH_GT, + STATE(167), 1, + sym_logic_operator, + STATE(168), 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, + [18485] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(328), 1, + anon_sym_DASH, + ACTIONS(629), 1, + anon_sym_DASH_GT, + STATE(167), 1, + sym_logic_operator, + STATE(168), 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, + [18519] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(204), 1, + anon_sym_DASH_GT, + ACTIONS(328), 1, + anon_sym_DASH, + STATE(167), 1, + sym_logic_operator, + STATE(168), 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, + [18553] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(318), 1, + anon_sym_DASH_GT, + ACTIONS(328), 1, + anon_sym_DASH, + STATE(167), 1, + sym_logic_operator, + STATE(168), 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, + [18587] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(711), 1, - anon_sym_RPAREN, - ACTIONS(276), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(274), 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, - [18130] = 4, - ACTIONS(3), 1, - sym__comment, + anon_sym_LPAREN, ACTIONS(713), 1, anon_sym_RPAREN, - ACTIONS(276), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(274), 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, - [18155] = 8, - ACTIONS(3), 1, - sym__comment, ACTIONS(715), 1, - anon_sym_LPAREN, - ACTIONS(717), 1, - anon_sym_RPAREN, - ACTIONS(719), 1, anon_sym_LBRACK, - ACTIONS(723), 1, + ACTIONS(719), 1, anon_sym_option, STATE(361), 1, aux_sym_type_repeat1, STATE(364), 1, sym_type, - ACTIONS(721), 9, + ACTIONS(717), 9, anon_sym_none, anon_sym_any, anon_sym_bool, @@ -18907,41 +19432,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_map, anon_sym_num, anon_sym_str, - [18188] = 8, + [18620] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(715), 1, - anon_sym_LPAREN, - ACTIONS(719), 1, - anon_sym_LBRACK, - ACTIONS(723), 1, - anon_sym_option, - ACTIONS(725), 1, + ACTIONS(721), 1, anon_sym_RPAREN, - STATE(363), 1, - aux_sym_type_repeat1, - STATE(364), 1, - sym_type, - ACTIONS(721), 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, - [18221] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(727), 1, - anon_sym_RPAREN, - ACTIONS(276), 3, + ACTIONS(290), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(274), 11, + ACTIONS(288), 11, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, @@ -18953,22 +19453,43 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - [18246] = 8, + [18645] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(729), 1, - anon_sym_LPAREN, - ACTIONS(732), 1, + ACTIONS(723), 1, anon_sym_RPAREN, - ACTIONS(734), 1, + ACTIONS(290), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(288), 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, + [18670] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(711), 1, + anon_sym_LPAREN, + ACTIONS(715), 1, anon_sym_LBRACK, - ACTIONS(740), 1, + ACTIONS(719), 1, anon_sym_option, - STATE(363), 1, + ACTIONS(725), 1, + anon_sym_RPAREN, + STATE(362), 1, aux_sym_type_repeat1, STATE(364), 1, sym_type, - ACTIONS(737), 9, + ACTIONS(717), 9, anon_sym_none, anon_sym_any, anon_sym_bool, @@ -18978,7 +19499,53 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_map, anon_sym_num, anon_sym_str, - [18279] = 3, + [18703] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(727), 1, + anon_sym_LPAREN, + ACTIONS(730), 1, + anon_sym_RPAREN, + ACTIONS(732), 1, + anon_sym_LBRACK, + ACTIONS(738), 1, + anon_sym_option, + STATE(362), 1, + aux_sym_type_repeat1, + STATE(364), 1, + sym_type, + ACTIONS(735), 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, + [18736] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(741), 1, + anon_sym_RPAREN, + ACTIONS(290), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(288), 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, + [18761] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(745), 1, @@ -18997,18 +19564,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_num, anon_sym_str, anon_sym_option, - [18301] = 6, + [18783] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(715), 1, + ACTIONS(711), 1, anon_sym_LPAREN, - ACTIONS(719), 1, + ACTIONS(715), 1, anon_sym_LBRACK, - ACTIONS(723), 1, + ACTIONS(719), 1, anon_sym_option, - STATE(356), 1, + STATE(421), 1, sym_type, - ACTIONS(721), 9, + ACTIONS(717), 9, anon_sym_none, anon_sym_any, anon_sym_bool, @@ -19018,18 +19585,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_map, anon_sym_num, anon_sym_str, - [18328] = 6, + [18810] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(715), 1, + ACTIONS(711), 1, anon_sym_LPAREN, - ACTIONS(719), 1, + ACTIONS(715), 1, anon_sym_LBRACK, - ACTIONS(723), 1, + ACTIONS(719), 1, anon_sym_option, - STATE(341), 1, + STATE(351), 1, sym_type, - ACTIONS(721), 9, + ACTIONS(717), 9, anon_sym_none, anon_sym_any, anon_sym_bool, @@ -19039,18 +19606,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_map, anon_sym_num, anon_sym_str, - [18355] = 6, + [18837] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(715), 1, + ACTIONS(711), 1, anon_sym_LPAREN, - ACTIONS(719), 1, + ACTIONS(715), 1, anon_sym_LBRACK, - ACTIONS(723), 1, + ACTIONS(719), 1, anon_sym_option, - STATE(419), 1, + STATE(434), 1, sym_type, - ACTIONS(721), 9, + ACTIONS(717), 9, anon_sym_none, anon_sym_any, anon_sym_bool, @@ -19060,18 +19627,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_map, anon_sym_num, anon_sym_str, - [18382] = 6, + [18864] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(715), 1, + ACTIONS(711), 1, anon_sym_LPAREN, - ACTIONS(719), 1, + ACTIONS(715), 1, anon_sym_LBRACK, - ACTIONS(723), 1, + ACTIONS(719), 1, anon_sym_option, - STATE(426), 1, + STATE(423), 1, sym_type, - ACTIONS(721), 9, + ACTIONS(717), 9, anon_sym_none, anon_sym_any, anon_sym_bool, @@ -19081,10 +19648,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_map, anon_sym_num, anon_sym_str, - [18409] = 2, + [18891] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(732), 13, + ACTIONS(711), 1, + anon_sym_LPAREN, + ACTIONS(715), 1, + anon_sym_LBRACK, + ACTIONS(719), 1, + anon_sym_option, + STATE(340), 1, + sym_type, + ACTIONS(717), 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, + [18918] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(730), 13, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACK, @@ -19098,64 +19686,43 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_num, anon_sym_str, anon_sym_option, - [18428] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(715), 1, - anon_sym_LPAREN, - ACTIONS(719), 1, - anon_sym_LBRACK, - ACTIONS(723), 1, - anon_sym_option, - STATE(421), 1, - sym_type, - ACTIONS(721), 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, - [18455] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(543), 1, - sym_identifier, - ACTIONS(610), 1, - anon_sym_elseif, - ACTIONS(747), 1, - anon_sym_else, - STATE(294), 1, - sym_else, - STATE(275), 2, - sym_else_if, - aux_sym_if_else_repeat1, - ACTIONS(541), 3, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RBRACE, - [18480] = 7, + [18937] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(535), 1, sym_identifier, - ACTIONS(610), 1, + ACTIONS(616), 1, anon_sym_elseif, ACTIONS(747), 1, anon_sym_else, - STATE(293), 1, + STATE(298), 1, sym_else, - STATE(371), 2, + STATE(274), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(533), 3, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, - [18505] = 3, + [18962] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(543), 1, + sym_identifier, + ACTIONS(616), 1, + anon_sym_elseif, + ACTIONS(747), 1, + anon_sym_else, + STATE(290), 1, + sym_else, + STATE(371), 2, + sym_else_if, + aux_sym_if_else_repeat1, + ACTIONS(541), 3, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + [18987] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(749), 2, @@ -19168,98 +19735,89 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - [18521] = 3, + [19003] = 3, ACTIONS(3), 1, sym__comment, - STATE(31), 1, + STATE(28), 1, sym_assignment_operator, ACTIONS(218), 3, anon_sym_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - [18533] = 3, + [19015] = 3, ACTIONS(3), 1, sym__comment, - STATE(42), 1, + STATE(30), 1, sym_assignment_operator, ACTIONS(218), 3, anon_sym_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - [18545] = 3, - ACTIONS(3), 1, - sym__comment, - STATE(27), 1, - sym_assignment_operator, - ACTIONS(218), 3, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - [18557] = 4, + [19027] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(753), 1, anon_sym_EQ, - STATE(42), 1, + STATE(36), 1, sym_assignment_operator, ACTIONS(218), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - [18571] = 4, + [19041] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(659), 1, - anon_sym_async, - ACTIONS(661), 1, - anon_sym_LBRACE, - STATE(255), 1, - sym_block, - [18584] = 4, + STATE(36), 1, + sym_assignment_operator, + ACTIONS(218), 3, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + [19053] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(655), 1, + ACTIONS(649), 1, anon_sym_async, - ACTIONS(657), 1, + ACTIONS(651), 1, anon_sym_LBRACE, STATE(296), 1, sym_block, - [18597] = 4, + [19066] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(649), 1, + anon_sym_async, + ACTIONS(651), 1, + anon_sym_LBRACE, + STATE(270), 1, + sym_block, + [19079] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(755), 1, sym_identifier, ACTIONS(757), 1, anon_sym_RBRACE, - STATE(395), 1, + STATE(394), 1, aux_sym_map_repeat1, - [18610] = 4, + [19092] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(647), 1, + ACTIONS(671), 1, anon_sym_async, - ACTIONS(649), 1, + ACTIONS(673), 1, anon_sym_LBRACE, STATE(296), 1, sym_block, - [18623] = 4, + [19105] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(647), 1, + ACTIONS(671), 1, anon_sym_async, - ACTIONS(649), 1, + ACTIONS(673), 1, anon_sym_LBRACE, - STATE(235), 1, + STATE(95), 1, sym_block, - [18636] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(659), 1, - anon_sym_async, - ACTIONS(661), 1, - anon_sym_LBRACE, - STATE(62), 1, - sym_block, - [18649] = 4, + [19118] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(759), 1, @@ -19268,389 +19826,398 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, STATE(398), 1, aux_sym_function_repeat1, - [18662] = 4, + [19131] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(647), 1, - anon_sym_async, - ACTIONS(649), 1, - anon_sym_LBRACE, - STATE(228), 1, - sym_block, - [18675] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(759), 1, + ACTIONS(755), 1, sym_identifier, ACTIONS(763), 1, - anon_sym_RPAREN, - STATE(398), 1, - aux_sym_function_repeat1, - [18688] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(755), 1, - sym_identifier, - ACTIONS(765), 1, anon_sym_RBRACE, - STATE(395), 1, + STATE(394), 1, aux_sym_map_repeat1, - [18701] = 3, + [19144] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(769), 1, + ACTIONS(767), 1, anon_sym_COMMA, - ACTIONS(767), 2, + ACTIONS(765), 2, anon_sym_RBRACE, sym_identifier, - [18712] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(655), 1, - anon_sym_async, - ACTIONS(657), 1, - anon_sym_LBRACE, - STATE(95), 1, - sym_block, - [18725] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(773), 1, - anon_sym_COMMA, - ACTIONS(771), 2, - anon_sym_RBRACE, - sym_identifier, - [18736] = 4, + [19155] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(759), 1, sym_identifier, - ACTIONS(775), 1, + ACTIONS(769), 1, anon_sym_RPAREN, STATE(398), 1, aux_sym_function_repeat1, - [18749] = 4, + [19168] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(659), 1, + ACTIONS(653), 1, anon_sym_async, - ACTIONS(661), 1, + ACTIONS(655), 1, anon_sym_LBRACE, - STATE(60), 1, + STATE(62), 1, sym_block, - [18762] = 4, + [19181] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(755), 1, sym_identifier, - ACTIONS(777), 1, + ACTIONS(771), 1, anon_sym_RBRACE, - STATE(395), 1, + STATE(394), 1, aux_sym_map_repeat1, - [18775] = 3, + [19194] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(781), 1, + ACTIONS(759), 1, + sym_identifier, + ACTIONS(773), 1, + anon_sym_RPAREN, + STATE(398), 1, + aux_sym_function_repeat1, + [19207] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(653), 1, + anon_sym_async, + ACTIONS(655), 1, + anon_sym_LBRACE, + STATE(224), 1, + sym_block, + [19220] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(671), 1, + anon_sym_async, + ACTIONS(673), 1, + anon_sym_LBRACE, + STATE(93), 1, + sym_block, + [19233] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(777), 1, anon_sym_COMMA, - ACTIONS(779), 2, + ACTIONS(775), 2, anon_sym_RPAREN, sym_identifier, - [18786] = 4, + [19244] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(779), 1, + anon_sym_EQ, + ACTIONS(781), 1, + anon_sym_LT, + STATE(424), 1, + sym_type_definition, + [19257] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(783), 1, sym_identifier, ACTIONS(786), 1, anon_sym_RBRACE, - STATE(395), 1, + STATE(394), 1, aux_sym_map_repeat1, - [18799] = 4, + [19270] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(788), 1, - anon_sym_EQ, - ACTIONS(790), 1, - anon_sym_LT, - STATE(424), 1, - sym_type_definition, - [18812] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(655), 1, + ACTIONS(649), 1, anon_sym_async, - ACTIONS(657), 1, + ACTIONS(651), 1, anon_sym_LBRACE, - STATE(96), 1, + STATE(252), 1, sym_block, - [18825] = 4, + [19283] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(779), 1, + ACTIONS(653), 1, + anon_sym_async, + ACTIONS(655), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym_block, + [19296] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(790), 1, + anon_sym_COMMA, + ACTIONS(788), 2, + anon_sym_RBRACE, + sym_identifier, + [19307] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(775), 1, anon_sym_RPAREN, ACTIONS(792), 1, sym_identifier, STATE(398), 1, aux_sym_function_repeat1, - [18838] = 3, + [19320] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(790), 1, - anon_sym_LT, - STATE(385), 1, - sym_type_definition, - [18848] = 3, + ACTIONS(256), 1, + anon_sym_LPAREN, + ACTIONS(795), 1, + anon_sym_RPAREN, + [19330] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(755), 1, sym_identifier, - STATE(387), 1, + STATE(384), 1, aux_sym_map_repeat1, - [18858] = 3, + [19340] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(250), 1, - anon_sym_LPAREN, - ACTIONS(795), 1, - anon_sym_RPAREN, - [18868] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(790), 1, + ACTIONS(781), 1, anon_sym_LT, - STATE(389), 1, + STATE(379), 1, sym_type_definition, - [18878] = 3, + [19350] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(790), 1, + ACTIONS(781), 1, anon_sym_LT, - STATE(392), 1, + STATE(396), 1, sym_type_definition, - [18888] = 3, + [19360] = 2, ACTIONS(3), 1, sym__comment, - ACTIONS(790), 1, - anon_sym_LT, - STATE(394), 1, - sym_type_definition, - [18898] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(790), 1, - anon_sym_LT, - STATE(383), 1, - sym_type_definition, - [18908] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(767), 2, + ACTIONS(788), 2, anon_sym_RBRACE, sym_identifier, - [18916] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(797), 2, - anon_sym_RBRACE, - sym_identifier, - [18924] = 3, + [19368] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(755), 1, sym_identifier, STATE(380), 1, aux_sym_map_repeat1, - [18934] = 3, + [19378] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(250), 1, - anon_sym_LPAREN, - ACTIONS(799), 1, - anon_sym_RPAREN, - [18944] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(790), 1, + ACTIONS(781), 1, anon_sym_LT, - STATE(382), 1, + STATE(392), 1, sym_type_definition, - [18954] = 3, + [19388] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(781), 1, + anon_sym_LT, + STATE(387), 1, + sym_type_definition, + [19398] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(781), 1, + anon_sym_LT, + STATE(395), 1, + sym_type_definition, + [19408] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(755), 1, sym_identifier, - STATE(393), 1, + STATE(388), 1, aux_sym_map_repeat1, - [18964] = 2, + [19418] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(781), 1, + anon_sym_LT, + STATE(382), 1, + sym_type_definition, + [19428] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(797), 2, + anon_sym_RBRACE, + sym_identifier, + [19436] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(256), 1, + anon_sym_LPAREN, + ACTIONS(799), 1, + anon_sym_RPAREN, + [19446] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(801), 2, anon_sym_RPAREN, sym_identifier, - [18972] = 3, + [19454] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(250), 1, + ACTIONS(256), 1, anon_sym_LPAREN, ACTIONS(803), 1, anon_sym_RPAREN, - [18982] = 3, + [19464] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(790), 1, + ACTIONS(781), 1, anon_sym_LT, - STATE(397), 1, + STATE(391), 1, sym_type_definition, - [18992] = 2, + [19474] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(805), 1, anon_sym_COLON, - [18999] = 2, + [19481] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(807), 1, anon_sym_LBRACE, - [19006] = 2, + [19488] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(809), 1, - anon_sym_LPAREN, - [19013] = 2, + anon_sym_COLON, + [19495] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(811), 1, - anon_sym_in, - [19020] = 2, + anon_sym_LPAREN, + [19502] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(813), 1, - anon_sym_GT, - [19027] = 2, + anon_sym_in, + [19509] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(815), 1, anon_sym_COLON, - [19034] = 2, + [19516] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(817), 1, - anon_sym_RBRACK, - [19041] = 2, + anon_sym_GT, + [19523] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(819), 1, - anon_sym_LBRACE, - [19048] = 2, + anon_sym_COLON, + [19530] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(821), 1, - anon_sym_COLON, - [19055] = 2, + anon_sym_RBRACK, + [19537] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(823), 1, anon_sym_EQ, - [19062] = 2, + [19544] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(825), 1, anon_sym_in, - [19069] = 2, + [19551] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(687), 1, + anon_sym_EQ_GT, + [19558] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(827), 1, - anon_sym_RPAREN, - [19076] = 2, + anon_sym_in, + [19565] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(829), 1, - anon_sym_LPAREN, - [19083] = 2, + anon_sym_LBRACE, + [19572] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(831), 1, anon_sym_LBRACE, - [19090] = 2, + [19579] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(833), 1, - anon_sym_in, - [19097] = 2, + anon_sym_LPAREN, + [19586] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(835), 1, - anon_sym_COLON, - [19104] = 2, + anon_sym_LBRACE, + [19593] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(837), 1, - anon_sym_LBRACE, - [19111] = 2, + anon_sym_LPAREN, + [19600] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(839), 1, - anon_sym_LPAREN, - [19118] = 2, + sym_identifier, + [19607] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(841), 1, - sym_identifier, - [19125] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(673), 1, - anon_sym_EQ_GT, - [19132] = 2, + anon_sym_RPAREN, + [19614] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(843), 1, anon_sym_COLON, - [19139] = 2, + [19621] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(845), 1, - anon_sym_LBRACE, - [19146] = 2, + anon_sym_COLON, + [19628] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(847), 1, anon_sym_LPAREN, - [19153] = 2, + [19635] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(849), 1, anon_sym_COLON, - [19160] = 2, + [19642] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(851), 1, - anon_sym_LPAREN, - [19167] = 2, + anon_sym_LBRACE, + [19649] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(853), 1, ts_builtin_sym_end, - [19174] = 2, + [19656] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(855), 1, sym_identifier, - [19181] = 2, + [19663] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(857), 1, - anon_sym_COLON, - [19188] = 2, + anon_sym_LPAREN, + [19670] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(859), 1, anon_sym_LPAREN, - [19195] = 2, + [19677] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(861), 1, sym_identifier, - [19202] = 2, + [19684] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(863), 1, @@ -19659,832 +20226,832 @@ static const uint16_t ts_small_parse_table[] = { static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(27)] = 0, - [SMALL_STATE(28)] = 113, - [SMALL_STATE(29)] = 226, - [SMALL_STATE(30)] = 339, - [SMALL_STATE(31)] = 452, - [SMALL_STATE(32)] = 565, - [SMALL_STATE(33)] = 678, - [SMALL_STATE(34)] = 791, - [SMALL_STATE(35)] = 904, - [SMALL_STATE(36)] = 1017, - [SMALL_STATE(37)] = 1130, - [SMALL_STATE(38)] = 1243, - [SMALL_STATE(39)] = 1356, - [SMALL_STATE(40)] = 1469, - [SMALL_STATE(41)] = 1582, - [SMALL_STATE(42)] = 1695, - [SMALL_STATE(43)] = 1808, - [SMALL_STATE(44)] = 1921, - [SMALL_STATE(45)] = 1981, - [SMALL_STATE(46)] = 2043, - [SMALL_STATE(47)] = 2105, - [SMALL_STATE(48)] = 2166, - [SMALL_STATE(49)] = 2235, - [SMALL_STATE(50)] = 2296, - [SMALL_STATE(51)] = 2355, - [SMALL_STATE(52)] = 2409, - [SMALL_STATE(53)] = 2465, - [SMALL_STATE(54)] = 2519, - [SMALL_STATE(55)] = 2573, - [SMALL_STATE(56)] = 2627, - [SMALL_STATE(57)] = 2681, - [SMALL_STATE(58)] = 2735, - [SMALL_STATE(59)] = 2791, - [SMALL_STATE(60)] = 2845, - [SMALL_STATE(61)] = 2899, - [SMALL_STATE(62)] = 2953, - [SMALL_STATE(63)] = 3007, - [SMALL_STATE(64)] = 3061, - [SMALL_STATE(65)] = 3115, - [SMALL_STATE(66)] = 3179, - [SMALL_STATE(67)] = 3233, - [SMALL_STATE(68)] = 3287, - [SMALL_STATE(69)] = 3341, - [SMALL_STATE(70)] = 3395, - [SMALL_STATE(71)] = 3449, - [SMALL_STATE(72)] = 3503, - [SMALL_STATE(73)] = 3557, - [SMALL_STATE(74)] = 3611, - [SMALL_STATE(75)] = 3665, - [SMALL_STATE(76)] = 3723, - [SMALL_STATE(77)] = 3791, - [SMALL_STATE(78)] = 3845, - [SMALL_STATE(79)] = 3899, - [SMALL_STATE(80)] = 3953, - [SMALL_STATE(81)] = 4010, - [SMALL_STATE(82)] = 4067, - [SMALL_STATE(83)] = 4132, - [SMALL_STATE(84)] = 4199, - [SMALL_STATE(85)] = 4254, - [SMALL_STATE(86)] = 4311, - [SMALL_STATE(87)] = 4368, - [SMALL_STATE(88)] = 4424, - [SMALL_STATE(89)] = 4480, - [SMALL_STATE(90)] = 4532, - [SMALL_STATE(91)] = 4586, - [SMALL_STATE(92)] = 4635, - [SMALL_STATE(93)] = 4684, - [SMALL_STATE(94)] = 4733, - [SMALL_STATE(95)] = 4782, - [SMALL_STATE(96)] = 4831, - [SMALL_STATE(97)] = 4880, - [SMALL_STATE(98)] = 4929, - [SMALL_STATE(99)] = 4978, - [SMALL_STATE(100)] = 5029, - [SMALL_STATE(101)] = 5078, - [SMALL_STATE(102)] = 5127, - [SMALL_STATE(103)] = 5176, - [SMALL_STATE(104)] = 5227, - [SMALL_STATE(105)] = 5276, - [SMALL_STATE(106)] = 5325, - [SMALL_STATE(107)] = 5374, - [SMALL_STATE(108)] = 5423, - [SMALL_STATE(109)] = 5472, - [SMALL_STATE(110)] = 5521, - [SMALL_STATE(111)] = 5570, - [SMALL_STATE(112)] = 5619, - [SMALL_STATE(113)] = 5668, - [SMALL_STATE(114)] = 5717, - [SMALL_STATE(115)] = 5770, - [SMALL_STATE(116)] = 5819, - [SMALL_STATE(117)] = 5868, - [SMALL_STATE(118)] = 5917, - [SMALL_STATE(119)] = 5979, - [SMALL_STATE(120)] = 6036, - [SMALL_STATE(121)] = 6088, - [SMALL_STATE(122)] = 6140, - [SMALL_STATE(123)] = 6223, - [SMALL_STATE(124)] = 6306, - [SMALL_STATE(125)] = 6389, - [SMALL_STATE(126)] = 6436, - [SMALL_STATE(127)] = 6516, - [SMALL_STATE(128)] = 6596, - [SMALL_STATE(129)] = 6676, - [SMALL_STATE(130)] = 6756, - [SMALL_STATE(131)] = 6814, - [SMALL_STATE(132)] = 6894, - [SMALL_STATE(133)] = 6954, - [SMALL_STATE(134)] = 7036, - [SMALL_STATE(135)] = 7118, - [SMALL_STATE(136)] = 7200, - [SMALL_STATE(137)] = 7282, - [SMALL_STATE(138)] = 7362, - [SMALL_STATE(139)] = 7442, - [SMALL_STATE(140)] = 7522, - [SMALL_STATE(141)] = 7602, - [SMALL_STATE(142)] = 7682, - [SMALL_STATE(143)] = 7764, - [SMALL_STATE(144)] = 7844, - [SMALL_STATE(145)] = 7924, - [SMALL_STATE(146)] = 8006, - [SMALL_STATE(147)] = 8086, - [SMALL_STATE(148)] = 8166, - [SMALL_STATE(149)] = 8246, - [SMALL_STATE(150)] = 8328, - [SMALL_STATE(151)] = 8410, - [SMALL_STATE(152)] = 8492, - [SMALL_STATE(153)] = 8572, - [SMALL_STATE(154)] = 8652, - [SMALL_STATE(155)] = 8732, - [SMALL_STATE(156)] = 8812, - [SMALL_STATE(157)] = 8871, - [SMALL_STATE(158)] = 8930, - [SMALL_STATE(159)] = 9004, - [SMALL_STATE(160)] = 9076, - [SMALL_STATE(161)] = 9150, - [SMALL_STATE(162)] = 9220, - [SMALL_STATE(163)] = 9294, - [SMALL_STATE(164)] = 9368, - [SMALL_STATE(165)] = 9442, - [SMALL_STATE(166)] = 9512, - [SMALL_STATE(167)] = 9586, - [SMALL_STATE(168)] = 9660, - [SMALL_STATE(169)] = 9734, - [SMALL_STATE(170)] = 9808, - [SMALL_STATE(171)] = 9882, - [SMALL_STATE(172)] = 9954, - [SMALL_STATE(173)] = 10028, - [SMALL_STATE(174)] = 10102, - [SMALL_STATE(175)] = 10176, - [SMALL_STATE(176)] = 10250, - [SMALL_STATE(177)] = 10324, - [SMALL_STATE(178)] = 10398, - [SMALL_STATE(179)] = 10472, - [SMALL_STATE(180)] = 10546, - [SMALL_STATE(181)] = 10616, - [SMALL_STATE(182)] = 10690, - [SMALL_STATE(183)] = 10764, - [SMALL_STATE(184)] = 10834, - [SMALL_STATE(185)] = 10908, - [SMALL_STATE(186)] = 10982, - [SMALL_STATE(187)] = 11056, - [SMALL_STATE(188)] = 11130, - [SMALL_STATE(189)] = 11204, - [SMALL_STATE(190)] = 11278, - [SMALL_STATE(191)] = 11352, - [SMALL_STATE(192)] = 11426, - [SMALL_STATE(193)] = 11500, - [SMALL_STATE(194)] = 11574, - [SMALL_STATE(195)] = 11648, - [SMALL_STATE(196)] = 11718, - [SMALL_STATE(197)] = 11792, - [SMALL_STATE(198)] = 11866, - [SMALL_STATE(199)] = 11940, - [SMALL_STATE(200)] = 12014, - [SMALL_STATE(201)] = 12088, - [SMALL_STATE(202)] = 12162, - [SMALL_STATE(203)] = 12236, - [SMALL_STATE(204)] = 12306, - [SMALL_STATE(205)] = 12380, - [SMALL_STATE(206)] = 12452, - [SMALL_STATE(207)] = 12524, - [SMALL_STATE(208)] = 12598, - [SMALL_STATE(209)] = 12672, - [SMALL_STATE(210)] = 12746, - [SMALL_STATE(211)] = 12820, - [SMALL_STATE(212)] = 12890, - [SMALL_STATE(213)] = 12938, - [SMALL_STATE(214)] = 12986, - [SMALL_STATE(215)] = 13029, - [SMALL_STATE(216)] = 13066, - [SMALL_STATE(217)] = 13109, - [SMALL_STATE(218)] = 13146, - [SMALL_STATE(219)] = 13187, - [SMALL_STATE(220)] = 13224, - [SMALL_STATE(221)] = 13261, - [SMALL_STATE(222)] = 13298, - [SMALL_STATE(223)] = 13341, - [SMALL_STATE(224)] = 13377, - [SMALL_STATE(225)] = 13413, - [SMALL_STATE(226)] = 13455, - [SMALL_STATE(227)] = 13491, - [SMALL_STATE(228)] = 13533, - [SMALL_STATE(229)] = 13569, - [SMALL_STATE(230)] = 13605, - [SMALL_STATE(231)] = 13641, - [SMALL_STATE(232)] = 13677, - [SMALL_STATE(233)] = 13713, - [SMALL_STATE(234)] = 13749, - [SMALL_STATE(235)] = 13785, - [SMALL_STATE(236)] = 13821, - [SMALL_STATE(237)] = 13857, - [SMALL_STATE(238)] = 13897, - [SMALL_STATE(239)] = 13933, - [SMALL_STATE(240)] = 13969, - [SMALL_STATE(241)] = 14005, - [SMALL_STATE(242)] = 14043, - [SMALL_STATE(243)] = 14079, - [SMALL_STATE(244)] = 14115, - [SMALL_STATE(245)] = 14151, - [SMALL_STATE(246)] = 14187, - [SMALL_STATE(247)] = 14227, - [SMALL_STATE(248)] = 14263, - [SMALL_STATE(249)] = 14299, - [SMALL_STATE(250)] = 14335, - [SMALL_STATE(251)] = 14371, - [SMALL_STATE(252)] = 14407, - [SMALL_STATE(253)] = 14442, - [SMALL_STATE(254)] = 14477, - [SMALL_STATE(255)] = 14512, - [SMALL_STATE(256)] = 14547, - [SMALL_STATE(257)] = 14582, - [SMALL_STATE(258)] = 14619, - [SMALL_STATE(259)] = 14654, - [SMALL_STATE(260)] = 14689, - [SMALL_STATE(261)] = 14724, - [SMALL_STATE(262)] = 14761, - [SMALL_STATE(263)] = 14796, - [SMALL_STATE(264)] = 14831, - [SMALL_STATE(265)] = 14866, - [SMALL_STATE(266)] = 14901, - [SMALL_STATE(267)] = 14957, - [SMALL_STATE(268)] = 14999, - [SMALL_STATE(269)] = 15055, - [SMALL_STATE(270)] = 15111, - [SMALL_STATE(271)] = 15153, - [SMALL_STATE(272)] = 15209, - [SMALL_STATE(273)] = 15265, - [SMALL_STATE(274)] = 15321, - [SMALL_STATE(275)] = 15377, - [SMALL_STATE(276)] = 15414, - [SMALL_STATE(277)] = 15461, - [SMALL_STATE(278)] = 15503, - [SMALL_STATE(279)] = 15537, - [SMALL_STATE(280)] = 15569, - [SMALL_STATE(281)] = 15600, - [SMALL_STATE(282)] = 15631, - [SMALL_STATE(283)] = 15662, - [SMALL_STATE(284)] = 15693, - [SMALL_STATE(285)] = 15730, - [SMALL_STATE(286)] = 15761, - [SMALL_STATE(287)] = 15798, - [SMALL_STATE(288)] = 15827, - [SMALL_STATE(289)] = 15856, - [SMALL_STATE(290)] = 15885, - [SMALL_STATE(291)] = 15914, - [SMALL_STATE(292)] = 15943, - [SMALL_STATE(293)] = 15974, - [SMALL_STATE(294)] = 16003, - [SMALL_STATE(295)] = 16032, - [SMALL_STATE(296)] = 16061, - [SMALL_STATE(297)] = 16090, - [SMALL_STATE(298)] = 16119, - [SMALL_STATE(299)] = 16148, - [SMALL_STATE(300)] = 16177, - [SMALL_STATE(301)] = 16211, - [SMALL_STATE(302)] = 16245, - [SMALL_STATE(303)] = 16275, - [SMALL_STATE(304)] = 16317, - [SMALL_STATE(305)] = 16357, - [SMALL_STATE(306)] = 16389, - [SMALL_STATE(307)] = 16422, - [SMALL_STATE(308)] = 16465, - [SMALL_STATE(309)] = 16508, - [SMALL_STATE(310)] = 16551, - [SMALL_STATE(311)] = 16584, - [SMALL_STATE(312)] = 16611, - [SMALL_STATE(313)] = 16654, - [SMALL_STATE(314)] = 16685, - [SMALL_STATE(315)] = 16728, - [SMALL_STATE(316)] = 16771, - [SMALL_STATE(317)] = 16814, - [SMALL_STATE(318)] = 16857, - [SMALL_STATE(319)] = 16900, - [SMALL_STATE(320)] = 16943, - [SMALL_STATE(321)] = 16969, - [SMALL_STATE(322)] = 17003, - [SMALL_STATE(323)] = 17033, - [SMALL_STATE(324)] = 17059, - [SMALL_STATE(325)] = 17087, - [SMALL_STATE(326)] = 17115, - [SMALL_STATE(327)] = 17140, - [SMALL_STATE(328)] = 17177, - [SMALL_STATE(329)] = 17214, - [SMALL_STATE(330)] = 17251, - [SMALL_STATE(331)] = 17276, - [SMALL_STATE(332)] = 17301, - [SMALL_STATE(333)] = 17338, - [SMALL_STATE(334)] = 17375, - [SMALL_STATE(335)] = 17412, - [SMALL_STATE(336)] = 17437, - [SMALL_STATE(337)] = 17468, - [SMALL_STATE(338)] = 17499, - [SMALL_STATE(339)] = 17533, - [SMALL_STATE(340)] = 17567, - [SMALL_STATE(341)] = 17601, - [SMALL_STATE(342)] = 17623, - [SMALL_STATE(343)] = 17657, - [SMALL_STATE(344)] = 17685, - [SMALL_STATE(345)] = 17707, - [SMALL_STATE(346)] = 17741, - [SMALL_STATE(347)] = 17763, - [SMALL_STATE(348)] = 17797, - [SMALL_STATE(349)] = 17831, - [SMALL_STATE(350)] = 17857, - [SMALL_STATE(351)] = 17891, - [SMALL_STATE(352)] = 17925, - [SMALL_STATE(353)] = 17959, - [SMALL_STATE(354)] = 17987, - [SMALL_STATE(355)] = 18021, - [SMALL_STATE(356)] = 18055, - [SMALL_STATE(357)] = 18077, - [SMALL_STATE(358)] = 18105, - [SMALL_STATE(359)] = 18130, - [SMALL_STATE(360)] = 18155, - [SMALL_STATE(361)] = 18188, - [SMALL_STATE(362)] = 18221, - [SMALL_STATE(363)] = 18246, - [SMALL_STATE(364)] = 18279, - [SMALL_STATE(365)] = 18301, - [SMALL_STATE(366)] = 18328, - [SMALL_STATE(367)] = 18355, - [SMALL_STATE(368)] = 18382, - [SMALL_STATE(369)] = 18409, - [SMALL_STATE(370)] = 18428, - [SMALL_STATE(371)] = 18455, - [SMALL_STATE(372)] = 18480, - [SMALL_STATE(373)] = 18505, - [SMALL_STATE(374)] = 18521, - [SMALL_STATE(375)] = 18533, - [SMALL_STATE(376)] = 18545, - [SMALL_STATE(377)] = 18557, - [SMALL_STATE(378)] = 18571, - [SMALL_STATE(379)] = 18584, - [SMALL_STATE(380)] = 18597, - [SMALL_STATE(381)] = 18610, - [SMALL_STATE(382)] = 18623, - [SMALL_STATE(383)] = 18636, - [SMALL_STATE(384)] = 18649, - [SMALL_STATE(385)] = 18662, - [SMALL_STATE(386)] = 18675, - [SMALL_STATE(387)] = 18688, - [SMALL_STATE(388)] = 18701, - [SMALL_STATE(389)] = 18712, - [SMALL_STATE(390)] = 18725, - [SMALL_STATE(391)] = 18736, - [SMALL_STATE(392)] = 18749, - [SMALL_STATE(393)] = 18762, - [SMALL_STATE(394)] = 18775, - [SMALL_STATE(395)] = 18786, - [SMALL_STATE(396)] = 18799, - [SMALL_STATE(397)] = 18812, - [SMALL_STATE(398)] = 18825, - [SMALL_STATE(399)] = 18838, - [SMALL_STATE(400)] = 18848, - [SMALL_STATE(401)] = 18858, - [SMALL_STATE(402)] = 18868, - [SMALL_STATE(403)] = 18878, - [SMALL_STATE(404)] = 18888, - [SMALL_STATE(405)] = 18898, - [SMALL_STATE(406)] = 18908, - [SMALL_STATE(407)] = 18916, - [SMALL_STATE(408)] = 18924, - [SMALL_STATE(409)] = 18934, - [SMALL_STATE(410)] = 18944, - [SMALL_STATE(411)] = 18954, - [SMALL_STATE(412)] = 18964, - [SMALL_STATE(413)] = 18972, - [SMALL_STATE(414)] = 18982, - [SMALL_STATE(415)] = 18992, - [SMALL_STATE(416)] = 18999, - [SMALL_STATE(417)] = 19006, - [SMALL_STATE(418)] = 19013, - [SMALL_STATE(419)] = 19020, - [SMALL_STATE(420)] = 19027, - [SMALL_STATE(421)] = 19034, - [SMALL_STATE(422)] = 19041, - [SMALL_STATE(423)] = 19048, - [SMALL_STATE(424)] = 19055, - [SMALL_STATE(425)] = 19062, - [SMALL_STATE(426)] = 19069, - [SMALL_STATE(427)] = 19076, - [SMALL_STATE(428)] = 19083, - [SMALL_STATE(429)] = 19090, - [SMALL_STATE(430)] = 19097, - [SMALL_STATE(431)] = 19104, - [SMALL_STATE(432)] = 19111, - [SMALL_STATE(433)] = 19118, - [SMALL_STATE(434)] = 19125, - [SMALL_STATE(435)] = 19132, - [SMALL_STATE(436)] = 19139, - [SMALL_STATE(437)] = 19146, - [SMALL_STATE(438)] = 19153, - [SMALL_STATE(439)] = 19160, - [SMALL_STATE(440)] = 19167, - [SMALL_STATE(441)] = 19174, - [SMALL_STATE(442)] = 19181, - [SMALL_STATE(443)] = 19188, - [SMALL_STATE(444)] = 19195, - [SMALL_STATE(445)] = 19202, + [SMALL_STATE(28)] = 115, + [SMALL_STATE(29)] = 230, + [SMALL_STATE(30)] = 345, + [SMALL_STATE(31)] = 460, + [SMALL_STATE(32)] = 575, + [SMALL_STATE(33)] = 690, + [SMALL_STATE(34)] = 805, + [SMALL_STATE(35)] = 920, + [SMALL_STATE(36)] = 1035, + [SMALL_STATE(37)] = 1150, + [SMALL_STATE(38)] = 1265, + [SMALL_STATE(39)] = 1380, + [SMALL_STATE(40)] = 1495, + [SMALL_STATE(41)] = 1610, + [SMALL_STATE(42)] = 1725, + [SMALL_STATE(43)] = 1840, + [SMALL_STATE(44)] = 1955, + [SMALL_STATE(45)] = 2019, + [SMALL_STATE(46)] = 2083, + [SMALL_STATE(47)] = 2145, + [SMALL_STATE(48)] = 2206, + [SMALL_STATE(49)] = 2269, + [SMALL_STATE(50)] = 2332, + [SMALL_STATE(51)] = 2403, + [SMALL_STATE(52)] = 2459, + [SMALL_STATE(53)] = 2515, + [SMALL_STATE(54)] = 2571, + [SMALL_STATE(55)] = 2627, + [SMALL_STATE(56)] = 2683, + [SMALL_STATE(57)] = 2739, + [SMALL_STATE(58)] = 2795, + [SMALL_STATE(59)] = 2851, + [SMALL_STATE(60)] = 2907, + [SMALL_STATE(61)] = 2963, + [SMALL_STATE(62)] = 3019, + [SMALL_STATE(63)] = 3075, + [SMALL_STATE(64)] = 3131, + [SMALL_STATE(65)] = 3197, + [SMALL_STATE(66)] = 3253, + [SMALL_STATE(67)] = 3309, + [SMALL_STATE(68)] = 3365, + [SMALL_STATE(69)] = 3423, + [SMALL_STATE(70)] = 3479, + [SMALL_STATE(71)] = 3535, + [SMALL_STATE(72)] = 3591, + [SMALL_STATE(73)] = 3647, + [SMALL_STATE(74)] = 3703, + [SMALL_STATE(75)] = 3759, + [SMALL_STATE(76)] = 3829, + [SMALL_STATE(77)] = 3887, + [SMALL_STATE(78)] = 3947, + [SMALL_STATE(79)] = 4003, + [SMALL_STATE(80)] = 4059, + [SMALL_STATE(81)] = 4118, + [SMALL_STATE(82)] = 4177, + [SMALL_STATE(83)] = 4246, + [SMALL_STATE(84)] = 4303, + [SMALL_STATE(85)] = 4370, + [SMALL_STATE(86)] = 4429, + [SMALL_STATE(87)] = 4488, + [SMALL_STATE(88)] = 4546, + [SMALL_STATE(89)] = 4602, + [SMALL_STATE(90)] = 4656, + [SMALL_STATE(91)] = 4714, + [SMALL_STATE(92)] = 4765, + [SMALL_STATE(93)] = 4816, + [SMALL_STATE(94)] = 4867, + [SMALL_STATE(95)] = 4918, + [SMALL_STATE(96)] = 4969, + [SMALL_STATE(97)] = 5020, + [SMALL_STATE(98)] = 5071, + [SMALL_STATE(99)] = 5124, + [SMALL_STATE(100)] = 5175, + [SMALL_STATE(101)] = 5226, + [SMALL_STATE(102)] = 5277, + [SMALL_STATE(103)] = 5328, + [SMALL_STATE(104)] = 5379, + [SMALL_STATE(105)] = 5430, + [SMALL_STATE(106)] = 5481, + [SMALL_STATE(107)] = 5532, + [SMALL_STATE(108)] = 5583, + [SMALL_STATE(109)] = 5636, + [SMALL_STATE(110)] = 5687, + [SMALL_STATE(111)] = 5738, + [SMALL_STATE(112)] = 5789, + [SMALL_STATE(113)] = 5840, + [SMALL_STATE(114)] = 5891, + [SMALL_STATE(115)] = 5946, + [SMALL_STATE(116)] = 5997, + [SMALL_STATE(117)] = 6048, + [SMALL_STATE(118)] = 6099, + [SMALL_STATE(119)] = 6163, + [SMALL_STATE(120)] = 6222, + [SMALL_STATE(121)] = 6276, + [SMALL_STATE(122)] = 6330, + [SMALL_STATE(123)] = 6415, + [SMALL_STATE(124)] = 6500, + [SMALL_STATE(125)] = 6549, + [SMALL_STATE(126)] = 6634, + [SMALL_STATE(127)] = 6716, + [SMALL_STATE(128)] = 6798, + [SMALL_STATE(129)] = 6880, + [SMALL_STATE(130)] = 6940, + [SMALL_STATE(131)] = 7002, + [SMALL_STATE(132)] = 7086, + [SMALL_STATE(133)] = 7170, + [SMALL_STATE(134)] = 7254, + [SMALL_STATE(135)] = 7338, + [SMALL_STATE(136)] = 7422, + [SMALL_STATE(137)] = 7504, + [SMALL_STATE(138)] = 7588, + [SMALL_STATE(139)] = 7670, + [SMALL_STATE(140)] = 7752, + [SMALL_STATE(141)] = 7834, + [SMALL_STATE(142)] = 7916, + [SMALL_STATE(143)] = 7998, + [SMALL_STATE(144)] = 8080, + [SMALL_STATE(145)] = 8162, + [SMALL_STATE(146)] = 8246, + [SMALL_STATE(147)] = 8328, + [SMALL_STATE(148)] = 8410, + [SMALL_STATE(149)] = 8492, + [SMALL_STATE(150)] = 8574, + [SMALL_STATE(151)] = 8656, + [SMALL_STATE(152)] = 8740, + [SMALL_STATE(153)] = 8822, + [SMALL_STATE(154)] = 8904, + [SMALL_STATE(155)] = 8988, + [SMALL_STATE(156)] = 9070, + [SMALL_STATE(157)] = 9131, + [SMALL_STATE(158)] = 9192, + [SMALL_STATE(159)] = 9268, + [SMALL_STATE(160)] = 9344, + [SMALL_STATE(161)] = 9420, + [SMALL_STATE(162)] = 9496, + [SMALL_STATE(163)] = 9572, + [SMALL_STATE(164)] = 9648, + [SMALL_STATE(165)] = 9724, + [SMALL_STATE(166)] = 9800, + [SMALL_STATE(167)] = 9876, + [SMALL_STATE(168)] = 9952, + [SMALL_STATE(169)] = 10028, + [SMALL_STATE(170)] = 10102, + [SMALL_STATE(171)] = 10178, + [SMALL_STATE(172)] = 10254, + [SMALL_STATE(173)] = 10330, + [SMALL_STATE(174)] = 10406, + [SMALL_STATE(175)] = 10482, + [SMALL_STATE(176)] = 10558, + [SMALL_STATE(177)] = 10634, + [SMALL_STATE(178)] = 10710, + [SMALL_STATE(179)] = 10786, + [SMALL_STATE(180)] = 10862, + [SMALL_STATE(181)] = 10938, + [SMALL_STATE(182)] = 11014, + [SMALL_STATE(183)] = 11090, + [SMALL_STATE(184)] = 11162, + [SMALL_STATE(185)] = 11238, + [SMALL_STATE(186)] = 11312, + [SMALL_STATE(187)] = 11388, + [SMALL_STATE(188)] = 11464, + [SMALL_STATE(189)] = 11540, + [SMALL_STATE(190)] = 11616, + [SMALL_STATE(191)] = 11692, + [SMALL_STATE(192)] = 11766, + [SMALL_STATE(193)] = 11842, + [SMALL_STATE(194)] = 11918, + [SMALL_STATE(195)] = 11992, + [SMALL_STATE(196)] = 12068, + [SMALL_STATE(197)] = 12144, + [SMALL_STATE(198)] = 12216, + [SMALL_STATE(199)] = 12292, + [SMALL_STATE(200)] = 12364, + [SMALL_STATE(201)] = 12440, + [SMALL_STATE(202)] = 12512, + [SMALL_STATE(203)] = 12584, + [SMALL_STATE(204)] = 12660, + [SMALL_STATE(205)] = 12732, + [SMALL_STATE(206)] = 12808, + [SMALL_STATE(207)] = 12884, + [SMALL_STATE(208)] = 12960, + [SMALL_STATE(209)] = 13036, + [SMALL_STATE(210)] = 13112, + [SMALL_STATE(211)] = 13184, + [SMALL_STATE(212)] = 13260, + [SMALL_STATE(213)] = 13310, + [SMALL_STATE(214)] = 13360, + [SMALL_STATE(215)] = 13405, + [SMALL_STATE(216)] = 13444, + [SMALL_STATE(217)] = 13483, + [SMALL_STATE(218)] = 13522, + [SMALL_STATE(219)] = 13561, + [SMALL_STATE(220)] = 13600, + [SMALL_STATE(221)] = 13637, + [SMALL_STATE(222)] = 13674, + [SMALL_STATE(223)] = 13713, + [SMALL_STATE(224)] = 13756, + [SMALL_STATE(225)] = 13793, + [SMALL_STATE(226)] = 13830, + [SMALL_STATE(227)] = 13867, + [SMALL_STATE(228)] = 13904, + [SMALL_STATE(229)] = 13941, + [SMALL_STATE(230)] = 13978, + [SMALL_STATE(231)] = 14015, + [SMALL_STATE(232)] = 14052, + [SMALL_STATE(233)] = 14095, + [SMALL_STATE(234)] = 14132, + [SMALL_STATE(235)] = 14173, + [SMALL_STATE(236)] = 14210, + [SMALL_STATE(237)] = 14246, + [SMALL_STATE(238)] = 14282, + [SMALL_STATE(239)] = 14340, + [SMALL_STATE(240)] = 14376, + [SMALL_STATE(241)] = 14412, + [SMALL_STATE(242)] = 14448, + [SMALL_STATE(243)] = 14484, + [SMALL_STATE(244)] = 14520, + [SMALL_STATE(245)] = 14578, + [SMALL_STATE(246)] = 14614, + [SMALL_STATE(247)] = 14672, + [SMALL_STATE(248)] = 14730, + [SMALL_STATE(249)] = 14770, + [SMALL_STATE(250)] = 14806, + [SMALL_STATE(251)] = 14864, + [SMALL_STATE(252)] = 14902, + [SMALL_STATE(253)] = 14938, + [SMALL_STATE(254)] = 14980, + [SMALL_STATE(255)] = 15016, + [SMALL_STATE(256)] = 15052, + [SMALL_STATE(257)] = 15088, + [SMALL_STATE(258)] = 15128, + [SMALL_STATE(259)] = 15186, + [SMALL_STATE(260)] = 15228, + [SMALL_STATE(261)] = 15264, + [SMALL_STATE(262)] = 15300, + [SMALL_STATE(263)] = 15336, + [SMALL_STATE(264)] = 15372, + [SMALL_STATE(265)] = 15416, + [SMALL_STATE(266)] = 15452, + [SMALL_STATE(267)] = 15488, + [SMALL_STATE(268)] = 15524, + [SMALL_STATE(269)] = 15560, + [SMALL_STATE(270)] = 15596, + [SMALL_STATE(271)] = 15632, + [SMALL_STATE(272)] = 15668, + [SMALL_STATE(273)] = 15712, + [SMALL_STATE(274)] = 15770, + [SMALL_STATE(275)] = 15809, + [SMALL_STATE(276)] = 15846, + [SMALL_STATE(277)] = 15880, + [SMALL_STATE(278)] = 15913, + [SMALL_STATE(279)] = 15946, + [SMALL_STATE(280)] = 15993, + [SMALL_STATE(281)] = 16026, + [SMALL_STATE(282)] = 16059, + [SMALL_STATE(283)] = 16092, + [SMALL_STATE(284)] = 16126, + [SMALL_STATE(285)] = 16168, + [SMALL_STATE(286)] = 16199, + [SMALL_STATE(287)] = 16230, + [SMALL_STATE(288)] = 16261, + [SMALL_STATE(289)] = 16292, + [SMALL_STATE(290)] = 16323, + [SMALL_STATE(291)] = 16354, + [SMALL_STATE(292)] = 16391, + [SMALL_STATE(293)] = 16428, + [SMALL_STATE(294)] = 16459, + [SMALL_STATE(295)] = 16490, + [SMALL_STATE(296)] = 16521, + [SMALL_STATE(297)] = 16552, + [SMALL_STATE(298)] = 16585, + [SMALL_STATE(299)] = 16616, + [SMALL_STATE(300)] = 16647, + [SMALL_STATE(301)] = 16679, + [SMALL_STATE(302)] = 16708, + [SMALL_STATE(303)] = 16742, + [SMALL_STATE(304)] = 16782, + [SMALL_STATE(305)] = 16824, + [SMALL_STATE(306)] = 16852, + [SMALL_STATE(307)] = 16880, + [SMALL_STATE(308)] = 16912, + [SMALL_STATE(309)] = 16946, + [SMALL_STATE(310)] = 16989, + [SMALL_STATE(311)] = 17032, + [SMALL_STATE(312)] = 17075, + [SMALL_STATE(313)] = 17102, + [SMALL_STATE(314)] = 17145, + [SMALL_STATE(315)] = 17172, + [SMALL_STATE(316)] = 17215, + [SMALL_STATE(317)] = 17246, + [SMALL_STATE(318)] = 17279, + [SMALL_STATE(319)] = 17312, + [SMALL_STATE(320)] = 17355, + [SMALL_STATE(321)] = 17398, + [SMALL_STATE(322)] = 17441, + [SMALL_STATE(323)] = 17484, + [SMALL_STATE(324)] = 17527, + [SMALL_STATE(325)] = 17561, + [SMALL_STATE(326)] = 17589, + [SMALL_STATE(327)] = 17617, + [SMALL_STATE(328)] = 17647, + [SMALL_STATE(329)] = 17684, + [SMALL_STATE(330)] = 17715, + [SMALL_STATE(331)] = 17740, + [SMALL_STATE(332)] = 17777, + [SMALL_STATE(333)] = 17814, + [SMALL_STATE(334)] = 17839, + [SMALL_STATE(335)] = 17876, + [SMALL_STATE(336)] = 17913, + [SMALL_STATE(337)] = 17944, + [SMALL_STATE(338)] = 17981, + [SMALL_STATE(339)] = 18009, + [SMALL_STATE(340)] = 18031, + [SMALL_STATE(341)] = 18053, + [SMALL_STATE(342)] = 18087, + [SMALL_STATE(343)] = 18121, + [SMALL_STATE(344)] = 18155, + [SMALL_STATE(345)] = 18189, + [SMALL_STATE(346)] = 18223, + [SMALL_STATE(347)] = 18245, + [SMALL_STATE(348)] = 18279, + [SMALL_STATE(349)] = 18313, + [SMALL_STATE(350)] = 18347, + [SMALL_STATE(351)] = 18375, + [SMALL_STATE(352)] = 18397, + [SMALL_STATE(353)] = 18423, + [SMALL_STATE(354)] = 18451, + [SMALL_STATE(355)] = 18485, + [SMALL_STATE(356)] = 18519, + [SMALL_STATE(357)] = 18553, + [SMALL_STATE(358)] = 18587, + [SMALL_STATE(359)] = 18620, + [SMALL_STATE(360)] = 18645, + [SMALL_STATE(361)] = 18670, + [SMALL_STATE(362)] = 18703, + [SMALL_STATE(363)] = 18736, + [SMALL_STATE(364)] = 18761, + [SMALL_STATE(365)] = 18783, + [SMALL_STATE(366)] = 18810, + [SMALL_STATE(367)] = 18837, + [SMALL_STATE(368)] = 18864, + [SMALL_STATE(369)] = 18891, + [SMALL_STATE(370)] = 18918, + [SMALL_STATE(371)] = 18937, + [SMALL_STATE(372)] = 18962, + [SMALL_STATE(373)] = 18987, + [SMALL_STATE(374)] = 19003, + [SMALL_STATE(375)] = 19015, + [SMALL_STATE(376)] = 19027, + [SMALL_STATE(377)] = 19041, + [SMALL_STATE(378)] = 19053, + [SMALL_STATE(379)] = 19066, + [SMALL_STATE(380)] = 19079, + [SMALL_STATE(381)] = 19092, + [SMALL_STATE(382)] = 19105, + [SMALL_STATE(383)] = 19118, + [SMALL_STATE(384)] = 19131, + [SMALL_STATE(385)] = 19144, + [SMALL_STATE(386)] = 19155, + [SMALL_STATE(387)] = 19168, + [SMALL_STATE(388)] = 19181, + [SMALL_STATE(389)] = 19194, + [SMALL_STATE(390)] = 19207, + [SMALL_STATE(391)] = 19220, + [SMALL_STATE(392)] = 19233, + [SMALL_STATE(393)] = 19244, + [SMALL_STATE(394)] = 19257, + [SMALL_STATE(395)] = 19270, + [SMALL_STATE(396)] = 19283, + [SMALL_STATE(397)] = 19296, + [SMALL_STATE(398)] = 19307, + [SMALL_STATE(399)] = 19320, + [SMALL_STATE(400)] = 19330, + [SMALL_STATE(401)] = 19340, + [SMALL_STATE(402)] = 19350, + [SMALL_STATE(403)] = 19360, + [SMALL_STATE(404)] = 19368, + [SMALL_STATE(405)] = 19378, + [SMALL_STATE(406)] = 19388, + [SMALL_STATE(407)] = 19398, + [SMALL_STATE(408)] = 19408, + [SMALL_STATE(409)] = 19418, + [SMALL_STATE(410)] = 19428, + [SMALL_STATE(411)] = 19436, + [SMALL_STATE(412)] = 19446, + [SMALL_STATE(413)] = 19454, + [SMALL_STATE(414)] = 19464, + [SMALL_STATE(415)] = 19474, + [SMALL_STATE(416)] = 19481, + [SMALL_STATE(417)] = 19488, + [SMALL_STATE(418)] = 19495, + [SMALL_STATE(419)] = 19502, + [SMALL_STATE(420)] = 19509, + [SMALL_STATE(421)] = 19516, + [SMALL_STATE(422)] = 19523, + [SMALL_STATE(423)] = 19530, + [SMALL_STATE(424)] = 19537, + [SMALL_STATE(425)] = 19544, + [SMALL_STATE(426)] = 19551, + [SMALL_STATE(427)] = 19558, + [SMALL_STATE(428)] = 19565, + [SMALL_STATE(429)] = 19572, + [SMALL_STATE(430)] = 19579, + [SMALL_STATE(431)] = 19586, + [SMALL_STATE(432)] = 19593, + [SMALL_STATE(433)] = 19600, + [SMALL_STATE(434)] = 19607, + [SMALL_STATE(435)] = 19614, + [SMALL_STATE(436)] = 19621, + [SMALL_STATE(437)] = 19628, + [SMALL_STATE(438)] = 19635, + [SMALL_STATE(439)] = 19642, + [SMALL_STATE(440)] = 19649, + [SMALL_STATE(441)] = 19656, + [SMALL_STATE(442)] = 19663, + [SMALL_STATE(443)] = 19670, + [SMALL_STATE(444)] = 19677, + [SMALL_STATE(445)] = 19684, }; 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(48), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(436), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(55), + [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(439), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56), [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(445), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(162), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(167), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(168), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(163), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(164), [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(441), [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441), - [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), - [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), - [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), - [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), - [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), - [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [47] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), - [49] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(48), - [52] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(149), - [55] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(436), - [58] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(4), - [61] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(67), - [64] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(67), - [67] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(53), - [70] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(129), - [73] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(55), - [76] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(445), - [79] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(162), - [82] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(167), - [85] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(168), - [88] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(441), - [91] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(441), - [94] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(40), - [97] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(64), - [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), + [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(50), + [44] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(135), + [47] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(439), + [50] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(5), + [53] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(53), + [56] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(53), + [59] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(54), + [62] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(128), + [65] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(56), + [68] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(445), + [71] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(161), + [74] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(163), + [77] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(164), + [80] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(441), + [83] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(441), + [86] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(42), + [89] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(65), + [92] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), + [94] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), + [96] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), + [102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root, 1), [104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), - [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), - [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), - [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), - [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), - [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), + [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), - [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), - [124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root, 1), - [126] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), - [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(428), - [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [134] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), - [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [138] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111), - [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), - [142] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), - [144] = {.entry = {.count = 1, .reusable = false}}, SHIFT(443), - [146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(177), + [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), + [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [126] = {.entry = {.count = 1, .reusable = false}}, SHIFT(279), + [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(431), + [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [134] = {.entry = {.count = 1, .reusable = false}}, SHIFT(268), + [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), + [138] = {.entry = {.count = 1, .reusable = false}}, SHIFT(266), + [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [142] = {.entry = {.count = 1, .reusable = false}}, SHIFT(262), + [144] = {.entry = {.count = 1, .reusable = false}}, SHIFT(432), + [146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(180), [148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(160), - [150] = {.entry = {.count = 1, .reusable = false}}, SHIFT(200), - [152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(444), - [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(444), - [156] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), - [158] = {.entry = {.count = 1, .reusable = false}}, SHIFT(113), - [160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(276), - [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(226), - [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), - [172] = {.entry = {.count = 1, .reusable = false}}, SHIFT(230), - [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [176] = {.entry = {.count = 1, .reusable = false}}, SHIFT(233), - [178] = {.entry = {.count = 1, .reusable = false}}, SHIFT(432), - [180] = {.entry = {.count = 1, .reusable = false}}, SHIFT(179), - [182] = {.entry = {.count = 1, .reusable = false}}, SHIFT(433), - [184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433), - [186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), - [188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(236), - [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 5), - [192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 5), - [194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math, 3), - [196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_math, 3), - [198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), - [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic, 3), - [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic, 3), - [204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), + [150] = {.entry = {.count = 1, .reusable = false}}, SHIFT(181), + [152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(433), + [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433), + [156] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), + [158] = {.entry = {.count = 1, .reusable = false}}, SHIFT(237), + [160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), + [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [164] = {.entry = {.count = 1, .reusable = false}}, SHIFT(428), + [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [168] = {.entry = {.count = 1, .reusable = false}}, SHIFT(109), + [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [172] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), + [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [176] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111), + [178] = {.entry = {.count = 1, .reusable = false}}, SHIFT(443), + [180] = {.entry = {.count = 1, .reusable = false}}, SHIFT(192), + [182] = {.entry = {.count = 1, .reusable = false}}, SHIFT(444), + [184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(444), + [186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), + [188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), + [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(210), + [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}}, SHIFT(204), [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(279), + [212] = {.entry = {.count = 1, .reusable = false}}, SHIFT(276), [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression, 1), - [216] = {.entry = {.count = 1, .reusable = false}}, SHIFT(367), - [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), + [216] = {.entry = {.count = 1, .reusable = false}}, SHIFT(365), + [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3), [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3), - [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(169), - [230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1), - [232] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1), - [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_option, 4), - [236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_option, 4), - [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_option, 1), - [240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_option, 1), - [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4), - [244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 4), - [246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4), - [248] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4), - [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 1), - [252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 1), - [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 4), - [256] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 4), - [258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 6), - [260] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 6), - [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 5), - [264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 5), - [266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3), - [268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3), - [270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_built_in_value, 1), - [272] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_built_in_value, 1), - [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), - [276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), - [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_map, 3), - [284] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 3), - [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 2), - [288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 2), - [290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_expression, 1), - [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 3), - [294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 3), - [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 3), - [298] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 3), - [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression, 3), - [302] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_expression, 3), - [304] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), - [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2), - [308] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2), + [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2), + [226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2), + [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1), + [230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1), + [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1), + [234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1), + [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_option, 4), + [238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_option, 4), + [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_option, 1), + [242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_option, 1), + [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4), + [246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 4), + [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4), + [250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4), + [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 2), + [254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 2), + [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 1), + [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 1), + [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 4), + [262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 4), + [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 5), + [266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 5), + [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3), + [270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3), + [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_built_in_value, 1), + [274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_built_in_value, 1), + [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 3), + [278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 3), + [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 3), + [282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 3), + [284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), + [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_expression, 1), + [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), + [290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), + [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 6), + [294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 6), + [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 3), + [298] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 3), + [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 3), + [302] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 3), + [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression, 3), + [306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_expression, 3), + [308] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), [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_yield, 3), [316] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 3), - [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), + [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), [322] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1), - [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), - [326] = {.entry = {.count = 1, .reusable = false}}, SHIFT(330), - [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335), - [330] = {.entry = {.count = 1, .reusable = false}}, SHIFT(335), - [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), - [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), + [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), + [328] = {.entry = {.count = 1, .reusable = false}}, SHIFT(312), + [330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), + [332] = {.entry = {.count = 1, .reusable = false}}, SHIFT(314), + [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), [338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_expression_kind, 1), - [340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), - [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), - [344] = {.entry = {.count = 1, .reusable = false}}, SHIFT(237), - [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408), - [348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), - [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), - [352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288), - [354] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(237), + [340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), + [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [344] = {.entry = {.count = 1, .reusable = false}}, SHIFT(257), + [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), + [348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), + [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(426), + [352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299), + [354] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(257), [357] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(133), - [360] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(408), + [360] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(404), [363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), - [365] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(226), - [368] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(226), - [371] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(230), - [374] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(128), - [377] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(233), + [365] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(268), + [368] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(268), + [371] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(266), + [374] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(143), + [377] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(262), [380] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(432), - [383] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(434), - [386] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(236), + [383] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(426), + [386] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(237), [389] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114), - [391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), - [395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), - [399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), - [403] = {.entry = {.count = 1, .reusable = false}}, SHIFT(321), - [405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), - [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414), - [409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), + [391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408), + [395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289), + [401] = {.entry = {.count = 1, .reusable = false}}, SHIFT(324), + [403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414), + [405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407), + [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), + [409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), [411] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(114), - [414] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(142), + [414] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(137), [417] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), - [419] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(411), - [422] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(110), - [425] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(110), - [428] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(111), + [419] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(408), + [422] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(109), + [425] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(109), + [428] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(110), [431] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(148), - [434] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(112), + [434] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(111), [437] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(443), - [440] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(113), - [443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), - [449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), - [451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [440] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(112), + [443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), + [445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), + [449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), + [453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), [457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [459] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(114), - [462] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(142), - [465] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(411), - [468] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(110), - [471] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(110), - [474] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(111), - [477] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(148), - [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(112), - [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(113), - [491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), - [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), + [461] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(114), + [464] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(137), + [467] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(408), + [470] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(109), + [473] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(109), + [476] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(110), + [479] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(148), + [482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), + [484] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(111), + [487] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(443), + [490] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(112), + [493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), [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(320), + [501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), [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(323), - [509] = {.entry = {.count = 1, .reusable = false}}, SHIFT(278), - [511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [513] = {.entry = {.count = 1, .reusable = false}}, SHIFT(239), - [515] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), - [517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [519] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), - [521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400), - [523] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59), - [525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [527] = {.entry = {.count = 1, .reusable = false}}, SHIFT(322), - [529] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125), - [531] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), - [533] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 1), - [535] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 1), - [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), - [539] = {.entry = {.count = 1, .reusable = false}}, SHIFT(378), - [541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 2), - [543] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 2), + [507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305), + [509] = {.entry = {.count = 1, .reusable = false}}, SHIFT(327), + [511] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), + [513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400), + [515] = {.entry = {.count = 1, .reusable = false}}, SHIFT(283), + [517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [519] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), + [521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [523] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124), + [525] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), + [527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [529] = {.entry = {.count = 1, .reusable = false}}, SHIFT(254), + [531] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), + [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(200), + [539] = {.entry = {.count = 1, .reusable = false}}, SHIFT(390), + [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(176), - [552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), - [554] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_if, 3), - [556] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_if, 3), - [558] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if, 3), - [560] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if, 3), - [562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), - [564] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 3), - [566] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 3), - [568] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for, 5), - [570] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for, 5), - [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_else, 2), - [578] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else, 2), - [580] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match, 5), - [582] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match, 5), - [584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), - [586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_assignment, 3), - [588] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_assignment, 3), - [590] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while, 3), - [592] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while, 3), - [594] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 2), - [596] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 2), - [598] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3), - [600] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3), - [602] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return, 2), - [604] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return, 2), - [606] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), - [608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), - [610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), - [612] = {.entry = {.count = 1, .reusable = false}}, SHIFT(379), - [614] = {.entry = {.count = 1, .reusable = false}}, SHIFT(242), - [616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), - [618] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), - [620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), - [622] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), SHIFT_REPEAT(172), + [549] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), SHIFT_REPEAT(200), + [552] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if, 3), + [554] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if, 3), + [556] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_if, 3), + [558] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_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_while, 3), + [566] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while, 3), + [568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), + [570] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else, 2), + [572] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else, 2), + [574] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 2), + [576] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 2), + [578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for, 5), + [580] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for, 5), + [582] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3), + [584] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3), + [586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 3), + [588] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 3), + [590] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return, 2), + [592] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return, 2), + [594] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match, 5), + [596] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match, 5), + [598] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 4), + [600] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 4), + [602] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), + [604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [606] = {.entry = {.count = 1, .reusable = false}}, SHIFT(271), + [608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [610] = {.entry = {.count = 1, .reusable = false}}, SHIFT(100), + [612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), + [616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [618] = {.entry = {.count = 1, .reusable = false}}, SHIFT(381), + [620] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), SHIFT_REPEAT(173), + [623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), [625] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_operator, 1), [627] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_operator, 1), - [629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), [631] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 3), [633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 3), - [635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311), - [637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), - [639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422), - [641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), - [645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431), - [649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [651] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 4), - [653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 4), - [655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428), - [657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436), - [661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [663] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), - [665] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), - [667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), - [669] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 3), - [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), - [673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), - [677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [679] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_math_operator, 1), - [681] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math_operator, 1), - [683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 2), - [685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(366), - [687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [689] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), - [695] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic_operator, 1), - [697] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic_operator, 1), - [699] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 4), - [701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [703] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), - [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), + [635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), + [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), + [643] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), + [645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), + [647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431), + [651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), + [655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [657] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_math_operator, 1), + [659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math_operator, 1), + [661] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic_operator, 1), + [663] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic_operator, 1), + [665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), + [669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428), + [673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), + [677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), + [681] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 2), + [683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369), + [685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [689] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 3), + [691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(366), + [693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), + [699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [701] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), + [703] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 4), + [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), [707] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 5), - [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), - [715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), - [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331), - [719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370), - [721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(344), - [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), - [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(326), - [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [729] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(360), - [732] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), - [734] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(370), - [737] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(344), - [740] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(417), + [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358), + [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), + [715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), + [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339), + [719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), + [721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), + [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333), + [727] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(358), + [730] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), + [732] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(368), + [735] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(339), + [738] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(418), + [741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), [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(381), + [745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370), + [747] = {.entry = {.count = 1, .reusable = false}}, SHIFT(378), [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(43), - [755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(396), - [757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), - [759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), - [761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), - [763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), - [765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [767] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 4), - [769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407), - [771] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 3), - [773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(406), - [775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), - [777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [779] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), - [781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412), - [783] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2), SHIFT_REPEAT(396), + [753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), + [757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239), + [759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), + [761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(406), + [763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [765] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 3), + [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), + [769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401), + [771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(409), + [775] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), + [777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412), + [779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), + [783] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2), SHIFT_REPEAT(393), [786] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2), - [788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367), - [792] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(404), - [795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), + [788] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 4), + [790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), + [792] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(405), + [795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), [797] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 5), - [799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), [801] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 3), - [803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), - [807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), - [811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), - [813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373), - [815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), - [817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346), - [819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), + [803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), + [807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), + [811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367), + [813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), + [815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), + [817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373), + [819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), + [821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346), [823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), - [827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), - [829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), - [831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), - [835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), - [837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), - [841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), - [843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), - [845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), - [849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), - [851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), + [827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), + [841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340), + [843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), + [845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), + [847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), + [851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), [853] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), - [857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), - [859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), - [861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), - [863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), + [857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419), + [863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), }; #ifdef __cplusplus