diff --git a/src/abstract_tree/value_node.rs b/src/abstract_tree/value_node.rs index ac05d3b..d7ed53f 100644 --- a/src/abstract_tree/value_node.rs +++ b/src/abstract_tree/value_node.rs @@ -19,6 +19,7 @@ pub enum ValueNode { Option(Option>), Map(BTreeMap)>), BuiltInValue(BuiltInValue), + Structure(BTreeMap, Type)>), } impl AbstractTree for ValueNode { @@ -109,9 +110,64 @@ impl AbstractTree for ValueNode { context, )?) } + "structure" => { + let mut btree_map = BTreeMap::new(); + let mut current_identifier: Option = None; + let mut current_type: Option = None; + let mut current_statement = None; + + for index in 0..child.child_count() - 1 { + let child_syntax_node = child.child(index).unwrap(); + + if child_syntax_node.kind() == "identifier" { + if current_statement.is_none() { + if let (Some(identifier), Some(r#type)) = + (¤t_identifier, ¤t_type) + { + btree_map + .insert(identifier.inner().clone(), (None, r#type.clone())); + } + } + + current_type = None; + current_identifier = Some(Identifier::from_syntax_node( + source, + child_syntax_node, + context, + )?); + } + + if child_syntax_node.kind() == "type_definition" { + current_type = Some( + TypeDefinition::from_syntax_node(source, child_syntax_node, context)? + .take_inner(), + ); + } + + if child_syntax_node.kind() == "statement" { + current_statement = Some(Statement::from_syntax_node( + source, + child_syntax_node, + context, + )?); + + if let (Some(identifier), Some(r#type)) = + (¤t_identifier, ¤t_type) + { + btree_map.insert( + identifier.inner().clone(), + (current_statement.clone(), r#type.clone()), + ); + } + } + } + + ValueNode::Structure(btree_map) + } _ => { return Err(Error::UnexpectedSyntaxNode { - expected: "string, integer, float, boolean, list, map, or option".to_string(), + expected: "string, integer, float, boolean, list, map, option or structure" + .to_string(), actual: child.kind().to_string(), location: child.start_position(), relevant_source: source[child.byte_range()].to_string(), @@ -163,6 +219,21 @@ impl AbstractTree for ValueNode { Value::Map(map) } ValueNode::BuiltInValue(built_in_value) => built_in_value.run(source, context)?, + ValueNode::Structure(node_map) => { + let mut value_map = BTreeMap::new(); + + for (key, (statement_option, r#type)) in node_map { + let value = if let Some(statement) = statement_option { + statement.run(source, context)? + } else { + Value::none() + }; + + value_map.insert(key.to_string(), (Some(value), r#type.clone())); + } + + Value::Structure(value_map) + } }; Ok(value) @@ -205,6 +276,7 @@ impl AbstractTree for ValueNode { } ValueNode::Map(_) => Type::Map, ValueNode::BuiltInValue(built_in_value) => built_in_value.expected_type(context)?, + ValueNode::Structure(_) => todo!(), }; Ok(r#type) diff --git a/src/bin/gui/app.rs b/src/bin/gui/app.rs index 043983e..d18ab80 100644 --- a/src/bin/gui/app.rs +++ b/src/bin/gui/app.rs @@ -223,5 +223,6 @@ fn display_value(value: &Value, ui: &mut egui::Ui) { ui.label("none"); } }, + Value::Structure(_) => todo!(), } } diff --git a/src/value/mod.rs b/src/value/mod.rs index 70c4346..3098689 100644 --- a/src/value/mod.rs +++ b/src/value/mod.rs @@ -12,6 +12,7 @@ use serde::{ use std::{ cmp::Ordering, + collections::BTreeMap, convert::TryFrom, fmt::{self, Display, Formatter}, marker::PhantomData, @@ -38,6 +39,7 @@ pub enum Value { Integer(i64), Boolean(bool), Option(Option>), + Structure(BTreeMap, Type)>), } impl Default for Value { @@ -98,6 +100,7 @@ impl Value { Type::None } } + Value::Structure(_) => todo!(), }; r#type @@ -444,6 +447,7 @@ impl PartialEq for Value { (Value::Map(left), Value::Map(right)) => left == right, (Value::Function(left), Value::Function(right)) => left == right, (Value::Option(left), Value::Option(right)) => left == right, + (Value::Structure(left), Value::Structure(right)) => left == right, _ => false, } } @@ -484,6 +488,8 @@ impl Ord for Value { (Value::Map(_), _) => Ordering::Greater, (Value::Function(left), Value::Function(right)) => left.cmp(right), (Value::Function(_), _) => Ordering::Greater, + (Value::Structure(left), Value::Structure(right)) => left.cmp(right), + (Value::Structure(_), _) => Ordering::Greater, (Value::Option(left), Value::Option(right)) => left.cmp(right), (Value::Option(_), _) => Ordering::Less, } @@ -513,6 +519,7 @@ impl Serialize for Value { Value::Option(inner) => inner.serialize(serializer), Value::Map(inner) => inner.serialize(serializer), Value::Function(inner) => inner.serialize(serializer), + Value::Structure(inner) => inner.serialize(serializer), } } } @@ -534,6 +541,18 @@ impl Display for Value { Value::List(list) => write!(f, "{list}"), Value::Map(map) => write!(f, "{map}"), Value::Function(function) => write!(f, "{function}"), + Value::Structure(btree_map) => { + writeln!(f, "{{")?; + + for (key, (value_option, r#type)) in btree_map { + if let Some(value) = value_option { + writeln!(f, " {key} {} = {value}", r#type)?; + } else { + writeln!(f, " {key} {}", r#type)?; + } + } + write!(f, "}}") + } } } } diff --git a/tests/interpret.rs b/tests/interpret.rs index a7db5db..cb7514c 100644 --- a/tests/interpret.rs +++ b/tests/interpret.rs @@ -1,3 +1,20 @@ +mod structure { + use std::collections::BTreeMap; + + use dust_lang::*; + + #[test] + fn simple_structure() { + let result = interpret("struct { x = 0 }"); + + let mut btree_map = BTreeMap::new(); + + btree_map.insert("x".to_string(), (Some(Value::Integer(0)), Type::Integer)); + + assert_eq!(Ok(Value::Structure(btree_map)), result); + } +} + mod assignment { use dust_lang::*; diff --git a/tree-sitter-dust/corpus/structure.txt b/tree-sitter-dust/corpus/structure.txt new file mode 100644 index 0000000..8b6ec59 --- /dev/null +++ b/tree-sitter-dust/corpus/structure.txt @@ -0,0 +1,70 @@ +================================================================================ +Simple Structure +================================================================================ + +struct { + x + y +} + +-------------------------------------------------------------------------------- + +(root + (statement + (expression + (value + (structure + (identifier) + (type_definition + (type)) + (identifier) + (type_definition + (type))))))) + +================================================================================ +Complex Structure +================================================================================ + +Foo = struct { + x + y = 0.0 + + bar = new Bar { + baz = 42 + } +} + +-------------------------------------------------------------------------------- + +(root + (statement + (assignment + (identifier) + (assignment_operator) + (statement + (expression + (value + (structure + (identifier) + (type_definition + (type)) + (identifier) + (type_definition + (type)) + (statement + (expression + (value + (float)))) + (identifier) + (type_definition + (type + (identifier))) + (statement + (expression + (new + (identifier) + (identifier) + (statement + (expression + (value + (integer)))))))))))))) diff --git a/tree-sitter-dust/grammar.js b/tree-sitter-dust/grammar.js index b61b2d0..43a8318 100644 --- a/tree-sitter-dust/grammar.js +++ b/tree-sitter-dust/grammar.js @@ -49,6 +49,7 @@ module.exports = grammar({ $.math, $.value, $.yield, + $.new, ), ), @@ -84,6 +85,56 @@ module.exports = grammar({ $.map, $.option, $.built_in_value, + $.structure, + ), + + structure: $ => + seq( + 'struct', + '{', + repeat( + choice( + seq( + $.identifier, + $.type_definition, + ), + seq( + $.identifier, + '=', + $.statement, + ), + seq( + $.identifier, + $.type_definition, + '=', + $.statement, + ), + ), + ), + '}', + ), + + new: $ => + seq( + 'new', + $.identifier, + '{', + repeat( + choice( + seq( + $.identifier, + '=', + $.statement, + ), + seq( + $.identifier, + $.type_definition, + '=', + $.statement, + ), + ), + ), + '}', ), integer: $ => @@ -351,6 +402,7 @@ module.exports = grammar({ 'none', 'num', 'str', + $.identifier, seq('[', $.type, ']'), seq( '(', diff --git a/tree-sitter-dust/src/grammar.json b/tree-sitter-dust/src/grammar.json index 34287c7..831fb1d 100644 --- a/tree-sitter-dust/src/grammar.json +++ b/tree-sitter-dust/src/grammar.json @@ -138,6 +138,10 @@ { "type": "SYMBOL", "name": "yield" + }, + { + "type": "SYMBOL", + "name": "new" } ] } @@ -244,6 +248,153 @@ { "type": "SYMBOL", "name": "built_in_value" + }, + { + "type": "SYMBOL", + "name": "structure" + } + ] + }, + "structure": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "struct" + }, + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "type_definition" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "SYMBOL", + "name": "statement" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "type_definition" + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "SYMBOL", + "name": "statement" + } + ] + } + ] + } + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "new": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "new" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "SYMBOL", + "name": "statement" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "type_definition" + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "SYMBOL", + "name": "statement" + } + ] + } + ] + } + }, + { + "type": "STRING", + "value": "}" } ] }, @@ -1115,6 +1266,10 @@ "type": "STRING", "value": "str" }, + { + "type": "SYMBOL", + "name": "identifier" + }, { "type": "SEQ", "members": [ @@ -1132,27 +1287,6 @@ } ] }, - { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "{" - }, - { - "type": "SYMBOL", - "name": "identifier" - }, - { - "type": "SYMBOL", - "name": "type_definition" - }, - { - "type": "STRING", - "value": "}" - } - ] - }, { "type": "SEQ", "members": [ diff --git a/tree-sitter-dust/src/node-types.json b/tree-sitter-dust/src/node-types.json index 5cc8aa3..a565d13 100644 --- a/tree-sitter-dust/src/node-types.json +++ b/tree-sitter-dust/src/node-types.json @@ -118,6 +118,10 @@ "type": "math", "named": true }, + { + "type": "new", + "named": true + }, { "type": "value", "named": true @@ -441,6 +445,29 @@ "named": true, "fields": {} }, + { + "type": "new", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "type_definition", + "named": true + } + ] + } + }, { "type": "option", "named": true, @@ -533,6 +560,29 @@ ] } }, + { + "type": "structure", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "type_definition", + "named": true + } + ] + } + }, { "type": "type", "named": true, @@ -548,10 +598,6 @@ { "type": "type", "named": true - }, - { - "type": "type_definition", - "named": true } ] } @@ -614,6 +660,10 @@ { "type": "string", "named": true + }, + { + "type": "structure", + "named": true } ] } @@ -802,11 +852,11 @@ }, { "type": "float", - "named": true + "named": false }, { "type": "float", - "named": false + "named": true }, { "type": "for", @@ -852,6 +902,10 @@ "type": "match", "named": false }, + { + "type": "new", + "named": false + }, { "type": "none", "named": false @@ -892,6 +946,10 @@ "type": "string", "named": false }, + { + "type": "struct", + "named": false + }, { "type": "true", "named": false diff --git a/tree-sitter-dust/src/parser.c b/tree-sitter-dust/src/parser.c index 21c8a85..6dbc22d 100644 --- a/tree-sitter-dust/src/parser.c +++ b/tree-sitter-dust/src/parser.c @@ -6,11 +6,11 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 449 -#define LARGE_STATE_COUNT 44 -#define SYMBOL_COUNT 109 +#define STATE_COUNT 493 +#define LARGE_STATE_COUNT 48 +#define SYMBOL_COUNT 115 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 66 +#define TOKEN_COUNT 68 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 0 #define MAX_ALIAS_SEQUENCE_LENGTH 6 @@ -26,105 +26,111 @@ enum { anon_sym_async = 7, anon_sym_LBRACE = 8, anon_sym_RBRACE = 9, - sym_integer = 10, - sym_float = 11, - sym_string = 12, - anon_sym_true = 13, - anon_sym_false = 14, - anon_sym_LBRACK = 15, - anon_sym_RBRACK = 16, - anon_sym_EQ = 17, - anon_sym_none = 18, - anon_sym_some = 19, - anon_sym_COLON = 20, - anon_sym_DOT_DOT = 21, - anon_sym_PLUS = 22, - anon_sym_DASH = 23, - anon_sym_STAR = 24, - anon_sym_SLASH = 25, - anon_sym_PERCENT = 26, - anon_sym_EQ_EQ = 27, - anon_sym_BANG_EQ = 28, - anon_sym_AMP_AMP = 29, - anon_sym_PIPE_PIPE = 30, - anon_sym_GT = 31, - anon_sym_LT = 32, - anon_sym_GT_EQ = 33, - anon_sym_LT_EQ = 34, - anon_sym_PLUS_EQ = 35, - anon_sym_DASH_EQ = 36, - anon_sym_if = 37, - anon_sym_elseif = 38, - anon_sym_else = 39, - anon_sym_match = 40, - anon_sym_EQ_GT = 41, - anon_sym_while = 42, - anon_sym_for = 43, - anon_sym_asyncfor = 44, - anon_sym_in = 45, - anon_sym_return = 46, - anon_sym_any = 47, - anon_sym_bool = 48, - anon_sym_collection = 49, - anon_sym_float = 50, - anon_sym_int = 51, - anon_sym_map = 52, - anon_sym_num = 53, - anon_sym_str = 54, - anon_sym_DASH_GT = 55, - anon_sym_option = 56, - anon_sym_args = 57, - anon_sym_assert_equal = 58, - anon_sym_env = 59, - anon_sym_fs = 60, - anon_sym_json = 61, - anon_sym_length = 62, - anon_sym_output = 63, - anon_sym_random = 64, - anon_sym_string = 65, - sym_root = 66, - sym_statement = 67, - sym_expression = 68, - sym__expression_kind = 69, - aux_sym__expression_list = 70, - sym_block = 71, - sym_value = 72, - sym_boolean = 73, - sym_list = 74, - sym_map = 75, - sym_option = 76, - sym_index = 77, - sym_index_expression = 78, - sym_math = 79, - sym_math_operator = 80, - sym_logic = 81, - sym_logic_operator = 82, - sym_assignment = 83, - sym_index_assignment = 84, - sym_assignment_operator = 85, - sym_if_else = 86, - sym_if = 87, - sym_else_if = 88, - sym_else = 89, - sym_match = 90, - sym_while = 91, - sym_for = 92, - sym_return = 93, - sym_type_definition = 94, - sym_type = 95, - sym_function = 96, - sym_function_expression = 97, - sym__function_expression_kind = 98, - sym_function_call = 99, - sym_yield = 100, - sym_built_in_value = 101, - aux_sym_root_repeat1 = 102, - aux_sym_list_repeat1 = 103, - aux_sym_map_repeat1 = 104, - aux_sym_if_else_repeat1 = 105, - aux_sym_match_repeat1 = 106, - aux_sym_type_repeat1 = 107, - aux_sym_function_repeat1 = 108, + anon_sym_struct = 10, + anon_sym_EQ = 11, + anon_sym_new = 12, + sym_integer = 13, + sym_float = 14, + sym_string = 15, + anon_sym_true = 16, + anon_sym_false = 17, + anon_sym_LBRACK = 18, + anon_sym_RBRACK = 19, + anon_sym_none = 20, + anon_sym_some = 21, + anon_sym_COLON = 22, + anon_sym_DOT_DOT = 23, + anon_sym_PLUS = 24, + anon_sym_DASH = 25, + anon_sym_STAR = 26, + anon_sym_SLASH = 27, + anon_sym_PERCENT = 28, + anon_sym_EQ_EQ = 29, + anon_sym_BANG_EQ = 30, + anon_sym_AMP_AMP = 31, + anon_sym_PIPE_PIPE = 32, + anon_sym_GT = 33, + anon_sym_LT = 34, + anon_sym_GT_EQ = 35, + anon_sym_LT_EQ = 36, + anon_sym_PLUS_EQ = 37, + anon_sym_DASH_EQ = 38, + anon_sym_if = 39, + anon_sym_elseif = 40, + anon_sym_else = 41, + anon_sym_match = 42, + anon_sym_EQ_GT = 43, + anon_sym_while = 44, + anon_sym_for = 45, + anon_sym_asyncfor = 46, + anon_sym_in = 47, + anon_sym_return = 48, + anon_sym_any = 49, + anon_sym_bool = 50, + anon_sym_collection = 51, + anon_sym_float = 52, + anon_sym_int = 53, + anon_sym_map = 54, + anon_sym_num = 55, + anon_sym_str = 56, + anon_sym_DASH_GT = 57, + anon_sym_option = 58, + anon_sym_args = 59, + anon_sym_assert_equal = 60, + anon_sym_env = 61, + anon_sym_fs = 62, + anon_sym_json = 63, + anon_sym_length = 64, + anon_sym_output = 65, + anon_sym_random = 66, + anon_sym_string = 67, + sym_root = 68, + sym_statement = 69, + sym_expression = 70, + sym__expression_kind = 71, + aux_sym__expression_list = 72, + sym_block = 73, + sym_value = 74, + sym_structure = 75, + sym_new = 76, + sym_boolean = 77, + sym_list = 78, + sym_map = 79, + sym_option = 80, + sym_index = 81, + sym_index_expression = 82, + sym_math = 83, + sym_math_operator = 84, + sym_logic = 85, + sym_logic_operator = 86, + sym_assignment = 87, + sym_index_assignment = 88, + sym_assignment_operator = 89, + sym_if_else = 90, + sym_if = 91, + sym_else_if = 92, + sym_else = 93, + sym_match = 94, + sym_while = 95, + sym_for = 96, + sym_return = 97, + sym_type_definition = 98, + sym_type = 99, + sym_function = 100, + sym_function_expression = 101, + sym__function_expression_kind = 102, + sym_function_call = 103, + sym_yield = 104, + sym_built_in_value = 105, + aux_sym_root_repeat1 = 106, + aux_sym_structure_repeat1 = 107, + aux_sym_new_repeat1 = 108, + aux_sym_list_repeat1 = 109, + aux_sym_map_repeat1 = 110, + aux_sym_if_else_repeat1 = 111, + aux_sym_match_repeat1 = 112, + aux_sym_type_repeat1 = 113, + aux_sym_function_repeat1 = 114, }; static const char * const ts_symbol_names[] = { @@ -138,6 +144,9 @@ static const char * const ts_symbol_names[] = { [anon_sym_async] = "async", [anon_sym_LBRACE] = "{", [anon_sym_RBRACE] = "}", + [anon_sym_struct] = "struct", + [anon_sym_EQ] = "=", + [anon_sym_new] = "new", [sym_integer] = "integer", [sym_float] = "float", [sym_string] = "string", @@ -145,7 +154,6 @@ static const char * const ts_symbol_names[] = { [anon_sym_false] = "false", [anon_sym_LBRACK] = "[", [anon_sym_RBRACK] = "]", - [anon_sym_EQ] = "=", [anon_sym_none] = "none", [anon_sym_some] = "some", [anon_sym_COLON] = ":", @@ -201,6 +209,8 @@ static const char * const ts_symbol_names[] = { [aux_sym__expression_list] = "_expression_list", [sym_block] = "block", [sym_value] = "value", + [sym_structure] = "structure", + [sym_new] = "new", [sym_boolean] = "boolean", [sym_list] = "list", [sym_map] = "map", @@ -231,6 +241,8 @@ static const char * const ts_symbol_names[] = { [sym_yield] = "yield", [sym_built_in_value] = "built_in_value", [aux_sym_root_repeat1] = "root_repeat1", + [aux_sym_structure_repeat1] = "structure_repeat1", + [aux_sym_new_repeat1] = "new_repeat1", [aux_sym_list_repeat1] = "list_repeat1", [aux_sym_map_repeat1] = "map_repeat1", [aux_sym_if_else_repeat1] = "if_else_repeat1", @@ -250,6 +262,9 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_async] = anon_sym_async, [anon_sym_LBRACE] = anon_sym_LBRACE, [anon_sym_RBRACE] = anon_sym_RBRACE, + [anon_sym_struct] = anon_sym_struct, + [anon_sym_EQ] = anon_sym_EQ, + [anon_sym_new] = anon_sym_new, [sym_integer] = sym_integer, [sym_float] = sym_float, [sym_string] = sym_string, @@ -257,7 +272,6 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_false] = anon_sym_false, [anon_sym_LBRACK] = anon_sym_LBRACK, [anon_sym_RBRACK] = anon_sym_RBRACK, - [anon_sym_EQ] = anon_sym_EQ, [anon_sym_none] = anon_sym_none, [anon_sym_some] = anon_sym_some, [anon_sym_COLON] = anon_sym_COLON, @@ -313,6 +327,8 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym__expression_list] = aux_sym__expression_list, [sym_block] = sym_block, [sym_value] = sym_value, + [sym_structure] = sym_structure, + [sym_new] = sym_new, [sym_boolean] = sym_boolean, [sym_list] = sym_list, [sym_map] = sym_map, @@ -343,6 +359,8 @@ static const TSSymbol ts_symbol_map[] = { [sym_yield] = sym_yield, [sym_built_in_value] = sym_built_in_value, [aux_sym_root_repeat1] = aux_sym_root_repeat1, + [aux_sym_structure_repeat1] = aux_sym_structure_repeat1, + [aux_sym_new_repeat1] = aux_sym_new_repeat1, [aux_sym_list_repeat1] = aux_sym_list_repeat1, [aux_sym_map_repeat1] = aux_sym_map_repeat1, [aux_sym_if_else_repeat1] = aux_sym_if_else_repeat1, @@ -392,6 +410,18 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_struct] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_new] = { + .visible = true, + .named = false, + }, [sym_integer] = { .visible = true, .named = true, @@ -420,10 +450,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_EQ] = { - .visible = true, - .named = false, - }, [anon_sym_none] = { .visible = true, .named = false, @@ -644,6 +670,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_structure] = { + .visible = true, + .named = true, + }, + [sym_new] = { + .visible = true, + .named = true, + }, [sym_boolean] = { .visible = true, .named = true, @@ -764,6 +798,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym_structure_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_new_repeat1] = { + .visible = false, + .named = false, + }, [aux_sym_list_repeat1] = { .visible = false, .named = false, @@ -802,58 +844,58 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [0] = 0, [1] = 1, [2] = 2, - [3] = 3, - [4] = 3, - [5] = 3, + [3] = 2, + [4] = 2, + [5] = 5, [6] = 6, [7] = 7, [8] = 8, - [9] = 9, - [10] = 6, - [11] = 8, + [9] = 7, + [10] = 10, + [11] = 7, [12] = 7, - [13] = 9, + [13] = 10, [14] = 8, - [15] = 7, + [15] = 6, [16] = 7, - [17] = 9, - [18] = 6, - [19] = 9, - [20] = 7, - [21] = 8, - [22] = 6, - [23] = 9, + [17] = 10, + [18] = 8, + [19] = 6, + [20] = 6, + [21] = 6, + [22] = 8, + [23] = 10, [24] = 24, - [25] = 6, - [26] = 8, + [25] = 8, + [26] = 10, [27] = 27, [28] = 28, - [29] = 27, - [30] = 28, + [29] = 29, + [30] = 30, [31] = 31, [32] = 32, - [33] = 27, + [33] = 33, [34] = 32, - [35] = 28, - [36] = 36, - [37] = 37, - [38] = 37, - [39] = 39, - [40] = 32, - [41] = 37, - [42] = 42, + [35] = 35, + [36] = 31, + [37] = 32, + [38] = 38, + [39] = 31, + [40] = 29, + [41] = 41, + [42] = 41, [43] = 43, [44] = 44, - [45] = 45, - [46] = 46, - [47] = 45, - [48] = 44, + [45] = 41, + [46] = 29, + [47] = 47, + [48] = 48, [49] = 49, - [50] = 46, + [50] = 50, [51] = 51, - [52] = 52, - [53] = 53, - [54] = 54, + [52] = 48, + [53] = 50, + [54] = 49, [55] = 55, [56] = 56, [57] = 57, @@ -863,7 +905,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [61] = 61, [62] = 62, [63] = 63, - [64] = 56, + [64] = 64, [65] = 65, [66] = 66, [67] = 67, @@ -874,380 +916,424 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [72] = 72, [73] = 73, [74] = 74, - [75] = 75, + [75] = 64, [76] = 76, [77] = 77, [78] = 78, [79] = 79, - [80] = 45, - [81] = 44, - [82] = 44, - [83] = 45, + [80] = 80, + [81] = 81, + [82] = 82, + [83] = 83, [84] = 84, - [85] = 84, - [86] = 46, - [87] = 68, - [88] = 44, - [89] = 45, - [90] = 46, - [91] = 53, - [92] = 77, - [93] = 52, - [94] = 75, - [95] = 72, - [96] = 78, - [97] = 58, - [98] = 57, - [99] = 59, - [100] = 60, - [101] = 74, - [102] = 71, - [103] = 76, - [104] = 51, - [105] = 70, - [106] = 55, - [107] = 56, - [108] = 73, - [109] = 68, - [110] = 63, - [111] = 79, - [112] = 69, - [113] = 66, - [114] = 62, - [115] = 61, - [116] = 56, - [117] = 65, - [118] = 49, - [119] = 67, - [120] = 44, - [121] = 45, - [122] = 68, - [123] = 123, - [124] = 124, - [125] = 123, - [126] = 126, - [127] = 127, - [128] = 128, - [129] = 126, - [130] = 84, + [85] = 85, + [86] = 86, + [87] = 87, + [88] = 88, + [89] = 49, + [90] = 50, + [91] = 48, + [92] = 88, + [93] = 48, + [94] = 50, + [95] = 50, + [96] = 87, + [97] = 49, + [98] = 48, + [99] = 76, + [100] = 62, + [101] = 77, + [102] = 78, + [103] = 86, + [104] = 70, + [105] = 79, + [106] = 66, + [107] = 74, + [108] = 64, + [109] = 65, + [110] = 55, + [111] = 61, + [112] = 59, + [113] = 58, + [114] = 68, + [115] = 83, + [116] = 85, + [117] = 57, + [118] = 73, + [119] = 69, + [120] = 60, + [121] = 71, + [122] = 56, + [123] = 82, + [124] = 67, + [125] = 63, + [126] = 87, + [127] = 64, + [128] = 80, + [129] = 81, + [130] = 51, [131] = 131, - [132] = 126, - [133] = 126, - [134] = 134, + [132] = 132, + [133] = 132, + [134] = 84, [135] = 135, - [136] = 135, - [137] = 131, - [138] = 134, + [136] = 136, + [137] = 137, + [138] = 138, [139] = 139, - [140] = 84, - [141] = 135, + [140] = 135, + [141] = 141, [142] = 142, - [143] = 128, - [144] = 144, - [145] = 142, - [146] = 126, - [147] = 126, - [148] = 134, - [149] = 131, - [150] = 144, - [151] = 144, - [152] = 152, - [153] = 139, - [154] = 128, - [155] = 142, - [156] = 156, + [143] = 143, + [144] = 50, + [145] = 48, + [146] = 141, + [147] = 137, + [148] = 138, + [149] = 149, + [150] = 137, + [151] = 149, + [152] = 139, + [153] = 143, + [154] = 142, + [155] = 141, + [156] = 137, [157] = 157, - [158] = 158, - [159] = 159, - [160] = 160, - [161] = 158, - [162] = 162, - [163] = 159, - [164] = 164, - [165] = 160, - [166] = 160, - [167] = 162, - [168] = 164, - [169] = 164, + [158] = 142, + [159] = 137, + [160] = 139, + [161] = 149, + [162] = 137, + [163] = 138, + [164] = 135, + [165] = 87, + [166] = 166, + [167] = 167, + [168] = 168, + [169] = 166, [170] = 170, [171] = 171, - [172] = 158, - [173] = 173, - [174] = 162, - [175] = 160, - [176] = 162, - [177] = 162, - [178] = 160, + [172] = 172, + [173] = 171, + [174] = 167, + [175] = 175, + [176] = 176, + [177] = 167, + [178] = 176, [179] = 171, - [180] = 160, - [181] = 181, - [182] = 158, - [183] = 158, - [184] = 158, - [185] = 158, - [186] = 158, - [187] = 187, - [188] = 170, - [189] = 159, - [190] = 171, - [191] = 162, - [192] = 162, - [193] = 160, - [194] = 162, - [195] = 173, - [196] = 187, - [197] = 181, - [198] = 160, - [199] = 159, - [200] = 160, - [201] = 158, - [202] = 160, - [203] = 158, - [204] = 160, - [205] = 158, - [206] = 158, - [207] = 162, - [208] = 170, - [209] = 162, - [210] = 160, - [211] = 162, - [212] = 212, - [213] = 213, - [214] = 214, - [215] = 53, - [216] = 216, - [217] = 55, - [218] = 78, - [219] = 219, - [220] = 220, - [221] = 221, + [180] = 171, + [181] = 167, + [182] = 167, + [183] = 176, + [184] = 175, + [185] = 167, + [186] = 176, + [187] = 176, + [188] = 171, + [189] = 171, + [190] = 167, + [191] = 176, + [192] = 167, + [193] = 171, + [194] = 176, + [195] = 176, + [196] = 88, + [197] = 197, + [198] = 171, + [199] = 176, + [200] = 175, + [201] = 88, + [202] = 167, + [203] = 176, + [204] = 197, + [205] = 171, + [206] = 176, + [207] = 171, + [208] = 167, + [209] = 176, + [210] = 168, + [211] = 167, + [212] = 167, + [213] = 172, + [214] = 197, + [215] = 197, + [216] = 170, + [217] = 166, + [218] = 218, + [219] = 218, + [220] = 168, + [221] = 171, [222] = 222, [223] = 223, [224] = 224, [225] = 225, [226] = 226, - [227] = 227, + [227] = 82, [228] = 228, [229] = 229, - [230] = 223, - [231] = 231, + [230] = 67, + [231] = 60, [232] = 232, - [233] = 46, + [233] = 233, [234] = 234, - [235] = 234, - [236] = 234, - [237] = 44, - [238] = 234, - [239] = 45, - [240] = 213, - [241] = 234, - [242] = 234, - [243] = 234, - [244] = 212, - [245] = 60, - [246] = 73, - [247] = 57, - [248] = 46, - [249] = 79, - [250] = 68, - [251] = 51, - [252] = 78, - [253] = 70, - [254] = 56, - [255] = 61, - [256] = 69, - [257] = 63, - [258] = 71, - [259] = 59, - [260] = 65, - [261] = 66, - [262] = 76, - [263] = 55, - [264] = 77, - [265] = 74, - [266] = 214, - [267] = 52, - [268] = 75, - [269] = 72, + [235] = 235, + [236] = 236, + [237] = 237, + [238] = 238, + [239] = 239, + [240] = 232, + [241] = 241, + [242] = 242, + [243] = 243, + [244] = 244, + [245] = 245, + [246] = 224, + [247] = 245, + [248] = 245, + [249] = 245, + [250] = 225, + [251] = 245, + [252] = 245, + [253] = 245, + [254] = 226, + [255] = 50, + [256] = 48, + [257] = 49, + [258] = 258, + [259] = 68, + [260] = 67, + [261] = 57, + [262] = 50, + [263] = 48, + [264] = 73, + [265] = 87, + [266] = 80, + [267] = 60, + [268] = 64, + [269] = 71, [270] = 62, - [271] = 44, - [272] = 58, - [273] = 45, - [274] = 53, - [275] = 275, - [276] = 56, - [277] = 55, - [278] = 78, - [279] = 53, - [280] = 219, - [281] = 216, - [282] = 49, - [283] = 232, - [284] = 231, - [285] = 220, - [286] = 223, - [287] = 225, - [288] = 228, - [289] = 68, - [290] = 222, - [291] = 221, - [292] = 223, - [293] = 229, - [294] = 226, - [295] = 227, - [296] = 67, - [297] = 224, - [298] = 298, - [299] = 45, - [300] = 44, - [301] = 301, - [302] = 302, - [303] = 303, - [304] = 46, - [305] = 305, - [306] = 306, - [307] = 84, - [308] = 45, - [309] = 44, - [310] = 84, - [311] = 45, + [271] = 83, + [272] = 228, + [273] = 49, + [274] = 58, + [275] = 59, + [276] = 61, + [277] = 69, + [278] = 82, + [279] = 81, + [280] = 55, + [281] = 65, + [282] = 85, + [283] = 67, + [284] = 82, + [285] = 74, + [286] = 60, + [287] = 76, + [288] = 63, + [289] = 66, + [290] = 56, + [291] = 77, + [292] = 229, + [293] = 79, + [294] = 70, + [295] = 78, + [296] = 86, + [297] = 64, + [298] = 234, + [299] = 244, + [300] = 232, + [301] = 232, + [302] = 238, + [303] = 233, + [304] = 237, + [305] = 243, + [306] = 239, + [307] = 236, + [308] = 241, + [309] = 235, + [310] = 242, + [311] = 51, [312] = 312, [313] = 313, - [314] = 312, - [315] = 46, - [316] = 312, - [317] = 317, - [318] = 313, + [314] = 84, + [315] = 87, + [316] = 50, + [317] = 48, + [318] = 318, [319] = 319, - [320] = 44, - [321] = 319, - [322] = 319, - [323] = 317, - [324] = 60, - [325] = 68, - [326] = 56, + [320] = 320, + [321] = 321, + [322] = 49, + [323] = 88, + [324] = 88, + [325] = 48, + [326] = 50, [327] = 327, [328] = 328, - [329] = 329, - [330] = 330, - [331] = 45, - [332] = 332, - [333] = 44, - [334] = 334, + [329] = 49, + [330] = 48, + [331] = 327, + [332] = 50, + [333] = 333, + [334] = 328, [335] = 335, - [336] = 336, - [337] = 337, - [338] = 336, - [339] = 335, - [340] = 336, + [336] = 335, + [337] = 333, + [338] = 335, + [339] = 327, + [340] = 340, [341] = 341, [342] = 342, - [343] = 342, - [344] = 344, - [345] = 342, + [343] = 69, + [344] = 87, + [345] = 64, [346] = 346, [347] = 347, - [348] = 342, - [349] = 342, - [350] = 346, - [351] = 342, - [352] = 346, - [353] = 346, - [354] = 342, - [355] = 342, - [356] = 342, - [357] = 342, - [358] = 342, + [348] = 346, + [349] = 48, + [350] = 350, + [351] = 351, + [352] = 352, + [353] = 353, + [354] = 347, + [355] = 347, + [356] = 356, + [357] = 50, + [358] = 358, [359] = 359, - [360] = 342, + [360] = 360, [361] = 361, - [362] = 362, - [363] = 362, - [364] = 362, - [365] = 365, - [366] = 366, - [367] = 367, - [368] = 368, - [369] = 369, - [370] = 370, + [362] = 359, + [363] = 359, + [364] = 359, + [365] = 358, + [366] = 359, + [367] = 359, + [368] = 358, + [369] = 359, + [370] = 359, [371] = 371, - [372] = 213, - [373] = 212, - [374] = 374, - [375] = 374, - [376] = 374, + [372] = 359, + [373] = 359, + [374] = 359, + [375] = 359, + [376] = 358, [377] = 377, - [378] = 378, + [378] = 377, [379] = 379, - [380] = 380, - [381] = 380, - [382] = 378, + [380] = 377, + [381] = 381, + [382] = 382, [383] = 383, [384] = 384, [385] = 385, [386] = 386, - [387] = 387, - [388] = 388, - [389] = 388, - [390] = 385, - [391] = 378, - [392] = 392, - [393] = 385, + [387] = 225, + [388] = 224, + [389] = 389, + [390] = 390, + [391] = 391, + [392] = 391, + [393] = 391, [394] = 394, - [395] = 388, - [396] = 384, - [397] = 384, - [398] = 380, + [395] = 395, + [396] = 396, + [397] = 397, + [398] = 398, [399] = 399, [400] = 400, - [401] = 400, + [401] = 398, [402] = 402, - [403] = 403, + [403] = 394, [404] = 404, - [405] = 404, + [405] = 399, [406] = 406, [407] = 407, - [408] = 408, - [409] = 406, - [410] = 404, - [411] = 408, - [412] = 412, - [413] = 400, - [414] = 408, - [415] = 406, - [416] = 416, - [417] = 417, - [418] = 418, - [419] = 419, - [420] = 420, - [421] = 418, + [408] = 407, + [409] = 396, + [410] = 410, + [411] = 411, + [412] = 394, + [413] = 413, + [414] = 396, + [415] = 404, + [416] = 410, + [417] = 404, + [418] = 398, + [419] = 411, + [420] = 410, + [421] = 421, [422] = 422, - [423] = 423, - [424] = 422, - [425] = 422, + [423] = 422, + [424] = 424, + [425] = 411, [426] = 422, - [427] = 417, + [427] = 407, [428] = 428, - [429] = 422, + [429] = 399, [430] = 430, - [431] = 417, - [432] = 422, - [433] = 417, + [431] = 431, + [432] = 432, + [433] = 433, [434] = 434, [435] = 435, [436] = 436, [437] = 437, - [438] = 417, - [439] = 418, - [440] = 419, - [441] = 422, - [442] = 442, - [443] = 443, - [444] = 436, - [445] = 419, - [446] = 435, - [447] = 436, - [448] = 435, + [438] = 435, + [439] = 439, + [440] = 440, + [441] = 432, + [442] = 435, + [443] = 439, + [444] = 444, + [445] = 445, + [446] = 446, + [447] = 437, + [448] = 448, + [449] = 437, + [450] = 439, + [451] = 432, + [452] = 452, + [453] = 453, + [454] = 454, + [455] = 455, + [456] = 456, + [457] = 457, + [458] = 458, + [459] = 459, + [460] = 452, + [461] = 456, + [462] = 454, + [463] = 459, + [464] = 452, + [465] = 465, + [466] = 466, + [467] = 467, + [468] = 468, + [469] = 459, + [470] = 456, + [471] = 457, + [472] = 455, + [473] = 454, + [474] = 454, + [475] = 454, + [476] = 452, + [477] = 477, + [478] = 478, + [479] = 479, + [480] = 480, + [481] = 457, + [482] = 452, + [483] = 483, + [484] = 479, + [485] = 452, + [486] = 458, + [487] = 477, + [488] = 452, + [489] = 477, + [490] = 458, + [491] = 479, + [492] = 455, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -1270,14 +1356,14 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '-') ADVANCE(58); if (lookahead == '.') ADVANCE(10); if (lookahead == '/') ADVANCE(60); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(45); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47); if (lookahead == ':') ADVANCE(52); if (lookahead == ';') ADVANCE(29); if (lookahead == '<') ADVANCE(68); - if (lookahead == '=') ADVANCE(51); + if (lookahead == '=') ADVANCE(46); if (lookahead == '>') ADVANCE(67); - if (lookahead == '[') ADVANCE(48); - if (lookahead == ']') ADVANCE(49); + if (lookahead == '[') ADVANCE(50); + if (lookahead == ']') ADVANCE(51); if (lookahead == '`') ADVANCE(15); if (lookahead == 'a') ADVANCE(41); if (lookahead == 'e') ADVANCE(39); @@ -1306,14 +1392,14 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '-') ADVANCE(58); if (lookahead == '.') ADVANCE(10); if (lookahead == '/') ADVANCE(60); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(45); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47); if (lookahead == ':') ADVANCE(52); if (lookahead == ';') ADVANCE(29); if (lookahead == '<') ADVANCE(68); - if (lookahead == '=') ADVANCE(50); + if (lookahead == '=') ADVANCE(45); if (lookahead == '>') ADVANCE(67); - if (lookahead == '[') ADVANCE(48); - if (lookahead == ']') ADVANCE(49); + if (lookahead == '[') ADVANCE(50); + if (lookahead == ']') ADVANCE(51); if (lookahead == '`') ADVANCE(15); if (lookahead == '{') ADVANCE(33); if (lookahead == '|') ADVANCE(22); @@ -1341,7 +1427,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == ':') ADVANCE(52); if (lookahead == ';') ADVANCE(29); if (lookahead == '<') ADVANCE(68); - if (lookahead == '=') ADVANCE(51); + if (lookahead == '=') ADVANCE(46); if (lookahead == '>') ADVANCE(67); if (lookahead == '{') ADVANCE(33); if (lookahead == '|') ADVANCE(22); @@ -1396,7 +1482,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == ':') ADVANCE(52); if (lookahead == ';') ADVANCE(29); if (lookahead == '<') ADVANCE(68); - if (lookahead == '=') ADVANCE(50); + if (lookahead == '=') ADVANCE(45); if (lookahead == '>') ADVANCE(67); if (lookahead == '|') ADVANCE(22); if (lookahead == '}') ADVANCE(34); @@ -1416,11 +1502,11 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '*') ADVANCE(59); if (lookahead == ',') ADVANCE(32); if (lookahead == '-') ADVANCE(23); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(45); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47); if (lookahead == ';') ADVANCE(29); if (lookahead == '=') ADVANCE(14); if (lookahead == '>') ADVANCE(66); - if (lookahead == '[') ADVANCE(48); + if (lookahead == '[') ADVANCE(50); if (lookahead == '`') ADVANCE(15); if (lookahead == 'e') ADVANCE(39); if (lookahead == '{') ADVANCE(33); @@ -1433,7 +1519,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ('_' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 6: - if (lookahead == '"') ADVANCE(47); + if (lookahead == '"') ADVANCE(49); if (lookahead != 0) ADVANCE(6); END_STATE(); case 7: @@ -1443,9 +1529,8 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == ',') ADVANCE(32); if (lookahead == '-') ADVANCE(13); if (lookahead == '>') ADVANCE(66); - if (lookahead == '[') ADVANCE(48); - if (lookahead == ']') ADVANCE(49); - if (lookahead == '{') ADVANCE(33); + if (lookahead == '[') ADVANCE(50); + if (lookahead == ']') ADVANCE(51); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || @@ -1458,7 +1543,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '&') ADVANCE(64); END_STATE(); case 9: - if (lookahead == '\'') ADVANCE(47); + if (lookahead == '\'') ADVANCE(49); if (lookahead != 0) ADVANCE(9); END_STATE(); case 10: @@ -1478,7 +1563,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '>') ADVANCE(74); END_STATE(); case 15: - if (lookahead == '`') ADVANCE(47); + if (lookahead == '`') ADVANCE(49); if (lookahead != 0) ADVANCE(15); END_STATE(); case 16: @@ -1506,10 +1591,10 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '|') ADVANCE(65); END_STATE(); case 23: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(45); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47); END_STATE(); case 24: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(48); END_STATE(); case 25: if (eof) ADVANCE(26); @@ -1525,13 +1610,13 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '-') ADVANCE(58); if (lookahead == '.') ADVANCE(10); if (lookahead == '/') ADVANCE(60); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(45); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47); if (lookahead == ':') ADVANCE(52); if (lookahead == ';') ADVANCE(29); if (lookahead == '<') ADVANCE(68); - if (lookahead == '=') ADVANCE(50); + if (lookahead == '=') ADVANCE(45); if (lookahead == '>') ADVANCE(67); - if (lookahead == '[') ADVANCE(48); + if (lookahead == '[') ADVANCE(50); if (lookahead == '`') ADVANCE(15); if (lookahead == 'a') ADVANCE(41); if (lookahead == '{') ADVANCE(33); @@ -1655,32 +1740,32 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 45: - ACCEPT_TOKEN(sym_integer); - if (lookahead == '.') ADVANCE(24); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(45); - END_STATE(); - case 46: - ACCEPT_TOKEN(sym_float); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(46); - END_STATE(); - case 47: - ACCEPT_TOKEN(sym_string); - END_STATE(); - case 48: - ACCEPT_TOKEN(anon_sym_LBRACK); - END_STATE(); - case 49: - ACCEPT_TOKEN(anon_sym_RBRACK); - END_STATE(); - case 50: ACCEPT_TOKEN(anon_sym_EQ); if (lookahead == '=') ADVANCE(62); END_STATE(); - case 51: + case 46: ACCEPT_TOKEN(anon_sym_EQ); if (lookahead == '=') ADVANCE(62); if (lookahead == '>') ADVANCE(74); END_STATE(); + case 47: + ACCEPT_TOKEN(sym_integer); + if (lookahead == '.') ADVANCE(24); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47); + END_STATE(); + case 48: + ACCEPT_TOKEN(sym_float); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(48); + END_STATE(); + case 49: + ACCEPT_TOKEN(sym_string); + END_STATE(); + case 50: + ACCEPT_TOKEN(anon_sym_LBRACK); + END_STATE(); + case 51: + ACCEPT_TOKEN(anon_sym_RBRACK); + END_STATE(); case 52: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); @@ -1705,7 +1790,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 58: ACCEPT_TOKEN(anon_sym_DASH); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(45); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47); if (lookahead == '=') ADVANCE(72); if (lookahead == '>') ADVANCE(76); END_STATE(); @@ -1830,57 +1915,58 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { if (lookahead == 'a') ADVANCE(31); END_STATE(); case 10: - if (lookahead == 'o') ADVANCE(32); - if (lookahead == 'u') ADVANCE(33); + if (lookahead == 'e') ADVANCE(32); + if (lookahead == 'o') ADVANCE(33); + if (lookahead == 'u') ADVANCE(34); END_STATE(); case 11: - if (lookahead == 'p') ADVANCE(34); - if (lookahead == 'u') ADVANCE(35); + if (lookahead == 'p') ADVANCE(35); + if (lookahead == 'u') ADVANCE(36); END_STATE(); case 12: - if (lookahead == 'a') ADVANCE(36); - if (lookahead == 'e') ADVANCE(37); + if (lookahead == 'a') ADVANCE(37); + if (lookahead == 'e') ADVANCE(38); END_STATE(); case 13: - if (lookahead == 'o') ADVANCE(38); - if (lookahead == 't') ADVANCE(39); + if (lookahead == 'o') ADVANCE(39); + if (lookahead == 't') ADVANCE(40); END_STATE(); case 14: - if (lookahead == 'r') ADVANCE(40); + if (lookahead == 'r') ADVANCE(41); END_STATE(); case 15: - if (lookahead == 'h') ADVANCE(41); + if (lookahead == 'h') ADVANCE(42); END_STATE(); case 16: - if (lookahead == 'y') ADVANCE(42); + if (lookahead == 'y') ADVANCE(43); END_STATE(); case 17: - if (lookahead == 'g') ADVANCE(43); + if (lookahead == 'g') ADVANCE(44); END_STATE(); case 18: - if (lookahead == 's') ADVANCE(44); - if (lookahead == 'y') ADVANCE(45); + if (lookahead == 's') ADVANCE(45); + if (lookahead == 'y') ADVANCE(46); END_STATE(); case 19: - if (lookahead == 'o') ADVANCE(46); + if (lookahead == 'o') ADVANCE(47); END_STATE(); case 20: - if (lookahead == 'l') ADVANCE(47); + if (lookahead == 'l') ADVANCE(48); END_STATE(); case 21: - if (lookahead == 's') ADVANCE(48); + if (lookahead == 's') ADVANCE(49); END_STATE(); case 22: - if (lookahead == 'v') ADVANCE(49); + if (lookahead == 'v') ADVANCE(50); END_STATE(); case 23: - if (lookahead == 'l') ADVANCE(50); + if (lookahead == 'l') ADVANCE(51); END_STATE(); case 24: - if (lookahead == 'o') ADVANCE(51); + if (lookahead == 'o') ADVANCE(52); END_STATE(); case 25: - if (lookahead == 'r') ADVANCE(52); + if (lookahead == 'r') ADVANCE(53); END_STATE(); case 26: ACCEPT_TOKEN(anon_sym_fs); @@ -1890,278 +1976,294 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { END_STATE(); case 28: ACCEPT_TOKEN(anon_sym_in); - if (lookahead == 't') ADVANCE(53); + if (lookahead == 't') ADVANCE(54); END_STATE(); case 29: - if (lookahead == 'o') ADVANCE(54); + if (lookahead == 'o') ADVANCE(55); END_STATE(); case 30: - if (lookahead == 'n') ADVANCE(55); + if (lookahead == 'n') ADVANCE(56); END_STATE(); case 31: - if (lookahead == 'p') ADVANCE(56); - if (lookahead == 't') ADVANCE(57); + if (lookahead == 'p') ADVANCE(57); + if (lookahead == 't') ADVANCE(58); END_STATE(); case 32: - if (lookahead == 'n') ADVANCE(58); + if (lookahead == 'w') ADVANCE(59); END_STATE(); case 33: - if (lookahead == 'm') ADVANCE(59); + if (lookahead == 'n') ADVANCE(60); END_STATE(); case 34: - if (lookahead == 't') ADVANCE(60); + if (lookahead == 'm') ADVANCE(61); END_STATE(); case 35: - if (lookahead == 't') ADVANCE(61); + if (lookahead == 't') ADVANCE(62); END_STATE(); case 36: - if (lookahead == 'n') ADVANCE(62); - END_STATE(); - case 37: if (lookahead == 't') ADVANCE(63); END_STATE(); + case 37: + if (lookahead == 'n') ADVANCE(64); + END_STATE(); case 38: - if (lookahead == 'm') ADVANCE(64); + if (lookahead == 't') ADVANCE(65); END_STATE(); case 39: - if (lookahead == 'r') ADVANCE(65); + if (lookahead == 'm') ADVANCE(66); END_STATE(); case 40: - if (lookahead == 'u') ADVANCE(66); + if (lookahead == 'r') ADVANCE(67); END_STATE(); case 41: - if (lookahead == 'i') ADVANCE(67); + if (lookahead == 'u') ADVANCE(68); END_STATE(); case 42: - ACCEPT_TOKEN(anon_sym_any); + if (lookahead == 'i') ADVANCE(69); END_STATE(); case 43: - if (lookahead == 's') ADVANCE(68); + ACCEPT_TOKEN(anon_sym_any); END_STATE(); case 44: - if (lookahead == 'e') ADVANCE(69); + if (lookahead == 's') ADVANCE(70); END_STATE(); case 45: - if (lookahead == 'n') ADVANCE(70); + if (lookahead == 'e') ADVANCE(71); END_STATE(); case 46: - if (lookahead == 'l') ADVANCE(71); + if (lookahead == 'n') ADVANCE(72); END_STATE(); case 47: - if (lookahead == 'l') ADVANCE(72); + if (lookahead == 'l') ADVANCE(73); END_STATE(); case 48: - if (lookahead == 'e') ADVANCE(73); + if (lookahead == 'l') ADVANCE(74); END_STATE(); case 49: - ACCEPT_TOKEN(anon_sym_env); + if (lookahead == 'e') ADVANCE(75); END_STATE(); case 50: - if (lookahead == 's') ADVANCE(74); + ACCEPT_TOKEN(anon_sym_env); END_STATE(); case 51: - if (lookahead == 'a') ADVANCE(75); + if (lookahead == 's') ADVANCE(76); END_STATE(); case 52: - ACCEPT_TOKEN(anon_sym_for); + if (lookahead == 'a') ADVANCE(77); END_STATE(); case 53: - ACCEPT_TOKEN(anon_sym_int); + ACCEPT_TOKEN(anon_sym_for); END_STATE(); case 54: - if (lookahead == 'n') ADVANCE(76); + ACCEPT_TOKEN(anon_sym_int); END_STATE(); case 55: - if (lookahead == 'g') ADVANCE(77); + if (lookahead == 'n') ADVANCE(78); END_STATE(); case 56: - ACCEPT_TOKEN(anon_sym_map); + if (lookahead == 'g') ADVANCE(79); END_STATE(); case 57: - if (lookahead == 'c') ADVANCE(78); + ACCEPT_TOKEN(anon_sym_map); END_STATE(); case 58: - if (lookahead == 'e') ADVANCE(79); + if (lookahead == 'c') ADVANCE(80); END_STATE(); case 59: - ACCEPT_TOKEN(anon_sym_num); + ACCEPT_TOKEN(anon_sym_new); END_STATE(); case 60: - if (lookahead == 'i') ADVANCE(80); + if (lookahead == 'e') ADVANCE(81); END_STATE(); case 61: - if (lookahead == 'p') ADVANCE(81); + ACCEPT_TOKEN(anon_sym_num); END_STATE(); case 62: - if (lookahead == 'd') ADVANCE(82); + if (lookahead == 'i') ADVANCE(82); END_STATE(); case 63: - if (lookahead == 'u') ADVANCE(83); + if (lookahead == 'p') ADVANCE(83); END_STATE(); case 64: - if (lookahead == 'e') ADVANCE(84); + if (lookahead == 'd') ADVANCE(84); END_STATE(); case 65: - ACCEPT_TOKEN(anon_sym_str); - if (lookahead == 'i') ADVANCE(85); + if (lookahead == 'u') ADVANCE(85); END_STATE(); case 66: if (lookahead == 'e') ADVANCE(86); END_STATE(); case 67: - if (lookahead == 'l') ADVANCE(87); + ACCEPT_TOKEN(anon_sym_str); + if (lookahead == 'i') ADVANCE(87); + if (lookahead == 'u') ADVANCE(88); END_STATE(); case 68: - ACCEPT_TOKEN(anon_sym_args); + if (lookahead == 'e') ADVANCE(89); END_STATE(); case 69: - if (lookahead == 'r') ADVANCE(88); + if (lookahead == 'l') ADVANCE(90); END_STATE(); case 70: - if (lookahead == 'c') ADVANCE(89); + ACCEPT_TOKEN(anon_sym_args); END_STATE(); case 71: - ACCEPT_TOKEN(anon_sym_bool); + if (lookahead == 'r') ADVANCE(91); END_STATE(); case 72: - if (lookahead == 'e') ADVANCE(90); + if (lookahead == 'c') ADVANCE(92); END_STATE(); case 73: - ACCEPT_TOKEN(anon_sym_else); + ACCEPT_TOKEN(anon_sym_bool); END_STATE(); case 74: - if (lookahead == 'e') ADVANCE(91); + if (lookahead == 'e') ADVANCE(93); END_STATE(); case 75: - if (lookahead == 't') ADVANCE(92); + ACCEPT_TOKEN(anon_sym_else); END_STATE(); case 76: - ACCEPT_TOKEN(anon_sym_json); + if (lookahead == 'e') ADVANCE(94); END_STATE(); case 77: - if (lookahead == 't') ADVANCE(93); + if (lookahead == 't') ADVANCE(95); END_STATE(); case 78: - if (lookahead == 'h') ADVANCE(94); + ACCEPT_TOKEN(anon_sym_json); END_STATE(); case 79: - ACCEPT_TOKEN(anon_sym_none); + if (lookahead == 't') ADVANCE(96); END_STATE(); case 80: - if (lookahead == 'o') ADVANCE(95); + if (lookahead == 'h') ADVANCE(97); END_STATE(); case 81: - if (lookahead == 'u') ADVANCE(96); + ACCEPT_TOKEN(anon_sym_none); END_STATE(); case 82: - if (lookahead == 'o') ADVANCE(97); + if (lookahead == 'o') ADVANCE(98); END_STATE(); case 83: - if (lookahead == 'r') ADVANCE(98); + if (lookahead == 'u') ADVANCE(99); END_STATE(); case 84: - ACCEPT_TOKEN(anon_sym_some); + if (lookahead == 'o') ADVANCE(100); END_STATE(); case 85: - if (lookahead == 'n') ADVANCE(99); + if (lookahead == 'r') ADVANCE(101); END_STATE(); case 86: - ACCEPT_TOKEN(anon_sym_true); + ACCEPT_TOKEN(anon_sym_some); END_STATE(); case 87: - if (lookahead == 'e') ADVANCE(100); + if (lookahead == 'n') ADVANCE(102); END_STATE(); case 88: - if (lookahead == 't') ADVANCE(101); + if (lookahead == 'c') ADVANCE(103); END_STATE(); case 89: - ACCEPT_TOKEN(anon_sym_async); + ACCEPT_TOKEN(anon_sym_true); END_STATE(); case 90: - if (lookahead == 'c') ADVANCE(102); + if (lookahead == 'e') ADVANCE(104); END_STATE(); case 91: - ACCEPT_TOKEN(anon_sym_false); - END_STATE(); - case 92: - ACCEPT_TOKEN(anon_sym_float); - END_STATE(); - case 93: - if (lookahead == 'h') ADVANCE(103); - END_STATE(); - case 94: - ACCEPT_TOKEN(anon_sym_match); - END_STATE(); - case 95: - if (lookahead == 'n') ADVANCE(104); - END_STATE(); - case 96: if (lookahead == 't') ADVANCE(105); END_STATE(); + case 92: + ACCEPT_TOKEN(anon_sym_async); + END_STATE(); + case 93: + if (lookahead == 'c') ADVANCE(106); + END_STATE(); + case 94: + ACCEPT_TOKEN(anon_sym_false); + END_STATE(); + case 95: + ACCEPT_TOKEN(anon_sym_float); + END_STATE(); + case 96: + if (lookahead == 'h') ADVANCE(107); + END_STATE(); case 97: - if (lookahead == 'm') ADVANCE(106); + ACCEPT_TOKEN(anon_sym_match); END_STATE(); case 98: - if (lookahead == 'n') ADVANCE(107); + if (lookahead == 'n') ADVANCE(108); END_STATE(); case 99: - if (lookahead == 'g') ADVANCE(108); + if (lookahead == 't') ADVANCE(109); END_STATE(); case 100: - ACCEPT_TOKEN(anon_sym_while); + if (lookahead == 'm') ADVANCE(110); END_STATE(); case 101: - if (lookahead == '_') ADVANCE(109); + if (lookahead == 'n') ADVANCE(111); END_STATE(); case 102: - if (lookahead == 't') ADVANCE(110); + if (lookahead == 'g') ADVANCE(112); END_STATE(); case 103: - ACCEPT_TOKEN(anon_sym_length); + if (lookahead == 't') ADVANCE(113); END_STATE(); case 104: - ACCEPT_TOKEN(anon_sym_option); + ACCEPT_TOKEN(anon_sym_while); END_STATE(); case 105: - ACCEPT_TOKEN(anon_sym_output); + if (lookahead == '_') ADVANCE(114); END_STATE(); case 106: - ACCEPT_TOKEN(anon_sym_random); + if (lookahead == 't') ADVANCE(115); END_STATE(); case 107: - ACCEPT_TOKEN(anon_sym_return); + ACCEPT_TOKEN(anon_sym_length); END_STATE(); case 108: - ACCEPT_TOKEN(anon_sym_string); + ACCEPT_TOKEN(anon_sym_option); END_STATE(); case 109: - if (lookahead == 'e') ADVANCE(111); + ACCEPT_TOKEN(anon_sym_output); END_STATE(); case 110: - if (lookahead == 'i') ADVANCE(112); + ACCEPT_TOKEN(anon_sym_random); END_STATE(); case 111: - if (lookahead == 'q') ADVANCE(113); + ACCEPT_TOKEN(anon_sym_return); END_STATE(); case 112: - if (lookahead == 'o') ADVANCE(114); + ACCEPT_TOKEN(anon_sym_string); END_STATE(); case 113: - if (lookahead == 'u') ADVANCE(115); + ACCEPT_TOKEN(anon_sym_struct); END_STATE(); case 114: - if (lookahead == 'n') ADVANCE(116); + if (lookahead == 'e') ADVANCE(116); END_STATE(); case 115: - if (lookahead == 'a') ADVANCE(117); + if (lookahead == 'i') ADVANCE(117); END_STATE(); case 116: - ACCEPT_TOKEN(anon_sym_collection); + if (lookahead == 'q') ADVANCE(118); END_STATE(); case 117: - if (lookahead == 'l') ADVANCE(118); + if (lookahead == 'o') ADVANCE(119); END_STATE(); case 118: + if (lookahead == 'u') ADVANCE(120); + END_STATE(); + case 119: + if (lookahead == 'n') ADVANCE(121); + END_STATE(); + case 120: + if (lookahead == 'a') ADVANCE(122); + END_STATE(); + case 121: + ACCEPT_TOKEN(anon_sym_collection); + END_STATE(); + case 122: + if (lookahead == 'l') ADVANCE(123); + END_STATE(); + case 123: ACCEPT_TOKEN(anon_sym_assert_equal); END_STATE(); default: @@ -2250,23 +2352,23 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [77] = {.lex_state = 25}, [78] = {.lex_state = 25}, [79] = {.lex_state = 25}, - [80] = {.lex_state = 1}, - [81] = {.lex_state = 1}, + [80] = {.lex_state = 25}, + [81] = {.lex_state = 25}, [82] = {.lex_state = 25}, [83] = {.lex_state = 25}, [84] = {.lex_state = 25}, [85] = {.lex_state = 25}, - [86] = {.lex_state = 1}, + [86] = {.lex_state = 25}, [87] = {.lex_state = 25}, - [88] = {.lex_state = 1}, + [88] = {.lex_state = 25}, [89] = {.lex_state = 1}, [90] = {.lex_state = 1}, [91] = {.lex_state = 1}, - [92] = {.lex_state = 1}, - [93] = {.lex_state = 1}, - [94] = {.lex_state = 1}, + [92] = {.lex_state = 25}, + [93] = {.lex_state = 25}, + [94] = {.lex_state = 25}, [95] = {.lex_state = 1}, - [96] = {.lex_state = 1}, + [96] = {.lex_state = 25}, [97] = {.lex_state = 1}, [98] = {.lex_state = 1}, [99] = {.lex_state = 1}, @@ -2382,53 +2484,53 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [209] = {.lex_state = 1}, [210] = {.lex_state = 1}, [211] = {.lex_state = 1}, - [212] = {.lex_state = 0}, - [213] = {.lex_state = 0}, - [214] = {.lex_state = 0}, - [215] = {.lex_state = 0}, - [216] = {.lex_state = 0}, - [217] = {.lex_state = 0}, - [218] = {.lex_state = 0}, - [219] = {.lex_state = 0}, - [220] = {.lex_state = 25}, - [221] = {.lex_state = 25}, - [222] = {.lex_state = 25}, - [223] = {.lex_state = 25}, - [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}, + [212] = {.lex_state = 1}, + [213] = {.lex_state = 1}, + [214] = {.lex_state = 1}, + [215] = {.lex_state = 1}, + [216] = {.lex_state = 1}, + [217] = {.lex_state = 1}, + [218] = {.lex_state = 1}, + [219] = {.lex_state = 1}, + [220] = {.lex_state = 1}, + [221] = {.lex_state = 1}, + [222] = {.lex_state = 1}, + [223] = {.lex_state = 1}, + [224] = {.lex_state = 0}, + [225] = {.lex_state = 0}, + [226] = {.lex_state = 0}, + [227] = {.lex_state = 0}, + [228] = {.lex_state = 0}, + [229] = {.lex_state = 0}, + [230] = {.lex_state = 0}, + [231] = {.lex_state = 0}, [232] = {.lex_state = 25}, - [233] = {.lex_state = 2}, - [234] = {.lex_state = 1}, - [235] = {.lex_state = 1}, - [236] = {.lex_state = 1}, - [237] = {.lex_state = 2}, - [238] = {.lex_state = 1}, - [239] = {.lex_state = 2}, - [240] = {.lex_state = 5}, - [241] = {.lex_state = 1}, - [242] = {.lex_state = 1}, - [243] = {.lex_state = 1}, - [244] = {.lex_state = 5}, - [245] = {.lex_state = 2}, - [246] = {.lex_state = 2}, - [247] = {.lex_state = 2}, - [248] = {.lex_state = 2}, - [249] = {.lex_state = 2}, - [250] = {.lex_state = 2}, - [251] = {.lex_state = 2}, - [252] = {.lex_state = 2}, - [253] = {.lex_state = 2}, - [254] = {.lex_state = 2}, + [233] = {.lex_state = 25}, + [234] = {.lex_state = 25}, + [235] = {.lex_state = 25}, + [236] = {.lex_state = 25}, + [237] = {.lex_state = 25}, + [238] = {.lex_state = 25}, + [239] = {.lex_state = 25}, + [240] = {.lex_state = 25}, + [241] = {.lex_state = 25}, + [242] = {.lex_state = 25}, + [243] = {.lex_state = 25}, + [244] = {.lex_state = 25}, + [245] = {.lex_state = 1}, + [246] = {.lex_state = 5}, + [247] = {.lex_state = 1}, + [248] = {.lex_state = 1}, + [249] = {.lex_state = 1}, + [250] = {.lex_state = 5}, + [251] = {.lex_state = 1}, + [252] = {.lex_state = 1}, + [253] = {.lex_state = 1}, + [254] = {.lex_state = 5}, [255] = {.lex_state = 2}, [256] = {.lex_state = 2}, [257] = {.lex_state = 2}, - [258] = {.lex_state = 2}, + [258] = {.lex_state = 25}, [259] = {.lex_state = 2}, [260] = {.lex_state = 2}, [261] = {.lex_state = 2}, @@ -2436,189 +2538,233 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [263] = {.lex_state = 2}, [264] = {.lex_state = 2}, [265] = {.lex_state = 2}, - [266] = {.lex_state = 5}, + [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 = 2}, + [272] = {.lex_state = 5}, [273] = {.lex_state = 2}, [274] = {.lex_state = 2}, - [275] = {.lex_state = 25}, + [275] = {.lex_state = 2}, [276] = {.lex_state = 2}, - [277] = {.lex_state = 5}, - [278] = {.lex_state = 5}, - [279] = {.lex_state = 5}, - [280] = {.lex_state = 5}, - [281] = {.lex_state = 5}, - [282] = {.lex_state = 4}, - [283] = {.lex_state = 1}, - [284] = {.lex_state = 1}, - [285] = {.lex_state = 1}, - [286] = {.lex_state = 1}, - [287] = {.lex_state = 1}, - [288] = {.lex_state = 1}, - [289] = {.lex_state = 3}, - [290] = {.lex_state = 1}, - [291] = {.lex_state = 1}, - [292] = {.lex_state = 1}, - [293] = {.lex_state = 1}, - [294] = {.lex_state = 1}, - [295] = {.lex_state = 1}, - [296] = {.lex_state = 4}, - [297] = {.lex_state = 1}, + [277] = {.lex_state = 2}, + [278] = {.lex_state = 2}, + [279] = {.lex_state = 2}, + [280] = {.lex_state = 2}, + [281] = {.lex_state = 2}, + [282] = {.lex_state = 2}, + [283] = {.lex_state = 5}, + [284] = {.lex_state = 5}, + [285] = {.lex_state = 2}, + [286] = {.lex_state = 5}, + [287] = {.lex_state = 2}, + [288] = {.lex_state = 2}, + [289] = {.lex_state = 2}, + [290] = {.lex_state = 2}, + [291] = {.lex_state = 2}, + [292] = {.lex_state = 5}, + [293] = {.lex_state = 2}, + [294] = {.lex_state = 2}, + [295] = {.lex_state = 2}, + [296] = {.lex_state = 2}, + [297] = {.lex_state = 2}, [298] = {.lex_state = 1}, - [299] = {.lex_state = 3}, - [300] = {.lex_state = 3}, + [299] = {.lex_state = 1}, + [300] = {.lex_state = 1}, [301] = {.lex_state = 1}, [302] = {.lex_state = 1}, [303] = {.lex_state = 1}, - [304] = {.lex_state = 2}, + [304] = {.lex_state = 1}, [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 = 2}, - [312] = {.lex_state = 2}, - [313] = {.lex_state = 2}, - [314] = {.lex_state = 2}, - [315] = {.lex_state = 2}, - [316] = {.lex_state = 2}, - [317] = {.lex_state = 2}, - [318] = {.lex_state = 2}, - [319] = {.lex_state = 2}, - [320] = {.lex_state = 2}, - [321] = {.lex_state = 2}, + [307] = {.lex_state = 1}, + [308] = {.lex_state = 1}, + [309] = {.lex_state = 1}, + [310] = {.lex_state = 1}, + [311] = {.lex_state = 4}, + [312] = {.lex_state = 1}, + [313] = {.lex_state = 1}, + [314] = {.lex_state = 4}, + [315] = {.lex_state = 3}, + [316] = {.lex_state = 3}, + [317] = {.lex_state = 3}, + [318] = {.lex_state = 1}, + [319] = {.lex_state = 1}, + [320] = {.lex_state = 1}, + [321] = {.lex_state = 1}, [322] = {.lex_state = 2}, [323] = {.lex_state = 2}, [324] = {.lex_state = 2}, [325] = {.lex_state = 2}, [326] = {.lex_state = 2}, - [327] = {.lex_state = 7}, - [328] = {.lex_state = 7}, + [327] = {.lex_state = 2}, + [328] = {.lex_state = 2}, [329] = {.lex_state = 2}, - [330] = {.lex_state = 7}, + [330] = {.lex_state = 2}, [331] = {.lex_state = 2}, - [332] = {.lex_state = 3}, + [332] = {.lex_state = 2}, [333] = {.lex_state = 2}, - [334] = {.lex_state = 7}, + [334] = {.lex_state = 2}, [335] = {.lex_state = 2}, [336] = {.lex_state = 2}, - [337] = {.lex_state = 7}, + [337] = {.lex_state = 2}, [338] = {.lex_state = 2}, [339] = {.lex_state = 2}, - [340] = {.lex_state = 2}, + [340] = {.lex_state = 7}, [341] = {.lex_state = 7}, [342] = {.lex_state = 2}, [343] = {.lex_state = 2}, - [344] = {.lex_state = 1}, + [344] = {.lex_state = 2}, [345] = {.lex_state = 2}, [346] = {.lex_state = 2}, - [347] = {.lex_state = 1}, + [347] = {.lex_state = 2}, [348] = {.lex_state = 2}, [349] = {.lex_state = 2}, - [350] = {.lex_state = 2}, - [351] = {.lex_state = 2}, - [352] = {.lex_state = 2}, - [353] = {.lex_state = 2}, + [350] = {.lex_state = 7}, + [351] = {.lex_state = 7}, + [352] = {.lex_state = 3}, + [353] = {.lex_state = 7}, [354] = {.lex_state = 2}, [355] = {.lex_state = 2}, - [356] = {.lex_state = 2}, + [356] = {.lex_state = 7}, [357] = {.lex_state = 2}, [358] = {.lex_state = 2}, - [359] = {.lex_state = 1}, - [360] = {.lex_state = 2}, + [359] = {.lex_state = 2}, + [360] = {.lex_state = 1}, [361] = {.lex_state = 1}, [362] = {.lex_state = 2}, [363] = {.lex_state = 2}, [364] = {.lex_state = 2}, - [365] = {.lex_state = 1}, - [366] = {.lex_state = 1}, - [367] = {.lex_state = 1}, - [368] = {.lex_state = 1}, - [369] = {.lex_state = 1}, - [370] = {.lex_state = 1}, + [365] = {.lex_state = 2}, + [366] = {.lex_state = 2}, + [367] = {.lex_state = 2}, + [368] = {.lex_state = 2}, + [369] = {.lex_state = 2}, + [370] = {.lex_state = 2}, [371] = {.lex_state = 1}, - [372] = {.lex_state = 5}, - [373] = {.lex_state = 5}, - [374] = {.lex_state = 25}, - [375] = {.lex_state = 25}, - [376] = {.lex_state = 25}, - [377] = {.lex_state = 25}, - [378] = {.lex_state = 1}, + [372] = {.lex_state = 2}, + [373] = {.lex_state = 2}, + [374] = {.lex_state = 2}, + [375] = {.lex_state = 2}, + [376] = {.lex_state = 2}, + [377] = {.lex_state = 2}, + [378] = {.lex_state = 2}, [379] = {.lex_state = 1}, - [380] = {.lex_state = 1}, + [380] = {.lex_state = 2}, [381] = {.lex_state = 1}, [382] = {.lex_state = 1}, [383] = {.lex_state = 1}, [384] = {.lex_state = 1}, [385] = {.lex_state = 1}, - [386] = {.lex_state = 25}, - [387] = {.lex_state = 1}, - [388] = {.lex_state = 1}, + [386] = {.lex_state = 1}, + [387] = {.lex_state = 5}, + [388] = {.lex_state = 5}, [389] = {.lex_state = 1}, - [390] = {.lex_state = 1}, - [391] = {.lex_state = 1}, - [392] = {.lex_state = 1}, - [393] = {.lex_state = 1}, + [390] = {.lex_state = 25}, + [391] = {.lex_state = 25}, + [392] = {.lex_state = 25}, + [393] = {.lex_state = 25}, [394] = {.lex_state = 1}, - [395] = {.lex_state = 1}, + [395] = {.lex_state = 25}, [396] = {.lex_state = 1}, [397] = {.lex_state = 1}, [398] = {.lex_state = 1}, [399] = {.lex_state = 1}, - [400] = {.lex_state = 0}, - [401] = {.lex_state = 0}, - [402] = {.lex_state = 0}, - [403] = {.lex_state = 0}, - [404] = {.lex_state = 0}, - [405] = {.lex_state = 0}, + [400] = {.lex_state = 1}, + [401] = {.lex_state = 1}, + [402] = {.lex_state = 25}, + [403] = {.lex_state = 1}, + [404] = {.lex_state = 1}, + [405] = {.lex_state = 1}, [406] = {.lex_state = 1}, [407] = {.lex_state = 1}, - [408] = {.lex_state = 0}, + [408] = {.lex_state = 1}, [409] = {.lex_state = 1}, - [410] = {.lex_state = 0}, - [411] = {.lex_state = 0}, + [410] = {.lex_state = 1}, + [411] = {.lex_state = 1}, [412] = {.lex_state = 1}, - [413] = {.lex_state = 0}, - [414] = {.lex_state = 0}, + [413] = {.lex_state = 1}, + [414] = {.lex_state = 1}, [415] = {.lex_state = 1}, [416] = {.lex_state = 1}, - [417] = {.lex_state = 0}, + [417] = {.lex_state = 1}, [418] = {.lex_state = 1}, - [419] = {.lex_state = 0}, - [420] = {.lex_state = 0}, + [419] = {.lex_state = 1}, + [420] = {.lex_state = 1}, [421] = {.lex_state = 1}, - [422] = {.lex_state = 0}, - [423] = {.lex_state = 0}, - [424] = {.lex_state = 0}, - [425] = {.lex_state = 0}, - [426] = {.lex_state = 0}, - [427] = {.lex_state = 0}, - [428] = {.lex_state = 5}, - [429] = {.lex_state = 0}, - [430] = {.lex_state = 0}, - [431] = {.lex_state = 0}, - [432] = {.lex_state = 0}, - [433] = {.lex_state = 0}, - [434] = {.lex_state = 0}, + [422] = {.lex_state = 1}, + [423] = {.lex_state = 1}, + [424] = {.lex_state = 25}, + [425] = {.lex_state = 1}, + [426] = {.lex_state = 1}, + [427] = {.lex_state = 1}, + [428] = {.lex_state = 1}, + [429] = {.lex_state = 1}, + [430] = {.lex_state = 1}, + [431] = {.lex_state = 1}, + [432] = {.lex_state = 1}, + [433] = {.lex_state = 1}, + [434] = {.lex_state = 1}, [435] = {.lex_state = 0}, - [436] = {.lex_state = 1}, - [437] = {.lex_state = 5}, + [436] = {.lex_state = 0}, + [437] = {.lex_state = 0}, [438] = {.lex_state = 0}, - [439] = {.lex_state = 1}, - [440] = {.lex_state = 0}, - [441] = {.lex_state = 0}, - [442] = {.lex_state = 25}, + [439] = {.lex_state = 0}, + [440] = {.lex_state = 1}, + [441] = {.lex_state = 1}, + [442] = {.lex_state = 0}, [443] = {.lex_state = 0}, [444] = {.lex_state = 1}, - [445] = {.lex_state = 0}, - [446] = {.lex_state = 0}, - [447] = {.lex_state = 1}, - [448] = {.lex_state = 0}, + [445] = {.lex_state = 1}, + [446] = {.lex_state = 1}, + [447] = {.lex_state = 0}, + [448] = {.lex_state = 1}, + [449] = {.lex_state = 0}, + [450] = {.lex_state = 0}, + [451] = {.lex_state = 1}, + [452] = {.lex_state = 0}, + [453] = {.lex_state = 25}, + [454] = {.lex_state = 0}, + [455] = {.lex_state = 0}, + [456] = {.lex_state = 0}, + [457] = {.lex_state = 0}, + [458] = {.lex_state = 0}, + [459] = {.lex_state = 1}, + [460] = {.lex_state = 0}, + [461] = {.lex_state = 0}, + [462] = {.lex_state = 0}, + [463] = {.lex_state = 1}, + [464] = {.lex_state = 0}, + [465] = {.lex_state = 0}, + [466] = {.lex_state = 0}, + [467] = {.lex_state = 0}, + [468] = {.lex_state = 5}, + [469] = {.lex_state = 1}, + [470] = {.lex_state = 0}, + [471] = {.lex_state = 0}, + [472] = {.lex_state = 0}, + [473] = {.lex_state = 0}, + [474] = {.lex_state = 0}, + [475] = {.lex_state = 0}, + [476] = {.lex_state = 0}, + [477] = {.lex_state = 1}, + [478] = {.lex_state = 5}, + [479] = {.lex_state = 1}, + [480] = {.lex_state = 25}, + [481] = {.lex_state = 0}, + [482] = {.lex_state = 0}, + [483] = {.lex_state = 0}, + [484] = {.lex_state = 1}, + [485] = {.lex_state = 0}, + [486] = {.lex_state = 0}, + [487] = {.lex_state = 1}, + [488] = {.lex_state = 0}, + [489] = {.lex_state = 1}, + [490] = {.lex_state = 0}, + [491] = {.lex_state = 1}, + [492] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -2633,6 +2779,9 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_async] = ACTIONS(1), [anon_sym_LBRACE] = ACTIONS(1), [anon_sym_RBRACE] = ACTIONS(1), + [anon_sym_struct] = ACTIONS(1), + [anon_sym_EQ] = ACTIONS(1), + [anon_sym_new] = ACTIONS(1), [sym_integer] = ACTIONS(1), [sym_float] = ACTIONS(1), [sym_string] = ACTIONS(1), @@ -2640,7 +2789,6 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_false] = ACTIONS(1), [anon_sym_LBRACK] = ACTIONS(1), [anon_sym_RBRACK] = ACTIONS(1), - [anon_sym_EQ] = ACTIONS(1), [anon_sym_none] = ACTIONS(1), [anon_sym_some] = ACTIONS(1), [anon_sym_COLON] = ACTIONS(1), @@ -2691,2511 +2839,2927 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(1), }, [1] = { - [sym_root] = STATE(443), + [sym_root] = STATE(483), [sym_statement] = STATE(24), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(24), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), }, [2] = { - [sym_statement] = STATE(2), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(2), - [ts_builtin_sym_end] = ACTIONS(39), - [sym_identifier] = ACTIONS(41), + [sym_statement] = STATE(17), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [aux_sym_root_repeat1] = STATE(17), + [aux_sym_map_repeat1] = STATE(403), + [sym_identifier] = ACTIONS(43), [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(44), - [anon_sym_async] = ACTIONS(47), - [anon_sym_LBRACE] = ACTIONS(50), - [anon_sym_RBRACE] = ACTIONS(39), - [sym_integer] = ACTIONS(53), - [sym_float] = ACTIONS(56), - [sym_string] = ACTIONS(56), - [anon_sym_true] = ACTIONS(59), - [anon_sym_false] = ACTIONS(59), - [anon_sym_LBRACK] = ACTIONS(62), - [anon_sym_none] = ACTIONS(65), - [anon_sym_some] = ACTIONS(68), - [anon_sym_if] = ACTIONS(71), - [anon_sym_match] = ACTIONS(74), - [anon_sym_while] = ACTIONS(77), - [anon_sym_for] = ACTIONS(80), - [anon_sym_asyncfor] = ACTIONS(83), - [anon_sym_return] = ACTIONS(86), - [anon_sym_args] = ACTIONS(89), - [anon_sym_assert_equal] = ACTIONS(89), - [anon_sym_env] = ACTIONS(89), - [anon_sym_fs] = ACTIONS(89), - [anon_sym_json] = ACTIONS(89), - [anon_sym_length] = ACTIONS(89), - [anon_sym_output] = ACTIONS(89), - [anon_sym_random] = ACTIONS(89), - [anon_sym_string] = ACTIONS(89), + [anon_sym_LPAREN] = ACTIONS(7), + [anon_sym_async] = ACTIONS(9), + [anon_sym_LBRACE] = ACTIONS(11), + [anon_sym_RBRACE] = ACTIONS(45), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), }, [3] = { - [sym_statement] = STATE(21), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(21), - [aux_sym_map_repeat1] = STATE(380), - [sym_identifier] = ACTIONS(92), + [sym_statement] = STATE(13), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [aux_sym_root_repeat1] = STATE(13), + [aux_sym_map_repeat1] = STATE(412), + [sym_identifier] = ACTIONS(43), [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), - [anon_sym_string] = ACTIONS(37), + [anon_sym_RBRACE] = ACTIONS(47), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), }, [4] = { - [sym_statement] = STATE(14), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(14), - [aux_sym_map_repeat1] = STATE(398), - [sym_identifier] = ACTIONS(92), + [sym_statement] = STATE(23), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [aux_sym_root_repeat1] = STATE(23), + [aux_sym_map_repeat1] = STATE(394), + [sym_identifier] = ACTIONS(43), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), - [anon_sym_RBRACE] = ACTIONS(96), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), + [anon_sym_RBRACE] = ACTIONS(49), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), }, [5] = { - [sym_statement] = STATE(26), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(26), - [aux_sym_map_repeat1] = STATE(381), - [sym_identifier] = ACTIONS(92), + [sym_statement] = STATE(5), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [aux_sym_root_repeat1] = STATE(5), + [ts_builtin_sym_end] = ACTIONS(51), + [sym_identifier] = ACTIONS(53), [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), - [anon_sym_string] = ACTIONS(37), + [anon_sym_LPAREN] = ACTIONS(56), + [anon_sym_async] = ACTIONS(59), + [anon_sym_LBRACE] = ACTIONS(62), + [anon_sym_RBRACE] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(65), + [anon_sym_new] = ACTIONS(68), + [sym_integer] = ACTIONS(71), + [sym_float] = ACTIONS(74), + [sym_string] = ACTIONS(74), + [anon_sym_true] = ACTIONS(77), + [anon_sym_false] = ACTIONS(77), + [anon_sym_LBRACK] = ACTIONS(80), + [anon_sym_none] = ACTIONS(83), + [anon_sym_some] = ACTIONS(86), + [anon_sym_if] = ACTIONS(89), + [anon_sym_match] = ACTIONS(92), + [anon_sym_while] = ACTIONS(95), + [anon_sym_for] = ACTIONS(98), + [anon_sym_asyncfor] = ACTIONS(101), + [anon_sym_return] = ACTIONS(104), + [anon_sym_args] = ACTIONS(107), + [anon_sym_assert_equal] = ACTIONS(107), + [anon_sym_env] = ACTIONS(107), + [anon_sym_fs] = ACTIONS(107), + [anon_sym_json] = ACTIONS(107), + [anon_sym_length] = ACTIONS(107), + [anon_sym_output] = ACTIONS(107), + [anon_sym_random] = ACTIONS(107), + [anon_sym_string] = ACTIONS(107), }, [6] = { - [sym_statement] = STATE(16), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(16), + [sym_statement] = STATE(23), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [aux_sym_root_repeat1] = STATE(23), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), - [anon_sym_RBRACE] = ACTIONS(100), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), + [anon_sym_RBRACE] = ACTIONS(49), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), }, [7] = { - [sym_statement] = STATE(2), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(2), - [sym_identifier] = ACTIONS(5), - [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(7), - [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_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), - }, - [8] = { - [sym_statement] = STATE(2), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(2), - [sym_identifier] = ACTIONS(5), - [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(7), - [anon_sym_async] = ACTIONS(9), - [anon_sym_LBRACE] = ACTIONS(11), - [anon_sym_RBRACE] = ACTIONS(100), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), - }, - [9] = { - [sym_statement] = STATE(11), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(11), - [sym_identifier] = ACTIONS(5), - [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(7), - [anon_sym_async] = ACTIONS(9), - [anon_sym_LBRACE] = ACTIONS(11), - [anon_sym_RBRACE] = ACTIONS(104), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), - }, - [10] = { - [sym_statement] = STATE(12), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(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(106), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), - }, - [11] = { - [sym_statement] = STATE(2), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(2), - [sym_identifier] = ACTIONS(5), - [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(7), - [anon_sym_async] = ACTIONS(9), - [anon_sym_LBRACE] = ACTIONS(11), - [anon_sym_RBRACE] = ACTIONS(106), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), - }, - [12] = { - [sym_statement] = STATE(2), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(2), - [sym_identifier] = ACTIONS(5), - [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(7), - [anon_sym_async] = ACTIONS(9), - [anon_sym_LBRACE] = ACTIONS(11), - [anon_sym_RBRACE] = ACTIONS(108), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), - }, - [13] = { - [sym_statement] = STATE(26), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(26), - [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), - [anon_sym_string] = ACTIONS(37), - }, - [14] = { - [sym_statement] = STATE(2), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(2), + [sym_statement] = STATE(5), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [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(110), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), }, - [15] = { - [sym_statement] = STATE(2), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(2), + [8] = { + [sym_statement] = STATE(9), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [aux_sym_root_repeat1] = STATE(9), [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), - [anon_sym_string] = ACTIONS(37), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), }, - [16] = { - [sym_statement] = STATE(2), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(2), + [9] = { + [sym_statement] = STATE(5), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [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_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), }, - [17] = { - [sym_statement] = STATE(14), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(14), + [10] = { + [sym_statement] = STATE(5), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [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(96), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), + [anon_sym_RBRACE] = ACTIONS(112), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), }, - [18] = { - [sym_statement] = STATE(15), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(15), - [sym_identifier] = ACTIONS(5), - [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(7), - [anon_sym_async] = ACTIONS(9), - [anon_sym_LBRACE] = ACTIONS(11), - [anon_sym_RBRACE] = ACTIONS(110), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), - }, - [19] = { - [sym_statement] = STATE(8), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(8), + [11] = { + [sym_statement] = STATE(5), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [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_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), }, - [20] = { - [sym_statement] = STATE(2), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(2), + [12] = { + [sym_statement] = STATE(5), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [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_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), + }, + [13] = { + [sym_statement] = STATE(5), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [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), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), + }, + [14] = { + [sym_statement] = STATE(11), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [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(120), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), + }, + [15] = { + [sym_statement] = STATE(13), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [aux_sym_root_repeat1] = STATE(13), + [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(47), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), + }, + [16] = { + [sym_statement] = STATE(5), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [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(122), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), + }, + [17] = { + [sym_statement] = STATE(5), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [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(124), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), + }, + [18] = { + [sym_statement] = STATE(16), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [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(124), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), + }, + [19] = { + [sym_statement] = STATE(10), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [aux_sym_root_repeat1] = STATE(10), + [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(126), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), + }, + [20] = { + [sym_statement] = STATE(26), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [aux_sym_root_repeat1] = STATE(26), + [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(128), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), }, [21] = { - [sym_statement] = STATE(2), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(2), + [sym_statement] = STATE(17), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [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(120), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), + [anon_sym_RBRACE] = ACTIONS(45), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), }, [22] = { - [sym_statement] = STATE(20), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(20), + [sym_statement] = STATE(12), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [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(120), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), + [anon_sym_RBRACE] = ACTIONS(130), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), }, [23] = { - [sym_statement] = STATE(21), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(21), + [sym_statement] = STATE(5), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [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(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), - [anon_sym_string] = ACTIONS(37), + [anon_sym_RBRACE] = ACTIONS(132), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), }, [24] = { - [sym_statement] = STATE(2), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(2), - [ts_builtin_sym_end] = ACTIONS(122), + [sym_statement] = STATE(5), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [aux_sym_root_repeat1] = STATE(5), + [ts_builtin_sym_end] = ACTIONS(134), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), }, [25] = { [sym_statement] = STATE(7), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(7), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), - [anon_sym_RBRACE] = ACTIONS(124), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), + [anon_sym_RBRACE] = ACTIONS(132), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), }, [26] = { - [sym_statement] = STATE(2), - [sym_expression] = STATE(84), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(230), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [aux_sym_root_repeat1] = STATE(2), + [sym_statement] = STATE(5), + [sym_expression] = STATE(92), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(240), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(240), + [sym_index_assignment] = STATE(240), + [sym_if_else] = STATE(240), + [sym_if] = STATE(224), + [sym_match] = STATE(240), + [sym_while] = STATE(240), + [sym_for] = STATE(240), + [sym_return] = STATE(240), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [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(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), - [anon_sym_string] = ACTIONS(37), + [anon_sym_RBRACE] = ACTIONS(130), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), }, [27] = { - [sym_statement] = STATE(293), - [sym_expression] = STATE(310), - [sym__expression_kind] = STATE(258), - [sym_block] = STATE(286), - [sym_value] = STATE(250), - [sym_boolean] = STATE(269), - [sym_list] = STATE(269), - [sym_map] = STATE(269), - [sym_option] = STATE(269), - [sym_index] = STATE(296), - [sym_index_expression] = STATE(426), - [sym_math] = STATE(258), - [sym_logic] = STATE(258), - [sym_assignment] = STATE(286), - [sym_index_assignment] = STATE(286), - [sym_if_else] = STATE(286), - [sym_if] = STATE(372), - [sym_match] = STATE(286), - [sym_while] = STATE(286), - [sym_for] = STATE(286), - [sym_return] = STATE(286), - [sym_function] = STATE(269), - [sym_function_expression] = STATE(445), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(245), - [sym_yield] = STATE(245), - [sym_built_in_value] = STATE(269), - [sym_identifier] = ACTIONS(126), + [sym_statement] = STATE(428), + [sym_expression] = STATE(323), + [sym__expression_kind] = STATE(288), + [sym_block] = STATE(300), + [sym_value] = STATE(265), + [sym_structure] = STATE(279), + [sym_new] = STATE(288), + [sym_boolean] = STATE(279), + [sym_list] = STATE(279), + [sym_map] = STATE(279), + [sym_option] = STATE(279), + [sym_index] = STATE(314), + [sym_index_expression] = STATE(464), + [sym_math] = STATE(288), + [sym_logic] = STATE(288), + [sym_assignment] = STATE(300), + [sym_index_assignment] = STATE(300), + [sym_if_else] = STATE(300), + [sym_if] = STATE(388), + [sym_match] = STATE(300), + [sym_while] = STATE(300), + [sym_for] = STATE(300), + [sym_return] = STATE(300), + [sym_function] = STATE(279), + [sym_function_expression] = STATE(471), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(277), + [sym_yield] = STATE(277), + [sym_built_in_value] = STATE(279), + [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(128), - [anon_sym_async] = ACTIONS(130), - [anon_sym_LBRACE] = ACTIONS(132), - [sym_integer] = ACTIONS(134), - [sym_float] = ACTIONS(136), - [sym_string] = ACTIONS(136), - [anon_sym_true] = ACTIONS(138), - [anon_sym_false] = ACTIONS(138), - [anon_sym_LBRACK] = ACTIONS(140), - [anon_sym_none] = ACTIONS(142), - [anon_sym_some] = ACTIONS(144), - [anon_sym_if] = ACTIONS(146), - [anon_sym_match] = ACTIONS(148), - [anon_sym_while] = ACTIONS(150), - [anon_sym_for] = ACTIONS(152), - [anon_sym_asyncfor] = ACTIONS(154), - [anon_sym_return] = ACTIONS(156), - [anon_sym_args] = ACTIONS(158), - [anon_sym_assert_equal] = ACTIONS(158), - [anon_sym_env] = ACTIONS(158), - [anon_sym_fs] = ACTIONS(158), - [anon_sym_json] = ACTIONS(158), - [anon_sym_length] = ACTIONS(158), - [anon_sym_output] = ACTIONS(158), - [anon_sym_random] = ACTIONS(158), - [anon_sym_string] = ACTIONS(158), + [anon_sym_LPAREN] = ACTIONS(138), + [anon_sym_async] = ACTIONS(140), + [anon_sym_LBRACE] = ACTIONS(142), + [anon_sym_struct] = ACTIONS(144), + [anon_sym_new] = ACTIONS(146), + [sym_integer] = ACTIONS(148), + [sym_float] = ACTIONS(150), + [sym_string] = ACTIONS(150), + [anon_sym_true] = ACTIONS(152), + [anon_sym_false] = ACTIONS(152), + [anon_sym_LBRACK] = ACTIONS(154), + [anon_sym_none] = ACTIONS(156), + [anon_sym_some] = ACTIONS(158), + [anon_sym_if] = ACTIONS(160), + [anon_sym_match] = ACTIONS(162), + [anon_sym_while] = ACTIONS(164), + [anon_sym_for] = ACTIONS(166), + [anon_sym_asyncfor] = ACTIONS(168), + [anon_sym_return] = ACTIONS(170), + [anon_sym_args] = ACTIONS(172), + [anon_sym_assert_equal] = ACTIONS(172), + [anon_sym_env] = ACTIONS(172), + [anon_sym_fs] = ACTIONS(172), + [anon_sym_json] = ACTIONS(172), + [anon_sym_length] = ACTIONS(172), + [anon_sym_output] = ACTIONS(172), + [anon_sym_random] = ACTIONS(172), + [anon_sym_string] = ACTIONS(172), }, [28] = { - [sym_statement] = STATE(231), - [sym_expression] = STATE(85), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(223), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(223), - [sym_index_assignment] = STATE(223), - [sym_if_else] = STATE(223), - [sym_if] = STATE(213), - [sym_match] = STATE(223), - [sym_while] = STATE(223), - [sym_for] = STATE(223), - [sym_return] = STATE(223), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [sym_identifier] = ACTIONS(5), + [sym_statement] = STATE(434), + [sym_expression] = STATE(323), + [sym__expression_kind] = STATE(288), + [sym_block] = STATE(300), + [sym_value] = STATE(265), + [sym_structure] = STATE(279), + [sym_new] = STATE(288), + [sym_boolean] = STATE(279), + [sym_list] = STATE(279), + [sym_map] = STATE(279), + [sym_option] = STATE(279), + [sym_index] = STATE(314), + [sym_index_expression] = STATE(464), + [sym_math] = STATE(288), + [sym_logic] = STATE(288), + [sym_assignment] = STATE(300), + [sym_index_assignment] = STATE(300), + [sym_if_else] = STATE(300), + [sym_if] = STATE(388), + [sym_match] = STATE(300), + [sym_while] = STATE(300), + [sym_for] = STATE(300), + [sym_return] = STATE(300), + [sym_function] = STATE(279), + [sym_function_expression] = STATE(471), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(277), + [sym_yield] = STATE(277), + [sym_built_in_value] = STATE(279), + [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(7), - [anon_sym_async] = ACTIONS(9), - [anon_sym_LBRACE] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), + [anon_sym_LPAREN] = ACTIONS(138), + [anon_sym_async] = ACTIONS(140), + [anon_sym_LBRACE] = ACTIONS(142), + [anon_sym_struct] = ACTIONS(144), + [anon_sym_new] = ACTIONS(146), + [sym_integer] = ACTIONS(148), + [sym_float] = ACTIONS(150), + [sym_string] = ACTIONS(150), + [anon_sym_true] = ACTIONS(152), + [anon_sym_false] = ACTIONS(152), + [anon_sym_LBRACK] = ACTIONS(154), + [anon_sym_none] = ACTIONS(156), + [anon_sym_some] = ACTIONS(158), + [anon_sym_if] = ACTIONS(160), + [anon_sym_match] = ACTIONS(162), + [anon_sym_while] = ACTIONS(164), + [anon_sym_for] = ACTIONS(166), + [anon_sym_asyncfor] = ACTIONS(168), + [anon_sym_return] = ACTIONS(170), + [anon_sym_args] = ACTIONS(172), + [anon_sym_assert_equal] = ACTIONS(172), + [anon_sym_env] = ACTIONS(172), + [anon_sym_fs] = ACTIONS(172), + [anon_sym_json] = ACTIONS(172), + [anon_sym_length] = ACTIONS(172), + [anon_sym_output] = ACTIONS(172), + [anon_sym_random] = ACTIONS(172), + [anon_sym_string] = ACTIONS(172), }, [29] = { - [sym_statement] = STATE(229), - [sym_expression] = STATE(85), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(223), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(223), - [sym_index_assignment] = STATE(223), - [sym_if_else] = STATE(223), - [sym_if] = STATE(213), - [sym_match] = STATE(223), - [sym_while] = STATE(223), - [sym_for] = STATE(223), - [sym_return] = STATE(223), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [sym_identifier] = ACTIONS(5), + [sym_statement] = STATE(303), + [sym_expression] = STATE(196), + [sym__expression_kind] = STATE(125), + [sym_block] = STATE(301), + [sym_value] = STATE(126), + [sym_structure] = STATE(129), + [sym_new] = STATE(125), + [sym_boolean] = STATE(129), + [sym_list] = STATE(129), + [sym_map] = STATE(129), + [sym_option] = STATE(129), + [sym_index] = STATE(134), + [sym_index_expression] = STATE(476), + [sym_math] = STATE(125), + [sym_logic] = STATE(125), + [sym_assignment] = STATE(301), + [sym_index_assignment] = STATE(301), + [sym_if_else] = STATE(301), + [sym_if] = STATE(246), + [sym_match] = STATE(301), + [sym_while] = STATE(301), + [sym_for] = STATE(301), + [sym_return] = STATE(301), + [sym_function] = STATE(129), + [sym_function_expression] = STATE(457), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(119), + [sym_yield] = STATE(119), + [sym_built_in_value] = STATE(129), + [sym_identifier] = ACTIONS(174), [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(7), - [anon_sym_async] = ACTIONS(9), - [anon_sym_LBRACE] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), + [anon_sym_LPAREN] = ACTIONS(176), + [anon_sym_async] = ACTIONS(178), + [anon_sym_LBRACE] = ACTIONS(180), + [anon_sym_struct] = ACTIONS(182), + [anon_sym_new] = ACTIONS(184), + [sym_integer] = ACTIONS(186), + [sym_float] = ACTIONS(188), + [sym_string] = ACTIONS(188), + [anon_sym_true] = ACTIONS(190), + [anon_sym_false] = ACTIONS(190), + [anon_sym_LBRACK] = ACTIONS(192), + [anon_sym_none] = ACTIONS(194), + [anon_sym_some] = ACTIONS(196), + [anon_sym_if] = ACTIONS(160), + [anon_sym_match] = ACTIONS(162), + [anon_sym_while] = ACTIONS(198), + [anon_sym_for] = ACTIONS(200), + [anon_sym_asyncfor] = ACTIONS(202), + [anon_sym_return] = ACTIONS(204), + [anon_sym_args] = ACTIONS(206), + [anon_sym_assert_equal] = ACTIONS(206), + [anon_sym_env] = ACTIONS(206), + [anon_sym_fs] = ACTIONS(206), + [anon_sym_json] = ACTIONS(206), + [anon_sym_length] = ACTIONS(206), + [anon_sym_output] = ACTIONS(206), + [anon_sym_random] = ACTIONS(206), + [anon_sym_string] = ACTIONS(206), }, [30] = { - [sym_statement] = STATE(284), - [sym_expression] = STATE(140), - [sym__expression_kind] = STATE(102), - [sym_block] = STATE(286), - [sym_value] = STATE(109), - [sym_boolean] = STATE(95), - [sym_list] = STATE(95), - [sym_map] = STATE(95), - [sym_option] = STATE(95), - [sym_index] = STATE(119), - [sym_index_expression] = STATE(424), - [sym_math] = STATE(102), - [sym_logic] = STATE(102), - [sym_assignment] = STATE(286), - [sym_index_assignment] = STATE(286), - [sym_if_else] = STATE(286), - [sym_if] = STATE(240), - [sym_match] = STATE(286), - [sym_while] = STATE(286), - [sym_for] = STATE(286), - [sym_return] = STATE(286), - [sym_function] = STATE(95), - [sym_function_expression] = STATE(419), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(100), - [sym_yield] = STATE(100), - [sym_built_in_value] = STATE(95), - [sym_identifier] = ACTIONS(160), + [sym_statement] = STATE(400), + [sym_expression] = STATE(323), + [sym__expression_kind] = STATE(288), + [sym_block] = STATE(300), + [sym_value] = STATE(265), + [sym_structure] = STATE(279), + [sym_new] = STATE(288), + [sym_boolean] = STATE(279), + [sym_list] = STATE(279), + [sym_map] = STATE(279), + [sym_option] = STATE(279), + [sym_index] = STATE(314), + [sym_index_expression] = STATE(464), + [sym_math] = STATE(288), + [sym_logic] = STATE(288), + [sym_assignment] = STATE(300), + [sym_index_assignment] = STATE(300), + [sym_if_else] = STATE(300), + [sym_if] = STATE(388), + [sym_match] = STATE(300), + [sym_while] = STATE(300), + [sym_for] = STATE(300), + [sym_return] = STATE(300), + [sym_function] = STATE(279), + [sym_function_expression] = STATE(471), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(277), + [sym_yield] = STATE(277), + [sym_built_in_value] = STATE(279), + [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(162), - [anon_sym_async] = ACTIONS(164), - [anon_sym_LBRACE] = ACTIONS(166), - [sym_integer] = ACTIONS(168), - [sym_float] = ACTIONS(170), - [sym_string] = ACTIONS(170), - [anon_sym_true] = ACTIONS(172), - [anon_sym_false] = ACTIONS(172), - [anon_sym_LBRACK] = ACTIONS(174), - [anon_sym_none] = ACTIONS(176), - [anon_sym_some] = ACTIONS(178), - [anon_sym_if] = ACTIONS(146), - [anon_sym_match] = ACTIONS(148), - [anon_sym_while] = ACTIONS(180), - [anon_sym_for] = ACTIONS(182), - [anon_sym_asyncfor] = ACTIONS(184), - [anon_sym_return] = ACTIONS(186), - [anon_sym_args] = ACTIONS(188), - [anon_sym_assert_equal] = ACTIONS(188), - [anon_sym_env] = ACTIONS(188), - [anon_sym_fs] = ACTIONS(188), - [anon_sym_json] = ACTIONS(188), - [anon_sym_length] = ACTIONS(188), - [anon_sym_output] = ACTIONS(188), - [anon_sym_random] = ACTIONS(188), - [anon_sym_string] = ACTIONS(188), + [anon_sym_LPAREN] = ACTIONS(138), + [anon_sym_async] = ACTIONS(140), + [anon_sym_LBRACE] = ACTIONS(142), + [anon_sym_struct] = ACTIONS(144), + [anon_sym_new] = ACTIONS(146), + [sym_integer] = ACTIONS(148), + [sym_float] = ACTIONS(150), + [sym_string] = ACTIONS(150), + [anon_sym_true] = ACTIONS(152), + [anon_sym_false] = ACTIONS(152), + [anon_sym_LBRACK] = ACTIONS(154), + [anon_sym_none] = ACTIONS(156), + [anon_sym_some] = ACTIONS(158), + [anon_sym_if] = ACTIONS(160), + [anon_sym_match] = ACTIONS(162), + [anon_sym_while] = ACTIONS(164), + [anon_sym_for] = ACTIONS(166), + [anon_sym_asyncfor] = ACTIONS(168), + [anon_sym_return] = ACTIONS(170), + [anon_sym_args] = ACTIONS(172), + [anon_sym_assert_equal] = ACTIONS(172), + [anon_sym_env] = ACTIONS(172), + [anon_sym_fs] = ACTIONS(172), + [anon_sym_json] = ACTIONS(172), + [anon_sym_length] = ACTIONS(172), + [anon_sym_output] = ACTIONS(172), + [anon_sym_random] = ACTIONS(172), + [anon_sym_string] = ACTIONS(172), }, [31] = { - [sym_statement] = STATE(383), - [sym_expression] = STATE(307), - [sym__expression_kind] = STATE(258), - [sym_block] = STATE(292), - [sym_value] = STATE(250), - [sym_boolean] = STATE(269), - [sym_list] = STATE(269), - [sym_map] = STATE(269), - [sym_option] = STATE(269), - [sym_index] = STATE(296), - [sym_index_expression] = STATE(426), - [sym_math] = STATE(258), - [sym_logic] = STATE(258), - [sym_assignment] = STATE(292), - [sym_index_assignment] = STATE(292), - [sym_if_else] = STATE(292), - [sym_if] = STATE(372), - [sym_match] = STATE(292), - [sym_while] = STATE(292), - [sym_for] = STATE(292), - [sym_return] = STATE(292), - [sym_function] = STATE(269), - [sym_function_expression] = STATE(445), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(245), - [sym_yield] = STATE(245), - [sym_built_in_value] = STATE(269), - [sym_identifier] = ACTIONS(126), + [sym_statement] = STATE(305), + [sym_expression] = STATE(196), + [sym__expression_kind] = STATE(125), + [sym_block] = STATE(301), + [sym_value] = STATE(126), + [sym_structure] = STATE(129), + [sym_new] = STATE(125), + [sym_boolean] = STATE(129), + [sym_list] = STATE(129), + [sym_map] = STATE(129), + [sym_option] = STATE(129), + [sym_index] = STATE(134), + [sym_index_expression] = STATE(476), + [sym_math] = STATE(125), + [sym_logic] = STATE(125), + [sym_assignment] = STATE(301), + [sym_index_assignment] = STATE(301), + [sym_if_else] = STATE(301), + [sym_if] = STATE(246), + [sym_match] = STATE(301), + [sym_while] = STATE(301), + [sym_for] = STATE(301), + [sym_return] = STATE(301), + [sym_function] = STATE(129), + [sym_function_expression] = STATE(457), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(119), + [sym_yield] = STATE(119), + [sym_built_in_value] = STATE(129), + [sym_identifier] = ACTIONS(174), [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(128), - [anon_sym_async] = ACTIONS(130), - [anon_sym_LBRACE] = ACTIONS(132), - [sym_integer] = ACTIONS(134), - [sym_float] = ACTIONS(136), - [sym_string] = ACTIONS(136), - [anon_sym_true] = ACTIONS(138), - [anon_sym_false] = ACTIONS(138), - [anon_sym_LBRACK] = ACTIONS(140), - [anon_sym_none] = ACTIONS(142), - [anon_sym_some] = ACTIONS(144), - [anon_sym_if] = ACTIONS(146), - [anon_sym_match] = ACTIONS(148), - [anon_sym_while] = ACTIONS(150), - [anon_sym_for] = ACTIONS(152), - [anon_sym_asyncfor] = ACTIONS(154), - [anon_sym_return] = ACTIONS(156), - [anon_sym_args] = ACTIONS(158), - [anon_sym_assert_equal] = ACTIONS(158), - [anon_sym_env] = ACTIONS(158), - [anon_sym_fs] = ACTIONS(158), - [anon_sym_json] = ACTIONS(158), - [anon_sym_length] = ACTIONS(158), - [anon_sym_output] = ACTIONS(158), - [anon_sym_random] = ACTIONS(158), - [anon_sym_string] = ACTIONS(158), + [anon_sym_LPAREN] = ACTIONS(176), + [anon_sym_async] = ACTIONS(178), + [anon_sym_LBRACE] = ACTIONS(180), + [anon_sym_struct] = ACTIONS(182), + [anon_sym_new] = ACTIONS(184), + [sym_integer] = ACTIONS(186), + [sym_float] = ACTIONS(188), + [sym_string] = ACTIONS(188), + [anon_sym_true] = ACTIONS(190), + [anon_sym_false] = ACTIONS(190), + [anon_sym_LBRACK] = ACTIONS(192), + [anon_sym_none] = ACTIONS(194), + [anon_sym_some] = ACTIONS(196), + [anon_sym_if] = ACTIONS(160), + [anon_sym_match] = ACTIONS(162), + [anon_sym_while] = ACTIONS(198), + [anon_sym_for] = ACTIONS(200), + [anon_sym_asyncfor] = ACTIONS(202), + [anon_sym_return] = ACTIONS(204), + [anon_sym_args] = ACTIONS(206), + [anon_sym_assert_equal] = ACTIONS(206), + [anon_sym_env] = ACTIONS(206), + [anon_sym_fs] = ACTIONS(206), + [anon_sym_json] = ACTIONS(206), + [anon_sym_length] = ACTIONS(206), + [anon_sym_output] = ACTIONS(206), + [anon_sym_random] = ACTIONS(206), + [anon_sym_string] = ACTIONS(206), }, [32] = { - [sym_statement] = STATE(285), - [sym_expression] = STATE(140), - [sym__expression_kind] = STATE(102), - [sym_block] = STATE(286), - [sym_value] = STATE(109), - [sym_boolean] = STATE(95), - [sym_list] = STATE(95), - [sym_map] = STATE(95), - [sym_option] = STATE(95), - [sym_index] = STATE(119), - [sym_index_expression] = STATE(424), - [sym_math] = STATE(102), - [sym_logic] = STATE(102), - [sym_assignment] = STATE(286), - [sym_index_assignment] = STATE(286), - [sym_if_else] = STATE(286), - [sym_if] = STATE(240), - [sym_match] = STATE(286), - [sym_while] = STATE(286), - [sym_for] = STATE(286), - [sym_return] = STATE(286), - [sym_function] = STATE(95), - [sym_function_expression] = STATE(419), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(100), - [sym_yield] = STATE(100), - [sym_built_in_value] = STATE(95), - [sym_identifier] = ACTIONS(160), + [sym_statement] = STATE(310), + [sym_expression] = STATE(196), + [sym__expression_kind] = STATE(125), + [sym_block] = STATE(301), + [sym_value] = STATE(126), + [sym_structure] = STATE(129), + [sym_new] = STATE(125), + [sym_boolean] = STATE(129), + [sym_list] = STATE(129), + [sym_map] = STATE(129), + [sym_option] = STATE(129), + [sym_index] = STATE(134), + [sym_index_expression] = STATE(476), + [sym_math] = STATE(125), + [sym_logic] = STATE(125), + [sym_assignment] = STATE(301), + [sym_index_assignment] = STATE(301), + [sym_if_else] = STATE(301), + [sym_if] = STATE(246), + [sym_match] = STATE(301), + [sym_while] = STATE(301), + [sym_for] = STATE(301), + [sym_return] = STATE(301), + [sym_function] = STATE(129), + [sym_function_expression] = STATE(457), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(119), + [sym_yield] = STATE(119), + [sym_built_in_value] = STATE(129), + [sym_identifier] = ACTIONS(174), [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(162), - [anon_sym_async] = ACTIONS(164), - [anon_sym_LBRACE] = ACTIONS(166), - [sym_integer] = ACTIONS(168), - [sym_float] = ACTIONS(170), - [sym_string] = ACTIONS(170), - [anon_sym_true] = ACTIONS(172), - [anon_sym_false] = ACTIONS(172), - [anon_sym_LBRACK] = ACTIONS(174), - [anon_sym_none] = ACTIONS(176), - [anon_sym_some] = ACTIONS(178), - [anon_sym_if] = ACTIONS(146), - [anon_sym_match] = ACTIONS(148), - [anon_sym_while] = ACTIONS(180), - [anon_sym_for] = ACTIONS(182), - [anon_sym_asyncfor] = ACTIONS(184), - [anon_sym_return] = ACTIONS(186), - [anon_sym_args] = ACTIONS(188), - [anon_sym_assert_equal] = ACTIONS(188), - [anon_sym_env] = ACTIONS(188), - [anon_sym_fs] = ACTIONS(188), - [anon_sym_json] = ACTIONS(188), - [anon_sym_length] = ACTIONS(188), - [anon_sym_output] = ACTIONS(188), - [anon_sym_random] = ACTIONS(188), - [anon_sym_string] = ACTIONS(188), + [anon_sym_LPAREN] = ACTIONS(176), + [anon_sym_async] = ACTIONS(178), + [anon_sym_LBRACE] = ACTIONS(180), + [anon_sym_struct] = ACTIONS(182), + [anon_sym_new] = ACTIONS(184), + [sym_integer] = ACTIONS(186), + [sym_float] = ACTIONS(188), + [sym_string] = ACTIONS(188), + [anon_sym_true] = ACTIONS(190), + [anon_sym_false] = ACTIONS(190), + [anon_sym_LBRACK] = ACTIONS(192), + [anon_sym_none] = ACTIONS(194), + [anon_sym_some] = ACTIONS(196), + [anon_sym_if] = ACTIONS(160), + [anon_sym_match] = ACTIONS(162), + [anon_sym_while] = ACTIONS(198), + [anon_sym_for] = ACTIONS(200), + [anon_sym_asyncfor] = ACTIONS(202), + [anon_sym_return] = ACTIONS(204), + [anon_sym_args] = ACTIONS(206), + [anon_sym_assert_equal] = ACTIONS(206), + [anon_sym_env] = ACTIONS(206), + [anon_sym_fs] = ACTIONS(206), + [anon_sym_json] = ACTIONS(206), + [anon_sym_length] = ACTIONS(206), + [anon_sym_output] = ACTIONS(206), + [anon_sym_random] = ACTIONS(206), + [anon_sym_string] = ACTIONS(206), }, [33] = { - [sym_statement] = STATE(293), - [sym_expression] = STATE(140), - [sym__expression_kind] = STATE(102), - [sym_block] = STATE(286), - [sym_value] = STATE(109), - [sym_boolean] = STATE(95), - [sym_list] = STATE(95), - [sym_map] = STATE(95), - [sym_option] = STATE(95), - [sym_index] = STATE(119), - [sym_index_expression] = STATE(424), - [sym_math] = STATE(102), - [sym_logic] = STATE(102), - [sym_assignment] = STATE(286), - [sym_index_assignment] = STATE(286), - [sym_if_else] = STATE(286), - [sym_if] = STATE(240), - [sym_match] = STATE(286), - [sym_while] = STATE(286), - [sym_for] = STATE(286), - [sym_return] = STATE(286), - [sym_function] = STATE(95), - [sym_function_expression] = STATE(419), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(100), - [sym_yield] = STATE(100), - [sym_built_in_value] = STATE(95), - [sym_identifier] = ACTIONS(160), + [sym_statement] = STATE(400), + [sym_expression] = STATE(323), + [sym__expression_kind] = STATE(288), + [sym_block] = STATE(300), + [sym_value] = STATE(265), + [sym_structure] = STATE(279), + [sym_new] = STATE(288), + [sym_boolean] = STATE(279), + [sym_list] = STATE(279), + [sym_map] = STATE(279), + [sym_option] = STATE(279), + [sym_index] = STATE(314), + [sym_index_expression] = STATE(464), + [sym_math] = STATE(288), + [sym_logic] = STATE(288), + [sym_assignment] = STATE(300), + [sym_index_assignment] = STATE(300), + [sym_if_else] = STATE(300), + [sym_if] = STATE(388), + [sym_match] = STATE(300), + [sym_while] = STATE(300), + [sym_for] = STATE(300), + [sym_return] = STATE(300), + [sym_function] = STATE(279), + [sym_function_expression] = STATE(471), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(277), + [sym_yield] = STATE(277), + [sym_built_in_value] = STATE(279), + [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(162), - [anon_sym_async] = ACTIONS(164), - [anon_sym_LBRACE] = ACTIONS(166), - [sym_integer] = ACTIONS(168), - [sym_float] = ACTIONS(170), - [sym_string] = ACTIONS(170), - [anon_sym_true] = ACTIONS(172), - [anon_sym_false] = ACTIONS(172), - [anon_sym_LBRACK] = ACTIONS(174), - [anon_sym_none] = ACTIONS(176), - [anon_sym_some] = ACTIONS(178), - [anon_sym_if] = ACTIONS(146), - [anon_sym_match] = ACTIONS(148), - [anon_sym_while] = ACTIONS(180), - [anon_sym_for] = ACTIONS(182), - [anon_sym_asyncfor] = ACTIONS(184), - [anon_sym_return] = ACTIONS(186), - [anon_sym_args] = ACTIONS(188), - [anon_sym_assert_equal] = ACTIONS(188), - [anon_sym_env] = ACTIONS(188), - [anon_sym_fs] = ACTIONS(188), - [anon_sym_json] = ACTIONS(188), - [anon_sym_length] = ACTIONS(188), - [anon_sym_output] = ACTIONS(188), - [anon_sym_random] = ACTIONS(188), - [anon_sym_string] = ACTIONS(188), + [anon_sym_LPAREN] = ACTIONS(138), + [anon_sym_async] = ACTIONS(140), + [anon_sym_LBRACE] = ACTIONS(142), + [anon_sym_struct] = ACTIONS(144), + [anon_sym_new] = ACTIONS(146), + [sym_integer] = ACTIONS(148), + [sym_float] = ACTIONS(150), + [sym_string] = ACTIONS(150), + [anon_sym_true] = ACTIONS(152), + [anon_sym_false] = ACTIONS(152), + [anon_sym_LBRACK] = ACTIONS(154), + [anon_sym_none] = ACTIONS(156), + [anon_sym_some] = ACTIONS(158), + [anon_sym_if] = ACTIONS(160), + [anon_sym_match] = ACTIONS(162), + [anon_sym_while] = ACTIONS(164), + [anon_sym_for] = ACTIONS(166), + [anon_sym_asyncfor] = ACTIONS(168), + [anon_sym_return] = ACTIONS(170), + [anon_sym_args] = ACTIONS(172), + [anon_sym_assert_equal] = ACTIONS(172), + [anon_sym_env] = ACTIONS(172), + [anon_sym_fs] = ACTIONS(172), + [anon_sym_json] = ACTIONS(172), + [anon_sym_length] = ACTIONS(172), + [anon_sym_output] = ACTIONS(172), + [anon_sym_random] = ACTIONS(172), + [anon_sym_string] = ACTIONS(172), }, [34] = { - [sym_statement] = STATE(285), - [sym_expression] = STATE(310), - [sym__expression_kind] = STATE(258), - [sym_block] = STATE(286), - [sym_value] = STATE(250), - [sym_boolean] = STATE(269), - [sym_list] = STATE(269), - [sym_map] = STATE(269), - [sym_option] = STATE(269), - [sym_index] = STATE(296), - [sym_index_expression] = STATE(426), - [sym_math] = STATE(258), - [sym_logic] = STATE(258), - [sym_assignment] = STATE(286), - [sym_index_assignment] = STATE(286), - [sym_if_else] = STATE(286), - [sym_if] = STATE(372), - [sym_match] = STATE(286), - [sym_while] = STATE(286), - [sym_for] = STATE(286), - [sym_return] = STATE(286), - [sym_function] = STATE(269), - [sym_function_expression] = STATE(445), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(245), - [sym_yield] = STATE(245), - [sym_built_in_value] = STATE(269), - [sym_identifier] = ACTIONS(126), + [sym_statement] = STATE(242), + [sym_expression] = STATE(88), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(232), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(232), + [sym_index_assignment] = STATE(232), + [sym_if_else] = STATE(232), + [sym_if] = STATE(224), + [sym_match] = STATE(232), + [sym_while] = STATE(232), + [sym_for] = STATE(232), + [sym_return] = STATE(232), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(128), - [anon_sym_async] = ACTIONS(130), - [anon_sym_LBRACE] = ACTIONS(132), - [sym_integer] = ACTIONS(134), - [sym_float] = ACTIONS(136), - [sym_string] = ACTIONS(136), - [anon_sym_true] = ACTIONS(138), - [anon_sym_false] = ACTIONS(138), - [anon_sym_LBRACK] = ACTIONS(140), - [anon_sym_none] = ACTIONS(142), - [anon_sym_some] = ACTIONS(144), - [anon_sym_if] = ACTIONS(146), - [anon_sym_match] = ACTIONS(148), - [anon_sym_while] = ACTIONS(150), - [anon_sym_for] = ACTIONS(152), - [anon_sym_asyncfor] = ACTIONS(154), - [anon_sym_return] = ACTIONS(156), - [anon_sym_args] = ACTIONS(158), - [anon_sym_assert_equal] = ACTIONS(158), - [anon_sym_env] = ACTIONS(158), - [anon_sym_fs] = ACTIONS(158), - [anon_sym_json] = ACTIONS(158), - [anon_sym_length] = ACTIONS(158), - [anon_sym_output] = ACTIONS(158), - [anon_sym_random] = ACTIONS(158), - [anon_sym_string] = ACTIONS(158), + [anon_sym_LPAREN] = ACTIONS(7), + [anon_sym_async] = ACTIONS(9), + [anon_sym_LBRACE] = ACTIONS(11), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), }, [35] = { - [sym_statement] = STATE(284), - [sym_expression] = STATE(310), - [sym__expression_kind] = STATE(258), - [sym_block] = STATE(286), - [sym_value] = STATE(250), - [sym_boolean] = STATE(269), - [sym_list] = STATE(269), - [sym_map] = STATE(269), - [sym_option] = STATE(269), - [sym_index] = STATE(296), - [sym_index_expression] = STATE(426), - [sym_math] = STATE(258), - [sym_logic] = STATE(258), - [sym_assignment] = STATE(286), - [sym_index_assignment] = STATE(286), - [sym_if_else] = STATE(286), - [sym_if] = STATE(372), - [sym_match] = STATE(286), - [sym_while] = STATE(286), - [sym_for] = STATE(286), - [sym_return] = STATE(286), - [sym_function] = STATE(269), - [sym_function_expression] = STATE(445), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(245), - [sym_yield] = STATE(245), - [sym_built_in_value] = STATE(269), - [sym_identifier] = ACTIONS(126), + [sym_statement] = STATE(440), + [sym_expression] = STATE(323), + [sym__expression_kind] = STATE(288), + [sym_block] = STATE(300), + [sym_value] = STATE(265), + [sym_structure] = STATE(279), + [sym_new] = STATE(288), + [sym_boolean] = STATE(279), + [sym_list] = STATE(279), + [sym_map] = STATE(279), + [sym_option] = STATE(279), + [sym_index] = STATE(314), + [sym_index_expression] = STATE(464), + [sym_math] = STATE(288), + [sym_logic] = STATE(288), + [sym_assignment] = STATE(300), + [sym_index_assignment] = STATE(300), + [sym_if_else] = STATE(300), + [sym_if] = STATE(388), + [sym_match] = STATE(300), + [sym_while] = STATE(300), + [sym_for] = STATE(300), + [sym_return] = STATE(300), + [sym_function] = STATE(279), + [sym_function_expression] = STATE(471), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(277), + [sym_yield] = STATE(277), + [sym_built_in_value] = STATE(279), + [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(128), - [anon_sym_async] = ACTIONS(130), - [anon_sym_LBRACE] = ACTIONS(132), - [sym_integer] = ACTIONS(134), - [sym_float] = ACTIONS(136), - [sym_string] = ACTIONS(136), - [anon_sym_true] = ACTIONS(138), - [anon_sym_false] = ACTIONS(138), - [anon_sym_LBRACK] = ACTIONS(140), - [anon_sym_none] = ACTIONS(142), - [anon_sym_some] = ACTIONS(144), - [anon_sym_if] = ACTIONS(146), - [anon_sym_match] = ACTIONS(148), - [anon_sym_while] = ACTIONS(150), - [anon_sym_for] = ACTIONS(152), - [anon_sym_asyncfor] = ACTIONS(154), - [anon_sym_return] = ACTIONS(156), - [anon_sym_args] = ACTIONS(158), - [anon_sym_assert_equal] = ACTIONS(158), - [anon_sym_env] = ACTIONS(158), - [anon_sym_fs] = ACTIONS(158), - [anon_sym_json] = ACTIONS(158), - [anon_sym_length] = ACTIONS(158), - [anon_sym_output] = ACTIONS(158), - [anon_sym_random] = ACTIONS(158), - [anon_sym_string] = ACTIONS(158), + [anon_sym_LPAREN] = ACTIONS(138), + [anon_sym_async] = ACTIONS(140), + [anon_sym_LBRACE] = ACTIONS(142), + [anon_sym_struct] = ACTIONS(144), + [anon_sym_new] = ACTIONS(146), + [sym_integer] = ACTIONS(148), + [sym_float] = ACTIONS(150), + [sym_string] = ACTIONS(150), + [anon_sym_true] = ACTIONS(152), + [anon_sym_false] = ACTIONS(152), + [anon_sym_LBRACK] = ACTIONS(154), + [anon_sym_none] = ACTIONS(156), + [anon_sym_some] = ACTIONS(158), + [anon_sym_if] = ACTIONS(160), + [anon_sym_match] = ACTIONS(162), + [anon_sym_while] = ACTIONS(164), + [anon_sym_for] = ACTIONS(166), + [anon_sym_asyncfor] = ACTIONS(168), + [anon_sym_return] = ACTIONS(170), + [anon_sym_args] = ACTIONS(172), + [anon_sym_assert_equal] = ACTIONS(172), + [anon_sym_env] = ACTIONS(172), + [anon_sym_fs] = ACTIONS(172), + [anon_sym_json] = ACTIONS(172), + [anon_sym_length] = ACTIONS(172), + [anon_sym_output] = ACTIONS(172), + [anon_sym_random] = ACTIONS(172), + [anon_sym_string] = ACTIONS(172), }, [36] = { - [sym_statement] = STATE(383), - [sym_expression] = STATE(307), - [sym__expression_kind] = STATE(258), - [sym_block] = STATE(292), - [sym_value] = STATE(250), - [sym_boolean] = STATE(269), - [sym_list] = STATE(269), - [sym_map] = STATE(269), - [sym_option] = STATE(269), - [sym_index] = STATE(296), - [sym_index_expression] = STATE(426), - [sym_math] = STATE(258), - [sym_logic] = STATE(258), - [sym_assignment] = STATE(292), - [sym_index_assignment] = STATE(292), - [sym_if_else] = STATE(292), - [sym_if] = STATE(372), - [sym_match] = STATE(292), - [sym_while] = STATE(292), - [sym_for] = STATE(292), - [sym_return] = STATE(292), - [sym_function] = STATE(269), - [sym_function_expression] = STATE(445), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(245), - [sym_yield] = STATE(245), - [sym_built_in_value] = STATE(269), - [sym_identifier] = ACTIONS(126), + [sym_statement] = STATE(243), + [sym_expression] = STATE(88), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(232), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(232), + [sym_index_assignment] = STATE(232), + [sym_if_else] = STATE(232), + [sym_if] = STATE(224), + [sym_match] = STATE(232), + [sym_while] = STATE(232), + [sym_for] = STATE(232), + [sym_return] = STATE(232), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(128), - [anon_sym_async] = ACTIONS(130), - [anon_sym_LBRACE] = ACTIONS(132), - [sym_integer] = ACTIONS(134), - [sym_float] = ACTIONS(136), - [sym_string] = ACTIONS(136), - [anon_sym_true] = ACTIONS(138), - [anon_sym_false] = ACTIONS(138), - [anon_sym_LBRACK] = ACTIONS(140), - [anon_sym_none] = ACTIONS(142), - [anon_sym_some] = ACTIONS(144), - [anon_sym_if] = ACTIONS(146), - [anon_sym_match] = ACTIONS(148), - [anon_sym_while] = ACTIONS(150), - [anon_sym_for] = ACTIONS(152), - [anon_sym_asyncfor] = ACTIONS(154), - [anon_sym_return] = ACTIONS(156), - [anon_sym_args] = ACTIONS(158), - [anon_sym_assert_equal] = ACTIONS(158), - [anon_sym_env] = ACTIONS(158), - [anon_sym_fs] = ACTIONS(158), - [anon_sym_json] = ACTIONS(158), - [anon_sym_length] = ACTIONS(158), - [anon_sym_output] = ACTIONS(158), - [anon_sym_random] = ACTIONS(158), - [anon_sym_string] = ACTIONS(158), + [anon_sym_LPAREN] = ACTIONS(7), + [anon_sym_async] = ACTIONS(9), + [anon_sym_LBRACE] = ACTIONS(11), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), }, [37] = { - [sym_statement] = STATE(294), - [sym_expression] = STATE(310), - [sym__expression_kind] = STATE(258), - [sym_block] = STATE(286), - [sym_value] = STATE(250), - [sym_boolean] = STATE(269), - [sym_list] = STATE(269), - [sym_map] = STATE(269), - [sym_option] = STATE(269), - [sym_index] = STATE(296), - [sym_index_expression] = STATE(426), - [sym_math] = STATE(258), - [sym_logic] = STATE(258), - [sym_assignment] = STATE(286), - [sym_index_assignment] = STATE(286), - [sym_if_else] = STATE(286), - [sym_if] = STATE(372), - [sym_match] = STATE(286), - [sym_while] = STATE(286), - [sym_for] = STATE(286), - [sym_return] = STATE(286), - [sym_function] = STATE(269), - [sym_function_expression] = STATE(445), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(245), - [sym_yield] = STATE(245), - [sym_built_in_value] = STATE(269), - [sym_identifier] = ACTIONS(126), + [sym_statement] = STATE(310), + [sym_expression] = STATE(324), + [sym__expression_kind] = STATE(288), + [sym_block] = STATE(301), + [sym_value] = STATE(265), + [sym_structure] = STATE(279), + [sym_new] = STATE(288), + [sym_boolean] = STATE(279), + [sym_list] = STATE(279), + [sym_map] = STATE(279), + [sym_option] = STATE(279), + [sym_index] = STATE(314), + [sym_index_expression] = STATE(464), + [sym_math] = STATE(288), + [sym_logic] = STATE(288), + [sym_assignment] = STATE(301), + [sym_index_assignment] = STATE(301), + [sym_if_else] = STATE(301), + [sym_if] = STATE(388), + [sym_match] = STATE(301), + [sym_while] = STATE(301), + [sym_for] = STATE(301), + [sym_return] = STATE(301), + [sym_function] = STATE(279), + [sym_function_expression] = STATE(471), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(277), + [sym_yield] = STATE(277), + [sym_built_in_value] = STATE(279), + [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(128), - [anon_sym_async] = ACTIONS(130), - [anon_sym_LBRACE] = ACTIONS(132), - [sym_integer] = ACTIONS(134), - [sym_float] = ACTIONS(136), - [sym_string] = ACTIONS(136), - [anon_sym_true] = ACTIONS(138), - [anon_sym_false] = ACTIONS(138), - [anon_sym_LBRACK] = ACTIONS(140), - [anon_sym_none] = ACTIONS(142), - [anon_sym_some] = ACTIONS(144), - [anon_sym_if] = ACTIONS(146), - [anon_sym_match] = ACTIONS(148), - [anon_sym_while] = ACTIONS(150), - [anon_sym_for] = ACTIONS(152), - [anon_sym_asyncfor] = ACTIONS(154), - [anon_sym_return] = ACTIONS(156), - [anon_sym_args] = ACTIONS(158), - [anon_sym_assert_equal] = ACTIONS(158), - [anon_sym_env] = ACTIONS(158), - [anon_sym_fs] = ACTIONS(158), - [anon_sym_json] = ACTIONS(158), - [anon_sym_length] = ACTIONS(158), - [anon_sym_output] = ACTIONS(158), - [anon_sym_random] = ACTIONS(158), - [anon_sym_string] = ACTIONS(158), + [anon_sym_LPAREN] = ACTIONS(138), + [anon_sym_async] = ACTIONS(140), + [anon_sym_LBRACE] = ACTIONS(142), + [anon_sym_struct] = ACTIONS(144), + [anon_sym_new] = ACTIONS(146), + [sym_integer] = ACTIONS(148), + [sym_float] = ACTIONS(150), + [sym_string] = ACTIONS(150), + [anon_sym_true] = ACTIONS(152), + [anon_sym_false] = ACTIONS(152), + [anon_sym_LBRACK] = ACTIONS(154), + [anon_sym_none] = ACTIONS(156), + [anon_sym_some] = ACTIONS(158), + [anon_sym_if] = ACTIONS(160), + [anon_sym_match] = ACTIONS(162), + [anon_sym_while] = ACTIONS(164), + [anon_sym_for] = ACTIONS(166), + [anon_sym_asyncfor] = ACTIONS(168), + [anon_sym_return] = ACTIONS(170), + [anon_sym_args] = ACTIONS(172), + [anon_sym_assert_equal] = ACTIONS(172), + [anon_sym_env] = ACTIONS(172), + [anon_sym_fs] = ACTIONS(172), + [anon_sym_json] = ACTIONS(172), + [anon_sym_length] = ACTIONS(172), + [anon_sym_output] = ACTIONS(172), + [anon_sym_random] = ACTIONS(172), + [anon_sym_string] = ACTIONS(172), }, [38] = { - [sym_statement] = STATE(226), - [sym_expression] = STATE(85), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(223), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(223), - [sym_index_assignment] = STATE(223), - [sym_if_else] = STATE(223), - [sym_if] = STATE(213), - [sym_match] = STATE(223), - [sym_while] = STATE(223), - [sym_for] = STATE(223), - [sym_return] = STATE(223), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), - [sym_identifier] = ACTIONS(5), + [sym_statement] = STATE(312), + [sym_expression] = STATE(201), + [sym__expression_kind] = STATE(125), + [sym_block] = STATE(300), + [sym_value] = STATE(126), + [sym_structure] = STATE(129), + [sym_new] = STATE(125), + [sym_boolean] = STATE(129), + [sym_list] = STATE(129), + [sym_map] = STATE(129), + [sym_option] = STATE(129), + [sym_index] = STATE(134), + [sym_index_expression] = STATE(476), + [sym_math] = STATE(125), + [sym_logic] = STATE(125), + [sym_assignment] = STATE(300), + [sym_index_assignment] = STATE(300), + [sym_if_else] = STATE(300), + [sym_if] = STATE(246), + [sym_match] = STATE(300), + [sym_while] = STATE(300), + [sym_for] = STATE(300), + [sym_return] = STATE(300), + [sym_function] = STATE(129), + [sym_function_expression] = STATE(457), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(119), + [sym_yield] = STATE(119), + [sym_built_in_value] = STATE(129), + [sym_identifier] = ACTIONS(174), [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(7), - [anon_sym_async] = ACTIONS(9), - [anon_sym_LBRACE] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), + [anon_sym_LPAREN] = ACTIONS(176), + [anon_sym_async] = ACTIONS(178), + [anon_sym_LBRACE] = ACTIONS(180), + [anon_sym_struct] = ACTIONS(182), + [anon_sym_new] = ACTIONS(184), + [sym_integer] = ACTIONS(186), + [sym_float] = ACTIONS(188), + [sym_string] = ACTIONS(188), + [anon_sym_true] = ACTIONS(190), + [anon_sym_false] = ACTIONS(190), + [anon_sym_LBRACK] = ACTIONS(192), + [anon_sym_none] = ACTIONS(194), + [anon_sym_some] = ACTIONS(196), + [anon_sym_if] = ACTIONS(160), + [anon_sym_match] = ACTIONS(162), + [anon_sym_while] = ACTIONS(198), + [anon_sym_for] = ACTIONS(200), + [anon_sym_asyncfor] = ACTIONS(202), + [anon_sym_return] = ACTIONS(204), + [anon_sym_args] = ACTIONS(206), + [anon_sym_assert_equal] = ACTIONS(206), + [anon_sym_env] = ACTIONS(206), + [anon_sym_fs] = ACTIONS(206), + [anon_sym_json] = ACTIONS(206), + [anon_sym_length] = ACTIONS(206), + [anon_sym_output] = ACTIONS(206), + [anon_sym_random] = ACTIONS(206), + [anon_sym_string] = ACTIONS(206), }, [39] = { - [sym_statement] = STATE(387), - [sym_expression] = STATE(307), - [sym__expression_kind] = STATE(258), - [sym_block] = STATE(292), - [sym_value] = STATE(250), - [sym_boolean] = STATE(269), - [sym_list] = STATE(269), - [sym_map] = STATE(269), - [sym_option] = STATE(269), - [sym_index] = STATE(296), - [sym_index_expression] = STATE(426), - [sym_math] = STATE(258), - [sym_logic] = STATE(258), - [sym_assignment] = STATE(292), - [sym_index_assignment] = STATE(292), - [sym_if_else] = STATE(292), - [sym_if] = STATE(372), - [sym_match] = STATE(292), - [sym_while] = STATE(292), - [sym_for] = STATE(292), - [sym_return] = STATE(292), - [sym_function] = STATE(269), - [sym_function_expression] = STATE(445), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(245), - [sym_yield] = STATE(245), - [sym_built_in_value] = STATE(269), - [sym_identifier] = ACTIONS(126), + [sym_statement] = STATE(305), + [sym_expression] = STATE(324), + [sym__expression_kind] = STATE(288), + [sym_block] = STATE(301), + [sym_value] = STATE(265), + [sym_structure] = STATE(279), + [sym_new] = STATE(288), + [sym_boolean] = STATE(279), + [sym_list] = STATE(279), + [sym_map] = STATE(279), + [sym_option] = STATE(279), + [sym_index] = STATE(314), + [sym_index_expression] = STATE(464), + [sym_math] = STATE(288), + [sym_logic] = STATE(288), + [sym_assignment] = STATE(301), + [sym_index_assignment] = STATE(301), + [sym_if_else] = STATE(301), + [sym_if] = STATE(388), + [sym_match] = STATE(301), + [sym_while] = STATE(301), + [sym_for] = STATE(301), + [sym_return] = STATE(301), + [sym_function] = STATE(279), + [sym_function_expression] = STATE(471), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(277), + [sym_yield] = STATE(277), + [sym_built_in_value] = STATE(279), + [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(128), - [anon_sym_async] = ACTIONS(130), - [anon_sym_LBRACE] = ACTIONS(132), - [sym_integer] = ACTIONS(134), - [sym_float] = ACTIONS(136), - [sym_string] = ACTIONS(136), - [anon_sym_true] = ACTIONS(138), - [anon_sym_false] = ACTIONS(138), - [anon_sym_LBRACK] = ACTIONS(140), - [anon_sym_none] = ACTIONS(142), - [anon_sym_some] = ACTIONS(144), - [anon_sym_if] = ACTIONS(146), - [anon_sym_match] = ACTIONS(148), - [anon_sym_while] = ACTIONS(150), - [anon_sym_for] = ACTIONS(152), - [anon_sym_asyncfor] = ACTIONS(154), - [anon_sym_return] = ACTIONS(156), - [anon_sym_args] = ACTIONS(158), - [anon_sym_assert_equal] = ACTIONS(158), - [anon_sym_env] = ACTIONS(158), - [anon_sym_fs] = ACTIONS(158), - [anon_sym_json] = ACTIONS(158), - [anon_sym_length] = ACTIONS(158), - [anon_sym_output] = ACTIONS(158), - [anon_sym_random] = ACTIONS(158), - [anon_sym_string] = ACTIONS(158), + [anon_sym_LPAREN] = ACTIONS(138), + [anon_sym_async] = ACTIONS(140), + [anon_sym_LBRACE] = ACTIONS(142), + [anon_sym_struct] = ACTIONS(144), + [anon_sym_new] = ACTIONS(146), + [sym_integer] = ACTIONS(148), + [sym_float] = ACTIONS(150), + [sym_string] = ACTIONS(150), + [anon_sym_true] = ACTIONS(152), + [anon_sym_false] = ACTIONS(152), + [anon_sym_LBRACK] = ACTIONS(154), + [anon_sym_none] = ACTIONS(156), + [anon_sym_some] = ACTIONS(158), + [anon_sym_if] = ACTIONS(160), + [anon_sym_match] = ACTIONS(162), + [anon_sym_while] = ACTIONS(164), + [anon_sym_for] = ACTIONS(166), + [anon_sym_asyncfor] = ACTIONS(168), + [anon_sym_return] = ACTIONS(170), + [anon_sym_args] = ACTIONS(172), + [anon_sym_assert_equal] = ACTIONS(172), + [anon_sym_env] = ACTIONS(172), + [anon_sym_fs] = ACTIONS(172), + [anon_sym_json] = ACTIONS(172), + [anon_sym_length] = ACTIONS(172), + [anon_sym_output] = ACTIONS(172), + [anon_sym_random] = ACTIONS(172), + [anon_sym_string] = ACTIONS(172), }, [40] = { - [sym_statement] = STATE(220), - [sym_expression] = STATE(85), - [sym__expression_kind] = STATE(71), - [sym_block] = STATE(223), - [sym_value] = STATE(68), - [sym_boolean] = STATE(72), - [sym_list] = STATE(72), - [sym_map] = STATE(72), - [sym_option] = STATE(72), - [sym_index] = STATE(67), - [sym_index_expression] = STATE(441), - [sym_math] = STATE(71), - [sym_logic] = STATE(71), - [sym_assignment] = STATE(223), - [sym_index_assignment] = STATE(223), - [sym_if_else] = STATE(223), - [sym_if] = STATE(213), - [sym_match] = STATE(223), - [sym_while] = STATE(223), - [sym_for] = STATE(223), - [sym_return] = STATE(223), - [sym_function] = STATE(72), - [sym_function_expression] = STATE(440), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(60), - [sym_yield] = STATE(60), - [sym_built_in_value] = STATE(72), + [sym_statement] = STATE(303), + [sym_expression] = STATE(324), + [sym__expression_kind] = STATE(288), + [sym_block] = STATE(301), + [sym_value] = STATE(265), + [sym_structure] = STATE(279), + [sym_new] = STATE(288), + [sym_boolean] = STATE(279), + [sym_list] = STATE(279), + [sym_map] = STATE(279), + [sym_option] = STATE(279), + [sym_index] = STATE(314), + [sym_index_expression] = STATE(464), + [sym_math] = STATE(288), + [sym_logic] = STATE(288), + [sym_assignment] = STATE(301), + [sym_index_assignment] = STATE(301), + [sym_if_else] = STATE(301), + [sym_if] = STATE(388), + [sym_match] = STATE(301), + [sym_while] = STATE(301), + [sym_for] = STATE(301), + [sym_return] = STATE(301), + [sym_function] = STATE(279), + [sym_function_expression] = STATE(471), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(277), + [sym_yield] = STATE(277), + [sym_built_in_value] = STATE(279), + [sym_identifier] = ACTIONS(136), + [sym__comment] = ACTIONS(3), + [anon_sym_LPAREN] = ACTIONS(138), + [anon_sym_async] = ACTIONS(140), + [anon_sym_LBRACE] = ACTIONS(142), + [anon_sym_struct] = ACTIONS(144), + [anon_sym_new] = ACTIONS(146), + [sym_integer] = ACTIONS(148), + [sym_float] = ACTIONS(150), + [sym_string] = ACTIONS(150), + [anon_sym_true] = ACTIONS(152), + [anon_sym_false] = ACTIONS(152), + [anon_sym_LBRACK] = ACTIONS(154), + [anon_sym_none] = ACTIONS(156), + [anon_sym_some] = ACTIONS(158), + [anon_sym_if] = ACTIONS(160), + [anon_sym_match] = ACTIONS(162), + [anon_sym_while] = ACTIONS(164), + [anon_sym_for] = ACTIONS(166), + [anon_sym_asyncfor] = ACTIONS(168), + [anon_sym_return] = ACTIONS(170), + [anon_sym_args] = ACTIONS(172), + [anon_sym_assert_equal] = ACTIONS(172), + [anon_sym_env] = ACTIONS(172), + [anon_sym_fs] = ACTIONS(172), + [anon_sym_json] = ACTIONS(172), + [anon_sym_length] = ACTIONS(172), + [anon_sym_output] = ACTIONS(172), + [anon_sym_random] = ACTIONS(172), + [anon_sym_string] = ACTIONS(172), + }, + [41] = { + [sym_statement] = STATE(235), + [sym_expression] = STATE(88), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(232), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(232), + [sym_index_assignment] = STATE(232), + [sym_if_else] = STATE(232), + [sym_if] = STATE(224), + [sym_match] = STATE(232), + [sym_while] = STATE(232), + [sym_for] = STATE(232), + [sym_return] = STATE(232), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), - }, - [41] = { - [sym_statement] = STATE(294), - [sym_expression] = STATE(140), - [sym__expression_kind] = STATE(102), - [sym_block] = STATE(286), - [sym_value] = STATE(109), - [sym_boolean] = STATE(95), - [sym_list] = STATE(95), - [sym_map] = STATE(95), - [sym_option] = STATE(95), - [sym_index] = STATE(119), - [sym_index_expression] = STATE(424), - [sym_math] = STATE(102), - [sym_logic] = STATE(102), - [sym_assignment] = STATE(286), - [sym_index_assignment] = STATE(286), - [sym_if_else] = STATE(286), - [sym_if] = STATE(240), - [sym_match] = STATE(286), - [sym_while] = STATE(286), - [sym_for] = STATE(286), - [sym_return] = STATE(286), - [sym_function] = STATE(95), - [sym_function_expression] = STATE(419), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(100), - [sym_yield] = STATE(100), - [sym_built_in_value] = STATE(95), - [sym_identifier] = ACTIONS(160), - [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(162), - [anon_sym_async] = ACTIONS(164), - [anon_sym_LBRACE] = ACTIONS(166), - [sym_integer] = ACTIONS(168), - [sym_float] = ACTIONS(170), - [sym_string] = ACTIONS(170), - [anon_sym_true] = ACTIONS(172), - [anon_sym_false] = ACTIONS(172), - [anon_sym_LBRACK] = ACTIONS(174), - [anon_sym_none] = ACTIONS(176), - [anon_sym_some] = ACTIONS(178), - [anon_sym_if] = ACTIONS(146), - [anon_sym_match] = ACTIONS(148), - [anon_sym_while] = ACTIONS(180), - [anon_sym_for] = ACTIONS(182), - [anon_sym_asyncfor] = ACTIONS(184), - [anon_sym_return] = ACTIONS(186), - [anon_sym_args] = ACTIONS(188), - [anon_sym_assert_equal] = ACTIONS(188), - [anon_sym_env] = ACTIONS(188), - [anon_sym_fs] = ACTIONS(188), - [anon_sym_json] = ACTIONS(188), - [anon_sym_length] = ACTIONS(188), - [anon_sym_output] = ACTIONS(188), - [anon_sym_random] = ACTIONS(188), - [anon_sym_string] = ACTIONS(188), + [anon_sym_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), }, [42] = { - [sym_statement] = STATE(387), - [sym_expression] = STATE(307), - [sym__expression_kind] = STATE(258), - [sym_block] = STATE(292), - [sym_value] = STATE(250), - [sym_boolean] = STATE(269), - [sym_list] = STATE(269), - [sym_map] = STATE(269), - [sym_option] = STATE(269), - [sym_index] = STATE(296), - [sym_index_expression] = STATE(426), - [sym_math] = STATE(258), - [sym_logic] = STATE(258), - [sym_assignment] = STATE(292), - [sym_index_assignment] = STATE(292), - [sym_if_else] = STATE(292), - [sym_if] = STATE(372), - [sym_match] = STATE(292), - [sym_while] = STATE(292), - [sym_for] = STATE(292), - [sym_return] = STATE(292), - [sym_function] = STATE(269), - [sym_function_expression] = STATE(445), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(245), - [sym_yield] = STATE(245), - [sym_built_in_value] = STATE(269), - [sym_identifier] = ACTIONS(126), + [sym_statement] = STATE(309), + [sym_expression] = STATE(324), + [sym__expression_kind] = STATE(288), + [sym_block] = STATE(301), + [sym_value] = STATE(265), + [sym_structure] = STATE(279), + [sym_new] = STATE(288), + [sym_boolean] = STATE(279), + [sym_list] = STATE(279), + [sym_map] = STATE(279), + [sym_option] = STATE(279), + [sym_index] = STATE(314), + [sym_index_expression] = STATE(464), + [sym_math] = STATE(288), + [sym_logic] = STATE(288), + [sym_assignment] = STATE(301), + [sym_index_assignment] = STATE(301), + [sym_if_else] = STATE(301), + [sym_if] = STATE(388), + [sym_match] = STATE(301), + [sym_while] = STATE(301), + [sym_for] = STATE(301), + [sym_return] = STATE(301), + [sym_function] = STATE(279), + [sym_function_expression] = STATE(471), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(277), + [sym_yield] = STATE(277), + [sym_built_in_value] = STATE(279), + [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(128), - [anon_sym_async] = ACTIONS(130), - [anon_sym_LBRACE] = ACTIONS(132), - [sym_integer] = ACTIONS(134), - [sym_float] = ACTIONS(136), - [sym_string] = ACTIONS(136), - [anon_sym_true] = ACTIONS(138), - [anon_sym_false] = ACTIONS(138), - [anon_sym_LBRACK] = ACTIONS(140), - [anon_sym_none] = ACTIONS(142), - [anon_sym_some] = ACTIONS(144), - [anon_sym_if] = ACTIONS(146), - [anon_sym_match] = ACTIONS(148), - [anon_sym_while] = ACTIONS(150), - [anon_sym_for] = ACTIONS(152), - [anon_sym_asyncfor] = ACTIONS(154), - [anon_sym_return] = ACTIONS(156), - [anon_sym_args] = ACTIONS(158), - [anon_sym_assert_equal] = ACTIONS(158), - [anon_sym_env] = ACTIONS(158), - [anon_sym_fs] = ACTIONS(158), - [anon_sym_json] = ACTIONS(158), - [anon_sym_length] = ACTIONS(158), - [anon_sym_output] = ACTIONS(158), - [anon_sym_random] = ACTIONS(158), - [anon_sym_string] = ACTIONS(158), + [anon_sym_LPAREN] = ACTIONS(138), + [anon_sym_async] = ACTIONS(140), + [anon_sym_LBRACE] = ACTIONS(142), + [anon_sym_struct] = ACTIONS(144), + [anon_sym_new] = ACTIONS(146), + [sym_integer] = ACTIONS(148), + [sym_float] = ACTIONS(150), + [sym_string] = ACTIONS(150), + [anon_sym_true] = ACTIONS(152), + [anon_sym_false] = ACTIONS(152), + [anon_sym_LBRACK] = ACTIONS(154), + [anon_sym_none] = ACTIONS(156), + [anon_sym_some] = ACTIONS(158), + [anon_sym_if] = ACTIONS(160), + [anon_sym_match] = ACTIONS(162), + [anon_sym_while] = ACTIONS(164), + [anon_sym_for] = ACTIONS(166), + [anon_sym_asyncfor] = ACTIONS(168), + [anon_sym_return] = ACTIONS(170), + [anon_sym_args] = ACTIONS(172), + [anon_sym_assert_equal] = ACTIONS(172), + [anon_sym_env] = ACTIONS(172), + [anon_sym_fs] = ACTIONS(172), + [anon_sym_json] = ACTIONS(172), + [anon_sym_length] = ACTIONS(172), + [anon_sym_output] = ACTIONS(172), + [anon_sym_random] = ACTIONS(172), + [anon_sym_string] = ACTIONS(172), }, [43] = { - [sym_statement] = STATE(298), - [sym_expression] = STATE(130), - [sym__expression_kind] = STATE(102), - [sym_block] = STATE(292), - [sym_value] = STATE(109), - [sym_boolean] = STATE(95), - [sym_list] = STATE(95), - [sym_map] = STATE(95), - [sym_option] = STATE(95), - [sym_index] = STATE(119), - [sym_index_expression] = STATE(424), - [sym_math] = STATE(102), - [sym_logic] = STATE(102), - [sym_assignment] = STATE(292), - [sym_index_assignment] = STATE(292), - [sym_if_else] = STATE(292), - [sym_if] = STATE(240), - [sym_match] = STATE(292), - [sym_while] = STATE(292), - [sym_for] = STATE(292), - [sym_return] = STATE(292), - [sym_function] = STATE(95), - [sym_function_expression] = STATE(419), - [sym__function_expression_kind] = STATE(61), - [sym_function_call] = STATE(100), - [sym_yield] = STATE(100), - [sym_built_in_value] = STATE(95), - [sym_identifier] = ACTIONS(160), + [sym_statement] = STATE(448), + [sym_expression] = STATE(323), + [sym__expression_kind] = STATE(288), + [sym_block] = STATE(300), + [sym_value] = STATE(265), + [sym_structure] = STATE(279), + [sym_new] = STATE(288), + [sym_boolean] = STATE(279), + [sym_list] = STATE(279), + [sym_map] = STATE(279), + [sym_option] = STATE(279), + [sym_index] = STATE(314), + [sym_index_expression] = STATE(464), + [sym_math] = STATE(288), + [sym_logic] = STATE(288), + [sym_assignment] = STATE(300), + [sym_index_assignment] = STATE(300), + [sym_if_else] = STATE(300), + [sym_if] = STATE(388), + [sym_match] = STATE(300), + [sym_while] = STATE(300), + [sym_for] = STATE(300), + [sym_return] = STATE(300), + [sym_function] = STATE(279), + [sym_function_expression] = STATE(471), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(277), + [sym_yield] = STATE(277), + [sym_built_in_value] = STATE(279), + [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(162), - [anon_sym_async] = ACTIONS(164), - [anon_sym_LBRACE] = ACTIONS(166), - [sym_integer] = ACTIONS(168), - [sym_float] = ACTIONS(170), - [sym_string] = ACTIONS(170), - [anon_sym_true] = ACTIONS(172), - [anon_sym_false] = ACTIONS(172), - [anon_sym_LBRACK] = ACTIONS(174), - [anon_sym_none] = ACTIONS(176), - [anon_sym_some] = ACTIONS(178), - [anon_sym_if] = ACTIONS(146), - [anon_sym_match] = ACTIONS(148), - [anon_sym_while] = ACTIONS(180), - [anon_sym_for] = ACTIONS(182), - [anon_sym_asyncfor] = ACTIONS(184), - [anon_sym_return] = ACTIONS(186), - [anon_sym_args] = ACTIONS(188), - [anon_sym_assert_equal] = ACTIONS(188), - [anon_sym_env] = ACTIONS(188), - [anon_sym_fs] = ACTIONS(188), - [anon_sym_json] = ACTIONS(188), - [anon_sym_length] = ACTIONS(188), - [anon_sym_output] = ACTIONS(188), - [anon_sym_random] = ACTIONS(188), - [anon_sym_string] = ACTIONS(188), + [anon_sym_LPAREN] = ACTIONS(138), + [anon_sym_async] = ACTIONS(140), + [anon_sym_LBRACE] = ACTIONS(142), + [anon_sym_struct] = ACTIONS(144), + [anon_sym_new] = ACTIONS(146), + [sym_integer] = ACTIONS(148), + [sym_float] = ACTIONS(150), + [sym_string] = ACTIONS(150), + [anon_sym_true] = ACTIONS(152), + [anon_sym_false] = ACTIONS(152), + [anon_sym_LBRACK] = ACTIONS(154), + [anon_sym_none] = ACTIONS(156), + [anon_sym_some] = ACTIONS(158), + [anon_sym_if] = ACTIONS(160), + [anon_sym_match] = ACTIONS(162), + [anon_sym_while] = ACTIONS(164), + [anon_sym_for] = ACTIONS(166), + [anon_sym_asyncfor] = ACTIONS(168), + [anon_sym_return] = ACTIONS(170), + [anon_sym_args] = ACTIONS(172), + [anon_sym_assert_equal] = ACTIONS(172), + [anon_sym_env] = ACTIONS(172), + [anon_sym_fs] = ACTIONS(172), + [anon_sym_json] = ACTIONS(172), + [anon_sym_length] = ACTIONS(172), + [anon_sym_output] = ACTIONS(172), + [anon_sym_random] = ACTIONS(172), + [anon_sym_string] = ACTIONS(172), + }, + [44] = { + [sym_statement] = STATE(445), + [sym_expression] = STATE(323), + [sym__expression_kind] = STATE(288), + [sym_block] = STATE(300), + [sym_value] = STATE(265), + [sym_structure] = STATE(279), + [sym_new] = STATE(288), + [sym_boolean] = STATE(279), + [sym_list] = STATE(279), + [sym_map] = STATE(279), + [sym_option] = STATE(279), + [sym_index] = STATE(314), + [sym_index_expression] = STATE(464), + [sym_math] = STATE(288), + [sym_logic] = STATE(288), + [sym_assignment] = STATE(300), + [sym_index_assignment] = STATE(300), + [sym_if_else] = STATE(300), + [sym_if] = STATE(388), + [sym_match] = STATE(300), + [sym_while] = STATE(300), + [sym_for] = STATE(300), + [sym_return] = STATE(300), + [sym_function] = STATE(279), + [sym_function_expression] = STATE(471), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(277), + [sym_yield] = STATE(277), + [sym_built_in_value] = STATE(279), + [sym_identifier] = ACTIONS(136), + [sym__comment] = ACTIONS(3), + [anon_sym_LPAREN] = ACTIONS(138), + [anon_sym_async] = ACTIONS(140), + [anon_sym_LBRACE] = ACTIONS(142), + [anon_sym_struct] = ACTIONS(144), + [anon_sym_new] = ACTIONS(146), + [sym_integer] = ACTIONS(148), + [sym_float] = ACTIONS(150), + [sym_string] = ACTIONS(150), + [anon_sym_true] = ACTIONS(152), + [anon_sym_false] = ACTIONS(152), + [anon_sym_LBRACK] = ACTIONS(154), + [anon_sym_none] = ACTIONS(156), + [anon_sym_some] = ACTIONS(158), + [anon_sym_if] = ACTIONS(160), + [anon_sym_match] = ACTIONS(162), + [anon_sym_while] = ACTIONS(164), + [anon_sym_for] = ACTIONS(166), + [anon_sym_asyncfor] = ACTIONS(168), + [anon_sym_return] = ACTIONS(170), + [anon_sym_args] = ACTIONS(172), + [anon_sym_assert_equal] = ACTIONS(172), + [anon_sym_env] = ACTIONS(172), + [anon_sym_fs] = ACTIONS(172), + [anon_sym_json] = ACTIONS(172), + [anon_sym_length] = ACTIONS(172), + [anon_sym_output] = ACTIONS(172), + [anon_sym_random] = ACTIONS(172), + [anon_sym_string] = ACTIONS(172), + }, + [45] = { + [sym_statement] = STATE(309), + [sym_expression] = STATE(196), + [sym__expression_kind] = STATE(125), + [sym_block] = STATE(301), + [sym_value] = STATE(126), + [sym_structure] = STATE(129), + [sym_new] = STATE(125), + [sym_boolean] = STATE(129), + [sym_list] = STATE(129), + [sym_map] = STATE(129), + [sym_option] = STATE(129), + [sym_index] = STATE(134), + [sym_index_expression] = STATE(476), + [sym_math] = STATE(125), + [sym_logic] = STATE(125), + [sym_assignment] = STATE(301), + [sym_index_assignment] = STATE(301), + [sym_if_else] = STATE(301), + [sym_if] = STATE(246), + [sym_match] = STATE(301), + [sym_while] = STATE(301), + [sym_for] = STATE(301), + [sym_return] = STATE(301), + [sym_function] = STATE(129), + [sym_function_expression] = STATE(457), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(119), + [sym_yield] = STATE(119), + [sym_built_in_value] = STATE(129), + [sym_identifier] = ACTIONS(174), + [sym__comment] = ACTIONS(3), + [anon_sym_LPAREN] = ACTIONS(176), + [anon_sym_async] = ACTIONS(178), + [anon_sym_LBRACE] = ACTIONS(180), + [anon_sym_struct] = ACTIONS(182), + [anon_sym_new] = ACTIONS(184), + [sym_integer] = ACTIONS(186), + [sym_float] = ACTIONS(188), + [sym_string] = ACTIONS(188), + [anon_sym_true] = ACTIONS(190), + [anon_sym_false] = ACTIONS(190), + [anon_sym_LBRACK] = ACTIONS(192), + [anon_sym_none] = ACTIONS(194), + [anon_sym_some] = ACTIONS(196), + [anon_sym_if] = ACTIONS(160), + [anon_sym_match] = ACTIONS(162), + [anon_sym_while] = ACTIONS(198), + [anon_sym_for] = ACTIONS(200), + [anon_sym_asyncfor] = ACTIONS(202), + [anon_sym_return] = ACTIONS(204), + [anon_sym_args] = ACTIONS(206), + [anon_sym_assert_equal] = ACTIONS(206), + [anon_sym_env] = ACTIONS(206), + [anon_sym_fs] = ACTIONS(206), + [anon_sym_json] = ACTIONS(206), + [anon_sym_length] = ACTIONS(206), + [anon_sym_output] = ACTIONS(206), + [anon_sym_random] = ACTIONS(206), + [anon_sym_string] = ACTIONS(206), + }, + [46] = { + [sym_statement] = STATE(233), + [sym_expression] = STATE(88), + [sym__expression_kind] = STATE(63), + [sym_block] = STATE(232), + [sym_value] = STATE(87), + [sym_structure] = STATE(81), + [sym_new] = STATE(63), + [sym_boolean] = STATE(81), + [sym_list] = STATE(81), + [sym_map] = STATE(81), + [sym_option] = STATE(81), + [sym_index] = STATE(84), + [sym_index_expression] = STATE(482), + [sym_math] = STATE(63), + [sym_logic] = STATE(63), + [sym_assignment] = STATE(232), + [sym_index_assignment] = STATE(232), + [sym_if_else] = STATE(232), + [sym_if] = STATE(224), + [sym_match] = STATE(232), + [sym_while] = STATE(232), + [sym_for] = STATE(232), + [sym_return] = STATE(232), + [sym_function] = STATE(81), + [sym_function_expression] = STATE(481), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(69), + [sym_yield] = STATE(69), + [sym_built_in_value] = STATE(81), + [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_struct] = ACTIONS(13), + [anon_sym_new] = ACTIONS(15), + [sym_integer] = ACTIONS(17), + [sym_float] = ACTIONS(19), + [sym_string] = ACTIONS(19), + [anon_sym_true] = ACTIONS(21), + [anon_sym_false] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_none] = ACTIONS(25), + [anon_sym_some] = ACTIONS(27), + [anon_sym_if] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), + [anon_sym_while] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_asyncfor] = ACTIONS(37), + [anon_sym_return] = ACTIONS(39), + [anon_sym_args] = ACTIONS(41), + [anon_sym_assert_equal] = ACTIONS(41), + [anon_sym_env] = ACTIONS(41), + [anon_sym_fs] = ACTIONS(41), + [anon_sym_json] = ACTIONS(41), + [anon_sym_length] = ACTIONS(41), + [anon_sym_output] = ACTIONS(41), + [anon_sym_random] = ACTIONS(41), + [anon_sym_string] = ACTIONS(41), + }, + [47] = { + [sym_statement] = STATE(428), + [sym_expression] = STATE(323), + [sym__expression_kind] = STATE(288), + [sym_block] = STATE(300), + [sym_value] = STATE(265), + [sym_structure] = STATE(279), + [sym_new] = STATE(288), + [sym_boolean] = STATE(279), + [sym_list] = STATE(279), + [sym_map] = STATE(279), + [sym_option] = STATE(279), + [sym_index] = STATE(314), + [sym_index_expression] = STATE(464), + [sym_math] = STATE(288), + [sym_logic] = STATE(288), + [sym_assignment] = STATE(300), + [sym_index_assignment] = STATE(300), + [sym_if_else] = STATE(300), + [sym_if] = STATE(388), + [sym_match] = STATE(300), + [sym_while] = STATE(300), + [sym_for] = STATE(300), + [sym_return] = STATE(300), + [sym_function] = STATE(279), + [sym_function_expression] = STATE(471), + [sym__function_expression_kind] = STATE(71), + [sym_function_call] = STATE(277), + [sym_yield] = STATE(277), + [sym_built_in_value] = STATE(279), + [sym_identifier] = ACTIONS(136), + [sym__comment] = ACTIONS(3), + [anon_sym_LPAREN] = ACTIONS(138), + [anon_sym_async] = ACTIONS(140), + [anon_sym_LBRACE] = ACTIONS(142), + [anon_sym_struct] = ACTIONS(144), + [anon_sym_new] = ACTIONS(146), + [sym_integer] = ACTIONS(148), + [sym_float] = ACTIONS(150), + [sym_string] = ACTIONS(150), + [anon_sym_true] = ACTIONS(152), + [anon_sym_false] = ACTIONS(152), + [anon_sym_LBRACK] = ACTIONS(154), + [anon_sym_none] = ACTIONS(156), + [anon_sym_some] = ACTIONS(158), + [anon_sym_if] = ACTIONS(160), + [anon_sym_match] = ACTIONS(162), + [anon_sym_while] = ACTIONS(164), + [anon_sym_for] = ACTIONS(166), + [anon_sym_asyncfor] = ACTIONS(168), + [anon_sym_return] = ACTIONS(170), + [anon_sym_args] = ACTIONS(172), + [anon_sym_assert_equal] = ACTIONS(172), + [anon_sym_env] = ACTIONS(172), + [anon_sym_fs] = ACTIONS(172), + [anon_sym_json] = ACTIONS(172), + [anon_sym_length] = ACTIONS(172), + [anon_sym_output] = ACTIONS(172), + [anon_sym_random] = ACTIONS(172), + [anon_sym_string] = ACTIONS(172), }, }; @@ -5203,365 +5767,13 @@ static const uint16_t ts_small_parse_table[] = { [0] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(194), 1, - anon_sym_DASH_GT, - STATE(161), 1, - sym_logic_operator, - STATE(165), 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_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), 26, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [65] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(194), 1, - anon_sym_DASH_GT, - STATE(161), 1, - sym_logic_operator, - STATE(165), 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), 26, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [130] = 5, - ACTIONS(3), 1, - sym__comment, - STATE(161), 1, - sym_logic_operator, - STATE(165), 1, - sym_math_operator, - ACTIONS(200), 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(202), 26, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [193] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(204), 1, - anon_sym_DASH_GT, - STATE(175), 1, - sym_math_operator, - STATE(185), 1, - sym_logic_operator, - ACTIONS(196), 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(198), 26, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [257] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(204), 1, - anon_sym_DASH_GT, - STATE(175), 1, - sym_math_operator, - STATE(185), 1, - sym_logic_operator, - ACTIONS(190), 21, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_COLON, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_asyncfor, - ACTIONS(192), 26, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [321] = 10, - ACTIONS(3), 1, - sym__comment, - ACTIONS(210), 1, - anon_sym_LPAREN, ACTIONS(212), 1, - anon_sym_EQ, - ACTIONS(214), 1, - anon_sym_COLON, - ACTIONS(216), 1, - anon_sym_LT, - STATE(28), 1, - sym_assignment_operator, - STATE(374), 1, - sym_type_definition, - ACTIONS(218), 2, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - ACTIONS(206), 18, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(208), 24, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [393] = 5, - ACTIONS(3), 1, - sym__comment, - STATE(175), 1, + STATE(174), 1, sym_math_operator, - STATE(185), 1, + STATE(176), 1, sym_logic_operator, - ACTIONS(200), 22, + ACTIONS(208), 22, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -5571,6 +5783,7 @@ 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, @@ -5583,14 +5796,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, - anon_sym_DASH_GT, - ACTIONS(202), 26, + ACTIONS(210), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -5611,10 +5825,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [455] = 3, + [67] = 5, ACTIONS(3), 1, sym__comment, - ACTIONS(220), 23, + STATE(174), 1, + sym_math_operator, + STATE(176), 1, + sym_logic_operator, + ACTIONS(214), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -5638,13 +5856,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(222), 26, + ACTIONS(216), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -5665,10 +5885,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [512] = 3, + [132] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(224), 23, + ACTIONS(212), 1, + anon_sym_DASH_GT, + STATE(174), 1, + sym_math_operator, + STATE(176), 1, + sym_logic_operator, + ACTIONS(218), 22, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -5691,14 +5917,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, - anon_sym_DASH_GT, - ACTIONS(226), 26, + ACTIONS(220), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -5719,79 +5946,26 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [569] = 3, + [199] = 10, ACTIONS(3), 1, sym__comment, - ACTIONS(228), 23, - ts_builtin_sym_end, - anon_sym_SEMI, + ACTIONS(226), 1, 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), 26, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, + ACTIONS(228), 1, anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [626] = 10, - ACTIONS(3), 1, - sym__comment, - ACTIONS(210), 1, - anon_sym_LPAREN, - ACTIONS(214), 1, + ACTIONS(230), 1, anon_sym_COLON, - ACTIONS(216), 1, - anon_sym_LT, ACTIONS(232), 1, - anon_sym_EQ, - STATE(28), 1, + anon_sym_LT, + STATE(46), 1, sym_assignment_operator, - STATE(377), 1, + STATE(393), 1, sym_type_definition, - ACTIONS(218), 2, + ACTIONS(234), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - ACTIONS(206), 17, + ACTIONS(222), 18, + ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LBRACE, anon_sym_RBRACE, @@ -5809,9 +5983,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(208), 24, + ACTIONS(224), 26, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, @@ -5834,10 +6010,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [697] = 3, + [273] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(234), 23, + ACTIONS(236), 1, + anon_sym_DASH_GT, + STATE(192), 1, + sym_math_operator, + STATE(195), 1, + sym_logic_operator, + ACTIONS(208), 21, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -5847,7 +6029,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, @@ -5860,14 +6041,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, - anon_sym_DASH_GT, - ACTIONS(236), 26, + ACTIONS(210), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -5888,7 +6070,126 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [754] = 3, + [339] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(236), 1, + anon_sym_DASH_GT, + STATE(192), 1, + sym_math_operator, + STATE(195), 1, + sym_logic_operator, + ACTIONS(218), 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(220), 28, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [405] = 5, + ACTIONS(3), 1, + sym__comment, + STATE(192), 1, + sym_math_operator, + STATE(195), 1, + sym_logic_operator, + ACTIONS(214), 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(216), 28, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [469] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(238), 23, @@ -5915,13 +6216,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(240), 26, + ACTIONS(240), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -5942,7 +6245,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [811] = 3, + [528] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(242), 23, @@ -5969,13 +6272,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(244), 26, + ACTIONS(244), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -5996,7 +6301,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [868] = 3, + [587] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(246), 23, @@ -6023,13 +6328,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(248), 26, + ACTIONS(248), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -6050,7 +6357,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [925] = 3, + [646] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(250), 23, @@ -6077,13 +6384,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(252), 26, + ACTIONS(252), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -6104,62 +6413,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [982] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(210), 1, - anon_sym_LPAREN, - ACTIONS(206), 22, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_asyncfor, - anon_sym_DASH_GT, - ACTIONS(208), 26, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [1041] = 3, + [705] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(254), 23, @@ -6186,13 +6440,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(256), 26, + ACTIONS(256), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -6213,7 +6469,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1098] = 3, + [764] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(258), 23, @@ -6240,13 +6496,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(260), 26, + ACTIONS(260), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -6267,7 +6525,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1155] = 3, + [823] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(262), 23, @@ -6294,13 +6552,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(264), 26, + ACTIONS(264), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -6321,65 +6581,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1212] = 4, + [882] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(266), 1, - anon_sym_DOT_DOT, - ACTIONS(238), 22, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_COLON, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_asyncfor, - anon_sym_DASH_GT, - ACTIONS(240), 26, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [1271] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(214), 23, + ACTIONS(266), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -6403,13 +6608,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(268), 26, + ACTIONS(268), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -6430,7 +6637,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1328] = 3, + [941] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(270), 23, @@ -6457,69 +6664,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(272), 26, + ACTIONS(272), 28, anon_sym_async, sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, + anon_sym_struct, anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [1385] = 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(38), 1, - sym_assignment_operator, - ACTIONS(218), 2, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - ACTIONS(206), 18, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LBRACE, - 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), 25, - anon_sym_async, - sym_identifier, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, @@ -6543,63 +6693,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1452] = 5, - ACTIONS(3), 1, - sym__comment, - ACTIONS(210), 1, - anon_sym_LPAREN, - ACTIONS(214), 1, - anon_sym_COLON, - ACTIONS(206), 21, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_asyncfor, - anon_sym_DASH_GT, - ACTIONS(208), 26, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [1513] = 3, + [1000] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(274), 23, @@ -6626,13 +6720,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(276), 26, + ACTIONS(276), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -6653,7 +6749,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1570] = 3, + [1059] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(278), 23, @@ -6680,13 +6776,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(280), 26, + ACTIONS(280), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -6707,7 +6805,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1627] = 3, + [1118] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(282), 23, @@ -6734,13 +6832,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(284), 26, + ACTIONS(284), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -6761,7 +6861,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1684] = 3, + [1177] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(286), 23, @@ -6788,13 +6888,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(288), 26, + ACTIONS(288), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -6815,7 +6917,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1741] = 3, + [1236] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(290), 23, @@ -6842,13 +6944,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(292), 26, + ACTIONS(292), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -6869,7 +6973,64 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1798] = 3, + [1295] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(226), 1, + anon_sym_LPAREN, + ACTIONS(222), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_asyncfor, + anon_sym_DASH_GT, + ACTIONS(224), 28, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [1356] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(294), 23, @@ -6896,13 +7057,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(296), 26, + ACTIONS(296), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -6923,7 +7086,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1855] = 3, + [1415] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(298), 23, @@ -6950,13 +7113,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(300), 26, + ACTIONS(300), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -6977,10 +7142,73 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1912] = 3, + [1474] = 10, ACTIONS(3), 1, sym__comment, - ACTIONS(302), 23, + ACTIONS(226), 1, + anon_sym_LPAREN, + ACTIONS(230), 1, + anon_sym_COLON, + ACTIONS(232), 1, + anon_sym_LT, + ACTIONS(302), 1, + anon_sym_EQ, + STATE(46), 1, + sym_assignment_operator, + STATE(390), 1, + sym_type_definition, + ACTIONS(234), 2, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + ACTIONS(222), 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(224), 26, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [1547] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(304), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -7004,13 +7232,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(304), 26, + ACTIONS(306), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -7031,10 +7261,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1969] = 3, + [1606] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(306), 23, + ACTIONS(230), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -7058,13 +7288,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(308), 26, + ACTIONS(308), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -7085,10 +7317,67 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [2026] = 3, + [1665] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(310), 23, + ACTIONS(310), 1, + anon_sym_DOT_DOT, + ACTIONS(274), 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(276), 28, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [1726] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(312), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -7112,13 +7401,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(312), 26, + ACTIONS(314), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -7139,10 +7430,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [2083] = 3, + [1785] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(314), 23, + ACTIONS(316), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -7166,13 +7457,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(316), 26, + ACTIONS(318), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -7193,47 +7486,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [2140] = 6, + [1844] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(318), 1, - anon_sym_DASH_GT, - STATE(172), 1, - sym_logic_operator, - STATE(198), 1, - sym_math_operator, - ACTIONS(198), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(196), 23, + ACTIONS(320), 23, + ts_builtin_sym_end, 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, @@ -7247,27 +7511,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - [2200] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(318), 1, + anon_sym_asyncfor, anon_sym_DASH_GT, - STATE(172), 1, - sym_logic_operator, - STATE(198), 1, - sym_math_operator, - ACTIONS(192), 20, + ACTIONS(322), 28, + anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, 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, @@ -7277,17 +7542,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - ACTIONS(190), 23, + [1903] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(324), 23, + ts_builtin_sym_end, 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, @@ -7301,43 +7567,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - [2260] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(320), 1, - anon_sym_DASH_GT, - STATE(180), 1, - sym_math_operator, - STATE(183), 1, - sym_logic_operator, - ACTIONS(190), 19, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, anon_sym_asyncfor, - ACTIONS(192), 24, + anon_sym_DASH_GT, + ACTIONS(326), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, 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, @@ -7355,16 +7598,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [2320] = 6, + [1962] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(320), 1, - anon_sym_DASH_GT, - STATE(180), 1, - sym_math_operator, - STATE(183), 1, - sym_logic_operator, - ACTIONS(196), 19, + ACTIONS(328), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -7373,7 +7610,8 @@ static const uint16_t ts_small_parse_table[] = { sym_float, sym_string, anon_sym_LBRACK, - anon_sym_PLUS, + anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -7383,15 +7621,22 @@ static const uint16_t ts_small_parse_table[] = { 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), 24, + anon_sym_DASH_GT, + ACTIONS(330), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, 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, @@ -7409,51 +7654,48 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [2380] = 11, + [2021] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(320), 1, - anon_sym_DASH_GT, - ACTIONS(326), 1, - anon_sym_SEMI, - ACTIONS(330), 1, - anon_sym_DASH, - STATE(180), 1, - sym_math_operator, - STATE(183), 1, - sym_logic_operator, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(322), 8, + ACTIONS(332), 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, - ACTIONS(324), 21, + anon_sym_DASH_GT, + ACTIONS(334), 28, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, 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, @@ -7468,33 +7710,376 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [2450] = 10, + [2080] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(320), 1, - anon_sym_DASH_GT, - ACTIONS(330), 1, - anon_sym_DASH, - STATE(180), 1, - sym_math_operator, - STATE(183), 1, - sym_logic_operator, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, + ACTIONS(336), 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, - ACTIONS(332), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(322), 9, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_asyncfor, + anon_sym_DASH_GT, + ACTIONS(338), 28, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [2139] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(340), 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(342), 28, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [2198] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(226), 1, + anon_sym_LPAREN, + ACTIONS(228), 1, + anon_sym_EQ, + ACTIONS(230), 1, + anon_sym_COLON, + STATE(36), 1, + sym_assignment_operator, + ACTIONS(234), 2, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + ACTIONS(222), 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(224), 27, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [2267] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(344), 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(346), 28, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [2326] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(348), 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(350), 28, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [2385] = 5, + ACTIONS(3), 1, + sym__comment, + ACTIONS(226), 1, + anon_sym_LPAREN, + ACTIONS(230), 1, + anon_sym_COLON, + ACTIONS(222), 21, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_asyncfor, + anon_sym_DASH_GT, + ACTIONS(224), 28, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [2448] = 10, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(364), 1, + anon_sym_DASH_GT, + STATE(181), 1, + sym_math_operator, + STATE(191), 1, + sym_logic_operator, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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(352), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -7504,9 +8089,11 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_asyncfor, - ACTIONS(324), 21, + ACTIONS(354), 23, anon_sym_async, sym_identifier, + anon_sym_struct, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, @@ -7529,1552 +8116,18 @@ static const uint16_t ts_small_parse_table[] = { [2518] = 5, ACTIONS(3), 1, sym__comment, - STATE(172), 1, - sym_logic_operator, - STATE(198), 1, + STATE(182), 1, sym_math_operator, - ACTIONS(202), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(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, - [2576] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(214), 1, - anon_sym_COLON, - ACTIONS(210), 20, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_asyncfor, - anon_sym_DASH_GT, - ACTIONS(336), 24, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [2631] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(338), 1, - anon_sym_DASH_GT, - STATE(202), 1, - sym_math_operator, - STATE(203), 1, + STATE(183), 1, sym_logic_operator, - ACTIONS(192), 20, + ACTIONS(216), 22, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(190), 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, - [2690] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(338), 1, - anon_sym_DASH_GT, - STATE(202), 1, - sym_math_operator, - STATE(203), 1, - sym_logic_operator, - ACTIONS(198), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(196), 22, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - [2749] = 5, - ACTIONS(3), 1, - sym__comment, - STATE(202), 1, - sym_math_operator, - STATE(203), 1, - sym_logic_operator, - ACTIONS(202), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(200), 23, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [2806] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(230), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(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, - [2858] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(308), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(306), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [2910] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(226), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(224), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [2962] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(300), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(298), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3014] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(288), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(286), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3066] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(312), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(310), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3118] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(248), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(246), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3170] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(244), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(242), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3222] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(252), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(250), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3274] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(210), 1, - anon_sym_LPAREN, - ACTIONS(208), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(206), 23, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3328] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(296), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(294), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3380] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(284), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(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, - [3432] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(304), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(302), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3484] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(222), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(220), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3536] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(280), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(278), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3588] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(236), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(234), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3640] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(240), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(238), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3692] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(292), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(290), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3744] = 5, - ACTIONS(3), 1, - sym__comment, - ACTIONS(210), 1, - anon_sym_LPAREN, - ACTIONS(214), 1, - anon_sym_COLON, - ACTIONS(208), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(206), 22, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3800] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(264), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(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, - [3852] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(316), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(314), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3904] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(276), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(274), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3956] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(272), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(270), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [4008] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(260), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(258), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [4060] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(256), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(254), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [4112] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(340), 1, - anon_sym_DOT_DOT, - ACTIONS(240), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(238), 23, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [4166] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(268), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, @@ -9115,44 +8168,76 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - [4218] = 10, + [2578] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(210), 1, - anon_sym_LPAREN, - ACTIONS(212), 1, + ACTIONS(366), 1, + anon_sym_DASH_GT, + STATE(182), 1, + sym_math_operator, + STATE(183), 1, + sym_logic_operator, + ACTIONS(220), 22, + sym_identifier, + anon_sym_struct, anon_sym_EQ, - ACTIONS(214), 1, - anon_sym_COLON, - ACTIONS(216), 1, + anon_sym_new, + 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, - STATE(30), 1, - sym_assignment_operator, - STATE(375), 1, - sym_type_definition, - ACTIONS(218), 2, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(218), 23, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - ACTIONS(206), 17, - anon_sym_SEMI, - 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, + [2640] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(366), 1, anon_sym_DASH_GT, - ACTIONS(208), 18, + STATE(182), 1, + sym_math_operator, + STATE(183), 1, + sym_logic_operator, + ACTIONS(210), 22, sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, @@ -9161,6 +8246,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, + anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -9170,673 +8256,2025 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [4283] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(210), 1, + ACTIONS(208), 23, + anon_sym_SEMI, anon_sym_LPAREN, - ACTIONS(212), 1, - anon_sym_EQ, - ACTIONS(214), 1, + 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, - STATE(41), 1, - sym_assignment_operator, - ACTIONS(218), 2, + 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, - ACTIONS(206), 17, - anon_sym_SEMI, - 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, - anon_sym_DASH_GT, - ACTIONS(208), 19, - 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, - anon_sym_string, - [4343] = 6, + [2702] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(342), 1, - anon_sym_DASH_GT, - STATE(186), 1, - sym_logic_operator, - STATE(193), 1, - sym_math_operator, - ACTIONS(192), 18, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(190), 20, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [4398] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(342), 1, - anon_sym_DASH_GT, - STATE(186), 1, - sym_logic_operator, - STATE(193), 1, - sym_math_operator, - ACTIONS(198), 18, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(196), 20, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [4453] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(214), 1, - anon_sym_COLON, - ACTIONS(336), 18, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(210), 21, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH_GT, - [4503] = 22, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(348), 1, - anon_sym_RBRACE, - ACTIONS(350), 1, - anon_sym_STAR, - STATE(61), 1, - sym__function_expression_kind, - STATE(124), 1, - aux_sym_match_repeat1, - STATE(332), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(245), 2, - sym_function_call, - sym_yield, - STATE(250), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [4589] = 22, - ACTIONS(3), 1, - sym__comment, - ACTIONS(352), 1, - sym_identifier, - ACTIONS(355), 1, - anon_sym_LPAREN, ACTIONS(358), 1, - anon_sym_LBRACE, - ACTIONS(361), 1, - anon_sym_RBRACE, - ACTIONS(363), 1, - sym_integer, - ACTIONS(372), 1, - anon_sym_LBRACK, - ACTIONS(375), 1, - anon_sym_none, - ACTIONS(378), 1, - anon_sym_some, - ACTIONS(381), 1, - anon_sym_STAR, - STATE(61), 1, - sym__function_expression_kind, - STATE(124), 1, - aux_sym_match_repeat1, - STATE(332), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(366), 2, - sym_float, - sym_string, - ACTIONS(369), 2, - anon_sym_true, - anon_sym_false, - STATE(245), 2, - sym_function_call, - sym_yield, - STATE(250), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(384), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [4675] = 22, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(350), 1, - anon_sym_STAR, - ACTIONS(387), 1, - anon_sym_RBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(124), 1, - aux_sym_match_repeat1, - STATE(332), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(245), 2, - sym_function_call, - sym_yield, - STATE(250), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [4761] = 22, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(389), 1, - sym_identifier, - ACTIONS(391), 1, - anon_sym_RPAREN, - STATE(245), 1, - sym_yield, - STATE(348), 1, - sym_expression, - STATE(350), 1, - sym_function_call, - STATE(396), 1, - aux_sym_function_repeat1, - STATE(401), 1, - sym__function_expression_kind, - STATE(432), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(250), 2, - sym_value, - sym_index, - STATE(363), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [4846] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(393), 1, - sym_identifier, - ACTIONS(396), 1, - anon_sym_LPAREN, - ACTIONS(399), 1, - anon_sym_RPAREN, - ACTIONS(401), 1, - anon_sym_LBRACE, - ACTIONS(404), 1, - sym_integer, - ACTIONS(413), 1, - anon_sym_LBRACK, - ACTIONS(416), 1, - anon_sym_none, - ACTIONS(419), 1, - anon_sym_some, - STATE(61), 1, - sym__function_expression_kind, - STATE(127), 1, - aux_sym__expression_list, - STATE(156), 1, - sym_expression, - STATE(419), 1, - sym_function_expression, - STATE(424), 1, - sym_index_expression, - ACTIONS(407), 2, - sym_float, - sym_string, - ACTIONS(410), 2, - anon_sym_true, - anon_sym_false, - STATE(100), 2, - sym_function_call, - sym_yield, - STATE(109), 2, - sym_value, - sym_index, - STATE(102), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(422), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [4929] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(425), 1, - sym_identifier, - ACTIONS(427), 1, - anon_sym_RPAREN, - ACTIONS(429), 1, - anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(127), 1, - aux_sym__expression_list, - STATE(156), 1, - sym_expression, - STATE(419), 1, - sym_function_expression, - STATE(424), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(100), 2, - sym_function_call, - sym_yield, - STATE(109), 2, - sym_value, - sym_index, - STATE(102), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [5012] = 22, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(389), 1, - sym_identifier, - ACTIONS(431), 1, - anon_sym_RPAREN, - STATE(245), 1, - sym_yield, - STATE(348), 1, - sym_expression, - STATE(350), 1, - sym_function_call, - STATE(384), 1, - aux_sym_function_repeat1, - STATE(401), 1, - sym__function_expression_kind, - STATE(432), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(250), 2, - sym_value, - sym_index, - STATE(363), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [5097] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, anon_sym_DASH, - ACTIONS(342), 1, + ACTIONS(364), 1, anon_sym_DASH_GT, - ACTIONS(433), 1, + ACTIONS(368), 1, anon_sym_SEMI, - STATE(186), 1, - sym_logic_operator, - STATE(193), 1, + STATE(181), 1, sym_math_operator, - ACTIONS(334), 2, + STATE(191), 1, + sym_logic_operator, + ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(328), 3, + ACTIONS(356), 4, anon_sym_PLUS, + anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(332), 6, + ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(322), 8, + ACTIONS(352), 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(354), 23, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [2774] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(364), 1, + anon_sym_DASH_GT, + STATE(181), 1, + sym_math_operator, + STATE(191), 1, + sym_logic_operator, + ACTIONS(208), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_asyncfor, + ACTIONS(210), 26, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [2836] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(364), 1, + anon_sym_DASH_GT, + STATE(181), 1, + sym_math_operator, + STATE(191), 1, + sym_logic_operator, + ACTIONS(218), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_asyncfor, + ACTIONS(220), 26, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [2898] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(370), 1, + anon_sym_DASH_GT, + STATE(194), 1, + sym_logic_operator, + STATE(202), 1, + sym_math_operator, + ACTIONS(218), 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, + ACTIONS(220), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + [2959] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(230), 1, + anon_sym_COLON, + ACTIONS(226), 20, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_asyncfor, + anon_sym_DASH_GT, + ACTIONS(372), 26, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [3016] = 5, + ACTIONS(3), 1, + sym__comment, + STATE(194), 1, + sym_logic_operator, + STATE(202), 1, + sym_math_operator, + ACTIONS(216), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(214), 23, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3075] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(370), 1, + anon_sym_DASH_GT, + STATE(194), 1, + sym_logic_operator, + STATE(202), 1, + sym_math_operator, + ACTIONS(208), 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, + ACTIONS(210), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + [3136] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(314), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(312), 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, + [3190] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(268), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(266), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3244] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(318), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(316), 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, + [3298] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(322), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(320), 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, + [3352] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(350), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(348), 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, + [3406] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(296), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(294), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3460] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(326), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(324), 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, + [3514] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(284), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + 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, + [3568] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(308), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(230), 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, + [3622] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(374), 1, + anon_sym_DOT_DOT, + ACTIONS(276), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(274), 23, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3678] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(280), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(278), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3732] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(240), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(238), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3786] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(264), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + 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, + [3840] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(256), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(254), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3894] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(252), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(250), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3948] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(292), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(290), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [4002] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(342), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(340), 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, + [4056] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(346), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(344), 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, + [4110] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(248), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(246), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [4164] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(306), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + 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, + [4218] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(226), 1, + anon_sym_LPAREN, + ACTIONS(224), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(222), 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, + [4274] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(260), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(258), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [4328] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(300), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(298), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [4382] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(244), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(242), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [4436] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(338), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(336), 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, + [4490] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(288), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(286), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [4544] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(272), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(270), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [4598] = 5, + ACTIONS(3), 1, + sym__comment, + ACTIONS(226), 1, + anon_sym_LPAREN, + ACTIONS(230), 1, + anon_sym_COLON, + ACTIONS(222), 22, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + ACTIONS(224), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + [4656] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(276), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(274), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [4710] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(330), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(328), 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, + [4764] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(334), 22, + sym_identifier, + anon_sym_struct, + anon_sym_EQ, + anon_sym_new, + 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, + anon_sym_string, + ACTIONS(332), 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, + [4818] = 10, + ACTIONS(3), 1, + sym__comment, + ACTIONS(226), 1, + anon_sym_LPAREN, + ACTIONS(228), 1, + anon_sym_EQ, + ACTIONS(230), 1, + anon_sym_COLON, + ACTIONS(232), 1, + anon_sym_LT, + STATE(29), 1, + sym_assignment_operator, + STATE(391), 1, + sym_type_definition, + ACTIONS(234), 2, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + ACTIONS(222), 17, + anon_sym_SEMI, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, @@ -9844,13 +10282,27 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_STAR, - ACTIONS(324), 15, + 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, + ACTIONS(224), 20, sym_identifier, + anon_sym_struct, + anon_sym_new, 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, @@ -9860,557 +10312,67 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [5160] = 21, + [4885] = 24, ACTIONS(3), 1, sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(425), 1, + ACTIONS(376), 1, sym_identifier, - ACTIONS(429), 1, - anon_sym_LBRACE, - ACTIONS(435), 1, - anon_sym_RBRACK, - STATE(61), 1, - sym__function_expression_kind, - STATE(152), 1, - aux_sym_list_repeat1, - STATE(157), 1, - sym_expression, - STATE(419), 1, - sym_function_expression, - STATE(424), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(100), 2, - sym_function_call, - sym_yield, - STATE(109), 2, - sym_value, - sym_index, - STATE(102), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [5243] = 22, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, + ACTIONS(379), 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, + ACTIONS(382), 1, anon_sym_LBRACE, - ACTIONS(389), 1, - sym_identifier, - ACTIONS(391), 1, - anon_sym_RPAREN, - STATE(245), 1, - sym_yield, - STATE(348), 1, - sym_expression, - STATE(350), 1, - sym_function_call, - STATE(396), 1, - aux_sym_function_repeat1, - STATE(401), 1, - sym__function_expression_kind, - STATE(432), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(250), 2, - sym_value, - sym_index, - STATE(364), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [5328] = 22, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, + ACTIONS(385), 1, + anon_sym_RBRACE, + ACTIONS(387), 1, + anon_sym_struct, + ACTIONS(390), 1, + anon_sym_new, + ACTIONS(393), 1, sym_integer, - ACTIONS(140), 1, + ACTIONS(402), 1, anon_sym_LBRACK, - ACTIONS(142), 1, + ACTIONS(405), 1, anon_sym_none, - ACTIONS(144), 1, + ACTIONS(408), 1, anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(389), 1, - sym_identifier, - ACTIONS(437), 1, - anon_sym_RPAREN, - STATE(245), 1, - sym_yield, - STATE(348), 1, - sym_expression, - STATE(350), 1, - sym_function_call, - STATE(397), 1, - aux_sym_function_repeat1, - STATE(401), 1, - sym__function_expression_kind, - STATE(432), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(250), 2, - sym_value, - sym_index, - STATE(362), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [5413] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(425), 1, - sym_identifier, - ACTIONS(429), 1, - anon_sym_LBRACE, - ACTIONS(439), 1, - anon_sym_RPAREN, - STATE(61), 1, - sym__function_expression_kind, - STATE(151), 1, - aux_sym__expression_list, - STATE(156), 1, - sym_expression, - STATE(419), 1, - sym_function_expression, - STATE(424), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(100), 2, - sym_function_call, - sym_yield, - STATE(109), 2, - sym_value, - sym_index, - STATE(102), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [5496] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(425), 1, - sym_identifier, - ACTIONS(429), 1, - anon_sym_LBRACE, - ACTIONS(441), 1, - anon_sym_RBRACK, - STATE(61), 1, + ACTIONS(411), 1, + anon_sym_STAR, + STATE(71), 1, sym__function_expression_kind, STATE(131), 1, - aux_sym_list_repeat1, - STATE(157), 1, - sym_expression, - STATE(419), 1, - sym_function_expression, - STATE(424), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(100), 2, - sym_function_call, - sym_yield, - STATE(109), 2, - sym_value, - sym_index, - STATE(102), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [5579] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(425), 1, - sym_identifier, - ACTIONS(429), 1, - anon_sym_LBRACE, - ACTIONS(443), 1, - anon_sym_RBRACK, - STATE(61), 1, - sym__function_expression_kind, - STATE(137), 1, - aux_sym_list_repeat1, - STATE(157), 1, - sym_expression, - STATE(419), 1, - sym_function_expression, - STATE(424), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(100), 2, - sym_function_call, - sym_yield, - STATE(109), 2, - sym_value, - sym_index, - STATE(102), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [5662] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(425), 1, - sym_identifier, - ACTIONS(429), 1, - anon_sym_LBRACE, - ACTIONS(445), 1, - anon_sym_RBRACK, - STATE(61), 1, - sym__function_expression_kind, - STATE(152), 1, - aux_sym_list_repeat1, - STATE(157), 1, - sym_expression, - STATE(419), 1, - sym_function_expression, - STATE(424), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(100), 2, - sym_function_call, - sym_yield, - STATE(109), 2, - sym_value, - sym_index, - STATE(102), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [5745] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(425), 1, - sym_identifier, - ACTIONS(429), 1, - anon_sym_LBRACE, - ACTIONS(447), 1, - anon_sym_RPAREN, - STATE(61), 1, - sym__function_expression_kind, - STATE(150), 1, - aux_sym__expression_list, - STATE(156), 1, - sym_expression, - STATE(419), 1, - sym_function_expression, - STATE(424), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(100), 2, - sym_function_call, - sym_yield, - STATE(109), 2, - sym_value, - sym_index, - STATE(102), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [5828] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(350), 1, - anon_sym_STAR, - STATE(61), 1, - sym__function_expression_kind, - STATE(125), 1, aux_sym_match_repeat1, - STATE(332), 1, + STATE(352), 1, sym_expression, - STATE(426), 1, + STATE(464), 1, sym_index_expression, - STATE(445), 1, + STATE(471), 1, sym_function_expression, - ACTIONS(136), 2, + ACTIONS(396), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(399), 2, anon_sym_true, anon_sym_false, - STATE(245), 2, - sym_function_call, - sym_yield, - STATE(250), 2, + STATE(265), 2, sym_value, sym_index, - STATE(258), 3, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, sym__expression_kind, + sym_new, sym_math, sym_logic, - STATE(269), 6, + STATE(279), 7, + sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(158), 9, + ACTIONS(414), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -10420,34 +10382,162 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [5911] = 10, + [4979] = 24, ACTIONS(3), 1, sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(342), 1, - anon_sym_DASH_GT, - STATE(186), 1, - sym_logic_operator, - STATE(193), 1, - sym_math_operator, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 3, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(322), 9, - anon_sym_SEMI, + ACTIONS(138), 1, anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(417), 1, + sym_identifier, + ACTIONS(419), 1, + anon_sym_LBRACE, + ACTIONS(421), 1, + anon_sym_RBRACE, + ACTIONS(423), 1, + anon_sym_STAR, + STATE(71), 1, + sym__function_expression_kind, + STATE(131), 1, + aux_sym_match_repeat1, + STATE(352), 1, + sym_expression, + STATE(464), 1, + sym_index_expression, + STATE(471), 1, + sym_function_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [5073] = 24, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(417), 1, + sym_identifier, + ACTIONS(419), 1, + anon_sym_LBRACE, + ACTIONS(423), 1, + anon_sym_STAR, + ACTIONS(425), 1, + anon_sym_RBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(131), 1, + aux_sym_match_repeat1, + STATE(352), 1, + sym_expression, + STATE(464), 1, + sym_index_expression, + STATE(471), 1, + sym_function_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [5167] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(226), 1, + anon_sym_LPAREN, + ACTIONS(228), 1, + anon_sym_EQ, + ACTIONS(230), 1, + anon_sym_COLON, + STATE(31), 1, + sym_assignment_operator, + ACTIONS(234), 2, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + ACTIONS(222), 17, + anon_sym_SEMI, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, @@ -10455,13 +10545,28 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_STAR, - ACTIONS(324), 15, + 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, + ACTIONS(224), 21, sym_identifier, + anon_sym_struct, + anon_sym_new, 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, @@ -10471,59 +10576,1191 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [5972] = 21, + [5229] = 23, 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_LPAREN, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(184), 1, + anon_sym_new, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, anon_sym_none, - ACTIONS(178), 1, + ACTIONS(196), 1, anon_sym_some, - ACTIONS(425), 1, + ACTIONS(427), 1, sym_identifier, ACTIONS(429), 1, + anon_sym_RPAREN, + ACTIONS(431), 1, anon_sym_LBRACE, - ACTIONS(449), 1, + STATE(71), 1, + sym__function_expression_kind, + STATE(157), 1, + aux_sym__expression_list, + STATE(222), 1, + sym_expression, + STATE(457), 1, + sym_function_expression, + STATE(476), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(119), 2, + sym_function_call, + sym_yield, + STATE(126), 2, + sym_value, + sym_index, + STATE(125), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(206), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [5320] = 23, + ACTIONS(3), 1, + sym__comment, + ACTIONS(433), 1, + sym_identifier, + ACTIONS(436), 1, + anon_sym_LPAREN, + ACTIONS(439), 1, + anon_sym_LBRACE, + ACTIONS(442), 1, + anon_sym_struct, + ACTIONS(445), 1, + anon_sym_new, + ACTIONS(448), 1, + sym_integer, + ACTIONS(457), 1, + anon_sym_LBRACK, + ACTIONS(460), 1, anon_sym_RBRACK, - STATE(61), 1, + ACTIONS(462), 1, + anon_sym_none, + ACTIONS(465), 1, + anon_sym_some, + STATE(71), 1, + sym__function_expression_kind, + STATE(136), 1, + aux_sym_list_repeat1, + STATE(223), 1, + sym_expression, + STATE(457), 1, + sym_function_expression, + STATE(476), 1, + sym_index_expression, + ACTIONS(451), 2, + sym_float, + sym_string, + ACTIONS(454), 2, + anon_sym_true, + anon_sym_false, + STATE(119), 2, + sym_function_call, + sym_yield, + STATE(126), 2, + sym_value, + sym_index, + STATE(125), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(468), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [5411] = 24, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(419), 1, + anon_sym_LBRACE, + ACTIONS(471), 1, + sym_identifier, + ACTIONS(473), 1, + anon_sym_RPAREN, + STATE(277), 1, + sym_yield, + STATE(366), 1, + sym_expression, + STATE(376), 1, + sym_function_call, + STATE(426), 1, + aux_sym_function_repeat1, + STATE(435), 1, + sym__function_expression_kind, + STATE(471), 1, + sym_function_expression, + STATE(488), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(377), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [5504] = 23, + ACTIONS(3), 1, + sym__comment, + ACTIONS(176), 1, + anon_sym_LPAREN, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(184), 1, + anon_sym_new, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(427), 1, + sym_identifier, + ACTIONS(431), 1, + anon_sym_LBRACE, + ACTIONS(475), 1, + anon_sym_RPAREN, + STATE(71), 1, + sym__function_expression_kind, + STATE(146), 1, + aux_sym__expression_list, + STATE(222), 1, + sym_expression, + STATE(457), 1, + sym_function_expression, + STATE(476), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(119), 2, + sym_function_call, + sym_yield, + STATE(126), 2, + sym_value, + sym_index, + STATE(125), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(206), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [5595] = 23, + ACTIONS(3), 1, + sym__comment, + ACTIONS(176), 1, + anon_sym_LPAREN, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(184), 1, + anon_sym_new, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(427), 1, + sym_identifier, + ACTIONS(431), 1, + anon_sym_LBRACE, + ACTIONS(477), 1, + anon_sym_RBRACK, + STATE(71), 1, + sym__function_expression_kind, + STATE(151), 1, + aux_sym_list_repeat1, + STATE(223), 1, + sym_expression, + STATE(457), 1, + sym_function_expression, + STATE(476), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(119), 2, + sym_function_call, + sym_yield, + STATE(126), 2, + sym_value, + sym_index, + STATE(125), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(206), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [5686] = 23, + ACTIONS(3), 1, + sym__comment, + ACTIONS(176), 1, + anon_sym_LPAREN, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(184), 1, + anon_sym_new, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(427), 1, + sym_identifier, + ACTIONS(431), 1, + anon_sym_LBRACE, + ACTIONS(479), 1, + anon_sym_RPAREN, + STATE(71), 1, + sym__function_expression_kind, + STATE(157), 1, + aux_sym__expression_list, + STATE(222), 1, + sym_expression, + STATE(457), 1, + sym_function_expression, + STATE(476), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(119), 2, + sym_function_call, + sym_yield, + STATE(126), 2, + sym_value, + sym_index, + STATE(125), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(206), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [5777] = 23, + ACTIONS(3), 1, + sym__comment, + ACTIONS(176), 1, + anon_sym_LPAREN, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(184), 1, + anon_sym_new, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(427), 1, + sym_identifier, + ACTIONS(431), 1, + anon_sym_LBRACE, + ACTIONS(481), 1, + anon_sym_RPAREN, + STATE(71), 1, + sym__function_expression_kind, + STATE(157), 1, + aux_sym__expression_list, + STATE(222), 1, + sym_expression, + STATE(457), 1, + sym_function_expression, + STATE(476), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(119), 2, + sym_function_call, + sym_yield, + STATE(126), 2, + sym_value, + sym_index, + STATE(125), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(206), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [5868] = 24, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(419), 1, + anon_sym_LBRACE, + ACTIONS(471), 1, + sym_identifier, + ACTIONS(483), 1, + anon_sym_RPAREN, + STATE(71), 1, + sym__function_expression_kind, + STATE(277), 1, + sym_yield, + STATE(358), 1, + sym_function_call, + STATE(362), 1, + sym_expression, + STATE(422), 1, + aux_sym_function_repeat1, + STATE(464), 1, + sym_index_expression, + STATE(471), 1, + sym_function_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [5961] = 23, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(417), 1, + sym_identifier, + ACTIONS(419), 1, + anon_sym_LBRACE, + ACTIONS(423), 1, + anon_sym_STAR, + STATE(71), 1, + sym__function_expression_kind, + STATE(132), 1, + aux_sym_match_repeat1, + STATE(352), 1, + sym_expression, + STATE(464), 1, + sym_index_expression, + STATE(471), 1, + sym_function_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [6052] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(485), 1, + anon_sym_DASH_GT, + STATE(167), 1, + sym_math_operator, + STATE(199), 1, + sym_logic_operator, + ACTIONS(218), 20, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(220), 20, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [6109] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(485), 1, + anon_sym_DASH_GT, + STATE(167), 1, + sym_math_operator, + STATE(199), 1, + sym_logic_operator, + ACTIONS(208), 20, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(210), 20, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [6166] = 23, + ACTIONS(3), 1, + sym__comment, + ACTIONS(176), 1, + anon_sym_LPAREN, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(184), 1, + anon_sym_new, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(427), 1, + sym_identifier, + ACTIONS(431), 1, + anon_sym_LBRACE, + ACTIONS(487), 1, + anon_sym_RPAREN, + STATE(71), 1, + sym__function_expression_kind, + STATE(157), 1, + aux_sym__expression_list, + STATE(222), 1, + sym_expression, + STATE(457), 1, + sym_function_expression, + STATE(476), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(119), 2, + sym_function_call, + sym_yield, + STATE(126), 2, + sym_value, + sym_index, + STATE(125), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(206), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [6257] = 24, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(419), 1, + anon_sym_LBRACE, + ACTIONS(471), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_RPAREN, + STATE(277), 1, + sym_yield, + STATE(366), 1, + sym_expression, + STATE(376), 1, + sym_function_call, + STATE(423), 1, + aux_sym_function_repeat1, + STATE(435), 1, + sym__function_expression_kind, + STATE(471), 1, + sym_function_expression, + STATE(488), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(380), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [6350] = 23, + ACTIONS(3), 1, + sym__comment, + ACTIONS(176), 1, + anon_sym_LPAREN, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(184), 1, + anon_sym_new, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(427), 1, + sym_identifier, + ACTIONS(431), 1, + anon_sym_LBRACE, + ACTIONS(491), 1, + anon_sym_RPAREN, + STATE(71), 1, + sym__function_expression_kind, + STATE(141), 1, + aux_sym__expression_list, + STATE(222), 1, + sym_expression, + STATE(457), 1, + sym_function_expression, + STATE(476), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(119), 2, + sym_function_call, + sym_yield, + STATE(126), 2, + sym_value, + sym_index, + STATE(125), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(206), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [6441] = 23, + ACTIONS(3), 1, + sym__comment, + ACTIONS(176), 1, + anon_sym_LPAREN, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(184), 1, + anon_sym_new, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(427), 1, + sym_identifier, + ACTIONS(431), 1, + anon_sym_LBRACE, + ACTIONS(493), 1, + anon_sym_RBRACK, + STATE(71), 1, + sym__function_expression_kind, + STATE(136), 1, + aux_sym_list_repeat1, + STATE(223), 1, + sym_expression, + STATE(457), 1, + sym_function_expression, + STATE(476), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(119), 2, + sym_function_call, + sym_yield, + STATE(126), 2, + sym_value, + sym_index, + STATE(125), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(206), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [6532] = 24, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(419), 1, + anon_sym_LBRACE, + ACTIONS(471), 1, + sym_identifier, + ACTIONS(473), 1, + anon_sym_RPAREN, + STATE(277), 1, + sym_yield, + STATE(366), 1, + sym_expression, + STATE(376), 1, + sym_function_call, + STATE(426), 1, + aux_sym_function_repeat1, + STATE(435), 1, + sym__function_expression_kind, + STATE(471), 1, + sym_function_expression, + STATE(488), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(380), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [6625] = 23, + ACTIONS(3), 1, + sym__comment, + ACTIONS(176), 1, + anon_sym_LPAREN, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(184), 1, + anon_sym_new, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(427), 1, + sym_identifier, + ACTIONS(431), 1, + anon_sym_LBRACE, + ACTIONS(495), 1, + anon_sym_RBRACK, + STATE(71), 1, + sym__function_expression_kind, + STATE(136), 1, + aux_sym_list_repeat1, + STATE(223), 1, + sym_expression, + STATE(457), 1, + sym_function_expression, + STATE(476), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(119), 2, + sym_function_call, + sym_yield, + STATE(126), 2, + sym_value, + sym_index, + STATE(125), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(206), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [6716] = 23, + ACTIONS(3), 1, + sym__comment, + ACTIONS(176), 1, + anon_sym_LPAREN, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(184), 1, + anon_sym_new, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(427), 1, + sym_identifier, + ACTIONS(431), 1, + anon_sym_LBRACE, + ACTIONS(497), 1, + anon_sym_RBRACK, + STATE(71), 1, sym__function_expression_kind, STATE(149), 1, aux_sym_list_repeat1, - STATE(157), 1, + STATE(223), 1, sym_expression, - STATE(419), 1, + STATE(457), 1, sym_function_expression, - STATE(424), 1, + STATE(476), 1, sym_index_expression, - ACTIONS(170), 2, + ACTIONS(188), 2, sym_float, sym_string, - ACTIONS(172), 2, + ACTIONS(190), 2, anon_sym_true, anon_sym_false, - STATE(100), 2, + STATE(119), 2, sym_function_call, sym_yield, - STATE(109), 2, + STATE(126), 2, sym_value, sym_index, - STATE(102), 3, + STATE(125), 4, sym__expression_kind, + sym_new, sym_math, sym_logic, - STATE(95), 6, + STATE(129), 7, + sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(188), 9, + ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -10533,247 +11770,65 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [6055] = 22, + [6807] = 23, ACTIONS(3), 1, sym__comment, - ACTIONS(128), 1, + ACTIONS(138), 1, anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(389), 1, - sym_identifier, - ACTIONS(431), 1, - anon_sym_RPAREN, - STATE(61), 1, - sym__function_expression_kind, - STATE(245), 1, - sym_yield, - STATE(353), 1, - sym_function_call, - STATE(358), 1, - sym_expression, - STATE(384), 1, - aux_sym_function_repeat1, - STATE(426), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(250), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [6140] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, sym_integer, - ACTIONS(174), 1, + ACTIONS(154), 1, anon_sym_LBRACK, - ACTIONS(176), 1, + ACTIONS(156), 1, anon_sym_none, - ACTIONS(178), 1, + ACTIONS(158), 1, anon_sym_some, - ACTIONS(425), 1, + ACTIONS(417), 1, sym_identifier, - ACTIONS(429), 1, + ACTIONS(419), 1, anon_sym_LBRACE, - ACTIONS(451), 1, - anon_sym_RPAREN, - STATE(61), 1, + ACTIONS(423), 1, + anon_sym_STAR, + STATE(71), 1, sym__function_expression_kind, - STATE(127), 1, - aux_sym__expression_list, - STATE(156), 1, - sym_expression, - STATE(419), 1, - sym_function_expression, - STATE(424), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(100), 2, - sym_function_call, - sym_yield, - STATE(109), 2, - sym_value, - sym_index, - STATE(102), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [6223] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(425), 1, - sym_identifier, - ACTIONS(429), 1, - anon_sym_LBRACE, - ACTIONS(453), 1, - anon_sym_RPAREN, - STATE(61), 1, - sym__function_expression_kind, - STATE(127), 1, - aux_sym__expression_list, - STATE(156), 1, - sym_expression, - STATE(419), 1, - sym_function_expression, - STATE(424), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(100), 2, - sym_function_call, - sym_yield, - STATE(109), 2, - sym_value, - sym_index, - STATE(102), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [6306] = 22, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(389), 1, - sym_identifier, - ACTIONS(437), 1, - anon_sym_RPAREN, - STATE(61), 1, - sym__function_expression_kind, - STATE(245), 1, - sym_yield, + STATE(133), 1, + aux_sym_match_repeat1, STATE(352), 1, - sym_function_call, - STATE(358), 1, sym_expression, - STATE(397), 1, - aux_sym_function_repeat1, - STATE(426), 1, + STATE(464), 1, sym_index_expression, - STATE(445), 1, + STATE(471), 1, sym_function_expression, - ACTIONS(136), 2, + ACTIONS(150), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(250), 2, + STATE(265), 2, sym_value, sym_index, - STATE(258), 3, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, sym__expression_kind, + sym_new, sym_math, sym_logic, - STATE(269), 6, + STATE(279), 7, + sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(158), 9, + ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -10783,60 +11838,134 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [6391] = 22, + [6898] = 24, ACTIONS(3), 1, sym__comment, - ACTIONS(128), 1, + ACTIONS(138), 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_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, anon_sym_some, - ACTIONS(346), 1, + ACTIONS(419), 1, anon_sym_LBRACE, - ACTIONS(389), 1, + ACTIONS(471), 1, + sym_identifier, + ACTIONS(473), 1, + anon_sym_RPAREN, + STATE(71), 1, + sym__function_expression_kind, + STATE(277), 1, + sym_yield, + STATE(362), 1, + sym_expression, + STATE(365), 1, + sym_function_call, + STATE(426), 1, + aux_sym_function_repeat1, + STATE(464), 1, + sym_index_expression, + STATE(471), 1, + sym_function_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [6991] = 23, + ACTIONS(3), 1, + sym__comment, + ACTIONS(176), 1, + anon_sym_LPAREN, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(184), 1, + anon_sym_new, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(427), 1, sym_identifier, ACTIONS(431), 1, + anon_sym_LBRACE, + ACTIONS(499), 1, anon_sym_RPAREN, - STATE(245), 1, - sym_yield, - STATE(348), 1, - sym_expression, - STATE(350), 1, - sym_function_call, - STATE(384), 1, - aux_sym_function_repeat1, - STATE(413), 1, + STATE(71), 1, sym__function_expression_kind, - STATE(432), 1, - sym_index_expression, - STATE(445), 1, + STATE(157), 1, + aux_sym__expression_list, + STATE(222), 1, + sym_expression, + STATE(457), 1, sym_function_expression, - ACTIONS(136), 2, + STATE(476), 1, + sym_index_expression, + ACTIONS(188), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(190), 2, anon_sym_true, anon_sym_false, - STATE(250), 2, + STATE(119), 2, + sym_function_call, + sym_yield, + STATE(126), 2, sym_value, sym_index, - STATE(363), 3, + STATE(125), 4, sym__expression_kind, + sym_new, sym_math, sym_logic, - STATE(269), 6, + STATE(129), 7, + sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(158), 9, + ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -10846,60 +11975,66 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [6476] = 22, + [7082] = 24, ACTIONS(3), 1, sym__comment, - ACTIONS(128), 1, + ACTIONS(138), 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_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, anon_sym_some, - ACTIONS(346), 1, + ACTIONS(419), 1, anon_sym_LBRACE, - ACTIONS(389), 1, + ACTIONS(471), 1, sym_identifier, - ACTIONS(437), 1, + ACTIONS(483), 1, anon_sym_RPAREN, - STATE(245), 1, + STATE(277), 1, sym_yield, - STATE(348), 1, + STATE(366), 1, sym_expression, - STATE(350), 1, + STATE(376), 1, sym_function_call, - STATE(397), 1, + STATE(422), 1, aux_sym_function_repeat1, - STATE(400), 1, + STATE(435), 1, sym__function_expression_kind, - STATE(432), 1, - sym_index_expression, - STATE(445), 1, + STATE(471), 1, sym_function_expression, - ACTIONS(136), 2, + STATE(488), 1, + sym_index_expression, + ACTIONS(150), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(250), 2, + STATE(265), 2, sym_value, sym_index, - STATE(363), 3, + STATE(378), 4, sym__expression_kind, + sym_new, sym_math, sym_logic, - STATE(269), 6, + STATE(279), 7, + sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(158), 9, + ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -10909,59 +12044,720 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [6561] = 21, + [7175] = 23, ACTIONS(3), 1, sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(425), 1, + ACTIONS(501), 1, sym_identifier, - ACTIONS(429), 1, - anon_sym_LBRACE, - ACTIONS(455), 1, + ACTIONS(504), 1, + anon_sym_LPAREN, + ACTIONS(507), 1, anon_sym_RPAREN, - STATE(61), 1, + ACTIONS(509), 1, + anon_sym_LBRACE, + ACTIONS(512), 1, + anon_sym_struct, + ACTIONS(515), 1, + anon_sym_new, + ACTIONS(518), 1, + sym_integer, + ACTIONS(527), 1, + anon_sym_LBRACK, + ACTIONS(530), 1, + anon_sym_none, + ACTIONS(533), 1, + anon_sym_some, + STATE(71), 1, + sym__function_expression_kind, + STATE(157), 1, + aux_sym__expression_list, + STATE(222), 1, + sym_expression, + STATE(457), 1, + sym_function_expression, + STATE(476), 1, + sym_index_expression, + ACTIONS(521), 2, + sym_float, + sym_string, + ACTIONS(524), 2, + anon_sym_true, + anon_sym_false, + STATE(119), 2, + sym_function_call, + sym_yield, + STATE(126), 2, + sym_value, + sym_index, + STATE(125), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(536), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [7266] = 24, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(419), 1, + anon_sym_LBRACE, + ACTIONS(471), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_RPAREN, + STATE(71), 1, + sym__function_expression_kind, + STATE(277), 1, + sym_yield, + STATE(362), 1, + sym_expression, + STATE(368), 1, + sym_function_call, + STATE(423), 1, + aux_sym_function_repeat1, + STATE(464), 1, + sym_index_expression, + STATE(471), 1, + sym_function_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [7359] = 24, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(419), 1, + anon_sym_LBRACE, + ACTIONS(471), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_RPAREN, + STATE(277), 1, + sym_yield, + STATE(366), 1, + sym_expression, + STATE(376), 1, + sym_function_call, + STATE(423), 1, + aux_sym_function_repeat1, + STATE(438), 1, + sym__function_expression_kind, + STATE(471), 1, + sym_function_expression, + STATE(488), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(380), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [7452] = 23, + ACTIONS(3), 1, + sym__comment, + ACTIONS(176), 1, + anon_sym_LPAREN, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(184), 1, + anon_sym_new, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(427), 1, + sym_identifier, + ACTIONS(431), 1, + anon_sym_LBRACE, + ACTIONS(539), 1, + anon_sym_RBRACK, + STATE(71), 1, + sym__function_expression_kind, + STATE(161), 1, + aux_sym_list_repeat1, + STATE(223), 1, + sym_expression, + STATE(457), 1, + sym_function_expression, + STATE(476), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(119), 2, + sym_function_call, + sym_yield, + STATE(126), 2, + sym_value, + sym_index, + STATE(125), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(206), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [7543] = 23, + ACTIONS(3), 1, + sym__comment, + ACTIONS(176), 1, + anon_sym_LPAREN, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(184), 1, + anon_sym_new, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(427), 1, + sym_identifier, + ACTIONS(431), 1, + anon_sym_LBRACE, + ACTIONS(541), 1, + anon_sym_RBRACK, + STATE(71), 1, + sym__function_expression_kind, + STATE(136), 1, + aux_sym_list_repeat1, + STATE(223), 1, + sym_expression, + STATE(457), 1, + sym_function_expression, + STATE(476), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(119), 2, + sym_function_call, + sym_yield, + STATE(126), 2, + sym_value, + sym_index, + STATE(125), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(206), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [7634] = 24, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(419), 1, + anon_sym_LBRACE, + ACTIONS(471), 1, + sym_identifier, + ACTIONS(483), 1, + anon_sym_RPAREN, + STATE(277), 1, + sym_yield, + STATE(366), 1, + sym_expression, + STATE(376), 1, + sym_function_call, + STATE(422), 1, + aux_sym_function_repeat1, + STATE(442), 1, + sym__function_expression_kind, + STATE(471), 1, + sym_function_expression, + STATE(488), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(380), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [7727] = 23, + ACTIONS(3), 1, + sym__comment, + ACTIONS(176), 1, + anon_sym_LPAREN, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(184), 1, + anon_sym_new, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(427), 1, + sym_identifier, + ACTIONS(431), 1, + anon_sym_LBRACE, + ACTIONS(543), 1, + anon_sym_RPAREN, + STATE(71), 1, + sym__function_expression_kind, + STATE(155), 1, + aux_sym__expression_list, + STATE(222), 1, + sym_expression, + STATE(457), 1, + sym_function_expression, + STATE(476), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(119), 2, + sym_function_call, + sym_yield, + STATE(126), 2, + sym_value, + sym_index, + STATE(125), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(206), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [7818] = 23, + ACTIONS(3), 1, + sym__comment, + ACTIONS(176), 1, + anon_sym_LPAREN, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(184), 1, + anon_sym_new, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(427), 1, + sym_identifier, + ACTIONS(431), 1, + anon_sym_LBRACE, + ACTIONS(545), 1, + anon_sym_RPAREN, + STATE(71), 1, + sym__function_expression_kind, + STATE(157), 1, + aux_sym__expression_list, + STATE(222), 1, + sym_expression, + STATE(457), 1, + sym_function_expression, + STATE(476), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(119), 2, + sym_function_call, + sym_yield, + STATE(126), 2, + sym_value, + sym_index, + STATE(125), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(206), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [7909] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(230), 1, + anon_sym_COLON, + ACTIONS(372), 20, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(226), 21, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH_GT, + [7961] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(419), 1, + anon_sym_LBRACE, + ACTIONS(547), 1, + sym_identifier, + STATE(71), 1, + sym__function_expression_kind, + STATE(347), 1, + sym_expression, + STATE(471), 1, + sym_function_expression, + STATE(488), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(343), 2, + sym_function_call, + sym_yield, + STATE(344), 2, + sym_value, + sym_index, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [8046] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(176), 1, + anon_sym_LPAREN, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(184), 1, + anon_sym_new, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(427), 1, + sym_identifier, + ACTIONS(431), 1, + anon_sym_LBRACE, + STATE(71), 1, sym__function_expression_kind, STATE(144), 1, - aux_sym__expression_list, - STATE(156), 1, sym_expression, - STATE(419), 1, + STATE(457), 1, sym_function_expression, - STATE(424), 1, + STATE(476), 1, sym_index_expression, - ACTIONS(170), 2, + ACTIONS(188), 2, sym_float, sym_string, - ACTIONS(172), 2, + ACTIONS(190), 2, anon_sym_true, anon_sym_false, - STATE(100), 2, + STATE(119), 2, sym_function_call, sym_yield, - STATE(109), 2, + STATE(126), 2, sym_value, sym_index, - STATE(102), 3, + STATE(125), 4, sym__expression_kind, + sym_new, sym_math, sym_logic, - STATE(95), 6, + STATE(129), 7, + sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(188), 9, + ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -10971,1169 +12767,61 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [6644] = 21, + [8131] = 21, ACTIONS(3), 1, sym__comment, - ACTIONS(162), 1, + ACTIONS(138), 1, anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(425), 1, - sym_identifier, - ACTIONS(429), 1, - anon_sym_LBRACE, - ACTIONS(457), 1, - anon_sym_RBRACK, - STATE(61), 1, - sym__function_expression_kind, - STATE(152), 1, - aux_sym_list_repeat1, - STATE(157), 1, - sym_expression, - STATE(419), 1, - sym_function_expression, - STATE(424), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(100), 2, - sym_function_call, - sym_yield, - STATE(109), 2, - sym_value, - sym_index, - STATE(102), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [6727] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(425), 1, - sym_identifier, - ACTIONS(429), 1, - anon_sym_LBRACE, - ACTIONS(459), 1, - anon_sym_RPAREN, - STATE(61), 1, - sym__function_expression_kind, - STATE(127), 1, - aux_sym__expression_list, - STATE(156), 1, - sym_expression, - STATE(419), 1, - sym_function_expression, - STATE(424), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(100), 2, - sym_function_call, - sym_yield, - STATE(109), 2, - sym_value, - sym_index, - STATE(102), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [6810] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(425), 1, - sym_identifier, - ACTIONS(429), 1, - anon_sym_LBRACE, - ACTIONS(461), 1, - anon_sym_RPAREN, - STATE(61), 1, - sym__function_expression_kind, - STATE(127), 1, - aux_sym__expression_list, - STATE(156), 1, - sym_expression, - STATE(419), 1, - sym_function_expression, - STATE(424), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(100), 2, - sym_function_call, - sym_yield, - STATE(109), 2, - sym_value, - sym_index, - STATE(102), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [6893] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(463), 1, - sym_identifier, - ACTIONS(466), 1, - anon_sym_LPAREN, - ACTIONS(469), 1, - anon_sym_LBRACE, - ACTIONS(472), 1, - sym_integer, - ACTIONS(481), 1, - anon_sym_LBRACK, - ACTIONS(484), 1, - anon_sym_RBRACK, - ACTIONS(486), 1, - anon_sym_none, - ACTIONS(489), 1, - anon_sym_some, - STATE(61), 1, - sym__function_expression_kind, - STATE(152), 1, - aux_sym_list_repeat1, - STATE(157), 1, - sym_expression, - STATE(419), 1, - sym_function_expression, - STATE(424), 1, - sym_index_expression, - ACTIONS(475), 2, - sym_float, - sym_string, - ACTIONS(478), 2, - anon_sym_true, - anon_sym_false, - STATE(100), 2, - sym_function_call, - sym_yield, - STATE(109), 2, - sym_value, - sym_index, - STATE(102), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(492), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [6976] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(350), 1, - anon_sym_STAR, - STATE(61), 1, - sym__function_expression_kind, - STATE(123), 1, - aux_sym_match_repeat1, - STATE(332), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(245), 2, - sym_function_call, - sym_yield, - STATE(250), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [7059] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, sym_integer, - ACTIONS(174), 1, + ACTIONS(154), 1, anon_sym_LBRACK, - ACTIONS(176), 1, + ACTIONS(156), 1, anon_sym_none, - ACTIONS(178), 1, + ACTIONS(158), 1, anon_sym_some, - ACTIONS(425), 1, + ACTIONS(417), 1, sym_identifier, - ACTIONS(429), 1, + ACTIONS(419), 1, anon_sym_LBRACE, - ACTIONS(495), 1, - anon_sym_RPAREN, - STATE(61), 1, - sym__function_expression_kind, - STATE(127), 1, - aux_sym__expression_list, - STATE(156), 1, - sym_expression, - STATE(419), 1, - sym_function_expression, - STATE(424), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(100), 2, - sym_function_call, - sym_yield, - STATE(109), 2, - sym_value, - sym_index, - STATE(102), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [7142] = 22, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(389), 1, - sym_identifier, - ACTIONS(391), 1, - anon_sym_RPAREN, - STATE(61), 1, - sym__function_expression_kind, - STATE(245), 1, - sym_yield, - STATE(346), 1, - sym_function_call, - STATE(358), 1, - sym_expression, - STATE(396), 1, - aux_sym_function_repeat1, - STATE(426), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(250), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [7227] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(342), 1, - anon_sym_DASH_GT, - ACTIONS(501), 1, - anon_sym_COMMA, - STATE(186), 1, - sym_logic_operator, - STATE(193), 1, - sym_math_operator, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(499), 6, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_LBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - ACTIONS(497), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [7289] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(342), 1, - anon_sym_DASH_GT, - ACTIONS(507), 1, - anon_sym_COMMA, - STATE(186), 1, - sym_logic_operator, - STATE(193), 1, - sym_math_operator, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(505), 6, - anon_sym_LPAREN, - anon_sym_LBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - ACTIONS(503), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [7351] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(509), 1, - sym_identifier, - STATE(61), 1, - sym__function_expression_kind, - STATE(333), 1, - sym_expression, - STATE(432), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(324), 2, - sym_function_call, - sym_yield, - STATE(325), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [7428] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(509), 1, - sym_identifier, - STATE(61), 1, - sym__function_expression_kind, - STATE(315), 1, - sym_expression, - STATE(432), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(324), 2, - sym_function_call, - sym_yield, - STATE(325), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [7505] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(509), 1, - sym_identifier, - STATE(61), 1, - sym__function_expression_kind, - STATE(308), 1, - sym_expression, - STATE(425), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(324), 2, - sym_function_call, - sym_yield, - STATE(325), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [7582] = 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(61), 1, - sym__function_expression_kind, - STATE(422), 1, - sym_index_expression, - STATE(440), 1, - sym_function_expression, - ACTIONS(15), 2, - sym_float, - sym_string, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - STATE(60), 2, - sym_function_call, - sym_yield, - STATE(68), 2, - sym_value, - sym_index, - STATE(71), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(72), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(37), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [7659] = 18, - ACTIONS(3), 1, - sym__comment, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(515), 1, - sym_identifier, - ACTIONS(517), 1, - anon_sym_LPAREN, - STATE(261), 1, - sym_function_expression, - STATE(358), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(289), 2, - sym_value, - sym_index, - STATE(255), 3, - sym__function_expression_kind, - sym_function_call, - sym_yield, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [7734] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(248), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(245), 2, - sym_function_call, - sym_yield, - STATE(250), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [7811] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(509), 1, - sym_identifier, - STATE(61), 1, - sym__function_expression_kind, - STATE(340), 1, - sym_expression, - STATE(432), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(324), 2, - sym_function_call, - sym_yield, - STATE(325), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [7888] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(13), 1, - sym_integer, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_none, - ACTIONS(23), 1, - anon_sym_some, - ACTIONS(511), 1, - sym_identifier, - ACTIONS(513), 1, - anon_sym_LBRACE, - STATE(45), 1, - sym_expression, - STATE(61), 1, - sym__function_expression_kind, - STATE(422), 1, - sym_index_expression, - STATE(440), 1, - sym_function_expression, - ACTIONS(15), 2, - sym_float, - sym_string, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - STATE(60), 2, - sym_function_call, - sym_yield, - STATE(68), 2, - sym_value, - sym_index, - STATE(71), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(72), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(37), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [7965] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(299), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(245), 2, - sym_function_call, - sym_yield, - STATE(250), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [8042] = 17, - ACTIONS(3), 1, - sym__comment, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(429), 1, - anon_sym_LBRACE, - ACTIONS(519), 1, - sym_identifier, - ACTIONS(521), 1, - anon_sym_LPAREN, - STATE(113), 1, - sym_function_expression, - STATE(356), 1, - sym_expression, - STATE(424), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(115), 5, - sym_value, - sym_index, - sym__function_expression_kind, - sym_function_call, - sym_yield, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [8115] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(509), 1, - sym_identifier, - STATE(61), 1, + STATE(71), 1, sym__function_expression_kind, STATE(336), 1, sym_expression, - STATE(432), 1, + STATE(464), 1, sym_index_expression, - STATE(445), 1, + STATE(471), 1, sym_function_expression, - ACTIONS(136), 2, + ACTIONS(150), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(324), 2, - sym_function_call, - sym_yield, - STATE(325), 2, + STATE(265), 2, sym_value, sym_index, - STATE(258), 3, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, sym__expression_kind, + sym_new, sym_math, sym_logic, - STATE(269), 6, + STATE(279), 7, + sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(158), 9, + ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -12143,1381 +12831,61 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [8192] = 19, + [8216] = 21, ACTIONS(3), 1, sym__comment, - ACTIONS(128), 1, + ACTIONS(138), 1, anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(509), 1, - sym_identifier, - STATE(61), 1, - sym__function_expression_kind, - STATE(338), 1, - sym_expression, - STATE(432), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(324), 2, - sym_function_call, - sym_yield, - STATE(325), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [8269] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, sym_integer, - ACTIONS(140), 1, + ACTIONS(154), 1, anon_sym_LBRACK, - ACTIONS(142), 1, + ACTIONS(156), 1, anon_sym_none, - ACTIONS(144), 1, + ACTIONS(158), 1, anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, + ACTIONS(419), 1, anon_sym_LBRACE, - STATE(61), 1, + ACTIONS(547), 1, + sym_identifier, + STATE(71), 1, sym__function_expression_kind, - STATE(321), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(245), 2, - sym_function_call, - sym_yield, - STATE(250), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [8346] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(312), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(245), 2, - sym_function_call, - sym_yield, - STATE(250), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [8423] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(425), 1, - sym_identifier, - ACTIONS(429), 1, - anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(81), 1, - sym_expression, - STATE(419), 1, - sym_function_expression, - STATE(429), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(100), 2, - sym_function_call, - sym_yield, - STATE(109), 2, - sym_value, - sym_index, - STATE(102), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [8500] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(335), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(245), 2, - sym_function_call, - sym_yield, - STATE(250), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [8577] = 18, - 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(523), 1, - sym_identifier, - ACTIONS(525), 1, - anon_sym_LPAREN, - STATE(66), 1, - sym_function_expression, - STATE(354), 1, - sym_expression, - STATE(441), 1, - sym_index_expression, - ACTIONS(15), 2, - sym_float, - sym_string, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - STATE(87), 2, - sym_value, - sym_index, - STATE(61), 3, - sym__function_expression_kind, - sym_function_call, - sym_yield, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(72), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(37), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [8652] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(13), 1, - sym_integer, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_none, - ACTIONS(23), 1, - anon_sym_some, - ACTIONS(511), 1, - sym_identifier, - ACTIONS(513), 1, - anon_sym_LBRACE, - STATE(47), 1, - sym_expression, - STATE(61), 1, - sym__function_expression_kind, - STATE(440), 1, - sym_function_expression, - STATE(441), 1, - sym_index_expression, - ACTIONS(15), 2, - sym_float, - sym_string, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - STATE(60), 2, - sym_function_call, - sym_yield, - STATE(68), 2, - sym_value, - sym_index, - STATE(71), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(72), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(37), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [8729] = 17, - ACTIONS(3), 1, - sym__comment, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(517), 1, - anon_sym_LPAREN, - ACTIONS(527), 1, - sym_identifier, - STATE(261), 1, - sym_function_expression, - STATE(360), 1, - sym_expression, - STATE(432), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(255), 5, - sym_value, - sym_index, - sym__function_expression_kind, - sym_function_call, - sym_yield, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [8802] = 18, - ACTIONS(3), 1, - sym__comment, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(515), 1, - sym_identifier, - ACTIONS(517), 1, - anon_sym_LPAREN, - STATE(261), 1, - sym_function_expression, - STATE(343), 1, - sym_expression, - STATE(432), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(289), 2, - sym_value, - sym_index, - STATE(255), 3, - sym__function_expression_kind, - sym_function_call, - sym_yield, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [8877] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(509), 1, - sym_identifier, - STATE(61), 1, - sym__function_expression_kind, - STATE(331), 1, - sym_expression, - STATE(432), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(324), 2, - sym_function_call, - sym_yield, - STATE(325), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [8954] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(314), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(245), 2, - sym_function_call, - sym_yield, - STATE(250), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9031] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(13), 1, - sym_integer, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_none, - ACTIONS(23), 1, - anon_sym_some, - ACTIONS(511), 1, - sym_identifier, - ACTIONS(513), 1, - anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(83), 1, - sym_expression, - STATE(440), 1, - sym_function_expression, - STATE(441), 1, - sym_index_expression, - ACTIONS(15), 2, - sym_float, - sym_string, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - STATE(60), 2, - sym_function_call, - sym_yield, - STATE(68), 2, - sym_value, - sym_index, - STATE(71), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(72), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(37), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9108] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(313), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(245), 2, - sym_function_call, - sym_yield, - STATE(250), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9185] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(300), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(245), 2, - sym_function_call, - sym_yield, - STATE(250), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9262] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(13), 1, - sym_integer, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_none, - ACTIONS(23), 1, - anon_sym_some, - ACTIONS(511), 1, - sym_identifier, - ACTIONS(513), 1, - anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(82), 1, - sym_expression, - STATE(440), 1, - sym_function_expression, - STATE(441), 1, - sym_index_expression, - ACTIONS(15), 2, - sym_float, - sym_string, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - STATE(60), 2, - sym_function_call, - sym_yield, - STATE(68), 2, - sym_value, - sym_index, - STATE(71), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(72), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(37), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9339] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(509), 1, - sym_identifier, - STATE(61), 1, - sym__function_expression_kind, - STATE(309), 1, - sym_expression, - STATE(425), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(324), 2, - sym_function_call, - sym_yield, - STATE(325), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9416] = 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(48), 1, - sym_expression, - STATE(61), 1, - sym__function_expression_kind, - STATE(440), 1, - sym_function_expression, - STATE(441), 1, - sym_index_expression, - ACTIONS(15), 2, - sym_float, - sym_string, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - STATE(60), 2, - sym_function_call, - sym_yield, - STATE(68), 2, - sym_value, - sym_index, - STATE(71), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(72), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(37), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9493] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(425), 1, - sym_identifier, - ACTIONS(429), 1, - anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(120), 1, - sym_expression, - STATE(419), 1, - sym_function_expression, - STATE(424), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(100), 2, - sym_function_call, - sym_yield, - STATE(109), 2, - sym_value, - sym_index, - STATE(102), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9570] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(323), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(245), 2, - sym_function_call, - sym_yield, - STATE(250), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9647] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(319), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(245), 2, - sym_function_call, - sym_yield, - STATE(250), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9724] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(425), 1, - sym_identifier, - ACTIONS(429), 1, - anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(90), 1, - sym_expression, - STATE(419), 1, - sym_function_expression, - STATE(424), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(100), 2, - sym_function_call, - sym_yield, - STATE(109), 2, - sym_value, - sym_index, - STATE(102), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9801] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(316), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(245), 2, - sym_function_call, - sym_yield, - STATE(250), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9878] = 17, - ACTIONS(3), 1, - sym__comment, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(517), 1, - anon_sym_LPAREN, - ACTIONS(527), 1, - sym_identifier, - STATE(261), 1, - sym_function_expression, STATE(355), 1, sym_expression, - STATE(425), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(255), 5, - sym_value, - sym_index, - sym__function_expression_kind, - sym_function_call, - sym_yield, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9951] = 17, - ACTIONS(3), 1, - sym__comment, - ACTIONS(13), 1, - sym_integer, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_none, - ACTIONS(23), 1, - anon_sym_some, - ACTIONS(513), 1, - anon_sym_LBRACE, - ACTIONS(525), 1, - anon_sym_LPAREN, - ACTIONS(529), 1, - sym_identifier, - STATE(66), 1, + STATE(471), 1, sym_function_expression, - STATE(349), 1, - sym_expression, - STATE(441), 1, + STATE(488), 1, sym_index_expression, - ACTIONS(15), 2, + ACTIONS(150), 2, sym_float, sym_string, - ACTIONS(17), 2, + ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(61), 5, - sym_value, - sym_index, - sym__function_expression_kind, + STATE(343), 2, sym_function_call, sym_yield, - STATE(72), 6, + STATE(344), 2, + sym_value, + sym_index, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(37), 9, + ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -13527,170 +12895,61 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [10024] = 19, + [8301] = 21, ACTIONS(3), 1, sym__comment, - ACTIONS(162), 1, + ACTIONS(138), 1, anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(425), 1, - sym_identifier, - ACTIONS(429), 1, - anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(121), 1, - sym_expression, - STATE(419), 1, - sym_function_expression, - STATE(424), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(100), 2, - sym_function_call, - sym_yield, - STATE(109), 2, - sym_value, - sym_index, - STATE(102), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [10101] = 18, - ACTIONS(3), 1, - sym__comment, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(429), 1, - anon_sym_LBRACE, - ACTIONS(521), 1, - anon_sym_LPAREN, - ACTIONS(531), 1, - sym_identifier, - STATE(113), 1, - sym_function_expression, - STATE(357), 1, - sym_expression, - STATE(424), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(122), 2, - sym_value, - sym_index, - STATE(115), 3, - sym__function_expression_kind, - sym_function_call, - sym_yield, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [10176] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - 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_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, anon_sym_some, - ACTIONS(344), 1, + ACTIONS(417), 1, sym_identifier, - ACTIONS(346), 1, + ACTIONS(419), 1, anon_sym_LBRACE, - STATE(61), 1, + STATE(71), 1, sym__function_expression_kind, - STATE(339), 1, + STATE(346), 1, sym_expression, - STATE(426), 1, + STATE(464), 1, sym_index_expression, - STATE(445), 1, + STATE(471), 1, sym_function_expression, - ACTIONS(136), 2, + ACTIONS(150), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(245), 2, - sym_function_call, - sym_yield, - STATE(250), 2, + STATE(265), 2, sym_value, sym_index, - STATE(258), 3, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, sym__expression_kind, + sym_new, sym_math, sym_logic, - STATE(269), 6, + STATE(279), 7, + sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(158), 9, + ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -13700,55 +12959,123 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [10253] = 19, + [8386] = 19, ACTIONS(3), 1, sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(186), 1, sym_integer, - ACTIONS(140), 1, + ACTIONS(192), 1, anon_sym_LBRACK, - ACTIONS(142), 1, + ACTIONS(194), 1, anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(431), 1, + anon_sym_LBRACE, + ACTIONS(549), 1, + sym_identifier, + ACTIONS(551), 1, + anon_sym_LPAREN, + STATE(106), 1, + sym_function_expression, + STATE(372), 1, + sym_expression, + STATE(476), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(121), 5, + sym_value, + sym_index, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(206), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [8467] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, anon_sym_some, - ACTIONS(344), 1, + ACTIONS(417), 1, sym_identifier, - ACTIONS(346), 1, + ACTIONS(419), 1, anon_sym_LBRACE, - STATE(61), 1, + STATE(71), 1, sym__function_expression_kind, - STATE(317), 1, + STATE(333), 1, sym_expression, - STATE(426), 1, + STATE(464), 1, sym_index_expression, - STATE(445), 1, + STATE(471), 1, sym_function_expression, - ACTIONS(136), 2, + ACTIONS(150), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(245), 2, - sym_function_call, - sym_yield, - STATE(250), 2, + STATE(265), 2, sym_value, sym_index, - STATE(258), 3, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, sym__expression_kind, + sym_new, sym_math, sym_logic, - STATE(269), 6, + STATE(279), 7, + sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(158), 9, + ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -13758,113 +13085,59 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [10330] = 19, + [8552] = 19, ACTIONS(3), 1, sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(318), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(245), 2, - sym_function_call, - sym_yield, - STATE(250), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [10407] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, sym_integer, - ACTIONS(174), 1, + ACTIONS(154), 1, anon_sym_LBRACK, - ACTIONS(176), 1, + ACTIONS(156), 1, anon_sym_none, - ACTIONS(178), 1, + ACTIONS(158), 1, anon_sym_some, - ACTIONS(425), 1, - sym_identifier, - ACTIONS(429), 1, + ACTIONS(419), 1, anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(80), 1, - sym_expression, - STATE(419), 1, + ACTIONS(553), 1, + sym_identifier, + ACTIONS(555), 1, + anon_sym_LPAREN, + STATE(289), 1, sym_function_expression, - STATE(429), 1, + STATE(375), 1, + sym_expression, + STATE(488), 1, sym_index_expression, - ACTIONS(170), 2, + ACTIONS(150), 2, sym_float, sym_string, - ACTIONS(172), 2, + ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(100), 2, - sym_function_call, - sym_yield, - STATE(109), 2, - sym_value, - sym_index, - STATE(102), 3, + STATE(288), 4, sym__expression_kind, + sym_new, sym_math, sym_logic, - STATE(95), 6, + STATE(269), 5, + sym_value, + sym_index, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(279), 7, + sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(188), 9, + ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -13874,55 +13147,61 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [10484] = 19, + [8633] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, anon_sym_LPAREN, ACTIONS(13), 1, + anon_sym_struct, + ACTIONS(15), 1, + anon_sym_new, + ACTIONS(17), 1, sym_integer, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_none, ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(25), 1, + anon_sym_none, + ACTIONS(27), 1, anon_sym_some, - ACTIONS(511), 1, + ACTIONS(557), 1, sym_identifier, - ACTIONS(513), 1, + ACTIONS(559), 1, anon_sym_LBRACE, STATE(50), 1, sym_expression, - STATE(61), 1, + STATE(71), 1, sym__function_expression_kind, - STATE(440), 1, - sym_function_expression, - STATE(441), 1, + STATE(452), 1, sym_index_expression, - ACTIONS(15), 2, + STATE(481), 1, + sym_function_expression, + ACTIONS(19), 2, sym_float, sym_string, - ACTIONS(17), 2, + ACTIONS(21), 2, anon_sym_true, anon_sym_false, - STATE(60), 2, + STATE(69), 2, sym_function_call, sym_yield, - STATE(68), 2, + STATE(87), 2, sym_value, sym_index, - STATE(71), 3, + STATE(63), 4, sym__expression_kind, + sym_new, sym_math, sym_logic, - STATE(72), 6, + STATE(81), 7, + sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(37), 9, + ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -13932,55 +13211,61 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [10561] = 19, + [8718] = 21, ACTIONS(3), 1, sym__comment, - ACTIONS(128), 1, + ACTIONS(138), 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_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(509), 1, + ACTIONS(417), 1, sym_identifier, - STATE(61), 1, + ACTIONS(419), 1, + anon_sym_LBRACE, + STATE(71), 1, sym__function_expression_kind, - STATE(311), 1, + STATE(331), 1, sym_expression, - STATE(432), 1, + STATE(464), 1, sym_index_expression, - STATE(445), 1, + STATE(471), 1, sym_function_expression, - ACTIONS(136), 2, + ACTIONS(150), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(324), 2, - sym_function_call, - sym_yield, - STATE(325), 2, + STATE(265), 2, sym_value, sym_index, - STATE(258), 3, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, sym__expression_kind, + sym_new, sym_math, sym_logic, - STATE(269), 6, + STATE(279), 7, + sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(158), 9, + ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -13990,55 +13275,125 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [10638] = 19, + [8803] = 21, ACTIONS(3), 1, sym__comment, - ACTIONS(128), 1, + ACTIONS(7), 1, anon_sym_LPAREN, - ACTIONS(134), 1, + ACTIONS(13), 1, + anon_sym_struct, + ACTIONS(15), 1, + anon_sym_new, + ACTIONS(17), 1, sym_integer, - ACTIONS(140), 1, + ACTIONS(23), 1, anon_sym_LBRACK, - ACTIONS(142), 1, + ACTIONS(25), 1, anon_sym_none, + ACTIONS(27), 1, + anon_sym_some, + ACTIONS(557), 1, + sym_identifier, + ACTIONS(559), 1, + anon_sym_LBRACE, + STATE(48), 1, + sym_expression, + STATE(71), 1, + sym__function_expression_kind, + STATE(452), 1, + sym_index_expression, + STATE(481), 1, + sym_function_expression, + ACTIONS(19), 2, + sym_float, + sym_string, + ACTIONS(21), 2, + anon_sym_true, + anon_sym_false, + STATE(69), 2, + sym_function_call, + sym_yield, + STATE(87), 2, + sym_value, + sym_index, + STATE(63), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(81), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(41), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [8888] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, anon_sym_some, - ACTIONS(346), 1, + ACTIONS(419), 1, anon_sym_LBRACE, - ACTIONS(509), 1, + ACTIONS(547), 1, sym_identifier, - STATE(61), 1, + STATE(71), 1, sym__function_expression_kind, - STATE(320), 1, + STATE(326), 1, sym_expression, - STATE(432), 1, + STATE(460), 1, sym_index_expression, - STATE(445), 1, + STATE(471), 1, sym_function_expression, - ACTIONS(136), 2, + ACTIONS(150), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(324), 2, + STATE(343), 2, sym_function_call, sym_yield, - STATE(325), 2, + STATE(344), 2, sym_value, sym_index, - STATE(258), 3, + STATE(288), 4, sym__expression_kind, + sym_new, sym_math, sym_logic, - STATE(269), 6, + STATE(279), 7, + sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(158), 9, + ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -14048,171 +13403,61 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [10715] = 19, + [8973] = 21, ACTIONS(3), 1, sym__comment, - ACTIONS(162), 1, + ACTIONS(138), 1, anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(425), 1, - sym_identifier, - ACTIONS(429), 1, - anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(89), 1, - sym_expression, - STATE(419), 1, - sym_function_expression, - STATE(424), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(100), 2, - sym_function_call, - sym_yield, - STATE(109), 2, - sym_value, - sym_index, - STATE(102), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [10792] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(425), 1, - sym_identifier, - ACTIONS(429), 1, - anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(88), 1, - sym_expression, - STATE(419), 1, - sym_function_expression, - STATE(424), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(100), 2, - sym_function_call, - sym_yield, - STATE(109), 2, - sym_value, - sym_index, - STATE(102), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [10869] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, + ACTIONS(419), 1, anon_sym_LBRACE, - STATE(61), 1, + ACTIONS(547), 1, + sym_identifier, + STATE(71), 1, sym__function_expression_kind, - STATE(273), 1, + STATE(325), 1, sym_expression, - STATE(426), 1, + STATE(460), 1, sym_index_expression, - STATE(445), 1, + STATE(471), 1, sym_function_expression, - ACTIONS(136), 2, + ACTIONS(150), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(245), 2, + STATE(343), 2, sym_function_call, sym_yield, - STATE(250), 2, + STATE(344), 2, sym_value, sym_index, - STATE(258), 3, + STATE(288), 4, sym__expression_kind, + sym_new, sym_math, sym_logic, - STATE(269), 6, + STATE(279), 7, + sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(158), 9, + ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -14222,55 +13467,59 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [10946] = 19, + [9058] = 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_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, + ACTIONS(419), 1, anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(271), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(445), 1, + ACTIONS(553), 1, + sym_identifier, + ACTIONS(555), 1, + anon_sym_LPAREN, + STATE(289), 1, sym_function_expression, - ACTIONS(136), 2, + STATE(369), 1, + sym_expression, + STATE(460), 1, + sym_index_expression, + ACTIONS(150), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(245), 2, - sym_function_call, - sym_yield, - STATE(250), 2, - sym_value, - sym_index, - STATE(258), 3, + STATE(288), 4, sym__expression_kind, + sym_new, sym_math, sym_logic, - STATE(269), 6, + STATE(269), 5, + sym_value, + sym_index, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(279), 7, + sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(158), 9, + ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -14280,111 +13529,1194 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [11023] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(237), 1, - sym_expression, - STATE(425), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(245), 2, - sym_function_call, - sym_yield, - STATE(250), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [11100] = 17, + [9139] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(13), 1, + anon_sym_struct, + ACTIONS(17), 1, sym_integer, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_none, ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(25), 1, + anon_sym_none, + ACTIONS(27), 1, anon_sym_some, - ACTIONS(513), 1, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(559), 1, anon_sym_LBRACE, - ACTIONS(525), 1, + ACTIONS(561), 1, + sym_identifier, + ACTIONS(563), 1, anon_sym_LPAREN, - ACTIONS(529), 1, + STATE(66), 1, + sym_function_expression, + STATE(367), 1, + sym_expression, + STATE(452), 1, + sym_index_expression, + ACTIONS(19), 2, + sym_float, + sym_string, + ACTIONS(21), 2, + anon_sym_true, + anon_sym_false, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(71), 5, + sym_value, + sym_index, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(81), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(41), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [9220] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(7), 1, + anon_sym_LPAREN, + ACTIONS(13), 1, + anon_sym_struct, + ACTIONS(15), 1, + anon_sym_new, + ACTIONS(17), 1, + sym_integer, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(25), 1, + anon_sym_none, + ACTIONS(27), 1, + anon_sym_some, + ACTIONS(557), 1, + sym_identifier, + ACTIONS(559), 1, + anon_sym_LBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(94), 1, + sym_expression, + STATE(481), 1, + sym_function_expression, + STATE(482), 1, + sym_index_expression, + ACTIONS(19), 2, + sym_float, + sym_string, + ACTIONS(21), 2, + anon_sym_true, + anon_sym_false, + STATE(69), 2, + sym_function_call, + sym_yield, + STATE(87), 2, + sym_value, + sym_index, + STATE(63), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(81), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(41), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [9305] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(176), 1, + anon_sym_LPAREN, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(184), 1, + anon_sym_new, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(427), 1, + sym_identifier, + ACTIONS(431), 1, + anon_sym_LBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(90), 1, + sym_expression, + STATE(457), 1, + sym_function_expression, + STATE(485), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(119), 2, + sym_function_call, + sym_yield, + STATE(126), 2, + sym_value, + sym_index, + STATE(125), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(206), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [9390] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(176), 1, + anon_sym_LPAREN, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(184), 1, + anon_sym_new, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(427), 1, + sym_identifier, + ACTIONS(431), 1, + anon_sym_LBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(91), 1, + sym_expression, + STATE(457), 1, + sym_function_expression, + STATE(485), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(119), 2, + sym_function_call, + sym_yield, + STATE(126), 2, + sym_value, + sym_index, + STATE(125), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(206), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [9475] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(417), 1, + sym_identifier, + ACTIONS(419), 1, + anon_sym_LBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(339), 1, + sym_expression, + STATE(464), 1, + sym_index_expression, + STATE(471), 1, + sym_function_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [9560] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(417), 1, + sym_identifier, + ACTIONS(419), 1, + anon_sym_LBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(255), 1, + sym_expression, + STATE(460), 1, + sym_index_expression, + STATE(471), 1, + sym_function_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [9645] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(417), 1, + sym_identifier, + ACTIONS(419), 1, + anon_sym_LBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(256), 1, + sym_expression, + STATE(460), 1, + sym_index_expression, + STATE(471), 1, + sym_function_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [9730] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(417), 1, + sym_identifier, + ACTIONS(419), 1, + anon_sym_LBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(263), 1, + sym_expression, + STATE(464), 1, + sym_index_expression, + STATE(471), 1, + sym_function_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [9815] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(13), 1, + anon_sym_struct, + ACTIONS(17), 1, + sym_integer, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(25), 1, + anon_sym_none, + ACTIONS(27), 1, + anon_sym_some, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(559), 1, + anon_sym_LBRACE, + ACTIONS(561), 1, + sym_identifier, + ACTIONS(563), 1, + anon_sym_LPAREN, + STATE(66), 1, + sym_function_expression, + STATE(359), 1, + sym_expression, + STATE(482), 1, + sym_index_expression, + ACTIONS(19), 2, + sym_float, + sym_string, + ACTIONS(21), 2, + anon_sym_true, + anon_sym_false, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(71), 5, + sym_value, + sym_index, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(81), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(41), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [9896] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(419), 1, + anon_sym_LBRACE, + ACTIONS(553), 1, + sym_identifier, + ACTIONS(555), 1, + anon_sym_LPAREN, + STATE(289), 1, + sym_function_expression, + STATE(373), 1, + sym_expression, + STATE(464), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(269), 5, + sym_value, + sym_index, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [9977] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(417), 1, + sym_identifier, + ACTIONS(419), 1, + anon_sym_LBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(262), 1, + sym_expression, + STATE(464), 1, + sym_index_expression, + STATE(471), 1, + sym_function_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [10062] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(7), 1, + anon_sym_LPAREN, + ACTIONS(13), 1, + anon_sym_struct, + ACTIONS(15), 1, + anon_sym_new, + ACTIONS(17), 1, + sym_integer, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(25), 1, + anon_sym_none, + ACTIONS(27), 1, + anon_sym_some, + ACTIONS(557), 1, + sym_identifier, + ACTIONS(559), 1, + anon_sym_LBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(93), 1, + sym_expression, + STATE(481), 1, + sym_function_expression, + STATE(482), 1, + sym_index_expression, + ACTIONS(19), 2, + sym_float, + sym_string, + ACTIONS(21), 2, + anon_sym_true, + anon_sym_false, + STATE(69), 2, + sym_function_call, + sym_yield, + STATE(87), 2, + sym_value, + sym_index, + STATE(63), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(81), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(41), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [10147] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(7), 1, + anon_sym_LPAREN, + ACTIONS(13), 1, + anon_sym_struct, + ACTIONS(15), 1, + anon_sym_new, + ACTIONS(17), 1, + sym_integer, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(25), 1, + anon_sym_none, + ACTIONS(27), 1, + anon_sym_some, + ACTIONS(557), 1, + sym_identifier, + ACTIONS(559), 1, + anon_sym_LBRACE, + STATE(53), 1, + sym_expression, + STATE(71), 1, + sym__function_expression_kind, + STATE(481), 1, + sym_function_expression, + STATE(482), 1, + sym_index_expression, + ACTIONS(19), 2, + sym_float, + sym_string, + ACTIONS(21), 2, + anon_sym_true, + anon_sym_false, + STATE(69), 2, + sym_function_call, + sym_yield, + STATE(87), 2, + sym_value, + sym_index, + STATE(63), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(81), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(41), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [10232] = 20, + ACTIONS(3), 1, + sym__comment, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(431), 1, + anon_sym_LBRACE, + ACTIONS(551), 1, + anon_sym_LPAREN, + ACTIONS(565), 1, + sym_identifier, + STATE(106), 1, + sym_function_expression, + STATE(363), 1, + sym_expression, + STATE(476), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(165), 2, + sym_value, + sym_index, + STATE(121), 3, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(206), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [10315] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(176), 1, + anon_sym_LPAREN, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(184), 1, + anon_sym_new, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(427), 1, + sym_identifier, + ACTIONS(431), 1, + anon_sym_LBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(98), 1, + sym_expression, + STATE(457), 1, + sym_function_expression, + STATE(476), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(119), 2, + sym_function_call, + sym_yield, + STATE(126), 2, + sym_value, + sym_index, + STATE(125), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(206), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [10400] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(7), 1, + anon_sym_LPAREN, + ACTIONS(13), 1, + anon_sym_struct, + ACTIONS(15), 1, + anon_sym_new, + ACTIONS(17), 1, + sym_integer, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(25), 1, + anon_sym_none, + ACTIONS(27), 1, + anon_sym_some, + ACTIONS(557), 1, + sym_identifier, + ACTIONS(559), 1, + anon_sym_LBRACE, + STATE(52), 1, + sym_expression, + STATE(71), 1, + sym__function_expression_kind, + STATE(481), 1, + sym_function_expression, + STATE(482), 1, + sym_index_expression, + ACTIONS(19), 2, + sym_float, + sym_string, + ACTIONS(21), 2, + anon_sym_true, + anon_sym_false, + STATE(69), 2, + sym_function_call, + sym_yield, + STATE(87), 2, + sym_value, + sym_index, + STATE(63), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(81), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(41), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [10485] = 10, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(485), 1, + anon_sym_DASH_GT, + STATE(167), 1, + sym_math_operator, + STATE(199), 1, + sym_logic_operator, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 3, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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(352), 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(354), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [10548] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(419), 1, + anon_sym_LBRACE, + ACTIONS(547), 1, + sym_identifier, + STATE(71), 1, + sym__function_expression_kind, + STATE(329), 1, + sym_expression, + STATE(471), 1, + sym_function_expression, + STATE(488), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(343), 2, + sym_function_call, + sym_yield, + STATE(344), 2, + sym_value, + sym_index, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [10633] = 20, + ACTIONS(3), 1, + sym__comment, + ACTIONS(13), 1, + anon_sym_struct, + ACTIONS(17), 1, + sym_integer, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(25), 1, + anon_sym_none, + ACTIONS(27), 1, + anon_sym_some, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(559), 1, + anon_sym_LBRACE, + ACTIONS(563), 1, + anon_sym_LPAREN, + ACTIONS(567), 1, sym_identifier, STATE(66), 1, sym_function_expression, - STATE(345), 1, + STATE(364), 1, sym_expression, - STATE(422), 1, + STATE(482), 1, sym_index_expression, - ACTIONS(15), 2, + ACTIONS(19), 2, sym_float, sym_string, - ACTIONS(17), 2, + ACTIONS(21), 2, anon_sym_true, anon_sym_false, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(61), 5, + STATE(96), 2, sym_value, sym_index, + STATE(71), 3, sym__function_expression_kind, sym_function_call, sym_yield, - STATE(72), 6, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(81), 7, + sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(37), 9, + ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -14394,225 +14726,61 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [11173] = 19, + [10716] = 21, ACTIONS(3), 1, sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(322), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(245), 2, - sym_function_call, - sym_yield, - STATE(250), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [11250] = 17, - ACTIONS(3), 1, - sym__comment, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(517), 1, - anon_sym_LPAREN, - ACTIONS(527), 1, - sym_identifier, - STATE(261), 1, - sym_function_expression, - STATE(342), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(255), 5, - sym_value, - sym_index, - sym__function_expression_kind, - sym_function_call, - sym_yield, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [11323] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(61), 1, - sym__function_expression_kind, - STATE(239), 1, - sym_expression, - STATE(425), 1, - sym_index_expression, - STATE(445), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(245), 2, - sym_function_call, - sym_yield, - STATE(250), 2, - sym_value, - sym_index, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [11400] = 17, - ACTIONS(3), 1, - sym__comment, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(429), 1, - anon_sym_LBRACE, - ACTIONS(519), 1, - sym_identifier, - ACTIONS(521), 1, anon_sym_LPAREN, - STATE(113), 1, - sym_function_expression, - STATE(351), 1, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(184), 1, + anon_sym_new, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(427), 1, + sym_identifier, + ACTIONS(431), 1, + anon_sym_LBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(145), 1, sym_expression, - STATE(429), 1, + STATE(457), 1, + sym_function_expression, + STATE(476), 1, sym_index_expression, - ACTIONS(170), 2, + ACTIONS(188), 2, sym_float, sym_string, - ACTIONS(172), 2, + ACTIONS(190), 2, anon_sym_true, anon_sym_false, - STATE(258), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(115), 5, - sym_value, - sym_index, - sym__function_expression_kind, + STATE(119), 2, sym_function_call, sym_yield, - STATE(95), 6, + STATE(126), 2, + sym_value, + sym_index, + STATE(125), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(129), 7, + sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(188), 9, + ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -14622,41 +14790,61 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [11473] = 7, + [10801] = 21, ACTIONS(3), 1, sym__comment, - ACTIONS(537), 1, - anon_sym_elseif, - ACTIONS(539), 1, - anon_sym_else, - STATE(228), 1, - sym_else, - STATE(214), 2, - sym_else_if, - aux_sym_if_else_repeat1, - ACTIONS(533), 9, - ts_builtin_sym_end, - anon_sym_SEMI, + ACTIONS(138), 1, anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(417), 1, + sym_identifier, + ACTIONS(419), 1, anon_sym_LBRACE, - anon_sym_RBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(327), 1, + sym_expression, + STATE(464), 1, + sym_index_expression, + STATE(471), 1, + sym_function_expression, + ACTIONS(150), 2, sym_float, sym_string, - anon_sym_LBRACK, - anon_sym_asyncfor, - ACTIONS(535), 21, - anon_sym_async, - sym_identifier, - sym_integer, + ACTIONS(152), 2, 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, + STATE(265), 2, + sym_value, + sym_index, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -14666,804 +14854,51 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [11524] = 7, + [10886] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(537), 1, - anon_sym_elseif, - ACTIONS(539), 1, - anon_sym_else, - STATE(222), 1, - sym_else, - STATE(212), 2, - sym_else_if, - aux_sym_if_else_repeat1, - 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), 21, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [11575] = 5, - ACTIONS(3), 1, - sym__comment, - ACTIONS(549), 1, - anon_sym_elseif, - STATE(214), 2, - sym_else_if, - aux_sym_if_else_repeat1, - ACTIONS(545), 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(547), 22, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_else, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [11621] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(228), 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(230), 22, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_else, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [11661] = 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), 22, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_else, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [11701] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(234), 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(236), 22, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_else, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [11741] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(310), 10, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_elseif, - anon_sym_asyncfor, - ACTIONS(312), 22, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_else, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [11781] = 3, - ACTIONS(3), 1, - sym__comment, - 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), 22, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_else, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [11821] = 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), 21, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [11859] = 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), 21, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [11897] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(533), 9, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_asyncfor, - ACTIONS(535), 21, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [11935] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(322), 9, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_asyncfor, - ACTIONS(324), 21, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [11973] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(568), 9, - 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), 21, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [12011] = 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), 21, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [12049] = 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), 21, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [12087] = 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), 21, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [12125] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(584), 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(586), 21, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [12163] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(588), 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(590), 21, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [12201] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(326), 1, - anon_sym_SEMI, - ACTIONS(322), 8, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_asyncfor, - ACTIONS(324), 21, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [12241] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(592), 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(594), 21, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [12279] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(596), 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(598), 21, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [12317] = 5, - ACTIONS(3), 1, - sym__comment, - STATE(206), 1, - sym_logic_operator, - STATE(210), 1, - sym_math_operator, - ACTIONS(202), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, + ACTIONS(358), 1, anon_sym_DASH, + ACTIONS(485), 1, + anon_sym_DASH_GT, + ACTIONS(569), 1, + anon_sym_SEMI, + STATE(167), 1, + sym_math_operator, + STATE(199), 1, + sym_logic_operator, + ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(200), 20, - 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, + ACTIONS(356), 3, + anon_sym_PLUS, anon_sym_SLASH, anon_sym_PERCENT, + ACTIONS(360), 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_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - [12358] = 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(429), 1, - anon_sym_LBRACE, - ACTIONS(600), 1, - sym_identifier, - ACTIONS(602), 1, + ACTIONS(352), 8, anon_sym_LPAREN, - STATE(116), 1, - sym_index_expression, - ACTIONS(170), 2, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, sym_float, sym_string, - ACTIONS(172), 2, + anon_sym_LBRACK, + anon_sym_STAR, + ACTIONS(354), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, anon_sym_true, anon_sym_false, - STATE(117), 2, - sym_value, - sym_index, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, + anon_sym_none, + anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -15473,42 +14908,2375 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [12417] = 14, + [10951] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(176), 1, + anon_sym_LPAREN, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(184), 1, + anon_sym_new, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(427), 1, + sym_identifier, + ACTIONS(431), 1, + anon_sym_LBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(95), 1, + sym_expression, + STATE(457), 1, + sym_function_expression, + STATE(476), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(119), 2, + sym_function_call, + sym_yield, + STATE(126), 2, + sym_value, + sym_index, + STATE(125), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(206), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [11036] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(419), 1, + anon_sym_LBRACE, + ACTIONS(547), 1, + sym_identifier, + STATE(71), 1, + sym__function_expression_kind, + STATE(330), 1, + sym_expression, + STATE(471), 1, + sym_function_expression, + STATE(488), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(343), 2, + sym_function_call, + sym_yield, + STATE(344), 2, + sym_value, + sym_index, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [11121] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(417), 1, + sym_identifier, + ACTIONS(419), 1, + anon_sym_LBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(273), 1, + sym_expression, + STATE(464), 1, + sym_index_expression, + STATE(471), 1, + sym_function_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [11206] = 20, + ACTIONS(3), 1, + sym__comment, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(419), 1, + anon_sym_LBRACE, + ACTIONS(555), 1, + anon_sym_LPAREN, + ACTIONS(571), 1, + sym_identifier, + STATE(289), 1, + sym_function_expression, + STATE(362), 1, + sym_expression, + STATE(464), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(315), 2, + sym_value, + sym_index, + STATE(269), 3, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [11289] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(417), 1, + sym_identifier, + ACTIONS(419), 1, + anon_sym_LBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(317), 1, + sym_expression, + STATE(464), 1, + sym_index_expression, + STATE(471), 1, + sym_function_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [11374] = 20, + ACTIONS(3), 1, + sym__comment, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(419), 1, + anon_sym_LBRACE, + ACTIONS(555), 1, + anon_sym_LPAREN, + ACTIONS(571), 1, + sym_identifier, + STATE(289), 1, + sym_function_expression, + STATE(370), 1, + sym_expression, + STATE(488), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(315), 2, + sym_value, + sym_index, + STATE(269), 3, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [11457] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(419), 1, + anon_sym_LBRACE, + ACTIONS(547), 1, + sym_identifier, + STATE(71), 1, + sym__function_expression_kind, + STATE(357), 1, + sym_expression, + STATE(471), 1, + sym_function_expression, + STATE(488), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(343), 2, + sym_function_call, + sym_yield, + STATE(344), 2, + sym_value, + sym_index, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [11542] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(419), 1, + anon_sym_LBRACE, + ACTIONS(547), 1, + sym_identifier, + STATE(71), 1, + sym__function_expression_kind, + STATE(349), 1, + sym_expression, + STATE(471), 1, + sym_function_expression, + STATE(488), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(343), 2, + sym_function_call, + sym_yield, + STATE(344), 2, + sym_value, + sym_index, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [11627] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(417), 1, + sym_identifier, + ACTIONS(419), 1, + anon_sym_LBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(338), 1, + sym_expression, + STATE(464), 1, + sym_index_expression, + STATE(471), 1, + sym_function_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [11712] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(419), 1, + anon_sym_LBRACE, + ACTIONS(547), 1, + sym_identifier, + STATE(71), 1, + sym__function_expression_kind, + STATE(332), 1, + sym_expression, + STATE(471), 1, + sym_function_expression, + STATE(488), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(343), 2, + sym_function_call, + sym_yield, + STATE(344), 2, + sym_value, + sym_index, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [11797] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(417), 1, + sym_identifier, + ACTIONS(419), 1, + anon_sym_LBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(316), 1, + sym_expression, + STATE(464), 1, + sym_index_expression, + STATE(471), 1, + sym_function_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [11882] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(417), 1, + sym_identifier, + ACTIONS(419), 1, + anon_sym_LBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(337), 1, + sym_expression, + STATE(464), 1, + sym_index_expression, + STATE(471), 1, + sym_function_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [11967] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(7), 1, + anon_sym_LPAREN, + ACTIONS(13), 1, + anon_sym_struct, + ACTIONS(15), 1, + anon_sym_new, + ACTIONS(17), 1, + sym_integer, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(25), 1, + anon_sym_none, + ACTIONS(27), 1, + anon_sym_some, + ACTIONS(557), 1, + sym_identifier, + ACTIONS(559), 1, + anon_sym_LBRACE, + STATE(54), 1, + sym_expression, + STATE(71), 1, + sym__function_expression_kind, + STATE(481), 1, + sym_function_expression, + STATE(482), 1, + sym_index_expression, + ACTIONS(19), 2, + sym_float, + sym_string, + ACTIONS(21), 2, + anon_sym_true, + anon_sym_false, + STATE(69), 2, + sym_function_call, + sym_yield, + STATE(87), 2, + sym_value, + sym_index, + STATE(63), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(81), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(41), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [12052] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(176), 1, + anon_sym_LPAREN, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(184), 1, + anon_sym_new, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(427), 1, + sym_identifier, + ACTIONS(431), 1, + anon_sym_LBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(97), 1, + sym_expression, + STATE(457), 1, + sym_function_expression, + STATE(476), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(119), 2, + sym_function_call, + sym_yield, + STATE(126), 2, + sym_value, + sym_index, + STATE(125), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(206), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [12137] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(417), 1, + sym_identifier, + ACTIONS(419), 1, + anon_sym_LBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(348), 1, + sym_expression, + STATE(464), 1, + sym_index_expression, + STATE(471), 1, + sym_function_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [12222] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(419), 1, + anon_sym_LBRACE, + ACTIONS(547), 1, + sym_identifier, + STATE(71), 1, + sym__function_expression_kind, + STATE(354), 1, + sym_expression, + STATE(471), 1, + sym_function_expression, + STATE(488), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(343), 2, + sym_function_call, + sym_yield, + STATE(344), 2, + sym_value, + sym_index, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [12307] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(417), 1, + sym_identifier, + ACTIONS(419), 1, + anon_sym_LBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(328), 1, + sym_expression, + STATE(464), 1, + sym_index_expression, + STATE(471), 1, + sym_function_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [12392] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(417), 1, + sym_identifier, + ACTIONS(419), 1, + anon_sym_LBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(334), 1, + sym_expression, + STATE(464), 1, + sym_index_expression, + STATE(471), 1, + sym_function_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [12477] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(138), 1, + anon_sym_LPAREN, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(417), 1, + sym_identifier, + ACTIONS(419), 1, + anon_sym_LBRACE, + STATE(71), 1, + sym__function_expression_kind, + STATE(335), 1, + sym_expression, + STATE(464), 1, + sym_index_expression, + STATE(471), 1, + sym_function_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 2, + sym_value, + sym_index, + STATE(277), 2, + sym_function_call, + sym_yield, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [12562] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(146), 1, + anon_sym_new, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(431), 1, + anon_sym_LBRACE, + ACTIONS(549), 1, + sym_identifier, + ACTIONS(551), 1, + anon_sym_LPAREN, + STATE(106), 1, + sym_function_expression, + STATE(374), 1, + sym_expression, + STATE(485), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(288), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(121), 5, + sym_value, + sym_index, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(206), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [12643] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(485), 1, + anon_sym_DASH_GT, + ACTIONS(577), 1, + anon_sym_COMMA, + STATE(167), 1, + sym_math_operator, + STATE(199), 1, + sym_logic_operator, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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(575), 6, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + ACTIONS(573), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [12707] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(485), 1, + anon_sym_DASH_GT, + ACTIONS(583), 1, + anon_sym_COMMA, + STATE(167), 1, + sym_math_operator, + STATE(199), 1, + sym_logic_operator, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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(581), 6, + anon_sym_LPAREN, + anon_sym_LBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + ACTIONS(579), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [12771] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(589), 1, + anon_sym_elseif, + ACTIONS(591), 1, + anon_sym_else, + STATE(236), 1, + sym_else, + STATE(225), 2, + sym_else_if, + aux_sym_if_else_repeat1, + ACTIONS(585), 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(587), 23, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [12824] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(589), 1, + anon_sym_elseif, + ACTIONS(591), 1, + anon_sym_else, + STATE(241), 1, + sym_else, + STATE(226), 2, + sym_else_if, + aux_sym_if_else_repeat1, + ACTIONS(593), 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(595), 23, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [12877] = 5, + ACTIONS(3), 1, + sym__comment, + ACTIONS(601), 1, + anon_sym_elseif, + STATE(226), 2, + sym_else_if, + aux_sym_if_else_repeat1, + ACTIONS(597), 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(599), 24, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_else, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [12925] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(336), 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(338), 24, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_else, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [12967] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(604), 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(606), 24, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_else, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [13009] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(608), 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(610), 24, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_else, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [13051] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(286), 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(288), 24, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_else, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [13093] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(258), 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(260), 24, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_else, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [13135] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(352), 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(354), 23, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [13175] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(612), 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(614), 23, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [13215] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(616), 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(618), 23, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [13255] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(620), 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(622), 23, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [13295] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(593), 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(595), 23, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [13335] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(624), 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(626), 23, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [13375] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(628), 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(630), 23, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [13415] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(632), 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(634), 23, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [13455] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(368), 1, + anon_sym_SEMI, + ACTIONS(352), 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(354), 23, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [13497] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(636), 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(638), 23, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [13537] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(640), 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(642), 23, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [13577] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(644), 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(646), 23, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [13617] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(648), 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(650), 23, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [13657] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(431), 1, + anon_sym_LBRACE, + ACTIONS(652), 1, + sym_identifier, + ACTIONS(654), 1, + anon_sym_LPAREN, + STATE(108), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(107), 2, + sym_value, + sym_index, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(206), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [13720] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(656), 1, + anon_sym_elseif, + ACTIONS(658), 1, + anon_sym_else, + STATE(307), 1, + sym_else, + STATE(250), 2, + sym_else_if, + aux_sym_if_else_repeat1, + ACTIONS(585), 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(587), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [13767] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(419), 1, + anon_sym_LBRACE, + ACTIONS(660), 1, + sym_identifier, + ACTIONS(662), 1, + anon_sym_LPAREN, + STATE(297), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(285), 2, + sym_value, + sym_index, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [13830] = 15, ACTIONS(3), 1, sym__comment, ACTIONS(13), 1, + anon_sym_struct, + ACTIONS(17), 1, sym_integer, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_none, ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(25), 1, + anon_sym_none, + ACTIONS(27), 1, anon_sym_some, - ACTIONS(513), 1, + ACTIONS(559), 1, anon_sym_LBRACE, - ACTIONS(604), 1, + ACTIONS(664), 1, sym_identifier, - ACTIONS(606), 1, + ACTIONS(666), 1, anon_sym_LPAREN, STATE(64), 1, sym_index_expression, - ACTIONS(15), 2, + ACTIONS(19), 2, sym_float, sym_string, - ACTIONS(17), 2, + ACTIONS(21), 2, anon_sym_true, anon_sym_false, - STATE(65), 2, + STATE(74), 2, sym_value, sym_index, - STATE(72), 6, + STATE(81), 7, + sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(37), 9, + ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -15518,42 +17286,45 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [12476] = 14, + [13893] = 15, 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_struct, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, anon_sym_some, - ACTIONS(346), 1, + ACTIONS(419), 1, anon_sym_LBRACE, - ACTIONS(608), 1, + ACTIONS(660), 1, sym_identifier, - ACTIONS(610), 1, + ACTIONS(662), 1, anon_sym_LPAREN, - STATE(276), 1, + STATE(345), 1, sym_index_expression, - ACTIONS(136), 2, + ACTIONS(150), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(260), 2, + STATE(285), 2, sym_value, sym_index, - STATE(269), 6, + STATE(279), 7, + sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(158), 9, + ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -15563,79 +17334,181 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [12535] = 6, + [13956] = 7, ACTIONS(3), 1, sym__comment, - ACTIONS(612), 1, - anon_sym_DASH_GT, - STATE(206), 1, - sym_logic_operator, - STATE(210), 1, - sym_math_operator, - ACTIONS(192), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(190), 19, + ACTIONS(656), 1, + anon_sym_elseif, + ACTIONS(658), 1, + anon_sym_else, + STATE(308), 1, + sym_else, + STATE(254), 2, + sym_else_if, + aux_sym_if_else_repeat1, + ACTIONS(593), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_DOT_DOT, + 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_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - [12578] = 14, + ACTIONS(595), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [14003] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(182), 1, + anon_sym_struct, + ACTIONS(186), 1, + sym_integer, + ACTIONS(192), 1, + anon_sym_LBRACK, + ACTIONS(194), 1, + anon_sym_none, + ACTIONS(196), 1, + anon_sym_some, + ACTIONS(431), 1, + anon_sym_LBRACE, + ACTIONS(652), 1, + sym_identifier, + ACTIONS(654), 1, + anon_sym_LPAREN, + STATE(127), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(107), 2, + sym_value, + sym_index, + STATE(129), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(206), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [14066] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(144), 1, + anon_sym_struct, + ACTIONS(148), 1, + sym_integer, + ACTIONS(154), 1, + anon_sym_LBRACK, + ACTIONS(156), 1, + anon_sym_none, + ACTIONS(158), 1, + anon_sym_some, + ACTIONS(419), 1, + anon_sym_LBRACE, + ACTIONS(660), 1, + sym_identifier, + ACTIONS(662), 1, + anon_sym_LPAREN, + STATE(268), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(285), 2, + sym_value, + sym_index, + STATE(279), 7, + sym_structure, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(172), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [14129] = 15, ACTIONS(3), 1, sym__comment, ACTIONS(13), 1, + anon_sym_struct, + ACTIONS(17), 1, sym_integer, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_none, ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(25), 1, + anon_sym_none, + ACTIONS(27), 1, anon_sym_some, - ACTIONS(513), 1, + ACTIONS(559), 1, anon_sym_LBRACE, - ACTIONS(604), 1, + ACTIONS(664), 1, sym_identifier, - ACTIONS(606), 1, + ACTIONS(666), 1, anon_sym_LPAREN, - STATE(56), 1, + STATE(75), 1, sym_index_expression, - ACTIONS(15), 2, + ACTIONS(19), 2, sym_float, sym_string, - ACTIONS(17), 2, + ACTIONS(21), 2, anon_sym_true, anon_sym_false, - STATE(65), 2, + STATE(74), 2, sym_value, sym_index, - STATE(72), 6, + STATE(81), 7, + sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(37), 9, + ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -15645,16 +17518,53 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [12637] = 6, + [14192] = 5, ACTIONS(3), 1, sym__comment, - ACTIONS(612), 1, + ACTIONS(668), 1, + anon_sym_elseif, + STATE(254), 2, + sym_else_if, + aux_sym_if_else_repeat1, + ACTIONS(597), 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(599), 18, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_else, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [14234] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(671), 1, anon_sym_DASH_GT, - STATE(206), 1, - sym_logic_operator, - STATE(210), 1, + STATE(185), 1, sym_math_operator, - ACTIONS(198), 7, + STATE(186), 1, + sym_logic_operator, + ACTIONS(220), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -15662,7 +17572,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(196), 19, + ACTIONS(218), 19, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, @@ -15682,224 +17592,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, - [12680] = 7, + [14277] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(614), 1, - anon_sym_elseif, - ACTIONS(616), 1, - anon_sym_else, - STATE(290), 1, - sym_else, - STATE(244), 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), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [12725] = 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(429), 1, - anon_sym_LBRACE, - ACTIONS(600), 1, - sym_identifier, - ACTIONS(602), 1, - anon_sym_LPAREN, - STATE(107), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(117), 2, - sym_value, - sym_index, - STATE(95), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [12784] = 14, - ACTIONS(3), 1, - sym__comment, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(608), 1, - sym_identifier, - ACTIONS(610), 1, - anon_sym_LPAREN, - STATE(326), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(260), 2, - sym_value, - sym_index, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [12843] = 14, - ACTIONS(3), 1, - sym__comment, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(608), 1, - sym_identifier, - ACTIONS(610), 1, - anon_sym_LPAREN, - STATE(254), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(260), 2, - sym_value, - sym_index, - STATE(269), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [12902] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(614), 1, - anon_sym_elseif, - ACTIONS(616), 1, - anon_sym_else, - STATE(288), 1, - sym_else, - STATE(266), 2, - sym_else_if, - aux_sym_if_else_repeat1, - ACTIONS(533), 9, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(535), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [12947] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(210), 2, - anon_sym_LPAREN, - anon_sym_RPAREN, - ACTIONS(208), 7, + ACTIONS(671), 1, + anon_sym_DASH_GT, + STATE(185), 1, + sym_math_operator, + STATE(186), 1, + sym_logic_operator, + ACTIONS(210), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -15907,8 +17609,44 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(206), 19, + ACTIONS(208), 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, + [14320] = 5, + ACTIONS(3), 1, + sym__comment, + STATE(185), 1, + sym_math_operator, + STATE(186), 1, + sym_logic_operator, + ACTIONS(216), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(214), 20, + anon_sym_SEMI, + anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, @@ -15927,7 +17665,41 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [12985] = 3, + [14361] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(675), 6, + anon_sym_LPAREN, + anon_sym_LBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_asyncfor, + ACTIONS(673), 23, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [14398] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(292), 7, @@ -15960,739 +17732,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13021] = 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, - [13057] = 5, - ACTIONS(3), 1, - sym__comment, - STATE(204), 1, - sym_math_operator, - STATE(205), 1, - sym_logic_operator, - ACTIONS(202), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - 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, - [13097] = 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, - [13133] = 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, - [13173] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(222), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(220), 21, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - 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, - [13209] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(312), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(310), 21, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - [13245] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(280), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(278), 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, - [13281] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(240), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(238), 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, - [13317] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(256), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(254), 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, - [13353] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(276), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(274), 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, - [13389] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(264), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(262), 21, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - [13425] = 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, - [13461] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(252), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(250), 21, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - [13497] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(268), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(214), 21, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - [13533] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(272), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(270), 21, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - [13569] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(304), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(302), 21, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - [13605] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(236), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(234), 21, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - [13641] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(308), 7, - 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, - [13677] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(296), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(294), 21, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - [13713] = 5, - ACTIONS(3), 1, - sym__comment, - ACTIONS(618), 1, - anon_sym_elseif, - STATE(266), 2, - sym_else_if, - aux_sym_if_else_repeat1, - ACTIONS(545), 9, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(547), 16, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_else, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [13753] = 3, - ACTIONS(3), 1, - sym__comment, - 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), 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, - [13789] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(300), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(298), 21, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - [13825] = 3, + [14434] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(288), 7, @@ -16725,76 +17765,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13861] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(260), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(258), 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, - [13897] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(621), 1, - anon_sym_DASH_GT, - STATE(204), 1, - sym_math_operator, - STATE(205), 1, - sym_logic_operator, - ACTIONS(192), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(190), 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, - [13939] = 3, + [14470] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(248), 7, @@ -16827,16 +17798,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13975] = 6, + [14506] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(621), 1, + ACTIONS(677), 1, anon_sym_DASH_GT, - STATE(204), 1, - sym_math_operator, - STATE(205), 1, + STATE(187), 1, sym_logic_operator, - ACTIONS(198), 7, + STATE(190), 1, + sym_math_operator, + ACTIONS(220), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -16844,7 +17815,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(196), 18, + ACTIONS(218), 18, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, @@ -16863,10 +17834,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, - [14017] = 3, + [14548] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(230), 7, + ACTIONS(677), 1, + anon_sym_DASH_GT, + STATE(187), 1, + sym_logic_operator, + STATE(190), 1, + sym_math_operator, + ACTIONS(210), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -16874,7 +17851,37 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(228), 21, + ACTIONS(208), 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, + [14590] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(306), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(304), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -16896,29 +17903,263 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [14053] = 3, + [14626] = 5, ACTIONS(3), 1, sym__comment, - ACTIONS(625), 6, + ACTIONS(230), 1, + anon_sym_COLON, + ACTIONS(226), 2, anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(224), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(222), 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, + [14666] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(330), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(328), 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, + [14702] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(260), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(258), 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, + [14738] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(276), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(274), 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, + [14774] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(300), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(298), 21, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + [14810] = 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, + [14846] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(342), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(340), 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, + [14882] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(604), 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_asyncfor, - ACTIONS(623), 21, - anon_sym_async, + anon_sym_STAR, + anon_sym_elseif, + ACTIONS(606), 18, sym_identifier, + anon_sym_struct, + anon_sym_new, 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_else, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -16928,11 +18169,243 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [14088] = 4, + [14918] = 5, ACTIONS(3), 1, sym__comment, - ACTIONS(627), 1, + STATE(187), 1, + sym_logic_operator, + STATE(190), 1, + sym_math_operator, + ACTIONS(216), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(214), 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, + [14958] = 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, + [14994] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(256), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(254), 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, + [15030] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(264), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(262), 21, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + [15066] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(226), 2, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(224), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(222), 19, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + [15104] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(338), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(336), 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, + [15140] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(334), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(332), 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, + [15176] = 3, + ACTIONS(3), 1, + sym__comment, ACTIONS(240), 7, anon_sym_async, sym_identifier, @@ -16941,13 +18414,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(238), 19, + ACTIONS(238), 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, @@ -16961,391 +18436,26 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [14125] = 3, + [15212] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(234), 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(236), 16, + ACTIONS(280), 7, + anon_sym_async, sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_else, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14159] = 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), 16, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_else, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14193] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(228), 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(230), 16, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_else, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14227] = 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), 16, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_else, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14261] = 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), 16, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_else, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14295] = 10, - ACTIONS(3), 1, - sym__comment, - ACTIONS(210), 1, - anon_sym_LPAREN, - ACTIONS(212), 1, anon_sym_EQ, - ACTIONS(214), 1, - anon_sym_COLON, - ACTIONS(216), 1, - anon_sym_LT, - STATE(35), 1, - sym_assignment_operator, - STATE(376), 1, - sym_type_definition, - ACTIONS(218), 2, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - ACTIONS(208), 3, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, - ACTIONS(206), 14, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RBRACE, - sym_identifier, - 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, - [14342] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(596), 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(598), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14374] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(592), 9, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(594), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14406] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(560), 9, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(562), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14438] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(322), 9, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(324), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14470] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(572), 9, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(574), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14502] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(584), 9, - 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(586), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14534] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(214), 1, - anon_sym_COLON, - ACTIONS(336), 5, - anon_sym_async, - sym_identifier, - anon_sym_DASH, - anon_sym_GT, anon_sym_LT, - ACTIONS(210), 18, + ACTIONS(278), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_PLUS, + anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -17355,327 +18465,129 @@ static const uint16_t ts_small_parse_table[] = { 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, - [14568] = 3, + [15248] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(533), 9, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(535), 15, + ACTIONS(346), 7, + anon_sym_async, sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14600] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(564), 9, - 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), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14632] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(433), 1, - anon_sym_SEMI, - ACTIONS(322), 8, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(324), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14666] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(588), 9, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(590), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14698] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(576), 9, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(578), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14730] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(580), 9, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(582), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14762] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(210), 1, - anon_sym_LPAREN, - ACTIONS(212), 1, anon_sym_EQ, - ACTIONS(214), 1, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(344), 21, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, anon_sym_COLON, - STATE(37), 1, - sym_assignment_operator, - ACTIONS(218), 2, + 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, - ACTIONS(208), 4, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(206), 14, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RBRACE, - sym_identifier, - 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, - [14804] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(568), 9, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(570), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14836] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(633), 1, - anon_sym_COMMA, - ACTIONS(631), 7, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(629), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14869] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(635), 1, - anon_sym_DASH_GT, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_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, - [14906] = 6, + anon_sym_DASH_GT, + [15284] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(635), 1, - anon_sym_DASH_GT, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - ACTIONS(192), 5, - anon_sym_async, - sym_identifier, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(190), 15, + ACTIONS(286), 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(288), 18, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_else, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [15320] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(336), 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(338), 18, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_else, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [15356] = 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(230), 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, @@ -17685,696 +18597,96 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, anon_sym_EQ_GT, - [14943] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(639), 7, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(637), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14973] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(484), 6, - anon_sym_LPAREN, - anon_sym_LBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - ACTIONS(641), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [15002] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(399), 6, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_LBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - ACTIONS(643), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [15031] = 5, - ACTIONS(3), 1, - sym__comment, - STATE(160), 1, - sym_math_operator, - STATE(184), 1, - sym_logic_operator, - ACTIONS(202), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(200), 15, - 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, anon_sym_DASH_GT, - [15063] = 3, + [15392] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(647), 5, - anon_sym_LPAREN, - anon_sym_LBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - ACTIONS(645), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [15091] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(651), 5, - anon_sym_LPAREN, - anon_sym_LBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - ACTIONS(649), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [15119] = 10, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(433), 1, + ACTIONS(258), 10, anon_sym_SEMI, - ACTIONS(635), 1, - anon_sym_DASH_GT, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(322), 3, + 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(260), 18, sym_identifier, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15161] = 6, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_else, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [15428] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(612), 1, - anon_sym_DASH_GT, - STATE(160), 1, - sym_math_operator, - STATE(184), 1, - sym_logic_operator, - ACTIONS(198), 3, + ACTIONS(314), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(196), 14, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15195] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(612), 1, - anon_sym_DASH_GT, - STATE(160), 1, - sym_math_operator, - STATE(184), 1, - sym_logic_operator, - ACTIONS(192), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(190), 14, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15229] = 9, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(635), 1, - anon_sym_DASH_GT, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(322), 4, + ACTIONS(312), 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, + [15464] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(272), 7, + anon_sym_async, sym_identifier, - ACTIONS(328), 4, + anon_sym_EQ, anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15269] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(653), 1, - anon_sym_DASH_GT, - STATE(200), 1, - sym_math_operator, - STATE(201), 1, - sym_logic_operator, - ACTIONS(198), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(196), 13, + ACTIONS(270), 21, + anon_sym_SEMI, 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, - [15302] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(635), 1, - anon_sym_DASH_GT, - ACTIONS(655), 1, - anon_sym_async, - ACTIONS(657), 1, + anon_sym_COMMA, anon_sym_LBRACE, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - STATE(287), 1, - sym_block, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15345] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(635), 1, - anon_sym_DASH_GT, - ACTIONS(659), 1, - anon_sym_async, - ACTIONS(661), 1, - anon_sym_LBRACE, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - STATE(280), 1, - sym_block, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15388] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(635), 1, - anon_sym_DASH_GT, - ACTIONS(663), 1, - anon_sym_async, - ACTIONS(665), 1, - anon_sym_LBRACE, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - STATE(287), 1, - sym_block, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15431] = 5, - ACTIONS(3), 1, - sym__comment, - STATE(200), 1, - sym_math_operator, - STATE(201), 1, - sym_logic_operator, - ACTIONS(202), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(200), 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, - [15462] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(635), 1, - anon_sym_DASH_GT, - ACTIONS(667), 1, - anon_sym_async, - ACTIONS(669), 1, - anon_sym_LBRACE, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - STATE(225), 1, - sym_block, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15505] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(635), 1, - anon_sym_DASH_GT, - ACTIONS(671), 1, - anon_sym_async, - ACTIONS(673), 1, - anon_sym_LBRACE, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - STATE(216), 1, - sym_block, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15548] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(635), 1, - anon_sym_DASH_GT, - ACTIONS(671), 1, - anon_sym_async, - ACTIONS(673), 1, - anon_sym_LBRACE, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - STATE(219), 1, - sym_block, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15591] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(635), 1, - anon_sym_DASH_GT, - ACTIONS(663), 1, - anon_sym_async, - ACTIONS(665), 1, - anon_sym_LBRACE, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - STATE(283), 1, - sym_block, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15634] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(653), 1, - anon_sym_DASH_GT, - STATE(200), 1, - sym_math_operator, - STATE(201), 1, - sym_logic_operator, - ACTIONS(192), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(190), 13, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15667] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(635), 1, - anon_sym_DASH_GT, - ACTIONS(667), 1, - anon_sym_async, - ACTIONS(669), 1, - anon_sym_LBRACE, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - STATE(232), 1, - sym_block, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15710] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(635), 1, - anon_sym_DASH_GT, - ACTIONS(655), 1, - anon_sym_async, - ACTIONS(657), 1, - anon_sym_LBRACE, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - STATE(283), 1, - sym_block, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15753] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(635), 1, - anon_sym_DASH_GT, - ACTIONS(659), 1, - anon_sym_async, - ACTIONS(661), 1, - anon_sym_LBRACE, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - STATE(281), 1, - sym_block, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15796] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(210), 1, - anon_sym_LPAREN, - ACTIONS(208), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(206), 14, - anon_sym_RPAREN, + anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, - anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -18384,22 +18696,30 @@ static const uint16_t ts_small_parse_table[] = { 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, - [15824] = 5, + [15500] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(210), 1, - anon_sym_LPAREN, - ACTIONS(214), 1, - anon_sym_COLON, - ACTIONS(208), 3, + ACTIONS(284), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(206), 13, + 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_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -18409,21 +18729,30 @@ static const uint16_t ts_small_parse_table[] = { 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, - [15854] = 4, + [15536] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(675), 1, - anon_sym_DOT_DOT, - ACTIONS(240), 3, + ACTIONS(244), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(238), 14, + 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_PLUS, + anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -18433,117 +18762,672 @@ static const uint16_t ts_small_parse_table[] = { 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, - [15882] = 3, + [15572] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(318), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(316), 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, + [15608] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(608), 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(610), 18, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_else, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [15644] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(326), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(324), 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, + [15680] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(296), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(294), 21, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + [15716] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(322), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(320), 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, + [15752] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(350), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(348), 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, + [15788] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(679), 1, - anon_sym_DASH_GT, - ACTIONS(677), 17, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_none, + anon_sym_DOT_DOT, + ACTIONS(276), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, 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, - [15908] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(683), 1, - anon_sym_DASH_GT, - ACTIONS(681), 17, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_none, - anon_sym_GT, - anon_sym_any, - anon_sym_bool, - anon_sym_collection, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - anon_sym_option, - [15934] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(214), 1, - anon_sym_COLON, - ACTIONS(216), 1, anon_sym_LT, + ACTIONS(274), 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, + [15825] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(616), 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(618), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [15859] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(648), 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(650), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [15893] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(569), 1, + anon_sym_SEMI, + ACTIONS(352), 8, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_STAR, + ACTIONS(354), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [15929] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(352), 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(354), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [15963] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(628), 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(630), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [15997] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(612), 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(614), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [16031] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(624), 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(626), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [16065] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(644), 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(646), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [16099] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(632), 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(634), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [16133] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(593), 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(595), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [16167] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(636), 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(638), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [16201] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(620), 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(622), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [16235] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(640), 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(642), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [16269] = 10, + ACTIONS(3), 1, + sym__comment, + ACTIONS(226), 1, + anon_sym_LPAREN, + ACTIONS(228), 1, + anon_sym_EQ, + ACTIONS(230), 1, + anon_sym_COLON, + ACTIONS(232), 1, + anon_sym_LT, + STATE(40), 1, + sym_assignment_operator, STATE(392), 1, sym_type_definition, - ACTIONS(208), 2, + ACTIONS(234), 2, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + ACTIONS(224), 3, + anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, - ACTIONS(210), 2, - anon_sym_LPAREN, - anon_sym_RPAREN, - ACTIONS(206), 11, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - 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, - [15968] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(685), 17, - anon_sym_LPAREN, - anon_sym_RPAREN, + ACTIONS(222), 14, + anon_sym_SEMI, anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_none, - anon_sym_GT, - anon_sym_any, - anon_sym_bool, - anon_sym_collection, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - anon_sym_option, - [15991] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(687), 1, - anon_sym_DASH_GT, - STATE(158), 1, - sym_logic_operator, - STATE(178), 1, - sym_math_operator, - ACTIONS(198), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(196), 11, - anon_sym_RPAREN, - anon_sym_PLUS, + anon_sym_RBRACE, + sym_identifier, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -18553,480 +19437,319 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [16022] = 9, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(635), 1, anon_sym_DASH_GT, - ACTIONS(689), 1, - anon_sym_EQ_GT, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16059] = 6, + [16316] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(687), 1, - anon_sym_DASH_GT, - STATE(158), 1, - sym_logic_operator, - STATE(178), 1, - sym_math_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, - [16090] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(691), 17, - anon_sym_LPAREN, - anon_sym_RPAREN, + ACTIONS(685), 1, anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_none, - anon_sym_GT, - anon_sym_any, - anon_sym_bool, - anon_sym_collection, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - anon_sym_option, - [16113] = 9, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(635), 1, - anon_sym_DASH_GT, - ACTIONS(693), 1, - anon_sym_LBRACE, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16150] = 9, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(687), 1, - anon_sym_DASH_GT, - ACTIONS(695), 1, - anon_sym_RPAREN, - STATE(158), 1, - sym_logic_operator, - STATE(178), 1, - sym_math_operator, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16187] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(697), 17, + ACTIONS(683), 7, 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_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, - [16210] = 9, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(687), 1, - anon_sym_DASH_GT, - ACTIONS(699), 1, - anon_sym_RPAREN, - STATE(158), 1, - sym_logic_operator, - STATE(178), 1, - sym_math_operator, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16247] = 9, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(635), 1, - anon_sym_DASH_GT, - ACTIONS(701), 1, - anon_sym_LBRACE, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16284] = 9, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(687), 1, - anon_sym_DASH_GT, - ACTIONS(703), 1, - anon_sym_RPAREN, - STATE(158), 1, - sym_logic_operator, - STATE(178), 1, - sym_math_operator, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16321] = 2, - ACTIONS(3), 1, - sym__comment, ACTIONS(681), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [16351] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(689), 7, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_STAR, + ACTIONS(687), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [16383] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(226), 1, + anon_sym_LPAREN, + ACTIONS(228), 1, + anon_sym_EQ, + ACTIONS(230), 1, + anon_sym_COLON, + STATE(39), 1, + sym_assignment_operator, + ACTIONS(234), 2, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + ACTIONS(224), 4, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(222), 14, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + sym_identifier, + 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, + [16425] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(230), 1, + anon_sym_COLON, + ACTIONS(372), 5, + anon_sym_async, + sym_identifier, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(226), 18, + anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + [16459] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(691), 1, + anon_sym_DASH_GT, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + ACTIONS(220), 5, + anon_sym_async, + sym_identifier, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(218), 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, + [16496] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(691), 1, + anon_sym_DASH_GT, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + ACTIONS(210), 5, + anon_sym_async, + sym_identifier, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(208), 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, + [16533] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(460), 6, + anon_sym_LPAREN, + anon_sym_LBRACE, + sym_float, + sym_string, anon_sym_LBRACK, anon_sym_RBRACK, + ACTIONS(693), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, 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, - [16344] = 8, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [16564] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(621), 1, - anon_sym_DASH_GT, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16378] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(687), 1, - anon_sym_DASH_GT, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16412] = 9, - ACTIONS(3), 1, - sym__comment, - ACTIONS(705), 1, + ACTIONS(507), 6, anon_sym_LPAREN, - ACTIONS(707), 1, anon_sym_RPAREN, - ACTIONS(709), 1, anon_sym_LBRACE, - ACTIONS(711), 1, + sym_float, + sym_string, anon_sym_LBRACK, - ACTIONS(715), 1, - anon_sym_option, - STATE(347), 1, - aux_sym_type_repeat1, - STATE(361), 1, - sym_type, - ACTIONS(713), 9, + ACTIONS(695), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, anon_sym_none, - anon_sym_any, - anon_sym_bool, - anon_sym_collection, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [16448] = 8, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [16595] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(194), 1, - anon_sym_DASH_GT, - ACTIONS(330), 1, - anon_sym_DASH, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16482] = 5, - ACTIONS(3), 1, - sym__comment, - ACTIONS(210), 1, + ACTIONS(699), 5, anon_sym_LPAREN, - ACTIONS(717), 1, - anon_sym_RPAREN, - ACTIONS(208), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(206), 11, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH_GT, - [16510] = 9, - ACTIONS(3), 1, - sym__comment, - ACTIONS(719), 1, - anon_sym_LPAREN, - ACTIONS(722), 1, - anon_sym_RPAREN, - ACTIONS(724), 1, anon_sym_LBRACE, - ACTIONS(727), 1, + sym_float, + sym_string, anon_sym_LBRACK, - ACTIONS(733), 1, - anon_sym_option, - STATE(347), 1, - aux_sym_type_repeat1, - STATE(361), 1, - sym_type, - ACTIONS(730), 9, + ACTIONS(697), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, 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, - [16546] = 8, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [16625] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(687), 1, - anon_sym_DASH_GT, - STATE(158), 1, - sym_logic_operator, + ACTIONS(703), 5, + anon_sym_LPAREN, + anon_sym_LBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + ACTIONS(701), 17, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [16655] = 5, + ACTIONS(3), 1, + sym__comment, + STATE(177), 1, + sym_math_operator, STATE(178), 1, - sym_math_operator, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16580] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(204), 1, - anon_sym_DASH_GT, - ACTIONS(330), 1, - anon_sym_DASH, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, sym_logic_operator, - ACTIONS(334), 2, + ACTIONS(216), 3, + anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16614] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(210), 2, + ACTIONS(214), 15, anon_sym_LPAREN, anon_sym_RPAREN, - ACTIONS(208), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(206), 11, + anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, @@ -19038,1850 +19761,3356 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - [16640] = 8, + [16687] = 10, ACTIONS(3), 1, sym__comment, - ACTIONS(318), 1, - anon_sym_DASH_GT, - ACTIONS(330), 1, + ACTIONS(358), 1, anon_sym_DASH, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, + ACTIONS(569), 1, + anon_sym_SEMI, + ACTIONS(691), 1, + anon_sym_DASH_GT, + STATE(206), 1, sym_logic_operator, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16674] = 5, - ACTIONS(3), 1, - sym__comment, - ACTIONS(210), 1, - anon_sym_LPAREN, - ACTIONS(736), 1, - anon_sym_RPAREN, - ACTIONS(208), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(206), 11, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH_GT, - [16702] = 5, - ACTIONS(3), 1, - sym__comment, - ACTIONS(210), 1, - anon_sym_LPAREN, - ACTIONS(738), 1, - anon_sym_RPAREN, - ACTIONS(208), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(206), 11, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH_GT, - [16730] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(320), 1, - anon_sym_DASH_GT, - ACTIONS(330), 1, - anon_sym_DASH, - STATE(166), 1, + STATE(212), 1, sym_math_operator, - STATE(182), 1, - sym_logic_operator, - ACTIONS(334), 2, + ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16764] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(612), 1, - anon_sym_DASH_GT, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16798] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(338), 1, - anon_sym_DASH_GT, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16832] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(342), 1, - anon_sym_DASH_GT, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16866] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(635), 1, - anon_sym_DASH_GT, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16900] = 9, - ACTIONS(3), 1, - sym__comment, - ACTIONS(705), 1, - anon_sym_LPAREN, - ACTIONS(709), 1, - anon_sym_LBRACE, - ACTIONS(711), 1, - anon_sym_LBRACK, - ACTIONS(715), 1, - anon_sym_option, - ACTIONS(740), 1, - anon_sym_RPAREN, - STATE(344), 1, - aux_sym_type_repeat1, - STATE(361), 1, - sym_type, - ACTIONS(713), 9, - anon_sym_none, - anon_sym_any, - anon_sym_bool, - anon_sym_collection, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [16936] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - anon_sym_DASH, - ACTIONS(653), 1, - anon_sym_DASH_GT, - STATE(166), 1, - sym_math_operator, - STATE(182), 1, - sym_logic_operator, - ACTIONS(334), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(328), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(332), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16970] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(744), 1, + ACTIONS(352), 3, anon_sym_COMMA, - ACTIONS(742), 14, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_LBRACK, - anon_sym_none, - anon_sym_any, - anon_sym_bool, - anon_sym_collection, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - anon_sym_option, - [16993] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(746), 1, - anon_sym_RPAREN, - ACTIONS(284), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(282), 11, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH_GT, - [17018] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(748), 1, - anon_sym_RPAREN, - ACTIONS(284), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(282), 11, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH_GT, - [17043] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(750), 1, - anon_sym_RPAREN, - ACTIONS(284), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(282), 11, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH_GT, - [17068] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(705), 1, - anon_sym_LPAREN, - ACTIONS(709), 1, - anon_sym_LBRACE, - ACTIONS(711), 1, - anon_sym_LBRACK, - ACTIONS(715), 1, - anon_sym_option, - STATE(337), 1, - sym_type, - ACTIONS(713), 9, - anon_sym_none, - anon_sym_any, - anon_sym_bool, - anon_sym_collection, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [17098] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(705), 1, - anon_sym_LPAREN, - ACTIONS(709), 1, - anon_sym_LBRACE, - ACTIONS(711), 1, - anon_sym_LBRACK, - ACTIONS(715), 1, - anon_sym_option, - STATE(430), 1, - sym_type, - ACTIONS(713), 9, - anon_sym_none, - anon_sym_any, - anon_sym_bool, - anon_sym_collection, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [17128] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(705), 1, - anon_sym_LPAREN, - ACTIONS(709), 1, - anon_sym_LBRACE, - ACTIONS(711), 1, - anon_sym_LBRACK, - ACTIONS(715), 1, - anon_sym_option, - STATE(420), 1, - sym_type, - ACTIONS(713), 9, - anon_sym_none, - anon_sym_any, - anon_sym_bool, - anon_sym_collection, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [17158] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(705), 1, - anon_sym_LPAREN, - ACTIONS(709), 1, - anon_sym_LBRACE, - ACTIONS(711), 1, - anon_sym_LBRACK, - ACTIONS(715), 1, - anon_sym_option, - STATE(437), 1, - sym_type, - ACTIONS(713), 9, - anon_sym_none, - anon_sym_any, - anon_sym_bool, - anon_sym_collection, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [17188] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(705), 1, - anon_sym_LPAREN, - ACTIONS(709), 1, - anon_sym_LBRACE, - ACTIONS(711), 1, - anon_sym_LBRACK, - ACTIONS(715), 1, - anon_sym_option, - STATE(334), 1, - sym_type, - ACTIONS(713), 9, - anon_sym_none, - anon_sym_any, - anon_sym_bool, - anon_sym_collection, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [17218] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(722), 14, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_LBRACK, - anon_sym_none, - anon_sym_any, - anon_sym_bool, - anon_sym_collection, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - anon_sym_option, - [17238] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(752), 2, - anon_sym_async, - sym_identifier, - ACTIONS(754), 7, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - [17255] = 7, + sym_identifier, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [16729] = 9, ACTIONS(3), 1, sym__comment, - ACTIONS(543), 1, - sym_identifier, - ACTIONS(614), 1, - anon_sym_elseif, - ACTIONS(756), 1, - anon_sym_else, - STATE(290), 1, - sym_else, - STATE(373), 2, - sym_else_if, - aux_sym_if_else_repeat1, - ACTIONS(541), 3, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(691), 1, + anon_sym_DASH_GT, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(352), 4, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, - [17280] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(535), 1, sym_identifier, - ACTIONS(614), 1, - anon_sym_elseif, - ACTIONS(756), 1, - anon_sym_else, - STATE(288), 1, - sym_else, - STATE(266), 2, - sym_else_if, - aux_sym_if_else_repeat1, - ACTIONS(533), 3, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RBRACE, - [17305] = 3, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [16769] = 6, ACTIONS(3), 1, sym__comment, - STATE(29), 1, - sym_assignment_operator, - ACTIONS(218), 3, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - [17317] = 3, - ACTIONS(3), 1, - sym__comment, - STATE(33), 1, - sym_assignment_operator, - ACTIONS(218), 3, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - [17329] = 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, - [17341] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(758), 1, - anon_sym_EQ, - STATE(29), 1, - sym_assignment_operator, - ACTIONS(218), 2, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - [17355] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(667), 1, - anon_sym_async, - ACTIONS(669), 1, - anon_sym_LBRACE, - STATE(58), 1, - sym_block, - [17368] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(760), 1, - sym_identifier, - ACTIONS(763), 1, - anon_sym_RBRACE, - STATE(379), 1, - aux_sym_map_repeat1, - [17381] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(765), 1, - sym_identifier, - ACTIONS(767), 1, - anon_sym_RBRACE, - STATE(379), 1, - aux_sym_map_repeat1, - [17394] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(765), 1, - sym_identifier, - ACTIONS(769), 1, - anon_sym_RBRACE, - STATE(379), 1, - aux_sym_map_repeat1, - [17407] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(655), 1, - anon_sym_async, - ACTIONS(657), 1, - anon_sym_LBRACE, - STATE(97), 1, - sym_block, - [17420] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(773), 1, - anon_sym_COMMA, - ACTIONS(771), 2, - anon_sym_RBRACE, - sym_identifier, - [17431] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(775), 1, - sym_identifier, - ACTIONS(777), 1, - anon_sym_RPAREN, - STATE(394), 1, - aux_sym_function_repeat1, - [17444] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(667), 1, - anon_sym_async, - ACTIONS(669), 1, - anon_sym_LBRACE, - STATE(227), 1, - sym_block, - [17457] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(779), 1, - anon_sym_EQ, - ACTIONS(781), 1, + ACTIONS(671), 1, + anon_sym_DASH_GT, + STATE(177), 1, + sym_math_operator, + STATE(178), 1, + sym_logic_operator, + ACTIONS(210), 3, + anon_sym_DASH, + anon_sym_GT, anon_sym_LT, - STATE(442), 1, - sym_type_definition, - [17470] = 3, + ACTIONS(208), 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, + [16803] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(785), 1, - anon_sym_COMMA, - ACTIONS(783), 2, - anon_sym_RBRACE, - sym_identifier, - [17481] = 4, + ACTIONS(671), 1, + anon_sym_DASH_GT, + STATE(177), 1, + sym_math_operator, + STATE(178), 1, + sym_logic_operator, + ACTIONS(220), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(218), 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, + [16837] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(663), 1, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(691), 1, + anon_sym_DASH_GT, + ACTIONS(705), 1, anon_sym_async, - ACTIONS(665), 1, + ACTIONS(707), 1, anon_sym_LBRACE, - STATE(253), 1, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + STATE(238), 1, sym_block, - [17494] = 4, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [16880] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(667), 1, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(691), 1, + anon_sym_DASH_GT, + ACTIONS(709), 1, anon_sym_async, - ACTIONS(669), 1, + ACTIONS(711), 1, anon_sym_LBRACE, - STATE(70), 1, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + STATE(229), 1, sym_block, - [17507] = 4, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [16923] = 5, ACTIONS(3), 1, sym__comment, - ACTIONS(663), 1, + STATE(203), 1, + sym_logic_operator, + STATE(211), 1, + sym_math_operator, + ACTIONS(216), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(214), 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, + [16954] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(713), 1, + anon_sym_DASH_GT, + STATE(203), 1, + sym_logic_operator, + STATE(211), 1, + sym_math_operator, + ACTIONS(210), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(208), 13, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [16987] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(691), 1, + anon_sym_DASH_GT, + ACTIONS(715), 1, anon_sym_async, - ACTIONS(665), 1, + ACTIONS(717), 1, anon_sym_LBRACE, - STATE(295), 1, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + STATE(302), 1, sym_block, - [17520] = 4, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [17030] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(663), 1, + ACTIONS(713), 1, + anon_sym_DASH_GT, + STATE(203), 1, + sym_logic_operator, + STATE(211), 1, + sym_math_operator, + ACTIONS(220), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(218), 13, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [17063] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(691), 1, + anon_sym_DASH_GT, + ACTIONS(709), 1, anon_sym_async, - ACTIONS(665), 1, + ACTIONS(711), 1, anon_sym_LBRACE, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + STATE(228), 1, + sym_block, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [17106] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(691), 1, + anon_sym_DASH_GT, + ACTIONS(719), 1, + anon_sym_async, + ACTIONS(721), 1, + anon_sym_LBRACE, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + STATE(292), 1, + sym_block, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [17149] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(691), 1, + anon_sym_DASH_GT, + ACTIONS(723), 1, + anon_sym_async, + ACTIONS(725), 1, + anon_sym_LBRACE, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + STATE(306), 1, + sym_block, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [17192] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(691), 1, + anon_sym_DASH_GT, + ACTIONS(715), 1, + anon_sym_async, + ACTIONS(717), 1, + anon_sym_LBRACE, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + STATE(306), 1, + sym_block, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [17235] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(691), 1, + anon_sym_DASH_GT, + ACTIONS(719), 1, + anon_sym_async, + ACTIONS(721), 1, + anon_sym_LBRACE, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, STATE(272), 1, sym_block, - [17533] = 3, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [17278] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(789), 1, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(691), 1, + anon_sym_DASH_GT, + ACTIONS(705), 1, + anon_sym_async, + ACTIONS(707), 1, + anon_sym_LBRACE, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + STATE(239), 1, + sym_block, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [17321] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(691), 1, + anon_sym_DASH_GT, + ACTIONS(723), 1, + anon_sym_async, + ACTIONS(725), 1, + anon_sym_LBRACE, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + STATE(302), 1, + sym_block, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [17364] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(731), 1, + anon_sym_DASH_GT, + ACTIONS(729), 6, + anon_sym_LPAREN, + anon_sym_RPAREN, anon_sym_COMMA, - ACTIONS(787), 2, - anon_sym_RPAREN, - sym_identifier, - [17544] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(655), 1, - anon_sym_async, - ACTIONS(657), 1, - anon_sym_LBRACE, - STATE(295), 1, - sym_block, - [17557] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(787), 1, - anon_sym_RPAREN, - ACTIONS(791), 1, - sym_identifier, - STATE(394), 1, - aux_sym_function_repeat1, - [17570] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(655), 1, - anon_sym_async, - ACTIONS(657), 1, - anon_sym_LBRACE, - STATE(105), 1, - sym_block, - [17583] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(775), 1, - sym_identifier, - ACTIONS(794), 1, - anon_sym_RPAREN, - STATE(394), 1, - aux_sym_function_repeat1, - [17596] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(775), 1, - sym_identifier, - ACTIONS(796), 1, - anon_sym_RPAREN, - STATE(394), 1, - aux_sym_function_repeat1, - [17609] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(765), 1, - sym_identifier, - ACTIONS(798), 1, - anon_sym_RBRACE, - STATE(379), 1, - aux_sym_map_repeat1, - [17622] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(800), 2, - anon_sym_RPAREN, - sym_identifier, - [17630] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(254), 1, - anon_sym_LPAREN, - ACTIONS(802), 1, - anon_sym_RPAREN, - [17640] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(254), 1, - anon_sym_LPAREN, - ACTIONS(804), 1, - anon_sym_RPAREN, - [17650] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(781), 1, - anon_sym_LT, - STATE(423), 1, - sym_type_definition, - [17660] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(781), 1, - anon_sym_LT, - STATE(392), 1, - sym_type_definition, - [17670] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(781), 1, - anon_sym_LT, - STATE(389), 1, - sym_type_definition, - [17680] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(781), 1, - anon_sym_LT, - STATE(388), 1, - sym_type_definition, - [17690] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(765), 1, - sym_identifier, - STATE(381), 1, - aux_sym_map_repeat1, - [17700] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(771), 2, - anon_sym_RBRACE, - sym_identifier, - [17708] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(781), 1, - anon_sym_LT, - STATE(378), 1, - sym_type_definition, - [17718] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(765), 1, - sym_identifier, - STATE(380), 1, - aux_sym_map_repeat1, - [17728] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(781), 1, - anon_sym_LT, - STATE(395), 1, - sym_type_definition, - [17738] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(781), 1, - anon_sym_LT, - STATE(391), 1, - sym_type_definition, - [17748] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(806), 2, - anon_sym_RBRACE, - sym_identifier, - [17756] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(254), 1, - anon_sym_LPAREN, - ACTIONS(808), 1, - anon_sym_RPAREN, - [17766] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(781), 1, - anon_sym_LT, - STATE(382), 1, - sym_type_definition, - [17776] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(765), 1, - sym_identifier, - STATE(398), 1, - aux_sym_map_repeat1, - [17786] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(810), 1, - sym_identifier, - [17793] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(812), 1, - anon_sym_LBRACE, - [17800] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(814), 1, - anon_sym_in, - [17807] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(816), 1, - anon_sym_LPAREN, - [17814] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(818), 1, - anon_sym_RPAREN, - [17821] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(820), 1, - anon_sym_in, - [17828] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(822), 1, - anon_sym_COLON, - [17835] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(818), 1, - anon_sym_RBRACE, - [17842] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(824), 1, - anon_sym_COLON, - [17849] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(826), 1, - anon_sym_COLON, - [17856] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(828), 1, - anon_sym_COLON, - [17863] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(830), 1, - anon_sym_LBRACE, - [17870] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(689), 1, - anon_sym_EQ_GT, - [17877] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(832), 1, - anon_sym_COLON, - [17884] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(834), 1, + anon_sym_LBRACK, anon_sym_RBRACK, - [17891] = 2, + anon_sym_GT, + ACTIONS(727), 11, + sym_identifier, + anon_sym_none, + anon_sym_any, + anon_sym_bool, + anon_sym_collection, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + anon_sym_option, + [17392] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(836), 1, + ACTIONS(737), 1, + anon_sym_DASH_GT, + ACTIONS(735), 6, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_GT, + ACTIONS(733), 11, + sym_identifier, + anon_sym_none, + anon_sym_any, + anon_sym_bool, + anon_sym_collection, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + anon_sym_option, + [17420] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(230), 1, + anon_sym_COLON, + ACTIONS(232), 1, + anon_sym_LT, + STATE(421), 1, + sym_type_definition, + ACTIONS(224), 2, + anon_sym_DASH, + anon_sym_GT, + ACTIONS(226), 2, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(222), 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, + [17454] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(226), 1, + anon_sym_LPAREN, + ACTIONS(224), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(222), 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, + [17482] = 5, + ACTIONS(3), 1, + sym__comment, + ACTIONS(226), 1, + anon_sym_LPAREN, + ACTIONS(230), 1, + anon_sym_COLON, + ACTIONS(224), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(222), 13, + anon_sym_RPAREN, + anon_sym_DOT_DOT, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH_GT, + [17512] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(739), 1, + anon_sym_DOT_DOT, + ACTIONS(276), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(274), 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, + [17540] = 9, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(691), 1, + anon_sym_DASH_GT, + ACTIONS(741), 1, anon_sym_LBRACE, - [17898] = 2, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [17577] = 9, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(743), 1, + anon_sym_RPAREN, + ACTIONS(745), 1, + anon_sym_DASH_GT, + STATE(208), 1, + sym_math_operator, + STATE(209), 1, + sym_logic_operator, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [17614] = 9, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(691), 1, + anon_sym_DASH_GT, + ACTIONS(747), 1, + anon_sym_LBRACE, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [17651] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(745), 1, + anon_sym_DASH_GT, + STATE(208), 1, + sym_math_operator, + STATE(209), 1, + sym_logic_operator, + ACTIONS(210), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(208), 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, + [17682] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(751), 6, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_GT, + ACTIONS(749), 11, + sym_identifier, + anon_sym_none, + anon_sym_any, + anon_sym_bool, + anon_sym_collection, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + anon_sym_option, + [17707] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(755), 6, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_GT, + ACTIONS(753), 11, + sym_identifier, + anon_sym_none, + anon_sym_any, + anon_sym_bool, + anon_sym_collection, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + anon_sym_option, + [17732] = 9, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(691), 1, + anon_sym_DASH_GT, + ACTIONS(757), 1, + anon_sym_EQ_GT, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [17769] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(761), 6, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_GT, + ACTIONS(759), 11, + sym_identifier, + anon_sym_none, + anon_sym_any, + anon_sym_bool, + anon_sym_collection, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + anon_sym_option, + [17794] = 9, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(745), 1, + anon_sym_DASH_GT, + ACTIONS(763), 1, + anon_sym_RPAREN, + STATE(208), 1, + sym_math_operator, + STATE(209), 1, + sym_logic_operator, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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] = 9, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(745), 1, + anon_sym_DASH_GT, + ACTIONS(765), 1, + anon_sym_RPAREN, + STATE(208), 1, + sym_math_operator, + STATE(209), 1, + sym_logic_operator, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [17868] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(729), 6, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_GT, + ACTIONS(727), 11, + sym_identifier, + anon_sym_none, + anon_sym_any, + anon_sym_bool, + anon_sym_collection, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + anon_sym_option, + [17893] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(745), 1, + anon_sym_DASH_GT, + STATE(208), 1, + sym_math_operator, + STATE(209), 1, + sym_logic_operator, + ACTIONS(220), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(218), 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, + [17924] = 5, + ACTIONS(3), 1, + sym__comment, + ACTIONS(226), 1, + anon_sym_LPAREN, + ACTIONS(767), 1, + anon_sym_RPAREN, + ACTIONS(224), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(222), 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, + [17952] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(236), 1, + anon_sym_DASH_GT, + ACTIONS(358), 1, + anon_sym_DASH, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [17986] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(771), 1, + anon_sym_LPAREN, + ACTIONS(773), 1, + anon_sym_RPAREN, + ACTIONS(775), 1, + anon_sym_LBRACK, + ACTIONS(777), 1, + anon_sym_option, + STATE(371), 1, + aux_sym_type_repeat1, + STATE(379), 1, + sym_type, + ACTIONS(769), 10, + sym_identifier, + 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, + [18020] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(771), 1, + anon_sym_LPAREN, + ACTIONS(775), 1, + anon_sym_LBRACK, + ACTIONS(777), 1, + anon_sym_option, + ACTIONS(779), 1, + anon_sym_RPAREN, + STATE(360), 1, + aux_sym_type_repeat1, + STATE(379), 1, + sym_type, + ACTIONS(769), 10, + sym_identifier, + 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, + [18054] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(691), 1, + anon_sym_DASH_GT, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [18088] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(485), 1, + anon_sym_DASH_GT, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [18122] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(364), 1, + anon_sym_DASH_GT, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [18156] = 5, + ACTIONS(3), 1, + sym__comment, + ACTIONS(226), 1, + anon_sym_LPAREN, + ACTIONS(781), 1, + anon_sym_RPAREN, + ACTIONS(224), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(222), 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, + [18184] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(745), 1, + anon_sym_DASH_GT, + STATE(208), 1, + sym_math_operator, + STATE(209), 1, + sym_logic_operator, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [18218] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(212), 1, + anon_sym_DASH_GT, + ACTIONS(358), 1, + anon_sym_DASH, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [18252] = 5, + ACTIONS(3), 1, + sym__comment, + ACTIONS(226), 1, + anon_sym_LPAREN, + ACTIONS(783), 1, + anon_sym_RPAREN, + ACTIONS(224), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(222), 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, + [18280] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(671), 1, + anon_sym_DASH_GT, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [18314] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(745), 1, + anon_sym_DASH_GT, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [18348] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(788), 1, + anon_sym_LPAREN, + ACTIONS(791), 1, + anon_sym_RPAREN, + ACTIONS(793), 1, + anon_sym_LBRACK, + ACTIONS(796), 1, + anon_sym_option, + STATE(371), 1, + aux_sym_type_repeat1, + STATE(379), 1, + sym_type, + ACTIONS(785), 10, + sym_identifier, + 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, + [18382] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(370), 1, + anon_sym_DASH_GT, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [18416] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(677), 1, + anon_sym_DASH_GT, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [18450] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(366), 1, + anon_sym_DASH_GT, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [18484] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(358), 1, + anon_sym_DASH, + ACTIONS(713), 1, + anon_sym_DASH_GT, + STATE(206), 1, + sym_logic_operator, + STATE(212), 1, + sym_math_operator, + ACTIONS(362), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(360), 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, + [18518] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(226), 2, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(224), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(222), 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, + [18544] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(799), 1, + anon_sym_RPAREN, + ACTIONS(272), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(270), 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, + [18569] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(801), 1, + anon_sym_RPAREN, + ACTIONS(272), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(270), 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, + [18594] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(807), 1, + anon_sym_COMMA, + ACTIONS(805), 3, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + ACTIONS(803), 11, + sym_identifier, + anon_sym_none, + anon_sym_any, + anon_sym_bool, + anon_sym_collection, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + anon_sym_option, + [18619] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(809), 1, + anon_sym_RPAREN, + ACTIONS(272), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(270), 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, + [18644] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(771), 1, + anon_sym_LPAREN, + ACTIONS(775), 1, + anon_sym_LBRACK, + ACTIONS(777), 1, + anon_sym_option, + STATE(468), 1, + sym_type, + ACTIONS(769), 10, + sym_identifier, + 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, + [18672] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(771), 1, + anon_sym_LPAREN, + ACTIONS(775), 1, + anon_sym_LBRACK, + ACTIONS(777), 1, + anon_sym_option, + STATE(466), 1, + sym_type, + ACTIONS(769), 10, + sym_identifier, + 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, + [18700] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(771), 1, + anon_sym_LPAREN, + ACTIONS(775), 1, + anon_sym_LBRACK, + ACTIONS(777), 1, + anon_sym_option, + STATE(351), 1, + sym_type, + ACTIONS(769), 10, + sym_identifier, + 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, + [18728] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(771), 1, + anon_sym_LPAREN, + ACTIONS(775), 1, + anon_sym_LBRACK, + ACTIONS(777), 1, + anon_sym_option, + STATE(465), 1, + sym_type, + ACTIONS(769), 10, + sym_identifier, + 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, + [18756] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(791), 3, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + ACTIONS(811), 11, + sym_identifier, + anon_sym_none, + anon_sym_any, + anon_sym_bool, + anon_sym_collection, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + anon_sym_option, + [18778] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(771), 1, + anon_sym_LPAREN, + ACTIONS(775), 1, + anon_sym_LBRACK, + ACTIONS(777), 1, + anon_sym_option, + STATE(353), 1, + sym_type, + ACTIONS(769), 10, + sym_identifier, + 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, + [18806] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(595), 1, + sym_identifier, + ACTIONS(656), 1, + anon_sym_elseif, + ACTIONS(813), 1, + anon_sym_else, + STATE(308), 1, + sym_else, + STATE(254), 2, + sym_else_if, + aux_sym_if_else_repeat1, + ACTIONS(593), 3, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + [18831] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(587), 1, + sym_identifier, + ACTIONS(656), 1, + anon_sym_elseif, + ACTIONS(813), 1, + anon_sym_else, + STATE(307), 1, + sym_else, + STATE(387), 2, + sym_else_if, + aux_sym_if_else_repeat1, + ACTIONS(585), 3, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + [18856] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(815), 2, + anon_sym_async, + sym_identifier, + ACTIONS(817), 7, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + [18873] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(819), 1, + anon_sym_EQ, + STATE(34), 1, + sym_assignment_operator, + ACTIONS(234), 2, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + [18887] = 3, + ACTIONS(3), 1, + sym__comment, + STATE(32), 1, + sym_assignment_operator, + ACTIONS(234), 3, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + [18899] = 3, + ACTIONS(3), 1, + sym__comment, + STATE(37), 1, + sym_assignment_operator, + ACTIONS(234), 3, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + [18911] = 3, + ACTIONS(3), 1, + sym__comment, + STATE(34), 1, + sym_assignment_operator, + ACTIONS(234), 3, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + [18923] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(821), 1, + sym_identifier, + ACTIONS(823), 1, + anon_sym_RBRACE, + STATE(430), 1, + aux_sym_map_repeat1, + [18936] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(825), 1, + anon_sym_EQ, + ACTIONS(827), 1, + anon_sym_LT, + STATE(480), 1, + sym_type_definition, + [18949] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(829), 1, + sym_identifier, + ACTIONS(831), 1, + anon_sym_RBRACE, + STATE(406), 1, + aux_sym_new_repeat1, + [18962] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(833), 1, + sym_identifier, + ACTIONS(836), 1, + anon_sym_RBRACE, + STATE(397), 1, + aux_sym_structure_repeat1, + [18975] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(838), 1, - anon_sym_COLON, - [17905] = 2, - ACTIONS(3), 1, - sym__comment, + sym_identifier, ACTIONS(840), 1, - anon_sym_LBRACE, - [17912] = 2, + anon_sym_RBRACE, + STATE(397), 1, + aux_sym_structure_repeat1, + [18988] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(842), 1, - anon_sym_LPAREN, - [17919] = 2, + ACTIONS(723), 1, + anon_sym_async, + ACTIONS(725), 1, + anon_sym_LBRACE, + STATE(271), 1, + sym_block, + [19001] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(844), 1, - anon_sym_LPAREN, - [17926] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(846), 1, + anon_sym_COMMA, + ACTIONS(842), 2, + anon_sym_RBRACE, sym_identifier, - [17933] = 2, + [19012] = 4, ACTIONS(3), 1, sym__comment, + ACTIONS(838), 1, + sym_identifier, + ACTIONS(846), 1, + anon_sym_RBRACE, + STATE(397), 1, + aux_sym_structure_repeat1, + [19025] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(827), 1, + anon_sym_LT, ACTIONS(848), 1, - anon_sym_GT, - [17940] = 2, + anon_sym_EQ, + STATE(453), 1, + sym_type_definition, + [19038] = 4, ACTIONS(3), 1, sym__comment, + ACTIONS(821), 1, + sym_identifier, ACTIONS(850), 1, - anon_sym_LBRACE, - [17947] = 2, + anon_sym_RBRACE, + STATE(430), 1, + aux_sym_map_repeat1, + [19051] = 4, ACTIONS(3), 1, sym__comment, + ACTIONS(829), 1, + sym_identifier, ACTIONS(852), 1, - anon_sym_in, - [17954] = 2, + anon_sym_RBRACE, + STATE(414), 1, + aux_sym_new_repeat1, + [19064] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(705), 1, + anon_sym_async, + ACTIONS(707), 1, + anon_sym_LBRACE, + STATE(83), 1, + sym_block, + [19077] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(854), 1, - anon_sym_LPAREN, - [17961] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(856), 1, - anon_sym_COLON, - [17968] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(858), 1, - anon_sym_EQ, - [17975] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(860), 1, - ts_builtin_sym_end, - [17982] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(862), 1, sym_identifier, - [17989] = 2, + ACTIONS(857), 1, + anon_sym_RBRACE, + STATE(406), 1, + aux_sym_new_repeat1, + [19090] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(864), 1, - anon_sym_LPAREN, - [17996] = 2, + ACTIONS(705), 1, + anon_sym_async, + ACTIONS(707), 1, + anon_sym_LBRACE, + STATE(55), 1, + sym_block, + [19103] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(866), 1, - anon_sym_LPAREN, - [18003] = 2, + ACTIONS(715), 1, + anon_sym_async, + ACTIONS(717), 1, + anon_sym_LBRACE, + STATE(110), 1, + sym_block, + [19116] = 4, ACTIONS(3), 1, sym__comment, + ACTIONS(829), 1, + sym_identifier, + ACTIONS(859), 1, + anon_sym_RBRACE, + STATE(406), 1, + aux_sym_new_repeat1, + [19129] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(838), 1, + sym_identifier, + ACTIONS(861), 1, + anon_sym_RBRACE, + STATE(401), 1, + aux_sym_structure_repeat1, + [19142] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(705), 1, + anon_sym_async, + ACTIONS(707), 1, + anon_sym_LBRACE, + STATE(244), 1, + sym_block, + [19155] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(821), 1, + sym_identifier, + ACTIONS(863), 1, + anon_sym_RBRACE, + STATE(430), 1, + aux_sym_map_repeat1, + [19168] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(865), 1, + sym_identifier, ACTIONS(868), 1, - sym_identifier, - [18010] = 2, + anon_sym_RPAREN, + STATE(413), 1, + aux_sym_function_repeat1, + [19181] = 4, ACTIONS(3), 1, sym__comment, + ACTIONS(829), 1, + sym_identifier, ACTIONS(870), 1, + anon_sym_RBRACE, + STATE(406), 1, + aux_sym_new_repeat1, + [19194] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(829), 1, + sym_identifier, + ACTIONS(872), 1, + anon_sym_RBRACE, + STATE(396), 1, + aux_sym_new_repeat1, + [19207] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(838), 1, + sym_identifier, + ACTIONS(874), 1, + anon_sym_RBRACE, + STATE(398), 1, + aux_sym_structure_repeat1, + [19220] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(829), 1, + sym_identifier, + ACTIONS(876), 1, + anon_sym_RBRACE, + STATE(409), 1, + aux_sym_new_repeat1, + [19233] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(838), 1, + sym_identifier, + ACTIONS(878), 1, + anon_sym_RBRACE, + STATE(397), 1, + aux_sym_structure_repeat1, + [19246] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(715), 1, + anon_sym_async, + ACTIONS(717), 1, + anon_sym_LBRACE, + STATE(299), 1, + sym_block, + [19259] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(838), 1, + sym_identifier, + ACTIONS(880), 1, + anon_sym_RBRACE, + STATE(418), 1, + aux_sym_structure_repeat1, + [19272] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(882), 1, + anon_sym_COMMA, + ACTIONS(868), 2, + anon_sym_RPAREN, + sym_identifier, + [19283] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(884), 1, + sym_identifier, + ACTIONS(886), 1, + anon_sym_RPAREN, + STATE(413), 1, + aux_sym_function_repeat1, + [19296] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(884), 1, + sym_identifier, + ACTIONS(888), 1, + anon_sym_RPAREN, + STATE(413), 1, + aux_sym_function_repeat1, + [19309] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(827), 1, + anon_sym_LT, + ACTIONS(890), 1, + anon_sym_EQ, + STATE(431), 1, + sym_type_definition, + [19322] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(723), 1, + anon_sym_async, + ACTIONS(725), 1, + anon_sym_LBRACE, + STATE(299), 1, + sym_block, + [19335] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(884), 1, + sym_identifier, + ACTIONS(892), 1, + anon_sym_RPAREN, + STATE(413), 1, + aux_sym_function_repeat1, + [19348] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(723), 1, + anon_sym_async, + ACTIONS(725), 1, + anon_sym_LBRACE, + STATE(280), 1, + sym_block, + [19361] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(896), 1, + anon_sym_COMMA, + ACTIONS(894), 2, + anon_sym_RBRACE, + sym_identifier, + [19372] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(715), 1, + anon_sym_async, + ACTIONS(717), 1, + anon_sym_LBRACE, + STATE(115), 1, + sym_block, + [19385] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(898), 1, + sym_identifier, + ACTIONS(901), 1, + anon_sym_RBRACE, + STATE(430), 1, + aux_sym_map_repeat1, + [19398] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(903), 1, + anon_sym_EQ, + ACTIONS(836), 2, + anon_sym_RBRACE, + sym_identifier, + [19409] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(821), 1, + sym_identifier, + STATE(412), 1, + aux_sym_map_repeat1, + [19419] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(894), 2, + anon_sym_RBRACE, + sym_identifier, + [19427] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(905), 2, + anon_sym_RBRACE, + sym_identifier, + [19435] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(298), 1, anon_sym_LPAREN, + ACTIONS(907), 1, + anon_sym_RPAREN, + [19445] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(827), 1, + anon_sym_LT, + STATE(421), 1, + sym_type_definition, + [19455] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(827), 1, + anon_sym_LT, + STATE(405), 1, + sym_type_definition, + [19465] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(298), 1, + anon_sym_LPAREN, + ACTIONS(909), 1, + anon_sym_RPAREN, + [19475] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(827), 1, + anon_sym_LT, + STATE(427), 1, + sym_type_definition, + [19485] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(911), 2, + anon_sym_RBRACE, + sym_identifier, + [19493] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(821), 1, + sym_identifier, + STATE(403), 1, + aux_sym_map_repeat1, + [19503] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(298), 1, + anon_sym_LPAREN, + ACTIONS(913), 1, + anon_sym_RPAREN, + [19513] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(827), 1, + anon_sym_LT, + STATE(407), 1, + sym_type_definition, + [19523] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(915), 2, + anon_sym_RBRACE, + sym_identifier, + [19531] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(917), 2, + anon_sym_RBRACE, + sym_identifier, + [19539] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(919), 2, + anon_sym_RPAREN, + sym_identifier, + [19547] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(827), 1, + anon_sym_LT, + STATE(429), 1, + sym_type_definition, + [19557] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(921), 2, + anon_sym_RBRACE, + sym_identifier, + [19565] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(827), 1, + anon_sym_LT, + STATE(399), 1, + sym_type_definition, + [19575] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(827), 1, + anon_sym_LT, + STATE(408), 1, + sym_type_definition, + [19585] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(821), 1, + sym_identifier, + STATE(394), 1, + aux_sym_map_repeat1, + [19595] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(923), 1, + anon_sym_COLON, + [19602] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(925), 1, + anon_sym_EQ, + [19609] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(927), 1, + anon_sym_LBRACE, + [19616] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(929), 1, + anon_sym_LBRACE, + [19623] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(931), 1, + anon_sym_LBRACE, + [19630] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(933), 1, + anon_sym_LPAREN, + [19637] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(935), 1, + anon_sym_LPAREN, + [19644] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(937), 1, + anon_sym_in, + [19651] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(939), 1, + anon_sym_COLON, + [19658] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(941), 1, + anon_sym_LBRACE, + [19665] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(943), 1, + anon_sym_LBRACE, + [19672] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(945), 1, + anon_sym_in, + [19679] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(947), 1, + anon_sym_COLON, + [19686] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(949), 1, + anon_sym_RPAREN, + [19693] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(951), 1, + anon_sym_RBRACK, + [19700] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(953), 1, + anon_sym_LPAREN, + [19707] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(955), 1, + anon_sym_GT, + [19714] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(957), 1, + anon_sym_in, + [19721] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(959), 1, + anon_sym_LBRACE, + [19728] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(961), 1, + anon_sym_LPAREN, + [19735] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(963), 1, + anon_sym_LBRACE, + [19742] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(965), 1, + anon_sym_LBRACE, + [19749] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(967), 1, + anon_sym_LBRACE, + [19756] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(969), 1, + anon_sym_LBRACE, + [19763] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(971), 1, + anon_sym_COLON, + [19770] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(973), 1, + sym_identifier, + [19777] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(757), 1, + anon_sym_EQ_GT, + [19784] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(975), 1, + sym_identifier, + [19791] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(977), 1, + anon_sym_EQ, + [19798] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(979), 1, + anon_sym_LPAREN, + [19805] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(981), 1, + anon_sym_COLON, + [19812] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(983), 1, + ts_builtin_sym_end, + [19819] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(985), 1, + sym_identifier, + [19826] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(987), 1, + anon_sym_COLON, + [19833] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(989), 1, + anon_sym_LPAREN, + [19840] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(991), 1, + sym_identifier, + [19847] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(993), 1, + anon_sym_COLON, + [19854] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(995), 1, + sym_identifier, + [19861] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(997), 1, + anon_sym_LPAREN, + [19868] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(999), 1, + sym_identifier, + [19875] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(1001), 1, + anon_sym_LBRACE, }; static const uint32_t ts_small_parse_table_map[] = { - [SMALL_STATE(44)] = 0, - [SMALL_STATE(45)] = 65, - [SMALL_STATE(46)] = 130, - [SMALL_STATE(47)] = 193, - [SMALL_STATE(48)] = 257, - [SMALL_STATE(49)] = 321, - [SMALL_STATE(50)] = 393, - [SMALL_STATE(51)] = 455, - [SMALL_STATE(52)] = 512, - [SMALL_STATE(53)] = 569, - [SMALL_STATE(54)] = 626, - [SMALL_STATE(55)] = 697, - [SMALL_STATE(56)] = 754, - [SMALL_STATE(57)] = 811, - [SMALL_STATE(58)] = 868, - [SMALL_STATE(59)] = 925, - [SMALL_STATE(60)] = 982, - [SMALL_STATE(61)] = 1041, - [SMALL_STATE(62)] = 1098, - [SMALL_STATE(63)] = 1155, - [SMALL_STATE(64)] = 1212, - [SMALL_STATE(65)] = 1271, - [SMALL_STATE(66)] = 1328, - [SMALL_STATE(67)] = 1385, - [SMALL_STATE(68)] = 1452, - [SMALL_STATE(69)] = 1513, - [SMALL_STATE(70)] = 1570, - [SMALL_STATE(71)] = 1627, - [SMALL_STATE(72)] = 1684, - [SMALL_STATE(73)] = 1741, - [SMALL_STATE(74)] = 1798, - [SMALL_STATE(75)] = 1855, - [SMALL_STATE(76)] = 1912, - [SMALL_STATE(77)] = 1969, - [SMALL_STATE(78)] = 2026, - [SMALL_STATE(79)] = 2083, - [SMALL_STATE(80)] = 2140, - [SMALL_STATE(81)] = 2200, - [SMALL_STATE(82)] = 2260, - [SMALL_STATE(83)] = 2320, - [SMALL_STATE(84)] = 2380, - [SMALL_STATE(85)] = 2450, - [SMALL_STATE(86)] = 2518, - [SMALL_STATE(87)] = 2576, - [SMALL_STATE(88)] = 2631, - [SMALL_STATE(89)] = 2690, - [SMALL_STATE(90)] = 2749, - [SMALL_STATE(91)] = 2806, - [SMALL_STATE(92)] = 2858, - [SMALL_STATE(93)] = 2910, - [SMALL_STATE(94)] = 2962, - [SMALL_STATE(95)] = 3014, - [SMALL_STATE(96)] = 3066, - [SMALL_STATE(97)] = 3118, - [SMALL_STATE(98)] = 3170, - [SMALL_STATE(99)] = 3222, - [SMALL_STATE(100)] = 3274, - [SMALL_STATE(101)] = 3328, - [SMALL_STATE(102)] = 3380, - [SMALL_STATE(103)] = 3432, - [SMALL_STATE(104)] = 3484, - [SMALL_STATE(105)] = 3536, - [SMALL_STATE(106)] = 3588, - [SMALL_STATE(107)] = 3640, - [SMALL_STATE(108)] = 3692, - [SMALL_STATE(109)] = 3744, - [SMALL_STATE(110)] = 3800, - [SMALL_STATE(111)] = 3852, - [SMALL_STATE(112)] = 3904, - [SMALL_STATE(113)] = 3956, - [SMALL_STATE(114)] = 4008, - [SMALL_STATE(115)] = 4060, - [SMALL_STATE(116)] = 4112, - [SMALL_STATE(117)] = 4166, - [SMALL_STATE(118)] = 4218, - [SMALL_STATE(119)] = 4283, - [SMALL_STATE(120)] = 4343, - [SMALL_STATE(121)] = 4398, - [SMALL_STATE(122)] = 4453, - [SMALL_STATE(123)] = 4503, - [SMALL_STATE(124)] = 4589, - [SMALL_STATE(125)] = 4675, - [SMALL_STATE(126)] = 4761, - [SMALL_STATE(127)] = 4846, - [SMALL_STATE(128)] = 4929, - [SMALL_STATE(129)] = 5012, - [SMALL_STATE(130)] = 5097, - [SMALL_STATE(131)] = 5160, - [SMALL_STATE(132)] = 5243, - [SMALL_STATE(133)] = 5328, - [SMALL_STATE(134)] = 5413, - [SMALL_STATE(135)] = 5496, - [SMALL_STATE(136)] = 5579, - [SMALL_STATE(137)] = 5662, - [SMALL_STATE(138)] = 5745, - [SMALL_STATE(139)] = 5828, - [SMALL_STATE(140)] = 5911, - [SMALL_STATE(141)] = 5972, - [SMALL_STATE(142)] = 6055, - [SMALL_STATE(143)] = 6140, - [SMALL_STATE(144)] = 6223, - [SMALL_STATE(145)] = 6306, - [SMALL_STATE(146)] = 6391, - [SMALL_STATE(147)] = 6476, - [SMALL_STATE(148)] = 6561, - [SMALL_STATE(149)] = 6644, - [SMALL_STATE(150)] = 6727, - [SMALL_STATE(151)] = 6810, - [SMALL_STATE(152)] = 6893, - [SMALL_STATE(153)] = 6976, - [SMALL_STATE(154)] = 7059, - [SMALL_STATE(155)] = 7142, - [SMALL_STATE(156)] = 7227, - [SMALL_STATE(157)] = 7289, - [SMALL_STATE(158)] = 7351, - [SMALL_STATE(159)] = 7428, - [SMALL_STATE(160)] = 7505, - [SMALL_STATE(161)] = 7582, - [SMALL_STATE(162)] = 7659, - [SMALL_STATE(163)] = 7734, - [SMALL_STATE(164)] = 7811, - [SMALL_STATE(165)] = 7888, - [SMALL_STATE(166)] = 7965, - [SMALL_STATE(167)] = 8042, - [SMALL_STATE(168)] = 8115, - [SMALL_STATE(169)] = 8192, - [SMALL_STATE(170)] = 8269, - [SMALL_STATE(171)] = 8346, - [SMALL_STATE(172)] = 8423, - [SMALL_STATE(173)] = 8500, - [SMALL_STATE(174)] = 8577, - [SMALL_STATE(175)] = 8652, - [SMALL_STATE(176)] = 8729, - [SMALL_STATE(177)] = 8802, - [SMALL_STATE(178)] = 8877, - [SMALL_STATE(179)] = 8954, - [SMALL_STATE(180)] = 9031, - [SMALL_STATE(181)] = 9108, - [SMALL_STATE(182)] = 9185, - [SMALL_STATE(183)] = 9262, - [SMALL_STATE(184)] = 9339, - [SMALL_STATE(185)] = 9416, - [SMALL_STATE(186)] = 9493, - [SMALL_STATE(187)] = 9570, - [SMALL_STATE(188)] = 9647, - [SMALL_STATE(189)] = 9724, - [SMALL_STATE(190)] = 9801, - [SMALL_STATE(191)] = 9878, - [SMALL_STATE(192)] = 9951, - [SMALL_STATE(193)] = 10024, - [SMALL_STATE(194)] = 10101, - [SMALL_STATE(195)] = 10176, - [SMALL_STATE(196)] = 10253, - [SMALL_STATE(197)] = 10330, - [SMALL_STATE(198)] = 10407, - [SMALL_STATE(199)] = 10484, - [SMALL_STATE(200)] = 10561, - [SMALL_STATE(201)] = 10638, - [SMALL_STATE(202)] = 10715, - [SMALL_STATE(203)] = 10792, - [SMALL_STATE(204)] = 10869, - [SMALL_STATE(205)] = 10946, - [SMALL_STATE(206)] = 11023, - [SMALL_STATE(207)] = 11100, - [SMALL_STATE(208)] = 11173, - [SMALL_STATE(209)] = 11250, - [SMALL_STATE(210)] = 11323, - [SMALL_STATE(211)] = 11400, - [SMALL_STATE(212)] = 11473, - [SMALL_STATE(213)] = 11524, - [SMALL_STATE(214)] = 11575, - [SMALL_STATE(215)] = 11621, - [SMALL_STATE(216)] = 11661, - [SMALL_STATE(217)] = 11701, - [SMALL_STATE(218)] = 11741, - [SMALL_STATE(219)] = 11781, - [SMALL_STATE(220)] = 11821, - [SMALL_STATE(221)] = 11859, - [SMALL_STATE(222)] = 11897, - [SMALL_STATE(223)] = 11935, - [SMALL_STATE(224)] = 11973, - [SMALL_STATE(225)] = 12011, - [SMALL_STATE(226)] = 12049, - [SMALL_STATE(227)] = 12087, - [SMALL_STATE(228)] = 12125, - [SMALL_STATE(229)] = 12163, - [SMALL_STATE(230)] = 12201, - [SMALL_STATE(231)] = 12241, - [SMALL_STATE(232)] = 12279, - [SMALL_STATE(233)] = 12317, - [SMALL_STATE(234)] = 12358, - [SMALL_STATE(235)] = 12417, - [SMALL_STATE(236)] = 12476, - [SMALL_STATE(237)] = 12535, - [SMALL_STATE(238)] = 12578, - [SMALL_STATE(239)] = 12637, - [SMALL_STATE(240)] = 12680, - [SMALL_STATE(241)] = 12725, - [SMALL_STATE(242)] = 12784, - [SMALL_STATE(243)] = 12843, - [SMALL_STATE(244)] = 12902, - [SMALL_STATE(245)] = 12947, - [SMALL_STATE(246)] = 12985, - [SMALL_STATE(247)] = 13021, - [SMALL_STATE(248)] = 13057, - [SMALL_STATE(249)] = 13097, - [SMALL_STATE(250)] = 13133, - [SMALL_STATE(251)] = 13173, - [SMALL_STATE(252)] = 13209, - [SMALL_STATE(253)] = 13245, - [SMALL_STATE(254)] = 13281, - [SMALL_STATE(255)] = 13317, - [SMALL_STATE(256)] = 13353, - [SMALL_STATE(257)] = 13389, - [SMALL_STATE(258)] = 13425, - [SMALL_STATE(259)] = 13461, - [SMALL_STATE(260)] = 13497, - [SMALL_STATE(261)] = 13533, - [SMALL_STATE(262)] = 13569, - [SMALL_STATE(263)] = 13605, - [SMALL_STATE(264)] = 13641, - [SMALL_STATE(265)] = 13677, - [SMALL_STATE(266)] = 13713, - [SMALL_STATE(267)] = 13753, - [SMALL_STATE(268)] = 13789, - [SMALL_STATE(269)] = 13825, - [SMALL_STATE(270)] = 13861, - [SMALL_STATE(271)] = 13897, - [SMALL_STATE(272)] = 13939, - [SMALL_STATE(273)] = 13975, - [SMALL_STATE(274)] = 14017, - [SMALL_STATE(275)] = 14053, - [SMALL_STATE(276)] = 14088, - [SMALL_STATE(277)] = 14125, - [SMALL_STATE(278)] = 14159, - [SMALL_STATE(279)] = 14193, - [SMALL_STATE(280)] = 14227, - [SMALL_STATE(281)] = 14261, - [SMALL_STATE(282)] = 14295, - [SMALL_STATE(283)] = 14342, - [SMALL_STATE(284)] = 14374, - [SMALL_STATE(285)] = 14406, - [SMALL_STATE(286)] = 14438, - [SMALL_STATE(287)] = 14470, - [SMALL_STATE(288)] = 14502, - [SMALL_STATE(289)] = 14534, - [SMALL_STATE(290)] = 14568, - [SMALL_STATE(291)] = 14600, - [SMALL_STATE(292)] = 14632, - [SMALL_STATE(293)] = 14666, - [SMALL_STATE(294)] = 14698, - [SMALL_STATE(295)] = 14730, - [SMALL_STATE(296)] = 14762, - [SMALL_STATE(297)] = 14804, - [SMALL_STATE(298)] = 14836, - [SMALL_STATE(299)] = 14869, - [SMALL_STATE(300)] = 14906, - [SMALL_STATE(301)] = 14943, - [SMALL_STATE(302)] = 14973, - [SMALL_STATE(303)] = 15002, - [SMALL_STATE(304)] = 15031, - [SMALL_STATE(305)] = 15063, - [SMALL_STATE(306)] = 15091, - [SMALL_STATE(307)] = 15119, - [SMALL_STATE(308)] = 15161, - [SMALL_STATE(309)] = 15195, - [SMALL_STATE(310)] = 15229, - [SMALL_STATE(311)] = 15269, - [SMALL_STATE(312)] = 15302, - [SMALL_STATE(313)] = 15345, - [SMALL_STATE(314)] = 15388, - [SMALL_STATE(315)] = 15431, - [SMALL_STATE(316)] = 15462, - [SMALL_STATE(317)] = 15505, - [SMALL_STATE(318)] = 15548, - [SMALL_STATE(319)] = 15591, - [SMALL_STATE(320)] = 15634, - [SMALL_STATE(321)] = 15667, - [SMALL_STATE(322)] = 15710, - [SMALL_STATE(323)] = 15753, - [SMALL_STATE(324)] = 15796, - [SMALL_STATE(325)] = 15824, - [SMALL_STATE(326)] = 15854, - [SMALL_STATE(327)] = 15882, - [SMALL_STATE(328)] = 15908, - [SMALL_STATE(329)] = 15934, - [SMALL_STATE(330)] = 15968, - [SMALL_STATE(331)] = 15991, - [SMALL_STATE(332)] = 16022, - [SMALL_STATE(333)] = 16059, - [SMALL_STATE(334)] = 16090, - [SMALL_STATE(335)] = 16113, - [SMALL_STATE(336)] = 16150, - [SMALL_STATE(337)] = 16187, - [SMALL_STATE(338)] = 16210, - [SMALL_STATE(339)] = 16247, - [SMALL_STATE(340)] = 16284, - [SMALL_STATE(341)] = 16321, - [SMALL_STATE(342)] = 16344, - [SMALL_STATE(343)] = 16378, - [SMALL_STATE(344)] = 16412, - [SMALL_STATE(345)] = 16448, - [SMALL_STATE(346)] = 16482, - [SMALL_STATE(347)] = 16510, - [SMALL_STATE(348)] = 16546, - [SMALL_STATE(349)] = 16580, - [SMALL_STATE(350)] = 16614, - [SMALL_STATE(351)] = 16640, - [SMALL_STATE(352)] = 16674, - [SMALL_STATE(353)] = 16702, - [SMALL_STATE(354)] = 16730, - [SMALL_STATE(355)] = 16764, - [SMALL_STATE(356)] = 16798, - [SMALL_STATE(357)] = 16832, - [SMALL_STATE(358)] = 16866, - [SMALL_STATE(359)] = 16900, - [SMALL_STATE(360)] = 16936, - [SMALL_STATE(361)] = 16970, - [SMALL_STATE(362)] = 16993, - [SMALL_STATE(363)] = 17018, - [SMALL_STATE(364)] = 17043, - [SMALL_STATE(365)] = 17068, - [SMALL_STATE(366)] = 17098, - [SMALL_STATE(367)] = 17128, - [SMALL_STATE(368)] = 17158, - [SMALL_STATE(369)] = 17188, - [SMALL_STATE(370)] = 17218, - [SMALL_STATE(371)] = 17238, - [SMALL_STATE(372)] = 17255, - [SMALL_STATE(373)] = 17280, - [SMALL_STATE(374)] = 17305, - [SMALL_STATE(375)] = 17317, - [SMALL_STATE(376)] = 17329, - [SMALL_STATE(377)] = 17341, - [SMALL_STATE(378)] = 17355, - [SMALL_STATE(379)] = 17368, - [SMALL_STATE(380)] = 17381, - [SMALL_STATE(381)] = 17394, - [SMALL_STATE(382)] = 17407, - [SMALL_STATE(383)] = 17420, - [SMALL_STATE(384)] = 17431, - [SMALL_STATE(385)] = 17444, - [SMALL_STATE(386)] = 17457, - [SMALL_STATE(387)] = 17470, - [SMALL_STATE(388)] = 17481, - [SMALL_STATE(389)] = 17494, - [SMALL_STATE(390)] = 17507, - [SMALL_STATE(391)] = 17520, - [SMALL_STATE(392)] = 17533, - [SMALL_STATE(393)] = 17544, - [SMALL_STATE(394)] = 17557, - [SMALL_STATE(395)] = 17570, - [SMALL_STATE(396)] = 17583, - [SMALL_STATE(397)] = 17596, - [SMALL_STATE(398)] = 17609, - [SMALL_STATE(399)] = 17622, - [SMALL_STATE(400)] = 17630, - [SMALL_STATE(401)] = 17640, - [SMALL_STATE(402)] = 17650, - [SMALL_STATE(403)] = 17660, - [SMALL_STATE(404)] = 17670, - [SMALL_STATE(405)] = 17680, - [SMALL_STATE(406)] = 17690, - [SMALL_STATE(407)] = 17700, - [SMALL_STATE(408)] = 17708, - [SMALL_STATE(409)] = 17718, - [SMALL_STATE(410)] = 17728, - [SMALL_STATE(411)] = 17738, - [SMALL_STATE(412)] = 17748, - [SMALL_STATE(413)] = 17756, - [SMALL_STATE(414)] = 17766, - [SMALL_STATE(415)] = 17776, - [SMALL_STATE(416)] = 17786, - [SMALL_STATE(417)] = 17793, - [SMALL_STATE(418)] = 17800, - [SMALL_STATE(419)] = 17807, - [SMALL_STATE(420)] = 17814, - [SMALL_STATE(421)] = 17821, - [SMALL_STATE(422)] = 17828, - [SMALL_STATE(423)] = 17835, - [SMALL_STATE(424)] = 17842, - [SMALL_STATE(425)] = 17849, - [SMALL_STATE(426)] = 17856, - [SMALL_STATE(427)] = 17863, - [SMALL_STATE(428)] = 17870, - [SMALL_STATE(429)] = 17877, - [SMALL_STATE(430)] = 17884, - [SMALL_STATE(431)] = 17891, - [SMALL_STATE(432)] = 17898, - [SMALL_STATE(433)] = 17905, - [SMALL_STATE(434)] = 17912, - [SMALL_STATE(435)] = 17919, - [SMALL_STATE(436)] = 17926, - [SMALL_STATE(437)] = 17933, - [SMALL_STATE(438)] = 17940, - [SMALL_STATE(439)] = 17947, - [SMALL_STATE(440)] = 17954, - [SMALL_STATE(441)] = 17961, - [SMALL_STATE(442)] = 17968, - [SMALL_STATE(443)] = 17975, - [SMALL_STATE(444)] = 17982, - [SMALL_STATE(445)] = 17989, - [SMALL_STATE(446)] = 17996, - [SMALL_STATE(447)] = 18003, - [SMALL_STATE(448)] = 18010, + [SMALL_STATE(48)] = 0, + [SMALL_STATE(49)] = 67, + [SMALL_STATE(50)] = 132, + [SMALL_STATE(51)] = 199, + [SMALL_STATE(52)] = 273, + [SMALL_STATE(53)] = 339, + [SMALL_STATE(54)] = 405, + [SMALL_STATE(55)] = 469, + [SMALL_STATE(56)] = 528, + [SMALL_STATE(57)] = 587, + [SMALL_STATE(58)] = 646, + [SMALL_STATE(59)] = 705, + [SMALL_STATE(60)] = 764, + [SMALL_STATE(61)] = 823, + [SMALL_STATE(62)] = 882, + [SMALL_STATE(63)] = 941, + [SMALL_STATE(64)] = 1000, + [SMALL_STATE(65)] = 1059, + [SMALL_STATE(66)] = 1118, + [SMALL_STATE(67)] = 1177, + [SMALL_STATE(68)] = 1236, + [SMALL_STATE(69)] = 1295, + [SMALL_STATE(70)] = 1356, + [SMALL_STATE(71)] = 1415, + [SMALL_STATE(72)] = 1474, + [SMALL_STATE(73)] = 1547, + [SMALL_STATE(74)] = 1606, + [SMALL_STATE(75)] = 1665, + [SMALL_STATE(76)] = 1726, + [SMALL_STATE(77)] = 1785, + [SMALL_STATE(78)] = 1844, + [SMALL_STATE(79)] = 1903, + [SMALL_STATE(80)] = 1962, + [SMALL_STATE(81)] = 2021, + [SMALL_STATE(82)] = 2080, + [SMALL_STATE(83)] = 2139, + [SMALL_STATE(84)] = 2198, + [SMALL_STATE(85)] = 2267, + [SMALL_STATE(86)] = 2326, + [SMALL_STATE(87)] = 2385, + [SMALL_STATE(88)] = 2448, + [SMALL_STATE(89)] = 2518, + [SMALL_STATE(90)] = 2578, + [SMALL_STATE(91)] = 2640, + [SMALL_STATE(92)] = 2702, + [SMALL_STATE(93)] = 2774, + [SMALL_STATE(94)] = 2836, + [SMALL_STATE(95)] = 2898, + [SMALL_STATE(96)] = 2959, + [SMALL_STATE(97)] = 3016, + [SMALL_STATE(98)] = 3075, + [SMALL_STATE(99)] = 3136, + [SMALL_STATE(100)] = 3190, + [SMALL_STATE(101)] = 3244, + [SMALL_STATE(102)] = 3298, + [SMALL_STATE(103)] = 3352, + [SMALL_STATE(104)] = 3406, + [SMALL_STATE(105)] = 3460, + [SMALL_STATE(106)] = 3514, + [SMALL_STATE(107)] = 3568, + [SMALL_STATE(108)] = 3622, + [SMALL_STATE(109)] = 3678, + [SMALL_STATE(110)] = 3732, + [SMALL_STATE(111)] = 3786, + [SMALL_STATE(112)] = 3840, + [SMALL_STATE(113)] = 3894, + [SMALL_STATE(114)] = 3948, + [SMALL_STATE(115)] = 4002, + [SMALL_STATE(116)] = 4056, + [SMALL_STATE(117)] = 4110, + [SMALL_STATE(118)] = 4164, + [SMALL_STATE(119)] = 4218, + [SMALL_STATE(120)] = 4274, + [SMALL_STATE(121)] = 4328, + [SMALL_STATE(122)] = 4382, + [SMALL_STATE(123)] = 4436, + [SMALL_STATE(124)] = 4490, + [SMALL_STATE(125)] = 4544, + [SMALL_STATE(126)] = 4598, + [SMALL_STATE(127)] = 4656, + [SMALL_STATE(128)] = 4710, + [SMALL_STATE(129)] = 4764, + [SMALL_STATE(130)] = 4818, + [SMALL_STATE(131)] = 4885, + [SMALL_STATE(132)] = 4979, + [SMALL_STATE(133)] = 5073, + [SMALL_STATE(134)] = 5167, + [SMALL_STATE(135)] = 5229, + [SMALL_STATE(136)] = 5320, + [SMALL_STATE(137)] = 5411, + [SMALL_STATE(138)] = 5504, + [SMALL_STATE(139)] = 5595, + [SMALL_STATE(140)] = 5686, + [SMALL_STATE(141)] = 5777, + [SMALL_STATE(142)] = 5868, + [SMALL_STATE(143)] = 5961, + [SMALL_STATE(144)] = 6052, + [SMALL_STATE(145)] = 6109, + [SMALL_STATE(146)] = 6166, + [SMALL_STATE(147)] = 6257, + [SMALL_STATE(148)] = 6350, + [SMALL_STATE(149)] = 6441, + [SMALL_STATE(150)] = 6532, + [SMALL_STATE(151)] = 6625, + [SMALL_STATE(152)] = 6716, + [SMALL_STATE(153)] = 6807, + [SMALL_STATE(154)] = 6898, + [SMALL_STATE(155)] = 6991, + [SMALL_STATE(156)] = 7082, + [SMALL_STATE(157)] = 7175, + [SMALL_STATE(158)] = 7266, + [SMALL_STATE(159)] = 7359, + [SMALL_STATE(160)] = 7452, + [SMALL_STATE(161)] = 7543, + [SMALL_STATE(162)] = 7634, + [SMALL_STATE(163)] = 7727, + [SMALL_STATE(164)] = 7818, + [SMALL_STATE(165)] = 7909, + [SMALL_STATE(166)] = 7961, + [SMALL_STATE(167)] = 8046, + [SMALL_STATE(168)] = 8131, + [SMALL_STATE(169)] = 8216, + [SMALL_STATE(170)] = 8301, + [SMALL_STATE(171)] = 8386, + [SMALL_STATE(172)] = 8467, + [SMALL_STATE(173)] = 8552, + [SMALL_STATE(174)] = 8633, + [SMALL_STATE(175)] = 8718, + [SMALL_STATE(176)] = 8803, + [SMALL_STATE(177)] = 8888, + [SMALL_STATE(178)] = 8973, + [SMALL_STATE(179)] = 9058, + [SMALL_STATE(180)] = 9139, + [SMALL_STATE(181)] = 9220, + [SMALL_STATE(182)] = 9305, + [SMALL_STATE(183)] = 9390, + [SMALL_STATE(184)] = 9475, + [SMALL_STATE(185)] = 9560, + [SMALL_STATE(186)] = 9645, + [SMALL_STATE(187)] = 9730, + [SMALL_STATE(188)] = 9815, + [SMALL_STATE(189)] = 9896, + [SMALL_STATE(190)] = 9977, + [SMALL_STATE(191)] = 10062, + [SMALL_STATE(192)] = 10147, + [SMALL_STATE(193)] = 10232, + [SMALL_STATE(194)] = 10315, + [SMALL_STATE(195)] = 10400, + [SMALL_STATE(196)] = 10485, + [SMALL_STATE(197)] = 10548, + [SMALL_STATE(198)] = 10633, + [SMALL_STATE(199)] = 10716, + [SMALL_STATE(200)] = 10801, + [SMALL_STATE(201)] = 10886, + [SMALL_STATE(202)] = 10951, + [SMALL_STATE(203)] = 11036, + [SMALL_STATE(204)] = 11121, + [SMALL_STATE(205)] = 11206, + [SMALL_STATE(206)] = 11289, + [SMALL_STATE(207)] = 11374, + [SMALL_STATE(208)] = 11457, + [SMALL_STATE(209)] = 11542, + [SMALL_STATE(210)] = 11627, + [SMALL_STATE(211)] = 11712, + [SMALL_STATE(212)] = 11797, + [SMALL_STATE(213)] = 11882, + [SMALL_STATE(214)] = 11967, + [SMALL_STATE(215)] = 12052, + [SMALL_STATE(216)] = 12137, + [SMALL_STATE(217)] = 12222, + [SMALL_STATE(218)] = 12307, + [SMALL_STATE(219)] = 12392, + [SMALL_STATE(220)] = 12477, + [SMALL_STATE(221)] = 12562, + [SMALL_STATE(222)] = 12643, + [SMALL_STATE(223)] = 12707, + [SMALL_STATE(224)] = 12771, + [SMALL_STATE(225)] = 12824, + [SMALL_STATE(226)] = 12877, + [SMALL_STATE(227)] = 12925, + [SMALL_STATE(228)] = 12967, + [SMALL_STATE(229)] = 13009, + [SMALL_STATE(230)] = 13051, + [SMALL_STATE(231)] = 13093, + [SMALL_STATE(232)] = 13135, + [SMALL_STATE(233)] = 13175, + [SMALL_STATE(234)] = 13215, + [SMALL_STATE(235)] = 13255, + [SMALL_STATE(236)] = 13295, + [SMALL_STATE(237)] = 13335, + [SMALL_STATE(238)] = 13375, + [SMALL_STATE(239)] = 13415, + [SMALL_STATE(240)] = 13455, + [SMALL_STATE(241)] = 13497, + [SMALL_STATE(242)] = 13537, + [SMALL_STATE(243)] = 13577, + [SMALL_STATE(244)] = 13617, + [SMALL_STATE(245)] = 13657, + [SMALL_STATE(246)] = 13720, + [SMALL_STATE(247)] = 13767, + [SMALL_STATE(248)] = 13830, + [SMALL_STATE(249)] = 13893, + [SMALL_STATE(250)] = 13956, + [SMALL_STATE(251)] = 14003, + [SMALL_STATE(252)] = 14066, + [SMALL_STATE(253)] = 14129, + [SMALL_STATE(254)] = 14192, + [SMALL_STATE(255)] = 14234, + [SMALL_STATE(256)] = 14277, + [SMALL_STATE(257)] = 14320, + [SMALL_STATE(258)] = 14361, + [SMALL_STATE(259)] = 14398, + [SMALL_STATE(260)] = 14434, + [SMALL_STATE(261)] = 14470, + [SMALL_STATE(262)] = 14506, + [SMALL_STATE(263)] = 14548, + [SMALL_STATE(264)] = 14590, + [SMALL_STATE(265)] = 14626, + [SMALL_STATE(266)] = 14666, + [SMALL_STATE(267)] = 14702, + [SMALL_STATE(268)] = 14738, + [SMALL_STATE(269)] = 14774, + [SMALL_STATE(270)] = 14810, + [SMALL_STATE(271)] = 14846, + [SMALL_STATE(272)] = 14882, + [SMALL_STATE(273)] = 14918, + [SMALL_STATE(274)] = 14958, + [SMALL_STATE(275)] = 14994, + [SMALL_STATE(276)] = 15030, + [SMALL_STATE(277)] = 15066, + [SMALL_STATE(278)] = 15104, + [SMALL_STATE(279)] = 15140, + [SMALL_STATE(280)] = 15176, + [SMALL_STATE(281)] = 15212, + [SMALL_STATE(282)] = 15248, + [SMALL_STATE(283)] = 15284, + [SMALL_STATE(284)] = 15320, + [SMALL_STATE(285)] = 15356, + [SMALL_STATE(286)] = 15392, + [SMALL_STATE(287)] = 15428, + [SMALL_STATE(288)] = 15464, + [SMALL_STATE(289)] = 15500, + [SMALL_STATE(290)] = 15536, + [SMALL_STATE(291)] = 15572, + [SMALL_STATE(292)] = 15608, + [SMALL_STATE(293)] = 15644, + [SMALL_STATE(294)] = 15680, + [SMALL_STATE(295)] = 15716, + [SMALL_STATE(296)] = 15752, + [SMALL_STATE(297)] = 15788, + [SMALL_STATE(298)] = 15825, + [SMALL_STATE(299)] = 15859, + [SMALL_STATE(300)] = 15893, + [SMALL_STATE(301)] = 15929, + [SMALL_STATE(302)] = 15963, + [SMALL_STATE(303)] = 15997, + [SMALL_STATE(304)] = 16031, + [SMALL_STATE(305)] = 16065, + [SMALL_STATE(306)] = 16099, + [SMALL_STATE(307)] = 16133, + [SMALL_STATE(308)] = 16167, + [SMALL_STATE(309)] = 16201, + [SMALL_STATE(310)] = 16235, + [SMALL_STATE(311)] = 16269, + [SMALL_STATE(312)] = 16316, + [SMALL_STATE(313)] = 16351, + [SMALL_STATE(314)] = 16383, + [SMALL_STATE(315)] = 16425, + [SMALL_STATE(316)] = 16459, + [SMALL_STATE(317)] = 16496, + [SMALL_STATE(318)] = 16533, + [SMALL_STATE(319)] = 16564, + [SMALL_STATE(320)] = 16595, + [SMALL_STATE(321)] = 16625, + [SMALL_STATE(322)] = 16655, + [SMALL_STATE(323)] = 16687, + [SMALL_STATE(324)] = 16729, + [SMALL_STATE(325)] = 16769, + [SMALL_STATE(326)] = 16803, + [SMALL_STATE(327)] = 16837, + [SMALL_STATE(328)] = 16880, + [SMALL_STATE(329)] = 16923, + [SMALL_STATE(330)] = 16954, + [SMALL_STATE(331)] = 16987, + [SMALL_STATE(332)] = 17030, + [SMALL_STATE(333)] = 17063, + [SMALL_STATE(334)] = 17106, + [SMALL_STATE(335)] = 17149, + [SMALL_STATE(336)] = 17192, + [SMALL_STATE(337)] = 17235, + [SMALL_STATE(338)] = 17278, + [SMALL_STATE(339)] = 17321, + [SMALL_STATE(340)] = 17364, + [SMALL_STATE(341)] = 17392, + [SMALL_STATE(342)] = 17420, + [SMALL_STATE(343)] = 17454, + [SMALL_STATE(344)] = 17482, + [SMALL_STATE(345)] = 17512, + [SMALL_STATE(346)] = 17540, + [SMALL_STATE(347)] = 17577, + [SMALL_STATE(348)] = 17614, + [SMALL_STATE(349)] = 17651, + [SMALL_STATE(350)] = 17682, + [SMALL_STATE(351)] = 17707, + [SMALL_STATE(352)] = 17732, + [SMALL_STATE(353)] = 17769, + [SMALL_STATE(354)] = 17794, + [SMALL_STATE(355)] = 17831, + [SMALL_STATE(356)] = 17868, + [SMALL_STATE(357)] = 17893, + [SMALL_STATE(358)] = 17924, + [SMALL_STATE(359)] = 17952, + [SMALL_STATE(360)] = 17986, + [SMALL_STATE(361)] = 18020, + [SMALL_STATE(362)] = 18054, + [SMALL_STATE(363)] = 18088, + [SMALL_STATE(364)] = 18122, + [SMALL_STATE(365)] = 18156, + [SMALL_STATE(366)] = 18184, + [SMALL_STATE(367)] = 18218, + [SMALL_STATE(368)] = 18252, + [SMALL_STATE(369)] = 18280, + [SMALL_STATE(370)] = 18314, + [SMALL_STATE(371)] = 18348, + [SMALL_STATE(372)] = 18382, + [SMALL_STATE(373)] = 18416, + [SMALL_STATE(374)] = 18450, + [SMALL_STATE(375)] = 18484, + [SMALL_STATE(376)] = 18518, + [SMALL_STATE(377)] = 18544, + [SMALL_STATE(378)] = 18569, + [SMALL_STATE(379)] = 18594, + [SMALL_STATE(380)] = 18619, + [SMALL_STATE(381)] = 18644, + [SMALL_STATE(382)] = 18672, + [SMALL_STATE(383)] = 18700, + [SMALL_STATE(384)] = 18728, + [SMALL_STATE(385)] = 18756, + [SMALL_STATE(386)] = 18778, + [SMALL_STATE(387)] = 18806, + [SMALL_STATE(388)] = 18831, + [SMALL_STATE(389)] = 18856, + [SMALL_STATE(390)] = 18873, + [SMALL_STATE(391)] = 18887, + [SMALL_STATE(392)] = 18899, + [SMALL_STATE(393)] = 18911, + [SMALL_STATE(394)] = 18923, + [SMALL_STATE(395)] = 18936, + [SMALL_STATE(396)] = 18949, + [SMALL_STATE(397)] = 18962, + [SMALL_STATE(398)] = 18975, + [SMALL_STATE(399)] = 18988, + [SMALL_STATE(400)] = 19001, + [SMALL_STATE(401)] = 19012, + [SMALL_STATE(402)] = 19025, + [SMALL_STATE(403)] = 19038, + [SMALL_STATE(404)] = 19051, + [SMALL_STATE(405)] = 19064, + [SMALL_STATE(406)] = 19077, + [SMALL_STATE(407)] = 19090, + [SMALL_STATE(408)] = 19103, + [SMALL_STATE(409)] = 19116, + [SMALL_STATE(410)] = 19129, + [SMALL_STATE(411)] = 19142, + [SMALL_STATE(412)] = 19155, + [SMALL_STATE(413)] = 19168, + [SMALL_STATE(414)] = 19181, + [SMALL_STATE(415)] = 19194, + [SMALL_STATE(416)] = 19207, + [SMALL_STATE(417)] = 19220, + [SMALL_STATE(418)] = 19233, + [SMALL_STATE(419)] = 19246, + [SMALL_STATE(420)] = 19259, + [SMALL_STATE(421)] = 19272, + [SMALL_STATE(422)] = 19283, + [SMALL_STATE(423)] = 19296, + [SMALL_STATE(424)] = 19309, + [SMALL_STATE(425)] = 19322, + [SMALL_STATE(426)] = 19335, + [SMALL_STATE(427)] = 19348, + [SMALL_STATE(428)] = 19361, + [SMALL_STATE(429)] = 19372, + [SMALL_STATE(430)] = 19385, + [SMALL_STATE(431)] = 19398, + [SMALL_STATE(432)] = 19409, + [SMALL_STATE(433)] = 19419, + [SMALL_STATE(434)] = 19427, + [SMALL_STATE(435)] = 19435, + [SMALL_STATE(436)] = 19445, + [SMALL_STATE(437)] = 19455, + [SMALL_STATE(438)] = 19465, + [SMALL_STATE(439)] = 19475, + [SMALL_STATE(440)] = 19485, + [SMALL_STATE(441)] = 19493, + [SMALL_STATE(442)] = 19503, + [SMALL_STATE(443)] = 19513, + [SMALL_STATE(444)] = 19523, + [SMALL_STATE(445)] = 19531, + [SMALL_STATE(446)] = 19539, + [SMALL_STATE(447)] = 19547, + [SMALL_STATE(448)] = 19557, + [SMALL_STATE(449)] = 19565, + [SMALL_STATE(450)] = 19575, + [SMALL_STATE(451)] = 19585, + [SMALL_STATE(452)] = 19595, + [SMALL_STATE(453)] = 19602, + [SMALL_STATE(454)] = 19609, + [SMALL_STATE(455)] = 19616, + [SMALL_STATE(456)] = 19623, + [SMALL_STATE(457)] = 19630, + [SMALL_STATE(458)] = 19637, + [SMALL_STATE(459)] = 19644, + [SMALL_STATE(460)] = 19651, + [SMALL_STATE(461)] = 19658, + [SMALL_STATE(462)] = 19665, + [SMALL_STATE(463)] = 19672, + [SMALL_STATE(464)] = 19679, + [SMALL_STATE(465)] = 19686, + [SMALL_STATE(466)] = 19693, + [SMALL_STATE(467)] = 19700, + [SMALL_STATE(468)] = 19707, + [SMALL_STATE(469)] = 19714, + [SMALL_STATE(470)] = 19721, + [SMALL_STATE(471)] = 19728, + [SMALL_STATE(472)] = 19735, + [SMALL_STATE(473)] = 19742, + [SMALL_STATE(474)] = 19749, + [SMALL_STATE(475)] = 19756, + [SMALL_STATE(476)] = 19763, + [SMALL_STATE(477)] = 19770, + [SMALL_STATE(478)] = 19777, + [SMALL_STATE(479)] = 19784, + [SMALL_STATE(480)] = 19791, + [SMALL_STATE(481)] = 19798, + [SMALL_STATE(482)] = 19805, + [SMALL_STATE(483)] = 19812, + [SMALL_STATE(484)] = 19819, + [SMALL_STATE(485)] = 19826, + [SMALL_STATE(486)] = 19833, + [SMALL_STATE(487)] = 19840, + [SMALL_STATE(488)] = 19847, + [SMALL_STATE(489)] = 19854, + [SMALL_STATE(490)] = 19861, + [SMALL_STATE(491)] = 19868, + [SMALL_STATE(492)] = 19875, }; 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(49), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(427), + [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(462), [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(448), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(197), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(195), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(190), - [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(444), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(444), - [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), - [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), - [39] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), - [41] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(49), - [44] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(132), - [47] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(427), - [50] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(4), - [53] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(72), - [56] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(72), - [59] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(75), - [62] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(135), - [65] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(52), - [68] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(448), - [71] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(197), - [74] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(195), - [77] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(190), - [80] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(444), - [83] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(444), - [86] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(40), - [89] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(73), - [92] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), - [94] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [96] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), - [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), - [102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), - [104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), - [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), - [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), - [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), - [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), - [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root, 1), - [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), - [126] = {.entry = {.count = 1, .reusable = false}}, SHIFT(282), - [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(417), - [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [134] = {.entry = {.count = 1, .reusable = false}}, SHIFT(269), - [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), - [138] = {.entry = {.count = 1, .reusable = false}}, SHIFT(268), - [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [142] = {.entry = {.count = 1, .reusable = false}}, SHIFT(267), - [144] = {.entry = {.count = 1, .reusable = false}}, SHIFT(435), - [146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(181), - [148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(173), - [150] = {.entry = {.count = 1, .reusable = false}}, SHIFT(179), - [152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(436), - [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436), - [156] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), - [158] = {.entry = {.count = 1, .reusable = false}}, SHIFT(246), - [160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), - [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [164] = {.entry = {.count = 1, .reusable = false}}, SHIFT(431), - [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [168] = {.entry = {.count = 1, .reusable = false}}, SHIFT(95), - [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [172] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94), - [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), - [176] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), - [178] = {.entry = {.count = 1, .reusable = false}}, SHIFT(446), - [180] = {.entry = {.count = 1, .reusable = false}}, SHIFT(171), - [182] = {.entry = {.count = 1, .reusable = false}}, SHIFT(447), - [184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), - [186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), - [188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(108), - [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic, 3), - [192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic, 3), - [194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), - [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math, 3), - [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_math, 3), - [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 5), - [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 5), - [204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), - [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_kind, 1), - [208] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_kind, 1), - [210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_expression_kind, 1), - [212] = {.entry = {.count = 1, .reusable = false}}, SHIFT(275), - [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression, 1), - [216] = {.entry = {.count = 1, .reusable = false}}, SHIFT(368), - [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), - [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4), - [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4), - [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_option, 1), - [226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_option, 1), - [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2), - [230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2), - [232] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), - [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4), - [236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 4), - [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 3), - [240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 3), - [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_option, 4), - [244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_option, 4), - [246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 4), - [248] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 4), - [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 2), - [252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 2), - [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 1), - [256] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 1), - [258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3), - [260] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3), - [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 6), - [264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 6), - [266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), - [268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_expression, 1), - [270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 3), - [272] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 3), - [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3), - [276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3), - [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 5), - [280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 5), - [282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), - [284] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), - [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1), - [288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1), - [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_built_in_value, 1), - [292] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_built_in_value, 1), - [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 3), - [296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 3), - [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1), - [300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1), - [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 3), - [304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 3), - [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression, 3), - [308] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_expression, 3), - [310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3), - [312] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3), - [314] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 3), - [316] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 3), - [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), - [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), - [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), - [324] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1), - [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), - [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305), - [330] = {.entry = {.count = 1, .reusable = false}}, SHIFT(305), - [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), - [334] = {.entry = {.count = 1, .reusable = false}}, SHIFT(306), - [336] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_expression_kind, 1), - [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), - [340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), - [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), - [344] = {.entry = {.count = 1, .reusable = false}}, SHIFT(250), - [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(406), - [348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), - [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428), - [352] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(250), - [355] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(129), - [358] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(406), - [361] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), - [363] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(269), - [366] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(269), - [369] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(268), - [372] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(136), - [375] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(267), - [378] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(435), - [381] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(428), - [384] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(246), - [387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297), - [389] = {.entry = {.count = 1, .reusable = false}}, SHIFT(329), - [391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408), - [393] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(109), - [396] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(133), - [399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), - [401] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(409), - [404] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(95), - [407] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(95), - [410] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(94), - [413] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(141), - [416] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(93), - [419] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(446), - [422] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(108), - [425] = {.entry = {.count = 1, .reusable = false}}, SHIFT(109), - [427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), - [429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(409), - [431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), - [433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), - [435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414), - [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), - [445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), - [447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), - [449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), - [461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [463] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(109), - [466] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(133), - [469] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(409), - [472] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(95), - [475] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(95), - [478] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(94), - [481] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(141), - [484] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), - [486] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(93), - [489] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(446), - [492] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(108), - [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [497] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expression_list, 1), - [499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list, 1), - [501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), - [503] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 1), - [505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 1), - [507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), - [509] = {.entry = {.count = 1, .reusable = false}}, SHIFT(325), - [511] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), - [513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), - [515] = {.entry = {.count = 1, .reusable = false}}, SHIFT(289), - [517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), - [519] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), - [521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), - [523] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87), - [525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [527] = {.entry = {.count = 1, .reusable = false}}, SHIFT(255), - [529] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61), - [531] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), - [533] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 2), - [535] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 2), - [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), - [539] = {.entry = {.count = 1, .reusable = false}}, SHIFT(385), - [541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 1), - [543] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 1), - [545] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), - [547] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_else_repeat1, 2), - [549] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), SHIFT_REPEAT(196), - [552] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_if, 3), - [554] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_if, 3), - [556] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if, 3), - [558] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if, 3), - [560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return, 2), - [562] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return, 2), - [564] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 2), - [566] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 2), - [568] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match, 5), - [570] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match, 5), - [572] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while, 3), - [574] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while, 3), - [576] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_assignment, 3), - [578] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_assignment, 3), - [580] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else, 2), - [582] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else, 2), - [584] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 3), - [586] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 3), - [588] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 4), - [590] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 4), - [592] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3), - [594] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3), - [596] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for, 5), - [598] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for, 5), - [600] = {.entry = {.count = 1, .reusable = false}}, SHIFT(117), - [602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), - [604] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), - [606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), - [608] = {.entry = {.count = 1, .reusable = false}}, SHIFT(260), - [610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), - [614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187), - [616] = {.entry = {.count = 1, .reusable = false}}, SHIFT(393), - [618] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), SHIFT_REPEAT(187), - [621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), - [623] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_operator, 1), - [625] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_operator, 1), - [627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), - [629] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 3), - [631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 3), - [633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), - [635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), - [637] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 4), - [639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 4), - [641] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), - [643] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), - [645] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_math_operator, 1), - [647] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math_operator, 1), - [649] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic_operator, 1), - [651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic_operator, 1), - [653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), - [655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431), - [657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433), - [661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), - [665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), - [669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(438), - [673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [677] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 2), - [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), - [681] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 3), - [683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369), - [685] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), - [687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), - [689] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [691] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 5), - [693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), - [695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), - [697] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 4), - [699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), - [703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), - [707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328), - [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), - [711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(366), - [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), - [715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), - [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [719] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(359), - [722] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), - [724] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(416), - [727] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(366), - [730] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(330), - [733] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(434), - [736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), - [740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327), - [742] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 1), - [744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370), - [746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), - [750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [752] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 3), - [754] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 3), - [756] = {.entry = {.count = 1, .reusable = false}}, SHIFT(390), - [758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [760] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2), SHIFT_REPEAT(386), - [763] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2), - [765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(386), - [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), - [771] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 4), - [773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412), - [775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), - [777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), - [779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), - [783] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 3), - [785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407), - [787] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), - [789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), - [791] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(403), - [794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), - [796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), - [798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [800] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 3), - [802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [806] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 5), - [808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), - [810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), - [812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), - [816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), - [818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), - [820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), - [822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), - [824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), - [826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), - [828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), - [830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), - [834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), - [836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), - [840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367), - [844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), - [846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), - [848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371), - [850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), - [854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), - [858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [860] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), - [864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), - [866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), - [868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(421), - [870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(492), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(487), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(486), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(218), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(216), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(210), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(484), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(484), + [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), + [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(57), + [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), + [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), + [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), + [53] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(51), + [56] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(137), + [59] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(462), + [62] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(4), + [65] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(492), + [68] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(487), + [71] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(81), + [74] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(81), + [77] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(80), + [80] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(139), + [83] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(56), + [86] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(486), + [89] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(218), + [92] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(216), + [95] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(210), + [98] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(484), + [101] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(484), + [104] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(41), + [107] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(57), + [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), + [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), + [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), + [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), + [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), + [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), + [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), + [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root, 1), + [136] = {.entry = {.count = 1, .reusable = false}}, SHIFT(311), + [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [140] = {.entry = {.count = 1, .reusable = false}}, SHIFT(454), + [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [144] = {.entry = {.count = 1, .reusable = false}}, SHIFT(472), + [146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(477), + [148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(279), + [150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), + [152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(266), + [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [156] = {.entry = {.count = 1, .reusable = false}}, SHIFT(290), + [158] = {.entry = {.count = 1, .reusable = false}}, SHIFT(458), + [160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(219), + [162] = {.entry = {.count = 1, .reusable = false}}, SHIFT(170), + [164] = {.entry = {.count = 1, .reusable = false}}, SHIFT(220), + [166] = {.entry = {.count = 1, .reusable = false}}, SHIFT(479), + [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(479), + [170] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), + [172] = {.entry = {.count = 1, .reusable = false}}, SHIFT(261), + [174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130), + [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [178] = {.entry = {.count = 1, .reusable = false}}, SHIFT(473), + [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [182] = {.entry = {.count = 1, .reusable = false}}, SHIFT(455), + [184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(489), + [186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129), + [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [190] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128), + [192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), + [196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(490), + [198] = {.entry = {.count = 1, .reusable = false}}, SHIFT(168), + [200] = {.entry = {.count = 1, .reusable = false}}, SHIFT(491), + [202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(491), + [204] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45), + [206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(117), + [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic, 3), + [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic, 3), + [212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), + [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 5), + [216] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 5), + [218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math, 3), + [220] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_math, 3), + [222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_kind, 1), + [224] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_kind, 1), + [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_expression_kind, 1), + [228] = {.entry = {.count = 1, .reusable = false}}, SHIFT(258), + [230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression, 1), + [232] = {.entry = {.count = 1, .reusable = false}}, SHIFT(381), + [234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), + [236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 4), + [240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 4), + [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_option, 1), + [244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_option, 1), + [246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_built_in_value, 1), + [248] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_built_in_value, 1), + [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_option, 4), + [252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_option, 4), + [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new, 4), + [256] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new, 4), + [258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2), + [260] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2), + [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_structure, 4), + [264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_structure, 4), + [266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new, 5), + [268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new, 5), + [270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), + [272] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), + [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 3), + [276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 3), + [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3), + [280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3), + [282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 3), + [284] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 3), + [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4), + [288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 4), + [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4), + [292] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4), + [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_structure, 3), + [296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_structure, 3), + [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 1), + [300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 1), + [302] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), + [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 6), + [306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 6), + [308] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_expression, 1), + [310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), + [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 3), + [314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 3), + [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 3), + [318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 3), + [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression, 3), + [322] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_expression, 3), + [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3), + [326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3), + [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1), + [330] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1), + [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1), + [334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1), + [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3), + [338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3), + [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 5), + [342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 5), + [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 2), + [346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 2), + [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 3), + [350] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 3), + [352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), + [354] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1), + [356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), + [358] = {.entry = {.count = 1, .reusable = false}}, SHIFT(320), + [360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), + [362] = {.entry = {.count = 1, .reusable = false}}, SHIFT(321), + [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), + [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), + [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [372] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_expression_kind, 1), + [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [376] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(265), + [379] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(147), + [382] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(441), + [385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), + [387] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(472), + [390] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(477), + [393] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(279), + [396] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(279), + [399] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(266), + [402] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(160), + [405] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(290), + [408] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(458), + [411] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(478), + [414] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(261), + [417] = {.entry = {.count = 1, .reusable = false}}, SHIFT(265), + [419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441), + [421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), + [423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(478), + [425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [427] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), + [429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(432), + [433] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(126), + [436] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(156), + [439] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(432), + [442] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(455), + [445] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(489), + [448] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(129), + [451] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(129), + [454] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(128), + [457] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(152), + [460] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), + [462] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(122), + [465] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(490), + [468] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(117), + [471] = {.entry = {.count = 1, .reusable = false}}, SHIFT(342), + [473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443), + [475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(450), + [485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), + [491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), + [501] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(126), + [504] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(156), + [507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), + [509] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(432), + [512] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(455), + [515] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(489), + [518] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(129), + [521] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(129), + [524] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(128), + [527] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(152), + [530] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(122), + [533] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(490), + [536] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(117), + [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), + [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), + [543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), + [545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), + [547] = {.entry = {.count = 1, .reusable = false}}, SHIFT(344), + [549] = {.entry = {.count = 1, .reusable = false}}, SHIFT(121), + [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [553] = {.entry = {.count = 1, .reusable = false}}, SHIFT(269), + [555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [557] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87), + [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451), + [561] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), + [563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [565] = {.entry = {.count = 1, .reusable = false}}, SHIFT(165), + [567] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96), + [569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), + [571] = {.entry = {.count = 1, .reusable = false}}, SHIFT(315), + [573] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expression_list, 1), + [575] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list, 1), + [577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), + [579] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 1), + [581] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 1), + [583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), + [585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 1), + [587] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 1), + [589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), + [591] = {.entry = {.count = 1, .reusable = false}}, SHIFT(411), + [593] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 2), + [595] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 2), + [597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), + [599] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_else_repeat1, 2), + [601] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), SHIFT_REPEAT(172), + [604] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_if, 3), + [606] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_if, 3), + [608] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if, 3), + [610] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if, 3), + [612] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3), + [614] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3), + [616] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match, 5), + [618] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match, 5), + [620] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return, 2), + [622] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return, 2), + [624] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 2), + [626] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 2), + [628] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for, 5), + [630] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for, 5), + [632] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while, 3), + [634] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while, 3), + [636] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 3), + [638] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 3), + [640] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 4), + [642] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 4), + [644] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_assignment, 3), + [646] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_assignment, 3), + [648] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else, 2), + [650] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else, 2), + [652] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107), + [654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), + [658] = {.entry = {.count = 1, .reusable = false}}, SHIFT(419), + [660] = {.entry = {.count = 1, .reusable = false}}, SHIFT(285), + [662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [664] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), + [666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [668] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), SHIFT_REPEAT(213), + [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [673] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_operator, 1), + [675] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_operator, 1), + [677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), + [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), + [681] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 3), + [683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 3), + [685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), + [687] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 4), + [689] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 4), + [691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [693] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), + [695] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), + [697] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_math_operator, 1), + [699] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math_operator, 1), + [701] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic_operator, 1), + [703] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic_operator, 1), + [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462), + [707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474), + [711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), + [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(475), + [721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(454), + [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [727] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 3), + [729] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 3), + [731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(386), + [733] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 2), + [735] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 2), + [737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), + [739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), + [745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), + [747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [749] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 1), + [751] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), + [753] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 4), + [755] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 4), + [757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [759] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 5), + [761] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 5), + [763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [769] = {.entry = {.count = 1, .reusable = false}}, SHIFT(350), + [771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361), + [773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340), + [775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382), + [777] = {.entry = {.count = 1, .reusable = false}}, SHIFT(467), + [779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), + [781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [785] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(350), + [788] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(361), + [791] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), + [793] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(382), + [796] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(467), + [799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [803] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_repeat1, 1), + [805] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 1), + [807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385), + [809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287), + [811] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_repeat1, 2), + [813] = {.entry = {.count = 1, .reusable = false}}, SHIFT(425), + [815] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 3), + [817] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 3), + [819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), + [823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(381), + [829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), + [831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [833] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_structure_repeat1, 2), SHIFT_REPEAT(424), + [836] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_structure_repeat1, 2), + [838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(424), + [840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), + [842] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 3), + [844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433), + [846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), + [852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), + [854] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_new_repeat1, 2), SHIFT_REPEAT(402), + [857] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_new_repeat1, 2), + [859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [865] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(436), + [868] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), + [870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), + [872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), + [876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(446), + [884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436), + [886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), + [888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(449), + [890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437), + [894] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 4), + [896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(444), + [898] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2), SHIFT_REPEAT(395), + [901] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2), + [903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [905] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_structure_repeat1, 3), + [907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), + [911] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_new_repeat1, 4), + [913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [915] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 5), + [917] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_structure_repeat1, 4), + [919] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 3), + [921] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_new_repeat1, 3), + [923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), + [925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), + [931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), + [933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), + [939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), + [941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), + [943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), + [949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351), + [951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(356), + [953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384), + [955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389), + [957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), + [959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), + [961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), + [965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), + [973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), + [975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(469), + [977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), + [983] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459), + [987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), + [989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), + [991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), + [993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), + [995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), + [997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463), + [1001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(420), }; #ifdef __cplusplus