From 6c4efadb10af5bce4d622230c031a40a975e2c16 Mon Sep 17 00:00:00 2001 From: Jeff Date: Tue, 23 Jan 2024 15:20:19 -0500 Subject: [PATCH] Add type definitions as a first-class value --- src/abstract_tree/value_node.rs | 15 +- src/lib.rs | 5 +- src/value/mod.rs | 17 +- src/value/type_definition.rs | 16 + tests/structure.rs | 6 +- tree-sitter-dust/corpus/structure.txt | 64 +- tree-sitter-dust/grammar.js | 5 + tree-sitter-dust/src/grammar.json | 9 + tree-sitter-dust/src/node-types.json | 17 +- tree-sitter-dust/src/parser.c | 27037 ++++++++++++------------ 10 files changed, 13818 insertions(+), 13373 deletions(-) create mode 100644 src/value/type_definition.rs diff --git a/src/abstract_tree/value_node.rs b/src/abstract_tree/value_node.rs index 963010d..3255ebe 100644 --- a/src/abstract_tree/value_node.rs +++ b/src/abstract_tree/value_node.rs @@ -4,7 +4,8 @@ use serde::{Deserialize, Serialize}; use crate::{ AbstractTree, BuiltInValue, Error, Expression, Format, Function, FunctionNode, Identifier, - List, Map, Result, Statement, Structure, SyntaxNode, Type, TypeSpecification, Value, + List, Map, Result, Statement, Structure, SyntaxNode, Type, TypeDefintion, TypeSpecification, + Value, }; #[derive(Debug, Clone, Serialize, Deserialize, Eq, PartialEq, PartialOrd, Ord)] @@ -18,7 +19,7 @@ pub enum ValueNode { Option(Option>), Map(BTreeMap)>), BuiltInValue(BuiltInValue), - Structure(BTreeMap, Type)>), + StructureDefinition(BTreeMap, Type)>), } impl AbstractTree for ValueNode { @@ -159,7 +160,7 @@ impl AbstractTree for ValueNode { } } - ValueNode::Structure(btree_map) + ValueNode::StructureDefinition(btree_map) } _ => { return Err(Error::UnexpectedSyntaxNode { @@ -229,7 +230,7 @@ impl AbstractTree for ValueNode { Value::Map(map) } ValueNode::BuiltInValue(built_in_value) => built_in_value.run(source, context)?, - ValueNode::Structure(node_map) => { + ValueNode::StructureDefinition(node_map) => { let mut value_map = BTreeMap::new(); for (key, (statement_option, r#type)) in node_map { @@ -242,7 +243,7 @@ impl AbstractTree for ValueNode { value_map.insert(key.to_string(), (value_option, r#type.clone())); } - Value::Structure(Structure::new(value_map)) + Value::TypeDefinition(TypeDefintion::Structure(Structure::new(value_map))) } }; @@ -286,7 +287,7 @@ impl AbstractTree for ValueNode { } ValueNode::Map(_) => Type::Map(None), ValueNode::BuiltInValue(built_in_value) => built_in_value.expected_type(context)?, - ValueNode::Structure(node_map) => { + ValueNode::StructureDefinition(node_map) => { let mut value_map = BTreeMap::new(); for (key, (_statement_option, r#type)) in node_map { @@ -356,7 +357,7 @@ impl Format for ValueNode { output.push('}'); } ValueNode::BuiltInValue(built_in_value) => built_in_value.format(output, indent_level), - ValueNode::Structure(nodes) => { + ValueNode::StructureDefinition(nodes) => { output.push('{'); for (key, (value_option, r#type)) in nodes { diff --git a/src/lib.rs b/src/lib.rs index e4b3924..ceee1ae 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -8,7 +8,10 @@ pub use crate::{ built_in_functions::BuiltInFunction, error::*, interpret::*, - value::{function::Function, list::List, map::Map, structure::Structure, Value}, + value::{ + function::Function, list::List, map::Map, structure::Structure, + type_definition::TypeDefintion, Value, + }, }; pub use tree_sitter::Node as SyntaxNode; diff --git a/src/value/mod.rs b/src/value/mod.rs index adf16bc..06f5227 100644 --- a/src/value/mod.rs +++ b/src/value/mod.rs @@ -1,7 +1,7 @@ //! Types that represent runtime values. use crate::{ error::{Error, Result}, - Function, Identifier, List, Map, Structure, Type, TypeSpecification, + Function, Identifier, List, Map, Type, TypeDefintion, TypeSpecification, }; use serde::{ @@ -22,6 +22,7 @@ pub mod function; pub mod list; pub mod map; pub mod structure; +pub mod type_definition; /// Dust value representation. /// @@ -38,7 +39,7 @@ pub enum Value { Integer(i64), Boolean(bool), Option(Option>), - Structure(Structure), + TypeDefinition(TypeDefintion), } impl Default for Value { @@ -99,7 +100,7 @@ impl Value { Type::None } } - Value::Structure(_) => todo!(), + Value::TypeDefinition(_) => todo!(), }; r#type @@ -432,7 +433,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, + (Value::TypeDefinition(left), Value::TypeDefinition(right)) => left == right, _ => false, } } @@ -469,8 +470,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::TypeDefinition(left), Value::TypeDefinition(right)) => left.cmp(right), + (Value::TypeDefinition(_), _) => Ordering::Greater, (Value::Option(left), Value::Option(right)) => left.cmp(right), (Value::Option(_), _) => Ordering::Less, } @@ -500,7 +501,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), + Value::TypeDefinition(inner) => inner.serialize(serializer), } } } @@ -522,7 +523,7 @@ impl Display for Value { Value::List(list) => write!(f, "{list}"), Value::Map(map) => write!(f, "{map}"), Value::Function(function) => write!(f, "{function}"), - Value::Structure(structure) => write!(f, "{structure}"), + Value::TypeDefinition(structure) => write!(f, "{structure}"), } } } diff --git a/src/value/type_definition.rs b/src/value/type_definition.rs new file mode 100644 index 0000000..b1a14ed --- /dev/null +++ b/src/value/type_definition.rs @@ -0,0 +1,16 @@ +use std::fmt::{self, Display, Formatter}; + +use serde::{Deserialize, Serialize}; + +use crate::Structure; + +#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)] +pub enum TypeDefintion { + Structure(Structure), +} + +impl Display for TypeDefintion { + fn fmt(&self, f: &mut Formatter) -> fmt::Result { + write!(f, "{self}") + } +} diff --git a/tests/structure.rs b/tests/structure.rs index c91094f..54e7d35 100644 --- a/tests/structure.rs +++ b/tests/structure.rs @@ -10,5 +10,9 @@ fn simple_structure() { btree_map.insert("x".to_string(), (Some(Value::Integer(0)), Type::Integer)); - assert_eq!(Ok(Value::Structure(Structure::new(btree_map))), result); + let expected = Ok(Value::TypeDefinition(TypeDefintion::Structure( + Structure::new(btree_map), + ))); + + assert_eq!(expected, result); } diff --git a/tree-sitter-dust/corpus/structure.txt b/tree-sitter-dust/corpus/structure.txt index 531ef35..a02177f 100644 --- a/tree-sitter-dust/corpus/structure.txt +++ b/tree-sitter-dust/corpus/structure.txt @@ -13,13 +13,14 @@ struct { (statement (expression (value - (structure - (identifier) - (type_specification - (type)) - (identifier) - (type_specification - (type))))))) + (type_definition + (structure + (identifier) + (type_specification + (type)) + (identifier) + (type_specification + (type)))))))) ================================================================================ Complex Structure @@ -44,27 +45,28 @@ Foo = struct { (statement (expression (value - (structure - (identifier) - (type_specification - (type)) - (identifier) - (type_specification - (type)) - (statement - (expression - (value - (float)))) - (identifier) - (type_specification - (type - (identifier))) - (statement - (expression - (new - (identifier) - (identifier) - (statement - (expression - (value - (integer)))))))))))))) + (type_definition + (structure + (identifier) + (type_specification + (type)) + (identifier) + (type_specification + (type)) + (statement + (expression + (value + (float)))) + (identifier) + (type_specification + (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 7815f94..7aa8fee 100644 --- a/tree-sitter-dust/grammar.js +++ b/tree-sitter-dust/grammar.js @@ -85,6 +85,11 @@ module.exports = grammar({ $.map, $.option, $.built_in_value, + $.type_definition, + ), + + type_definition: $ => + choice( $.structure, ), diff --git a/tree-sitter-dust/src/grammar.json b/tree-sitter-dust/src/grammar.json index 26738c2..6ef3b2a 100644 --- a/tree-sitter-dust/src/grammar.json +++ b/tree-sitter-dust/src/grammar.json @@ -249,6 +249,15 @@ "type": "SYMBOL", "name": "built_in_value" }, + { + "type": "SYMBOL", + "name": "type_definition" + } + ] + }, + "type_definition": { + "type": "CHOICE", + "members": [ { "type": "SYMBOL", "name": "structure" diff --git a/tree-sitter-dust/src/node-types.json b/tree-sitter-dust/src/node-types.json index 8019149..1116f24 100644 --- a/tree-sitter-dust/src/node-types.json +++ b/tree-sitter-dust/src/node-types.json @@ -602,6 +602,21 @@ ] } }, + { + "type": "type_definition", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "structure", + "named": true + } + ] + } + }, { "type": "type_specification", "named": true, @@ -662,7 +677,7 @@ "named": true }, { - "type": "structure", + "type": "type_definition", "named": true } ] diff --git a/tree-sitter-dust/src/parser.c b/tree-sitter-dust/src/parser.c index afd9851..5c55fdc 100644 --- a/tree-sitter-dust/src/parser.c +++ b/tree-sitter-dust/src/parser.c @@ -6,9 +6,9 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 493 +#define STATE_COUNT 496 #define LARGE_STATE_COUNT 48 -#define SYMBOL_COUNT 115 +#define SYMBOL_COUNT 116 #define ALIAS_COUNT 0 #define TOKEN_COUNT 68 #define EXTERNAL_TOKEN_COUNT 0 @@ -91,46 +91,47 @@ enum { 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_specification = 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, + sym_type_definition = 75, + sym_structure = 76, + sym_new = 77, + sym_boolean = 78, + sym_list = 79, + sym_map = 80, + sym_option = 81, + sym_index = 82, + sym_index_expression = 83, + sym_math = 84, + sym_math_operator = 85, + sym_logic = 86, + sym_logic_operator = 87, + sym_assignment = 88, + sym_index_assignment = 89, + sym_assignment_operator = 90, + sym_if_else = 91, + sym_if = 92, + sym_else_if = 93, + sym_else = 94, + sym_match = 95, + sym_while = 96, + sym_for = 97, + sym_return = 98, + sym_type_specification = 99, + sym_type = 100, + sym_function = 101, + sym_function_expression = 102, + sym__function_expression_kind = 103, + sym_function_call = 104, + sym_yield = 105, + sym_built_in_value = 106, + aux_sym_root_repeat1 = 107, + aux_sym_structure_repeat1 = 108, + aux_sym_new_repeat1 = 109, + aux_sym_list_repeat1 = 110, + aux_sym_map_repeat1 = 111, + aux_sym_if_else_repeat1 = 112, + aux_sym_match_repeat1 = 113, + aux_sym_type_repeat1 = 114, + aux_sym_function_repeat1 = 115, }; static const char * const ts_symbol_names[] = { @@ -209,6 +210,7 @@ static const char * const ts_symbol_names[] = { [aux_sym__expression_list] = "_expression_list", [sym_block] = "block", [sym_value] = "value", + [sym_type_definition] = "type_definition", [sym_structure] = "structure", [sym_new] = "new", [sym_boolean] = "boolean", @@ -327,6 +329,7 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym__expression_list] = aux_sym__expression_list, [sym_block] = sym_block, [sym_value] = sym_value, + [sym_type_definition] = sym_type_definition, [sym_structure] = sym_structure, [sym_new] = sym_new, [sym_boolean] = sym_boolean, @@ -670,6 +673,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_type_definition] = { + .visible = true, + .named = true, + }, [sym_structure] = { .visible = true, .named = true, @@ -850,52 +857,52 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [6] = 6, [7] = 7, [8] = 8, - [9] = 7, + [9] = 9, [10] = 10, - [11] = 7, - [12] = 7, - [13] = 10, - [14] = 8, - [15] = 6, - [16] = 7, - [17] = 10, + [11] = 9, + [12] = 6, + [13] = 8, + [14] = 6, + [15] = 10, + [16] = 10, + [17] = 9, [18] = 8, - [19] = 6, + [19] = 10, [20] = 6, - [21] = 6, - [22] = 8, - [23] = 10, - [24] = 24, - [25] = 8, - [26] = 10, + [21] = 8, + [22] = 9, + [23] = 6, + [24] = 8, + [25] = 10, + [26] = 9, [27] = 27, [28] = 28, [29] = 29, [30] = 30, - [31] = 31, + [31] = 30, [32] = 32, - [33] = 33, + [33] = 32, [34] = 32, - [35] = 35, - [36] = 31, - [37] = 32, + [35] = 27, + [36] = 36, + [37] = 37, [38] = 38, - [39] = 31, - [40] = 29, + [39] = 39, + [40] = 40, [41] = 41, - [42] = 41, - [43] = 43, - [44] = 44, - [45] = 41, - [46] = 29, - [47] = 47, + [42] = 27, + [43] = 38, + [44] = 38, + [45] = 45, + [46] = 46, + [47] = 30, [48] = 48, [49] = 49, [50] = 50, - [51] = 51, - [52] = 48, - [53] = 50, - [54] = 49, + [51] = 49, + [52] = 50, + [53] = 48, + [54] = 54, [55] = 55, [56] = 56, [57] = 57, @@ -916,7 +923,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [72] = 72, [73] = 73, [74] = 74, - [75] = 64, + [75] = 75, [76] = 76, [77] = 77, [78] = 78, @@ -925,415 +932,418 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [81] = 81, [82] = 82, [83] = 83, - [84] = 84, + [84] = 58, [85] = 85, [86] = 86, [87] = 87, [88] = 88, - [89] = 49, - [90] = 50, + [89] = 89, + [90] = 48, [91] = 48, - [92] = 88, - [93] = 48, + [92] = 49, + [93] = 89, [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, + [95] = 49, + [96] = 50, + [97] = 80, + [98] = 49, + [99] = 48, + [100] = 81, + [101] = 69, + [102] = 85, + [103] = 82, + [104] = 73, + [105] = 61, + [106] = 58, + [107] = 80, + [108] = 55, + [109] = 86, + [110] = 72, + [111] = 71, + [112] = 63, + [113] = 83, + [114] = 77, + [115] = 68, + [116] = 56, + [117] = 70, + [118] = 79, + [119] = 87, + [120] = 64, + [121] = 62, + [122] = 76, + [123] = 78, + [124] = 57, + [125] = 59, + [126] = 65, + [127] = 60, + [128] = 58, + [129] = 67, + [130] = 88, + [131] = 74, [132] = 132, - [133] = 132, - [134] = 84, - [135] = 135, + [133] = 133, + [134] = 132, + [135] = 54, [136] = 136, - [137] = 137, + [137] = 75, [138] = 138, [139] = 139, - [140] = 135, + [140] = 140, [141] = 141, - [142] = 142, - [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] = 142, - [159] = 137, - [160] = 139, - [161] = 149, - [162] = 137, - [163] = 138, - [164] = 135, - [165] = 87, - [166] = 166, + [142] = 140, + [143] = 138, + [144] = 139, + [145] = 141, + [146] = 146, + [147] = 147, + [148] = 148, + [149] = 136, + [150] = 140, + [151] = 147, + [152] = 152, + [153] = 147, + [154] = 136, + [155] = 146, + [156] = 147, + [157] = 147, + [158] = 141, + [159] = 139, + [160] = 138, + [161] = 147, + [162] = 162, + [163] = 162, + [164] = 162, + [165] = 48, + [166] = 49, [167] = 167, [168] = 168, - [169] = 166, - [170] = 170, + [169] = 167, + [170] = 168, [171] = 171, [172] = 172, - [173] = 171, - [174] = 167, - [175] = 175, - [176] = 176, - [177] = 167, - [178] = 176, - [179] = 171, - [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, + [173] = 173, + [174] = 174, + [175] = 167, + [176] = 167, + [177] = 177, + [178] = 178, + [179] = 174, + [180] = 167, + [181] = 174, + [182] = 174, + [183] = 174, + [184] = 167, + [185] = 168, + [186] = 167, + [187] = 174, + [188] = 167, + [189] = 173, + [190] = 174, + [191] = 80, + [192] = 168, + [193] = 168, + [194] = 173, + [195] = 172, + [196] = 196, + [197] = 168, + [198] = 168, + [199] = 199, + [200] = 199, + [201] = 167, [202] = 167, - [203] = 176, - [204] = 197, - [205] = 171, - [206] = 176, - [207] = 171, + [203] = 199, + [204] = 174, + [205] = 196, + [206] = 178, + [207] = 174, [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, + [209] = 168, + [210] = 167, + [211] = 174, + [212] = 168, + [213] = 174, + [214] = 174, + [215] = 168, + [216] = 168, + [217] = 177, + [218] = 178, + [219] = 171, + [220] = 199, + [221] = 172, + [222] = 89, + [223] = 89, [224] = 224, [225] = 225, [226] = 226, - [227] = 82, + [227] = 227, [228] = 228, - [229] = 229, - [230] = 67, - [231] = 60, - [232] = 232, + [229] = 86, + [230] = 83, + [231] = 231, + [232] = 68, [233] = 233, [234] = 234, [235] = 235, [236] = 236, [237] = 237, - [238] = 238, + [238] = 235, [239] = 239, - [240] = 232, - [241] = 241, - [242] = 242, + [240] = 235, + [241] = 235, + [242] = 235, [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, + [246] = 246, + [247] = 235, + [248] = 237, + [249] = 249, + [250] = 235, + [251] = 251, + [252] = 252, + [253] = 253, + [254] = 227, + [255] = 226, + [256] = 228, + [257] = 50, [258] = 258, - [259] = 68, - [260] = 67, - [261] = 57, - [262] = 50, + [259] = 49, + [260] = 48, + [261] = 59, + [262] = 73, [263] = 48, - [264] = 73, - [265] = 87, - [266] = 80, - [267] = 60, - [268] = 64, - [269] = 71, - [270] = 62, - [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] = 84, - [315] = 87, - [316] = 50, - [317] = 48, + [264] = 49, + [265] = 81, + [266] = 70, + [267] = 50, + [268] = 61, + [269] = 82, + [270] = 68, + [271] = 85, + [272] = 64, + [273] = 57, + [274] = 231, + [275] = 80, + [276] = 65, + [277] = 67, + [278] = 69, + [279] = 55, + [280] = 58, + [281] = 83, + [282] = 74, + [283] = 88, + [284] = 72, + [285] = 71, + [286] = 63, + [287] = 60, + [288] = 86, + [289] = 83, + [290] = 68, + [291] = 78, + [292] = 77, + [293] = 86, + [294] = 233, + [295] = 76, + [296] = 62, + [297] = 56, + [298] = 87, + [299] = 79, + [300] = 58, + [301] = 253, + [302] = 239, + [303] = 237, + [304] = 246, + [305] = 237, + [306] = 251, + [307] = 245, + [308] = 249, + [309] = 243, + [310] = 252, + [311] = 236, + [312] = 234, + [313] = 244, + [314] = 314, + [315] = 54, + [316] = 75, + [317] = 80, [318] = 318, - [319] = 319, + [319] = 48, [320] = 320, [321] = 321, [322] = 49, - [323] = 88, - [324] = 88, - [325] = 48, - [326] = 50, - [327] = 327, - [328] = 328, - [329] = 49, - [330] = 48, - [331] = 327, - [332] = 50, - [333] = 333, - [334] = 328, + [323] = 323, + [324] = 324, + [325] = 89, + [326] = 49, + [327] = 89, + [328] = 50, + [329] = 48, + [330] = 330, + [331] = 330, + [332] = 48, + [333] = 330, + [334] = 334, [335] = 335, - [336] = 335, - [337] = 333, - [338] = 335, - [339] = 327, - [340] = 340, - [341] = 341, - [342] = 342, - [343] = 69, - [344] = 87, - [345] = 64, - [346] = 346, - [347] = 347, - [348] = 346, - [349] = 48, + [336] = 50, + [337] = 337, + [338] = 334, + [339] = 49, + [340] = 335, + [341] = 334, + [342] = 337, + [343] = 343, + [344] = 344, + [345] = 80, + [346] = 71, + [347] = 58, + [348] = 348, + [349] = 349, [350] = 350, - [351] = 351, - [352] = 352, + [351] = 350, + [352] = 48, [353] = 353, - [354] = 347, - [355] = 347, + [354] = 49, + [355] = 355, [356] = 356, - [357] = 50, - [358] = 358, + [357] = 350, + [358] = 349, [359] = 359, [360] = 360, [361] = 361, - [362] = 359, - [363] = 359, - [364] = 359, - [365] = 358, - [366] = 359, - [367] = 359, - [368] = 358, - [369] = 359, - [370] = 359, - [371] = 371, - [372] = 359, - [373] = 359, - [374] = 359, - [375] = 359, - [376] = 358, - [377] = 377, - [378] = 377, - [379] = 379, - [380] = 377, - [381] = 381, + [362] = 361, + [363] = 363, + [364] = 364, + [365] = 361, + [366] = 361, + [367] = 361, + [368] = 368, + [369] = 368, + [370] = 361, + [371] = 361, + [372] = 361, + [373] = 361, + [374] = 374, + [375] = 361, + [376] = 368, + [377] = 361, + [378] = 368, + [379] = 361, + [380] = 380, + [381] = 380, [382] = 382, - [383] = 383, + [383] = 380, [384] = 384, [385] = 385, [386] = 386, - [387] = 225, - [388] = 224, + [387] = 387, + [388] = 388, [389] = 389, - [390] = 390, + [390] = 227, [391] = 391, - [392] = 391, - [393] = 391, + [392] = 226, + [393] = 393, [394] = 394, - [395] = 395, - [396] = 396, + [395] = 393, + [396] = 393, [397] = 397, [398] = 398, [399] = 399, [400] = 400, - [401] = 398, + [401] = 397, [402] = 402, - [403] = 394, + [403] = 403, [404] = 404, - [405] = 399, + [405] = 405, [406] = 406, - [407] = 407, - [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, + [407] = 403, + [408] = 408, + [409] = 398, + [410] = 405, + [411] = 399, + [412] = 412, + [413] = 408, + [414] = 398, + [415] = 405, + [416] = 408, + [417] = 412, + [418] = 400, + [419] = 419, + [420] = 419, + [421] = 400, [422] = 422, - [423] = 422, - [424] = 424, - [425] = 411, - [426] = 422, - [427] = 407, + [423] = 397, + [424] = 419, + [425] = 425, + [426] = 412, + [427] = 399, [428] = 428, - [429] = 399, + [429] = 429, [430] = 430, [431] = 431, [432] = 432, - [433] = 433, + [433] = 403, [434] = 434, [435] = 435, [436] = 436, [437] = 437, - [438] = 435, + [438] = 438, [439] = 439, [440] = 440, - [441] = 432, - [442] = 435, - [443] = 439, - [444] = 444, - [445] = 445, + [441] = 440, + [442] = 442, + [443] = 443, + [444] = 438, + [445] = 436, [446] = 446, - [447] = 437, - [448] = 448, - [449] = 437, - [450] = 439, - [451] = 432, + [447] = 446, + [448] = 446, + [449] = 449, + [450] = 438, + [451] = 451, [452] = 452, - [453] = 453, - [454] = 454, + [453] = 436, + [454] = 440, [455] = 455, [456] = 456, - [457] = 457, + [457] = 456, [458] = 458, [459] = 459, - [460] = 452, - [461] = 456, - [462] = 454, - [463] = 459, - [464] = 452, + [460] = 460, + [461] = 461, + [462] = 458, + [463] = 463, + [464] = 459, [465] = 465, [466] = 466, - [467] = 467, + [467] = 466, [468] = 468, - [469] = 459, - [470] = 456, - [471] = 457, - [472] = 455, - [473] = 454, - [474] = 454, - [475] = 454, - [476] = 452, - [477] = 477, - [478] = 478, + [469] = 469, + [470] = 466, + [471] = 471, + [472] = 460, + [473] = 473, + [474] = 459, + [475] = 466, + [476] = 456, + [477] = 463, + [478] = 456, [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, + [481] = 466, + [482] = 482, + [483] = 456, + [484] = 460, + [485] = 466, + [486] = 486, + [487] = 482, + [488] = 463, + [489] = 473, + [490] = 480, + [491] = 466, + [492] = 480, + [493] = 473, + [494] = 482, + [495] = 458, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -2361,15 +2371,15 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [86] = {.lex_state = 25}, [87] = {.lex_state = 25}, [88] = {.lex_state = 25}, - [89] = {.lex_state = 1}, + [89] = {.lex_state = 25}, [90] = {.lex_state = 1}, - [91] = {.lex_state = 1}, + [91] = {.lex_state = 25}, [92] = {.lex_state = 25}, [93] = {.lex_state = 25}, - [94] = {.lex_state = 25}, + [94] = {.lex_state = 1}, [95] = {.lex_state = 1}, - [96] = {.lex_state = 25}, - [97] = {.lex_state = 1}, + [96] = {.lex_state = 1}, + [97] = {.lex_state = 25}, [98] = {.lex_state = 1}, [99] = {.lex_state = 1}, [100] = {.lex_state = 1}, @@ -2496,39 +2506,39 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [221] = {.lex_state = 1}, [222] = {.lex_state = 1}, [223] = {.lex_state = 1}, - [224] = {.lex_state = 0}, - [225] = {.lex_state = 0}, + [224] = {.lex_state = 1}, + [225] = {.lex_state = 1}, [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 = 25}, + [232] = {.lex_state = 0}, + [233] = {.lex_state = 0}, [234] = {.lex_state = 25}, - [235] = {.lex_state = 25}, + [235] = {.lex_state = 1}, [236] = {.lex_state = 25}, [237] = {.lex_state = 25}, - [238] = {.lex_state = 25}, + [238] = {.lex_state = 1}, [239] = {.lex_state = 25}, - [240] = {.lex_state = 25}, - [241] = {.lex_state = 25}, - [242] = {.lex_state = 25}, + [240] = {.lex_state = 1}, + [241] = {.lex_state = 1}, + [242] = {.lex_state = 1}, [243] = {.lex_state = 25}, [244] = {.lex_state = 25}, - [245] = {.lex_state = 1}, - [246] = {.lex_state = 5}, + [245] = {.lex_state = 25}, + [246] = {.lex_state = 25}, [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}, + [248] = {.lex_state = 25}, + [249] = {.lex_state = 25}, + [250] = {.lex_state = 1}, + [251] = {.lex_state = 25}, + [252] = {.lex_state = 25}, + [253] = {.lex_state = 25}, [254] = {.lex_state = 5}, - [255] = {.lex_state = 2}, - [256] = {.lex_state = 2}, + [255] = {.lex_state = 5}, + [256] = {.lex_state = 5}, [257] = {.lex_state = 2}, [258] = {.lex_state = 25}, [259] = {.lex_state = 2}, @@ -2544,9 +2554,9 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [269] = {.lex_state = 2}, [270] = {.lex_state = 2}, [271] = {.lex_state = 2}, - [272] = {.lex_state = 5}, + [272] = {.lex_state = 2}, [273] = {.lex_state = 2}, - [274] = {.lex_state = 2}, + [274] = {.lex_state = 5}, [275] = {.lex_state = 2}, [276] = {.lex_state = 2}, [277] = {.lex_state = 2}, @@ -2555,24 +2565,24 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [280] = {.lex_state = 2}, [281] = {.lex_state = 2}, [282] = {.lex_state = 2}, - [283] = {.lex_state = 5}, - [284] = {.lex_state = 5}, + [283] = {.lex_state = 2}, + [284] = {.lex_state = 2}, [285] = {.lex_state = 2}, - [286] = {.lex_state = 5}, + [286] = {.lex_state = 2}, [287] = {.lex_state = 2}, - [288] = {.lex_state = 2}, - [289] = {.lex_state = 2}, - [290] = {.lex_state = 2}, + [288] = {.lex_state = 5}, + [289] = {.lex_state = 5}, + [290] = {.lex_state = 5}, [291] = {.lex_state = 2}, - [292] = {.lex_state = 5}, + [292] = {.lex_state = 2}, [293] = {.lex_state = 2}, - [294] = {.lex_state = 2}, + [294] = {.lex_state = 5}, [295] = {.lex_state = 2}, [296] = {.lex_state = 2}, [297] = {.lex_state = 2}, - [298] = {.lex_state = 1}, - [299] = {.lex_state = 1}, - [300] = {.lex_state = 1}, + [298] = {.lex_state = 2}, + [299] = {.lex_state = 2}, + [300] = {.lex_state = 2}, [301] = {.lex_state = 1}, [302] = {.lex_state = 1}, [303] = {.lex_state = 1}, @@ -2583,20 +2593,20 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [308] = {.lex_state = 1}, [309] = {.lex_state = 1}, [310] = {.lex_state = 1}, - [311] = {.lex_state = 4}, + [311] = {.lex_state = 1}, [312] = {.lex_state = 1}, [313] = {.lex_state = 1}, - [314] = {.lex_state = 4}, - [315] = {.lex_state = 3}, - [316] = {.lex_state = 3}, + [314] = {.lex_state = 1}, + [315] = {.lex_state = 4}, + [316] = {.lex_state = 4}, [317] = {.lex_state = 3}, [318] = {.lex_state = 1}, - [319] = {.lex_state = 1}, + [319] = {.lex_state = 3}, [320] = {.lex_state = 1}, [321] = {.lex_state = 1}, - [322] = {.lex_state = 2}, - [323] = {.lex_state = 2}, - [324] = {.lex_state = 2}, + [322] = {.lex_state = 3}, + [323] = {.lex_state = 1}, + [324] = {.lex_state = 1}, [325] = {.lex_state = 2}, [326] = {.lex_state = 2}, [327] = {.lex_state = 2}, @@ -2612,71 +2622,71 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [337] = {.lex_state = 2}, [338] = {.lex_state = 2}, [339] = {.lex_state = 2}, - [340] = {.lex_state = 7}, - [341] = {.lex_state = 7}, + [340] = {.lex_state = 2}, + [341] = {.lex_state = 2}, [342] = {.lex_state = 2}, - [343] = {.lex_state = 2}, + [343] = {.lex_state = 7}, [344] = {.lex_state = 2}, [345] = {.lex_state = 2}, [346] = {.lex_state = 2}, [347] = {.lex_state = 2}, - [348] = {.lex_state = 2}, + [348] = {.lex_state = 7}, [349] = {.lex_state = 2}, - [350] = {.lex_state = 7}, - [351] = {.lex_state = 7}, - [352] = {.lex_state = 3}, + [350] = {.lex_state = 2}, + [351] = {.lex_state = 2}, + [352] = {.lex_state = 2}, [353] = {.lex_state = 7}, [354] = {.lex_state = 2}, - [355] = {.lex_state = 2}, - [356] = {.lex_state = 7}, + [355] = {.lex_state = 7}, + [356] = {.lex_state = 3}, [357] = {.lex_state = 2}, [358] = {.lex_state = 2}, - [359] = {.lex_state = 2}, - [360] = {.lex_state = 1}, - [361] = {.lex_state = 1}, + [359] = {.lex_state = 7}, + [360] = {.lex_state = 7}, + [361] = {.lex_state = 2}, [362] = {.lex_state = 2}, - [363] = {.lex_state = 2}, - [364] = {.lex_state = 2}, + [363] = {.lex_state = 1}, + [364] = {.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}, + [371] = {.lex_state = 2}, [372] = {.lex_state = 2}, [373] = {.lex_state = 2}, - [374] = {.lex_state = 2}, + [374] = {.lex_state = 1}, [375] = {.lex_state = 2}, [376] = {.lex_state = 2}, [377] = {.lex_state = 2}, [378] = {.lex_state = 2}, - [379] = {.lex_state = 1}, + [379] = {.lex_state = 2}, [380] = {.lex_state = 2}, - [381] = {.lex_state = 1}, + [381] = {.lex_state = 2}, [382] = {.lex_state = 1}, - [383] = {.lex_state = 1}, + [383] = {.lex_state = 2}, [384] = {.lex_state = 1}, [385] = {.lex_state = 1}, [386] = {.lex_state = 1}, - [387] = {.lex_state = 5}, - [388] = {.lex_state = 5}, + [387] = {.lex_state = 1}, + [388] = {.lex_state = 1}, [389] = {.lex_state = 1}, - [390] = {.lex_state = 25}, - [391] = {.lex_state = 25}, - [392] = {.lex_state = 25}, + [390] = {.lex_state = 5}, + [391] = {.lex_state = 1}, + [392] = {.lex_state = 5}, [393] = {.lex_state = 25}, - [394] = {.lex_state = 1}, + [394] = {.lex_state = 25}, [395] = {.lex_state = 25}, - [396] = {.lex_state = 1}, + [396] = {.lex_state = 25}, [397] = {.lex_state = 1}, [398] = {.lex_state = 1}, [399] = {.lex_state = 1}, [400] = {.lex_state = 1}, [401] = {.lex_state = 1}, - [402] = {.lex_state = 25}, + [402] = {.lex_state = 1}, [403] = {.lex_state = 1}, - [404] = {.lex_state = 1}, + [404] = {.lex_state = 25}, [405] = {.lex_state = 1}, [406] = {.lex_state = 1}, [407] = {.lex_state = 1}, @@ -2696,75 +2706,78 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [421] = {.lex_state = 1}, [422] = {.lex_state = 1}, [423] = {.lex_state = 1}, - [424] = {.lex_state = 25}, - [425] = {.lex_state = 1}, + [424] = {.lex_state = 1}, + [425] = {.lex_state = 25}, [426] = {.lex_state = 1}, [427] = {.lex_state = 1}, - [428] = {.lex_state = 1}, + [428] = {.lex_state = 25}, [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}, + [435] = {.lex_state = 1}, [436] = {.lex_state = 0}, - [437] = {.lex_state = 0}, - [438] = {.lex_state = 0}, + [437] = {.lex_state = 1}, + [438] = {.lex_state = 1}, [439] = {.lex_state = 0}, - [440] = {.lex_state = 1}, - [441] = {.lex_state = 1}, - [442] = {.lex_state = 0}, - [443] = {.lex_state = 0}, + [440] = {.lex_state = 0}, + [441] = {.lex_state = 0}, + [442] = {.lex_state = 1}, + [443] = {.lex_state = 1}, [444] = {.lex_state = 1}, - [445] = {.lex_state = 1}, - [446] = {.lex_state = 1}, + [445] = {.lex_state = 0}, + [446] = {.lex_state = 0}, [447] = {.lex_state = 0}, - [448] = {.lex_state = 1}, - [449] = {.lex_state = 0}, - [450] = {.lex_state = 0}, + [448] = {.lex_state = 0}, + [449] = {.lex_state = 1}, + [450] = {.lex_state = 1}, [451] = {.lex_state = 1}, - [452] = {.lex_state = 0}, - [453] = {.lex_state = 25}, + [452] = {.lex_state = 1}, + [453] = {.lex_state = 0}, [454] = {.lex_state = 0}, [455] = {.lex_state = 0}, [456] = {.lex_state = 0}, [457] = {.lex_state = 0}, [458] = {.lex_state = 0}, - [459] = {.lex_state = 1}, + [459] = {.lex_state = 0}, [460] = {.lex_state = 0}, [461] = {.lex_state = 0}, [462] = {.lex_state = 0}, [463] = {.lex_state = 1}, [464] = {.lex_state = 0}, - [465] = {.lex_state = 0}, + [465] = {.lex_state = 5}, [466] = {.lex_state = 0}, [467] = {.lex_state = 0}, - [468] = {.lex_state = 5}, - [469] = {.lex_state = 1}, + [468] = {.lex_state = 25}, + [469] = {.lex_state = 0}, [470] = {.lex_state = 0}, - [471] = {.lex_state = 0}, + [471] = {.lex_state = 25}, [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}, + [478] = {.lex_state = 0}, + [479] = {.lex_state = 5}, + [480] = {.lex_state = 1}, [481] = {.lex_state = 0}, - [482] = {.lex_state = 0}, + [482] = {.lex_state = 1}, [483] = {.lex_state = 0}, - [484] = {.lex_state = 1}, + [484] = {.lex_state = 0}, [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}, + [488] = {.lex_state = 1}, + [489] = {.lex_state = 0}, + [490] = {.lex_state = 1}, + [491] = {.lex_state = 0}, + [492] = {.lex_state = 1}, + [493] = {.lex_state = 0}, + [494] = {.lex_state = 1}, + [495] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -2839,37 +2852,38 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(1), }, [1] = { - [sym_root] = STATE(483), - [sym_statement] = STATE(24), - [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_root] = STATE(486), + [sym_statement] = STATE(7), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), + [aux_sym_root_repeat1] = STATE(7), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -2902,37 +2916,38 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(41), }, [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), - [aux_sym_map_repeat1] = STATE(403), + [sym_statement] = STATE(26), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), + [aux_sym_root_repeat1] = STATE(26), + [aux_sym_map_repeat1] = STATE(423), [sym_identifier] = ACTIONS(43), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -2966,37 +2981,38 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(41), }, [3] = { - [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_statement] = STATE(11), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), + [aux_sym_root_repeat1] = STATE(11), + [aux_sym_map_repeat1] = STATE(401), [sym_identifier] = ACTIONS(43), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -3030,37 +3046,38 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(41), }, [4] = { - [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_statement] = STATE(9), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), + [aux_sym_root_repeat1] = STATE(9), + [aux_sym_map_repeat1] = STATE(397), [sym_identifier] = ACTIONS(43), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -3095,34 +3112,35 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { }, [5] = { [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), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), [aux_sym_root_repeat1] = STATE(5), [ts_builtin_sym_end] = ACTIONS(51), [sym_identifier] = ACTIONS(53), @@ -3158,42 +3176,43 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(107), }, [6] = { - [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_statement] = STATE(11), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), + [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(49), + [anon_sym_RBRACE] = ACTIONS(47), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), @@ -3222,41 +3241,42 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { }, [7] = { [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), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), [aux_sym_root_repeat1] = STATE(5), + [ts_builtin_sym_end] = ACTIONS(110), [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), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), @@ -3284,36 +3304,37 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(41), }, [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_statement] = STATE(16), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), + [aux_sym_root_repeat1] = STATE(16), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -3348,34 +3369,35 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { }, [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), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), [aux_sym_root_repeat1] = STATE(5), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), @@ -3411,97 +3433,35 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { }, [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(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), - }, - [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), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), [aux_sym_root_repeat1] = STATE(5), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), @@ -3535,42 +3495,107 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, - [12] = { + [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), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), [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(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), + }, + [12] = { + [sym_statement] = STATE(22), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), + [aux_sym_root_repeat1] = STATE(22), + [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), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), @@ -3599,35 +3624,164 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(41), }, [13] = { + [sym_statement] = STATE(19), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), + [aux_sym_root_repeat1] = STATE(19), + [sym_identifier] = ACTIONS(5), + [sym__comment] = ACTIONS(3), + [anon_sym_LPAREN] = ACTIONS(7), + [anon_sym_async] = ACTIONS(9), + [anon_sym_LBRACE] = ACTIONS(11), + [anon_sym_RBRACE] = ACTIONS(114), + [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(9), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), + [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(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), + }, + [15] = { [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), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), [aux_sym_root_repeat1] = STATE(5), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), @@ -3661,162 +3815,37 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [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), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), [aux_sym_root_repeat1] = STATE(5), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), @@ -3852,34 +3881,35 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { }, [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), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), [aux_sym_root_repeat1] = STATE(5), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), @@ -3914,36 +3944,37 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [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_statement] = STATE(15), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), + [aux_sym_root_repeat1] = STATE(15), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -3977,36 +4008,37 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [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_statement] = STATE(5), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), + [aux_sym_root_repeat1] = STATE(5), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -4040,36 +4072,37 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [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_statement] = STATE(17), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), + [aux_sym_root_repeat1] = STATE(17), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -4103,42 +4136,43 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(41), }, [21] = { - [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_statement] = STATE(25), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), + [aux_sym_root_repeat1] = STATE(25), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), - [anon_sym_RBRACE] = ACTIONS(45), + [anon_sym_RBRACE] = ACTIONS(130), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), @@ -4166,36 +4200,37 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(41), }, [22] = { - [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_statement] = STATE(5), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), + [aux_sym_root_repeat1] = STATE(5), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -4229,42 +4264,43 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(41), }, [23] = { - [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_statement] = STATE(26), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), + [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(132), + [anon_sym_RBRACE] = ACTIONS(45), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), @@ -4292,42 +4328,43 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(41), }, [24] = { - [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_statement] = STATE(10), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), + [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(132), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), @@ -4355,42 +4392,43 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(41), }, [25] = { - [sym_statement] = STATE(7), - [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_statement] = STATE(5), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), + [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(132), + [anon_sym_RBRACE] = ACTIONS(134), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), @@ -4419,41 +4457,42 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { }, [26] = { [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), + [sym_expression] = STATE(89), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(237), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(237), + [sym_index_assignment] = STATE(237), + [sym_if_else] = STATE(237), + [sym_if] = STATE(227), + [sym_match] = STATE(237), + [sym_while] = STATE(237), + [sym_for] = STATE(237), + [sym_return] = STATE(237), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), [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(130), + [anon_sym_RBRACE] = ACTIONS(132), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), @@ -4481,96 +4520,98 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(41), }, [27] = { - [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_statement] = STATE(236), + [sym_expression] = STATE(93), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(248), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(248), + [sym_index_assignment] = STATE(248), + [sym_if_else] = STATE(248), + [sym_if] = STATE(227), + [sym_match] = STATE(248), + [sym_while] = STATE(248), + [sym_for] = STATE(248), + [sym_return] = STATE(248), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), + [sym_identifier] = ACTIONS(5), [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), + [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), }, [28] = { - [sym_statement] = STATE(434), - [sym_expression] = STATE(323), - [sym__expression_kind] = STATE(288), - [sym_block] = STATE(300), - [sym_value] = STATE(265), + [sym_statement] = STATE(435), + [sym_expression] = STATE(327), + [sym__expression_kind] = STATE(265), + [sym_block] = STATE(305), + [sym_value] = STATE(275), + [sym_type_definition] = STATE(268), [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_new] = STATE(265), + [sym_boolean] = STATE(268), + [sym_list] = STATE(268), + [sym_map] = STATE(268), + [sym_option] = STATE(268), + [sym_index] = STATE(316), + [sym_index_expression] = STATE(475), + [sym_math] = STATE(265), + [sym_logic] = STATE(265), + [sym_assignment] = STATE(305), + [sym_index_assignment] = STATE(305), + [sym_if_else] = STATE(305), + [sym_if] = STATE(390), + [sym_match] = STATE(305), + [sym_while] = STATE(305), + [sym_for] = STATE(305), + [sym_return] = STATE(305), + [sym_function] = STATE(268), + [sym_function_expression] = STATE(472), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(285), + [sym_yield] = STATE(285), + [sym_built_in_value] = STATE(268), [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(138), @@ -4603,96 +4644,98 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(172), }, [29] = { - [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_statement] = STATE(437), + [sym_expression] = STATE(327), + [sym__expression_kind] = STATE(265), + [sym_block] = STATE(305), + [sym_value] = STATE(275), + [sym_type_definition] = STATE(268), + [sym_structure] = STATE(279), + [sym_new] = STATE(265), + [sym_boolean] = STATE(268), + [sym_list] = STATE(268), + [sym_map] = STATE(268), + [sym_option] = STATE(268), + [sym_index] = STATE(316), + [sym_index_expression] = STATE(475), + [sym_math] = STATE(265), + [sym_logic] = STATE(265), + [sym_assignment] = STATE(305), + [sym_index_assignment] = STATE(305), + [sym_if_else] = STATE(305), + [sym_if] = STATE(390), + [sym_match] = STATE(305), + [sym_while] = STATE(305), + [sym_for] = STATE(305), + [sym_return] = STATE(305), + [sym_function] = STATE(268), + [sym_function_expression] = STATE(472), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(285), + [sym_yield] = STATE(285), + [sym_built_in_value] = STATE(268), + [sym_identifier] = ACTIONS(136), [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_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(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), + [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), }, [30] = { - [sym_statement] = STATE(400), - [sym_expression] = STATE(323), - [sym__expression_kind] = STATE(288), - [sym_block] = STATE(300), - [sym_value] = STATE(265), + [sym_statement] = STATE(306), + [sym_expression] = STATE(325), + [sym__expression_kind] = STATE(265), + [sym_block] = STATE(303), + [sym_value] = STATE(275), + [sym_type_definition] = STATE(268), [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_new] = STATE(265), + [sym_boolean] = STATE(268), + [sym_list] = STATE(268), + [sym_map] = STATE(268), + [sym_option] = STATE(268), + [sym_index] = STATE(316), + [sym_index_expression] = STATE(475), + [sym_math] = STATE(265), + [sym_logic] = STATE(265), + [sym_assignment] = STATE(303), + [sym_index_assignment] = STATE(303), + [sym_if_else] = STATE(303), + [sym_if] = STATE(390), + [sym_match] = STATE(303), + [sym_while] = STATE(303), + [sym_for] = STATE(303), + [sym_return] = STATE(303), + [sym_function] = STATE(268), + [sym_function_expression] = STATE(472), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(285), + [sym_yield] = STATE(285), + [sym_built_in_value] = STATE(268), [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(138), @@ -4725,35 +4768,36 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(172), }, [31] = { - [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_statement] = STATE(306), + [sym_expression] = STATE(222), + [sym__expression_kind] = STATE(100), + [sym_block] = STATE(303), + [sym_value] = STATE(107), + [sym_type_definition] = STATE(105), + [sym_structure] = STATE(108), + [sym_new] = STATE(100), + [sym_boolean] = STATE(105), + [sym_list] = STATE(105), + [sym_map] = STATE(105), + [sym_option] = STATE(105), + [sym_index] = STATE(137), + [sym_index_expression] = STATE(470), + [sym_math] = STATE(100), + [sym_logic] = STATE(100), + [sym_assignment] = STATE(303), + [sym_index_assignment] = STATE(303), + [sym_if_else] = STATE(303), + [sym_if] = STATE(254), + [sym_match] = STATE(303), + [sym_while] = STATE(303), + [sym_for] = STATE(303), + [sym_return] = STATE(303), + [sym_function] = STATE(105), + [sym_function_expression] = STATE(460), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(111), + [sym_yield] = STATE(111), + [sym_built_in_value] = STATE(105), [sym_identifier] = ACTIONS(174), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(176), @@ -4787,95 +4831,35 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { }, [32] = { [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(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(400), - [sym_expression] = STATE(323), - [sym__expression_kind] = STATE(288), - [sym_block] = STATE(300), - [sym_value] = STATE(265), + [sym_expression] = STATE(325), + [sym__expression_kind] = STATE(265), + [sym_block] = STATE(303), + [sym_value] = STATE(275), + [sym_type_definition] = STATE(268), [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_new] = STATE(265), + [sym_boolean] = STATE(268), + [sym_list] = STATE(268), + [sym_map] = STATE(268), + [sym_option] = STATE(268), + [sym_index] = STATE(316), + [sym_index_expression] = STATE(475), + [sym_math] = STATE(265), + [sym_logic] = STATE(265), + [sym_assignment] = STATE(303), + [sym_index_assignment] = STATE(303), + [sym_if_else] = STATE(303), + [sym_if] = STATE(390), + [sym_match] = STATE(303), + [sym_while] = STATE(303), + [sym_for] = STATE(303), + [sym_return] = STATE(303), + [sym_function] = STATE(268), + [sym_function_expression] = STATE(472), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(285), + [sym_yield] = STATE(285), + [sym_built_in_value] = STATE(268), [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(138), @@ -4907,36 +4891,99 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_random] = ACTIONS(172), [anon_sym_string] = ACTIONS(172), }, + [33] = { + [sym_statement] = STATE(310), + [sym_expression] = STATE(222), + [sym__expression_kind] = STATE(100), + [sym_block] = STATE(303), + [sym_value] = STATE(107), + [sym_type_definition] = STATE(105), + [sym_structure] = STATE(108), + [sym_new] = STATE(100), + [sym_boolean] = STATE(105), + [sym_list] = STATE(105), + [sym_map] = STATE(105), + [sym_option] = STATE(105), + [sym_index] = STATE(137), + [sym_index_expression] = STATE(470), + [sym_math] = STATE(100), + [sym_logic] = STATE(100), + [sym_assignment] = STATE(303), + [sym_index_assignment] = STATE(303), + [sym_if_else] = STATE(303), + [sym_if] = STATE(254), + [sym_match] = STATE(303), + [sym_while] = STATE(303), + [sym_for] = STATE(303), + [sym_return] = STATE(303), + [sym_function] = STATE(105), + [sym_function_expression] = STATE(460), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(111), + [sym_yield] = STATE(111), + [sym_built_in_value] = STATE(105), + [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), + }, [34] = { - [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_statement] = STATE(252), + [sym_expression] = STATE(93), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(248), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(248), + [sym_index_assignment] = STATE(248), + [sym_if_else] = STATE(248), + [sym_if] = STATE(227), + [sym_match] = STATE(248), + [sym_while] = STATE(248), + [sym_for] = STATE(248), + [sym_return] = STATE(248), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -4969,35 +5016,36 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(41), }, [35] = { - [sym_statement] = STATE(440), - [sym_expression] = STATE(323), - [sym__expression_kind] = STATE(288), - [sym_block] = STATE(300), - [sym_value] = STATE(265), + [sym_statement] = STATE(311), + [sym_expression] = STATE(325), + [sym__expression_kind] = STATE(265), + [sym_block] = STATE(303), + [sym_value] = STATE(275), + [sym_type_definition] = STATE(268), [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_new] = STATE(265), + [sym_boolean] = STATE(268), + [sym_list] = STATE(268), + [sym_map] = STATE(268), + [sym_option] = STATE(268), + [sym_index] = STATE(316), + [sym_index_expression] = STATE(475), + [sym_math] = STATE(265), + [sym_logic] = STATE(265), + [sym_assignment] = STATE(303), + [sym_index_assignment] = STATE(303), + [sym_if_else] = STATE(303), + [sym_if] = STATE(390), + [sym_match] = STATE(303), + [sym_while] = STATE(303), + [sym_for] = STATE(303), + [sym_return] = STATE(303), + [sym_function] = STATE(268), + [sym_function_expression] = STATE(472), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(285), + [sym_yield] = STATE(285), + [sym_built_in_value] = STATE(268), [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(138), @@ -5030,96 +5078,98 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(172), }, [36] = { - [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_statement] = STATE(402), + [sym_expression] = STATE(327), + [sym__expression_kind] = STATE(265), + [sym_block] = STATE(305), + [sym_value] = STATE(275), + [sym_type_definition] = STATE(268), + [sym_structure] = STATE(279), + [sym_new] = STATE(265), + [sym_boolean] = STATE(268), + [sym_list] = STATE(268), + [sym_map] = STATE(268), + [sym_option] = STATE(268), + [sym_index] = STATE(316), + [sym_index_expression] = STATE(475), + [sym_math] = STATE(265), + [sym_logic] = STATE(265), + [sym_assignment] = STATE(305), + [sym_index_assignment] = STATE(305), + [sym_if_else] = STATE(305), + [sym_if] = STATE(390), + [sym_match] = STATE(305), + [sym_while] = STATE(305), + [sym_for] = STATE(305), + [sym_return] = STATE(305), + [sym_function] = STATE(268), + [sym_function_expression] = STATE(472), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(285), + [sym_yield] = STATE(285), + [sym_built_in_value] = STATE(268), + [sym_identifier] = ACTIONS(136), [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), + [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), }, [37] = { - [sym_statement] = STATE(310), - [sym_expression] = STATE(324), - [sym__expression_kind] = STATE(288), - [sym_block] = STATE(301), - [sym_value] = STATE(265), + [sym_statement] = STATE(443), + [sym_expression] = STATE(327), + [sym__expression_kind] = STATE(265), + [sym_block] = STATE(305), + [sym_value] = STATE(275), + [sym_type_definition] = STATE(268), [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_new] = STATE(265), + [sym_boolean] = STATE(268), + [sym_list] = STATE(268), + [sym_map] = STATE(268), + [sym_option] = STATE(268), + [sym_index] = STATE(316), + [sym_index_expression] = STATE(475), + [sym_math] = STATE(265), + [sym_logic] = STATE(265), + [sym_assignment] = STATE(305), + [sym_index_assignment] = STATE(305), + [sym_if_else] = STATE(305), + [sym_if] = STATE(390), + [sym_match] = STATE(305), + [sym_while] = STATE(305), + [sym_for] = STATE(305), + [sym_return] = STATE(305), + [sym_function] = STATE(268), + [sym_function_expression] = STATE(472), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(285), + [sym_yield] = STATE(285), + [sym_built_in_value] = STATE(268), [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(138), @@ -5152,96 +5202,98 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(172), }, [38] = { - [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_statement] = STATE(313), + [sym_expression] = STATE(325), + [sym__expression_kind] = STATE(265), + [sym_block] = STATE(303), + [sym_value] = STATE(275), + [sym_type_definition] = STATE(268), + [sym_structure] = STATE(279), + [sym_new] = STATE(265), + [sym_boolean] = STATE(268), + [sym_list] = STATE(268), + [sym_map] = STATE(268), + [sym_option] = STATE(268), + [sym_index] = STATE(316), + [sym_index_expression] = STATE(475), + [sym_math] = STATE(265), + [sym_logic] = STATE(265), + [sym_assignment] = STATE(303), + [sym_index_assignment] = STATE(303), + [sym_if_else] = STATE(303), + [sym_if] = STATE(390), + [sym_match] = STATE(303), + [sym_while] = STATE(303), + [sym_for] = STATE(303), + [sym_return] = STATE(303), + [sym_function] = STATE(268), + [sym_function_expression] = STATE(472), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(285), + [sym_yield] = STATE(285), + [sym_built_in_value] = STATE(268), + [sym_identifier] = ACTIONS(136), [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_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(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), + [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), }, [39] = { - [sym_statement] = STATE(305), - [sym_expression] = STATE(324), - [sym__expression_kind] = STATE(288), - [sym_block] = STATE(301), - [sym_value] = STATE(265), + [sym_statement] = STATE(432), + [sym_expression] = STATE(327), + [sym__expression_kind] = STATE(265), + [sym_block] = STATE(305), + [sym_value] = STATE(275), + [sym_type_definition] = STATE(268), [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_new] = STATE(265), + [sym_boolean] = STATE(268), + [sym_list] = STATE(268), + [sym_map] = STATE(268), + [sym_option] = STATE(268), + [sym_index] = STATE(316), + [sym_index_expression] = STATE(475), + [sym_math] = STATE(265), + [sym_logic] = STATE(265), + [sym_assignment] = STATE(305), + [sym_index_assignment] = STATE(305), + [sym_if_else] = STATE(305), + [sym_if] = STATE(390), + [sym_match] = STATE(305), + [sym_while] = STATE(305), + [sym_for] = STATE(305), + [sym_return] = STATE(305), + [sym_function] = STATE(268), + [sym_function_expression] = STATE(472), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(285), + [sym_yield] = STATE(285), + [sym_built_in_value] = STATE(268), [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(138), @@ -5274,35 +5326,36 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(172), }, [40] = { - [sym_statement] = STATE(303), - [sym_expression] = STATE(324), - [sym__expression_kind] = STATE(288), - [sym_block] = STATE(301), - [sym_value] = STATE(265), + [sym_statement] = STATE(432), + [sym_expression] = STATE(327), + [sym__expression_kind] = STATE(265), + [sym_block] = STATE(305), + [sym_value] = STATE(275), + [sym_type_definition] = STATE(268), [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_new] = STATE(265), + [sym_boolean] = STATE(268), + [sym_list] = STATE(268), + [sym_map] = STATE(268), + [sym_option] = STATE(268), + [sym_index] = STATE(316), + [sym_index_expression] = STATE(475), + [sym_math] = STATE(265), + [sym_logic] = STATE(265), + [sym_assignment] = STATE(305), + [sym_index_assignment] = STATE(305), + [sym_if_else] = STATE(305), + [sym_if] = STATE(390), + [sym_match] = STATE(305), + [sym_while] = STATE(305), + [sym_for] = STATE(305), + [sym_return] = STATE(305), + [sym_function] = STATE(268), + [sym_function_expression] = STATE(472), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(285), + [sym_yield] = STATE(285), + [sym_built_in_value] = STATE(268), [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(138), @@ -5335,279 +5388,98 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [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_statement] = STATE(452), + [sym_expression] = STATE(327), + [sym__expression_kind] = STATE(265), + [sym_block] = STATE(305), + [sym_value] = STATE(275), + [sym_type_definition] = STATE(268), + [sym_structure] = STATE(279), + [sym_new] = STATE(265), + [sym_boolean] = STATE(268), + [sym_list] = STATE(268), + [sym_map] = STATE(268), + [sym_option] = STATE(268), + [sym_index] = STATE(316), + [sym_index_expression] = STATE(475), + [sym_math] = STATE(265), + [sym_logic] = STATE(265), + [sym_assignment] = STATE(305), + [sym_index_assignment] = STATE(305), + [sym_if_else] = STATE(305), + [sym_if] = STATE(390), + [sym_match] = STATE(305), + [sym_while] = STATE(305), + [sym_for] = STATE(305), + [sym_return] = STATE(305), + [sym_function] = STATE(268), + [sym_function_expression] = STATE(472), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(285), + [sym_yield] = STATE(285), + [sym_built_in_value] = STATE(268), + [sym_identifier] = ACTIONS(136), [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), + [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), }, [42] = { - [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(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(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(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_statement] = STATE(311), + [sym_expression] = STATE(222), + [sym__expression_kind] = STATE(100), + [sym_block] = STATE(303), + [sym_value] = STATE(107), + [sym_type_definition] = STATE(105), + [sym_structure] = STATE(108), + [sym_new] = STATE(100), + [sym_boolean] = STATE(105), + [sym_list] = STATE(105), + [sym_map] = STATE(105), + [sym_option] = STATE(105), + [sym_index] = STATE(137), + [sym_index_expression] = STATE(470), + [sym_math] = STATE(100), + [sym_logic] = STATE(100), + [sym_assignment] = STATE(303), + [sym_index_assignment] = STATE(303), + [sym_if_else] = STATE(303), + [sym_if] = STATE(254), + [sym_match] = STATE(303), + [sym_while] = STATE(303), + [sym_for] = STATE(303), + [sym_return] = STATE(303), + [sym_function] = STATE(105), + [sym_function_expression] = STATE(460), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(111), + [sym_yield] = STATE(111), + [sym_built_in_value] = STATE(105), [sym_identifier] = ACTIONS(174), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(176), @@ -5639,36 +5511,37 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [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), + [43] = { + [sym_statement] = STATE(244), + [sym_expression] = STATE(93), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(248), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(248), + [sym_index_assignment] = STATE(248), + [sym_if_else] = STATE(248), + [sym_if] = STATE(227), + [sym_match] = STATE(248), + [sym_while] = STATE(248), + [sym_for] = STATE(248), + [sym_return] = STATE(248), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -5700,36 +5573,99 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [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), + [44] = { + [sym_statement] = STATE(313), + [sym_expression] = STATE(222), + [sym__expression_kind] = STATE(100), + [sym_block] = STATE(303), + [sym_value] = STATE(107), + [sym_type_definition] = STATE(105), + [sym_structure] = STATE(108), + [sym_new] = STATE(100), + [sym_boolean] = STATE(105), + [sym_list] = STATE(105), + [sym_map] = STATE(105), + [sym_option] = STATE(105), + [sym_index] = STATE(137), + [sym_index_expression] = STATE(470), + [sym_math] = STATE(100), + [sym_logic] = STATE(100), + [sym_assignment] = STATE(303), + [sym_index_assignment] = STATE(303), + [sym_if_else] = STATE(303), + [sym_if] = STATE(254), + [sym_match] = STATE(303), + [sym_while] = STATE(303), + [sym_for] = STATE(303), + [sym_return] = STATE(303), + [sym_function] = STATE(105), + [sym_function_expression] = STATE(460), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(111), + [sym_yield] = STATE(111), + [sym_built_in_value] = STATE(105), + [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), + }, + [45] = { + [sym_statement] = STATE(402), + [sym_expression] = STATE(327), + [sym__expression_kind] = STATE(265), + [sym_block] = STATE(305), + [sym_value] = STATE(275), + [sym_type_definition] = STATE(268), [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_new] = STATE(265), + [sym_boolean] = STATE(268), + [sym_list] = STATE(268), + [sym_map] = STATE(268), + [sym_option] = STATE(268), + [sym_index] = STATE(316), + [sym_index_expression] = STATE(475), + [sym_math] = STATE(265), + [sym_logic] = STATE(265), + [sym_assignment] = STATE(305), + [sym_index_assignment] = STATE(305), + [sym_if_else] = STATE(305), + [sym_if] = STATE(390), + [sym_match] = STATE(305), + [sym_while] = STATE(305), + [sym_for] = STATE(305), + [sym_return] = STATE(305), + [sym_function] = STATE(268), + [sym_function_expression] = STATE(472), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(285), + [sym_yield] = STATE(285), + [sym_built_in_value] = STATE(268), [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(138), @@ -5761,6 +5697,130 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_random] = ACTIONS(172), [anon_sym_string] = ACTIONS(172), }, + [46] = { + [sym_statement] = STATE(314), + [sym_expression] = STATE(223), + [sym__expression_kind] = STATE(100), + [sym_block] = STATE(305), + [sym_value] = STATE(107), + [sym_type_definition] = STATE(105), + [sym_structure] = STATE(108), + [sym_new] = STATE(100), + [sym_boolean] = STATE(105), + [sym_list] = STATE(105), + [sym_map] = STATE(105), + [sym_option] = STATE(105), + [sym_index] = STATE(137), + [sym_index_expression] = STATE(470), + [sym_math] = STATE(100), + [sym_logic] = STATE(100), + [sym_assignment] = STATE(305), + [sym_index_assignment] = STATE(305), + [sym_if_else] = STATE(305), + [sym_if] = STATE(254), + [sym_match] = STATE(305), + [sym_while] = STATE(305), + [sym_for] = STATE(305), + [sym_return] = STATE(305), + [sym_function] = STATE(105), + [sym_function_expression] = STATE(460), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(111), + [sym_yield] = STATE(111), + [sym_built_in_value] = STATE(105), + [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), + }, + [47] = { + [sym_statement] = STATE(251), + [sym_expression] = STATE(93), + [sym__expression_kind] = STATE(81), + [sym_block] = STATE(248), + [sym_value] = STATE(80), + [sym_type_definition] = STATE(61), + [sym_structure] = STATE(55), + [sym_new] = STATE(81), + [sym_boolean] = STATE(61), + [sym_list] = STATE(61), + [sym_map] = STATE(61), + [sym_option] = STATE(61), + [sym_index] = STATE(75), + [sym_index_expression] = STATE(485), + [sym_math] = STATE(81), + [sym_logic] = STATE(81), + [sym_assignment] = STATE(248), + [sym_index_assignment] = STATE(248), + [sym_if_else] = STATE(248), + [sym_if] = STATE(227), + [sym_match] = STATE(248), + [sym_while] = STATE(248), + [sym_for] = STATE(248), + [sym_return] = STATE(248), + [sym_function] = STATE(61), + [sym_function_expression] = STATE(484), + [sym__function_expression_kind] = STATE(72), + [sym_function_call] = STATE(71), + [sym_yield] = STATE(71), + [sym_built_in_value] = STATE(61), + [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), + }, }; static const uint16_t ts_small_parse_table[] = { @@ -5769,9 +5829,9 @@ static const uint16_t ts_small_parse_table[] = { sym__comment, ACTIONS(212), 1, anon_sym_DASH_GT, - STATE(174), 1, - sym_math_operator, STATE(176), 1, + sym_math_operator, + STATE(179), 1, sym_logic_operator, ACTIONS(208), 22, ts_builtin_sym_end, @@ -5825,14 +5885,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [67] = 5, + [67] = 6, ACTIONS(3), 1, sym__comment, - STATE(174), 1, - sym_math_operator, + ACTIONS(212), 1, + anon_sym_DASH_GT, STATE(176), 1, + sym_math_operator, + STATE(179), 1, sym_logic_operator, - ACTIONS(214), 23, + ACTIONS(214), 22, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -5855,7 +5917,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, - anon_sym_DASH_GT, ACTIONS(216), 28, anon_sym_async, sym_identifier, @@ -5885,16 +5946,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [132] = 6, + [134] = 5, ACTIONS(3), 1, sym__comment, - ACTIONS(212), 1, - anon_sym_DASH_GT, - STATE(174), 1, - sym_math_operator, STATE(176), 1, + sym_math_operator, + STATE(179), 1, sym_logic_operator, - ACTIONS(218), 22, + ACTIONS(218), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -5917,6 +5976,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, + anon_sym_DASH_GT, ACTIONS(220), 28, anon_sym_async, sym_identifier, @@ -5946,32 +6006,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [199] = 10, + [199] = 6, 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(46), 1, - sym_assignment_operator, - STATE(393), 1, - sym_type_specification, - ACTIONS(234), 2, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - ACTIONS(222), 18, + ACTIONS(222), 1, + anon_sym_DASH_GT, + STATE(183), 1, + sym_logic_operator, + STATE(186), 1, + sym_math_operator, + ACTIONS(214), 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, @@ -5981,12 +6034,14 @@ 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, - anon_sym_DASH_GT, - ACTIONS(224), 26, + ACTIONS(216), 28, anon_sym_async, sym_identifier, anon_sym_struct, + anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, @@ -5996,6 +6051,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, + anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, @@ -6010,15 +6066,74 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [273] = 6, + [265] = 5, ACTIONS(3), 1, sym__comment, - ACTIONS(236), 1, - anon_sym_DASH_GT, - STATE(192), 1, - sym_math_operator, - STATE(195), 1, + STATE(183), 1, sym_logic_operator, + STATE(186), 1, + sym_math_operator, + ACTIONS(218), 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(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, + [329] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(222), 1, + anon_sym_DASH_GT, + STATE(183), 1, + sym_logic_operator, + STATE(186), 1, + sym_math_operator, ACTIONS(208), 21, ts_builtin_sym_end, anon_sym_SEMI, @@ -6070,25 +6185,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [339] = 6, + [395] = 10, 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, + ACTIONS(228), 1, + anon_sym_LPAREN, + ACTIONS(230), 1, + anon_sym_EQ, + ACTIONS(232), 1, + anon_sym_COLON, + ACTIONS(234), 1, + anon_sym_LT, + STATE(47), 1, + sym_assignment_operator, + STATE(396), 1, + sym_type_specification, + ACTIONS(236), 2, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + ACTIONS(224), 18, 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, @@ -6098,73 +6220,12 @@ 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(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, + ACTIONS(226), 26, anon_sym_async, sym_identifier, anon_sym_struct, - anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, @@ -6174,7 +6235,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, - anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, @@ -6357,10 +6417,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [646] = 3, + [646] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(250), 23, + ACTIONS(254), 1, + anon_sym_DOT_DOT, + ACTIONS(250), 22, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -6370,7 +6432,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, @@ -6413,10 +6474,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [705] = 3, + [707] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(254), 23, + ACTIONS(256), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -6440,7 +6501,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(256), 28, + ACTIONS(258), 28, anon_sym_async, sym_identifier, anon_sym_struct, @@ -6469,10 +6530,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [764] = 3, + [766] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(258), 23, + ACTIONS(232), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -6525,7 +6586,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [823] = 3, + [825] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(262), 23, @@ -6581,7 +6642,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [882] = 3, + [884] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(266), 23, @@ -6637,7 +6698,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [941] = 3, + [943] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(270), 23, @@ -6693,7 +6754,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1000] = 3, + [1002] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(274), 23, @@ -6749,7 +6810,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1059] = 3, + [1061] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(278), 23, @@ -6805,362 +6866,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1118] = 3, + [1120] = 10, ACTIONS(3), 1, sym__comment, - ACTIONS(282), 23, - ts_builtin_sym_end, - anon_sym_SEMI, + ACTIONS(228), 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(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_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, - [1177] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(286), 23, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_asyncfor, - anon_sym_DASH_GT, - ACTIONS(288), 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, - [1236] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(290), 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(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_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, - [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, - 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(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_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, - [1415] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(298), 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(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_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, - [1474] = 10, - ACTIONS(3), 1, - sym__comment, - ACTIONS(226), 1, - anon_sym_LPAREN, - ACTIONS(230), 1, - anon_sym_COLON, ACTIONS(232), 1, + anon_sym_COLON, + ACTIONS(234), 1, anon_sym_LT, - ACTIONS(302), 1, + ACTIONS(282), 1, anon_sym_EQ, - STATE(46), 1, + STATE(47), 1, sym_assignment_operator, - STATE(390), 1, + STATE(394), 1, sym_type_specification, - ACTIONS(234), 2, + ACTIONS(236), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - ACTIONS(222), 17, + ACTIONS(224), 17, anon_sym_SEMI, anon_sym_LBRACE, anon_sym_RBRACE, @@ -7178,7 +6902,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(224), 26, + ACTIONS(226), 26, anon_sym_async, sym_identifier, anon_sym_struct, @@ -7205,7 +6929,344 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1547] = 3, + [1193] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(284), 23, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_asyncfor, + anon_sym_DASH_GT, + ACTIONS(286), 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, + [1252] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(288), 23, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_asyncfor, + anon_sym_DASH_GT, + ACTIONS(290), 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, + [1311] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(292), 23, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_asyncfor, + anon_sym_DASH_GT, + ACTIONS(294), 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, + [1370] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(296), 23, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_asyncfor, + anon_sym_DASH_GT, + ACTIONS(298), 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, + [1429] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(228), 1, + anon_sym_LPAREN, + ACTIONS(224), 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(226), 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, + [1490] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(300), 23, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_asyncfor, + anon_sym_DASH_GT, + ACTIONS(302), 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, + [1549] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(304), 23, @@ -7261,10 +7322,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1606] = 3, + [1608] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(230), 23, + ACTIONS(308), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -7288,7 +7349,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(308), 28, + ACTIONS(310), 28, anon_sym_async, sym_identifier, anon_sym_struct, @@ -7317,21 +7378,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1665] = 4, + [1667] = 8, ACTIONS(3), 1, sym__comment, - ACTIONS(310), 1, - anon_sym_DOT_DOT, - ACTIONS(274), 22, + ACTIONS(228), 1, + anon_sym_LPAREN, + ACTIONS(230), 1, + anon_sym_EQ, + ACTIONS(232), 1, + anon_sym_COLON, + STATE(27), 1, + sym_assignment_operator, + ACTIONS(236), 2, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + ACTIONS(224), 18, 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, @@ -7341,15 +7409,12 @@ 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, anon_sym_DASH_GT, - ACTIONS(276), 28, + ACTIONS(226), 27, anon_sym_async, sym_identifier, anon_sym_struct, - anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, @@ -7374,7 +7439,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1726] = 3, + [1736] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(312), 23, @@ -7430,7 +7495,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1785] = 3, + [1795] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(316), 23, @@ -7486,7 +7551,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1844] = 3, + [1854] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(320), 23, @@ -7542,7 +7607,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1903] = 3, + [1913] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(324), 23, @@ -7598,7 +7663,65 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1962] = 3, + [1972] = 5, + ACTIONS(3), 1, + sym__comment, + ACTIONS(228), 1, + anon_sym_LPAREN, + ACTIONS(232), 1, + anon_sym_COLON, + ACTIONS(224), 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(226), 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, + [2035] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(328), 23, @@ -7654,7 +7777,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [2021] = 3, + [2094] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(332), 23, @@ -7710,7 +7833,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [2080] = 3, + [2153] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(336), 23, @@ -7766,7 +7889,63 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [2139] = 3, + [2212] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(250), 23, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_asyncfor, + anon_sym_DASH_GT, + ACTIONS(252), 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, + [2271] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(340), 23, @@ -7822,68 +8001,7 @@ static const uint16_t ts_small_parse_table[] = { 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, + [2330] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(344), 23, @@ -7939,7 +8057,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [2326] = 3, + [2389] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(348), 23, @@ -7995,21 +8113,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [2385] = 5, + [2448] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(226), 1, - anon_sym_LPAREN, - ACTIONS(230), 1, - anon_sym_COLON, - ACTIONS(222), 21, + ACTIONS(352), 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, @@ -8024,7 +8140,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(224), 28, + ACTIONS(354), 28, anon_sym_async, sym_identifier, anon_sym_struct, @@ -8053,35 +8169,36 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [2448] = 10, + [2507] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(358), 1, - anon_sym_DASH, + ACTIONS(360), 1, + anon_sym_SEMI, ACTIONS(364), 1, + anon_sym_DASH, + ACTIONS(370), 1, anon_sym_DASH_GT, - STATE(181), 1, + STATE(201), 1, sym_math_operator, - STATE(191), 1, + STATE(214), 1, sym_logic_operator, - ACTIONS(362), 2, + ACTIONS(368), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(356), 4, + ACTIONS(362), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(360), 6, + ACTIONS(366), 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, + ACTIONS(356), 8, ts_builtin_sym_end, - anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, @@ -8089,7 +8206,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_asyncfor, - ACTIONS(354), 23, + ACTIONS(358), 23, anon_sym_async, sym_identifier, anon_sym_struct, @@ -8113,125 +8230,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [2518] = 5, + [2579] = 6, ACTIONS(3), 1, sym__comment, - STATE(182), 1, - sym_math_operator, - STATE(183), 1, - sym_logic_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), 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, + ACTIONS(372), 1, anon_sym_DASH_GT, - [2578] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(366), 1, - anon_sym_DASH_GT, - STATE(182), 1, + STATE(184), 1, sym_math_operator, - STATE(183), 1, - sym_logic_operator, - 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, - 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, - [2640] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(366), 1, - anon_sym_DASH_GT, - STATE(182), 1, - sym_math_operator, - STATE(183), 1, + STATE(187), 1, sym_logic_operator, ACTIONS(210), 22, sym_identifier, @@ -8280,75 +8286,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - [2702] = 11, + [2641] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(358), 1, - anon_sym_DASH, - ACTIONS(364), 1, + ACTIONS(370), 1, anon_sym_DASH_GT, - ACTIONS(368), 1, - anon_sym_SEMI, - STATE(181), 1, + STATE(201), 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), 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, + STATE(214), 1, sym_logic_operator, ACTIONS(208), 19, ts_builtin_sym_end, @@ -8397,16 +8342,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [2836] = 6, + [2703] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(364), 1, + ACTIONS(370), 1, anon_sym_DASH_GT, - STATE(181), 1, + STATE(201), 1, sym_math_operator, - STATE(191), 1, + STATE(214), 1, sym_logic_operator, - ACTIONS(218), 19, + ACTIONS(214), 19, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -8426,7 +8371,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_asyncfor, - ACTIONS(220), 26, + ACTIONS(216), 26, anon_sym_async, sym_identifier, anon_sym_struct, @@ -8453,38 +8398,73 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [2898] = 6, + [2765] = 10, ACTIONS(3), 1, sym__comment, + ACTIONS(364), 1, + anon_sym_DASH, ACTIONS(370), 1, anon_sym_DASH_GT, - STATE(194), 1, - sym_logic_operator, - STATE(202), 1, + STATE(201), 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, + STATE(214), 1, + sym_logic_operator, + ACTIONS(368), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(362), 4, + anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, + ACTIONS(366), 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, + ACTIONS(356), 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(358), 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, + [2835] = 5, + ACTIONS(3), 1, + sym__comment, + STATE(184), 1, + sym_math_operator, + STATE(187), 1, + sym_logic_operator, ACTIONS(220), 22, sym_identifier, anon_sym_struct, @@ -8508,21 +8488,19 @@ static const uint16_t ts_small_parse_table[] = { 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, + ACTIONS(218), 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_PLUS, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -8532,42 +8510,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - anon_sym_asyncfor, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, 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, + [2895] = 6, ACTIONS(3), 1, sym__comment, - STATE(194), 1, - sym_logic_operator, - STATE(202), 1, + ACTIONS(372), 1, + anon_sym_DASH_GT, + STATE(184), 1, sym_math_operator, + STATE(187), 1, + sym_logic_operator, ACTIONS(216), 22, sym_identifier, anon_sym_struct, @@ -8592,6 +8546,60 @@ static const uint16_t ts_small_parse_table[] = { 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_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + [2957] = 5, + ACTIONS(3), 1, + sym__comment, + STATE(169), 1, + sym_math_operator, + STATE(181), 1, + sym_logic_operator, + 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, + ACTIONS(218), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -8615,15 +8623,123 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - [3075] = 6, + [3016] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(370), 1, + ACTIONS(232), 1, + anon_sym_COLON, + ACTIONS(228), 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, - STATE(194), 1, - sym_logic_operator, - STATE(202), 1, + ACTIONS(374), 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, + [3073] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(376), 1, + anon_sym_DASH_GT, + STATE(169), 1, sym_math_operator, + STATE(181), 1, + sym_logic_operator, + ACTIONS(214), 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(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, + [3134] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(376), 1, + anon_sym_DASH_GT, + STATE(169), 1, + sym_math_operator, + STATE(181), 1, + sym_logic_operator, ACTIONS(208), 22, anon_sym_SEMI, anon_sym_LPAREN, @@ -8670,1490 +8786,7 @@ static const uint16_t ts_small_parse_table[] = { 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, + [3195] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(330), 22, @@ -10204,7 +8837,109 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - [4764] = 3, + [3249] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(294), 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(292), 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, + [3303] = 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, + [3357] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(334), 22, @@ -10255,45 +8990,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - [4818] = 10, + [3411] = 3, 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_specification, - 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, - 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(224), 20, + ACTIONS(306), 22, sym_identifier, anon_sym_struct, + anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, @@ -10303,6 +9006,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, @@ -10312,67 +9016,1547 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [4885] = 24, + 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, + [3465] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(376), 1, + ACTIONS(264), 22, sym_identifier, - ACTIONS(379), 1, + 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, + [3519] = 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, + [3573] = 5, + ACTIONS(3), 1, + sym__comment, + ACTIONS(228), 1, + anon_sym_LPAREN, + ACTIONS(232), 1, + anon_sym_COLON, + ACTIONS(224), 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(226), 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, + [3631] = 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, + [3685] = 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, + [3739] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(302), 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(300), 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, + [3793] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(228), 1, + anon_sym_LPAREN, + ACTIONS(226), 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(224), 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, + [3849] = 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, + [3903] = 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, + [3957] = 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, + [4011] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(290), 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(288), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [4065] = 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, + [4119] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(298), 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(296), 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, + [4173] = 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, + [4227] = 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, + [4281] = 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, + [4335] = 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, + [4389] = 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, + [4443] = 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, + [4497] = 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, + [4551] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(258), 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(256), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [4605] = 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, + [4659] = 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(232), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [4713] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(378), 1, + anon_sym_DOT_DOT, + 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), 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, + [4769] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(286), 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(284), 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, + [4823] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(354), 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(352), 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, + [4877] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(310), 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(308), 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, + [4931] = 25, + 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(380), 1, + sym_identifier, ACTIONS(382), 1, anon_sym_LBRACE, - ACTIONS(385), 1, + ACTIONS(384), 1, anon_sym_RBRACE, - ACTIONS(387), 1, + ACTIONS(386), 1, + anon_sym_STAR, + STATE(72), 1, + sym__function_expression_kind, + STATE(133), 1, + aux_sym_match_repeat1, + STATE(279), 1, + sym_structure, + STATE(356), 1, + sym_expression, + STATE(472), 1, + sym_function_expression, + STATE(475), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(275), 2, + sym_value, + sym_index, + STATE(285), 2, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [5028] = 25, + ACTIONS(3), 1, + sym__comment, + ACTIONS(388), 1, + sym_identifier, + ACTIONS(391), 1, + anon_sym_LPAREN, + ACTIONS(394), 1, + anon_sym_LBRACE, + ACTIONS(397), 1, + anon_sym_RBRACE, + ACTIONS(399), 1, anon_sym_struct, - ACTIONS(390), 1, - anon_sym_new, - ACTIONS(393), 1, - sym_integer, ACTIONS(402), 1, - anon_sym_LBRACK, + anon_sym_new, ACTIONS(405), 1, + sym_integer, + ACTIONS(414), 1, + anon_sym_LBRACK, + ACTIONS(417), 1, anon_sym_none, - ACTIONS(408), 1, + ACTIONS(420), 1, anon_sym_some, - ACTIONS(411), 1, + ACTIONS(423), 1, anon_sym_STAR, - STATE(71), 1, + STATE(72), 1, sym__function_expression_kind, - STATE(131), 1, + STATE(133), 1, aux_sym_match_repeat1, - STATE(352), 1, + STATE(279), 1, + sym_structure, + STATE(356), 1, sym_expression, - STATE(464), 1, - sym_index_expression, - STATE(471), 1, + STATE(472), 1, sym_function_expression, - ACTIONS(396), 2, + STATE(475), 1, + sym_index_expression, + ACTIONS(408), 2, sym_float, sym_string, - ACTIONS(399), 2, + ACTIONS(411), 2, anon_sym_true, anon_sym_false, - STATE(265), 2, + STATE(275), 2, sym_value, sym_index, - STATE(277), 2, + STATE(285), 2, sym_function_call, sym_yield, - STATE(288), 4, + STATE(265), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(279), 7, - sym_structure, + STATE(268), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(414), 9, + ACTIONS(426), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -10382,7 +10566,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [4979] = 24, + [5125] = 25, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, @@ -10399,43 +10583,45 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(158), 1, anon_sym_some, - ACTIONS(417), 1, + ACTIONS(380), 1, sym_identifier, - ACTIONS(419), 1, + ACTIONS(382), 1, anon_sym_LBRACE, - ACTIONS(421), 1, - anon_sym_RBRACE, - ACTIONS(423), 1, + ACTIONS(386), 1, anon_sym_STAR, - STATE(71), 1, + ACTIONS(429), 1, + anon_sym_RBRACE, + STATE(72), 1, sym__function_expression_kind, - STATE(131), 1, + STATE(133), 1, aux_sym_match_repeat1, - STATE(352), 1, + STATE(279), 1, + sym_structure, + STATE(356), 1, sym_expression, - STATE(464), 1, - sym_index_expression, - STATE(471), 1, + STATE(472), 1, sym_function_expression, + STATE(475), 1, + sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(265), 2, + STATE(275), 2, sym_value, sym_index, - STATE(277), 2, + STATE(285), 2, sym_function_call, sym_yield, - STATE(288), 4, + STATE(265), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(279), 7, - sym_structure, + STATE(268), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -10452,91 +10638,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [5073] = 24, + [5222] = 10, 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, + anon_sym_LPAREN, ACTIONS(230), 1, + anon_sym_EQ, + ACTIONS(232), 1, anon_sym_COLON, + ACTIONS(234), 1, + anon_sym_LT, STATE(31), 1, sym_assignment_operator, - ACTIONS(234), 2, + STATE(393), 1, + sym_type_specification, + ACTIONS(236), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - ACTIONS(222), 17, + ACTIONS(224), 17, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LBRACE, @@ -10554,7 +10674,130 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - ACTIONS(224), 21, + ACTIONS(226), 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, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [5289] = 24, + 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(431), 1, + sym_identifier, + ACTIONS(433), 1, + anon_sym_LBRACE, + ACTIONS(435), 1, + anon_sym_RBRACK, + STATE(72), 1, + sym__function_expression_kind, + STATE(108), 1, + sym_structure, + STATE(158), 1, + aux_sym_list_repeat1, + STATE(224), 1, + sym_expression, + STATE(460), 1, + sym_function_expression, + STATE(470), 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(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(105), 7, + sym_type_definition, + 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, + [5383] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(228), 1, + anon_sym_LPAREN, + ACTIONS(230), 1, + anon_sym_EQ, + ACTIONS(232), 1, + anon_sym_COLON, + STATE(42), 1, + sym_assignment_operator, + ACTIONS(236), 2, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + ACTIONS(224), 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(226), 21, sym_identifier, anon_sym_struct, anon_sym_new, @@ -10576,133 +10819,278 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [5229] = 23, + [5445] = 25, ACTIONS(3), 1, sym__comment, - ACTIONS(176), 1, + ACTIONS(138), 1, anon_sym_LPAREN, - ACTIONS(182), 1, + ACTIONS(144), 1, anon_sym_struct, - ACTIONS(184), 1, + ACTIONS(146), 1, anon_sym_new, - ACTIONS(186), 1, + ACTIONS(148), 1, sym_integer, - ACTIONS(192), 1, + ACTIONS(154), 1, anon_sym_LBRACK, - ACTIONS(194), 1, + ACTIONS(156), 1, anon_sym_none, - ACTIONS(196), 1, + ACTIONS(158), 1, anon_sym_some, - ACTIONS(427), 1, - sym_identifier, - ACTIONS(429), 1, - anon_sym_RPAREN, - ACTIONS(431), 1, + ACTIONS(382), 1, anon_sym_LBRACE, - 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, + ACTIONS(437), 1, sym_identifier, - ACTIONS(436), 1, - anon_sym_LPAREN, ACTIONS(439), 1, - anon_sym_LBRACE, - ACTIONS(442), 1, + anon_sym_RPAREN, + STATE(72), 1, + sym__function_expression_kind, + STATE(279), 1, + sym_structure, + STATE(285), 1, + sym_yield, + STATE(368), 1, + sym_function_call, + STATE(371), 1, + sym_expression, + STATE(417), 1, + aux_sym_function_repeat1, + STATE(472), 1, + sym_function_expression, + STATE(475), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(275), 2, + sym_value, + sym_index, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [5541] = 24, + 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(431), 1, + sym_identifier, + ACTIONS(433), 1, + anon_sym_LBRACE, + ACTIONS(441), 1, + anon_sym_RPAREN, + STATE(72), 1, + sym__function_expression_kind, + STATE(108), 1, + sym_structure, + STATE(140), 1, + aux_sym__expression_list, + STATE(225), 1, + sym_expression, + STATE(460), 1, + sym_function_expression, + STATE(470), 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(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(105), 7, + sym_type_definition, + 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, + [5635] = 24, + 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(431), 1, + sym_identifier, + ACTIONS(433), 1, + anon_sym_LBRACE, + ACTIONS(443), 1, + anon_sym_RPAREN, + STATE(72), 1, + sym__function_expression_kind, + STATE(108), 1, + sym_structure, + STATE(152), 1, + aux_sym__expression_list, + STATE(225), 1, + sym_expression, + STATE(460), 1, + sym_function_expression, + STATE(470), 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(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(105), 7, + sym_type_definition, + 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, + [5729] = 24, + 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(431), 1, + sym_identifier, + ACTIONS(433), 1, + anon_sym_LBRACE, ACTIONS(445), 1, - anon_sym_new, - ACTIONS(448), 1, - sym_integer, - ACTIONS(457), 1, - anon_sym_LBRACK, - ACTIONS(460), 1, anon_sym_RBRACK, - ACTIONS(462), 1, - anon_sym_none, - ACTIONS(465), 1, - anon_sym_some, - STATE(71), 1, + STATE(72), 1, sym__function_expression_kind, - STATE(136), 1, + STATE(108), 1, + sym_structure, + STATE(148), 1, aux_sym_list_repeat1, - STATE(223), 1, + STATE(224), 1, sym_expression, - STATE(457), 1, + STATE(460), 1, sym_function_expression, - STATE(476), 1, + STATE(470), 1, sym_index_expression, - ACTIONS(451), 2, + ACTIONS(188), 2, sym_float, sym_string, - ACTIONS(454), 2, + ACTIONS(190), 2, anon_sym_true, anon_sym_false, - STATE(119), 2, - sym_function_call, - sym_yield, - STATE(126), 2, + STATE(107), 2, sym_value, sym_index, - STATE(125), 4, + STATE(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(129), 7, - sym_structure, + STATE(105), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(468), 9, + ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -10712,7 +11100,77 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [5411] = 24, + [5823] = 24, + 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(431), 1, + sym_identifier, + ACTIONS(433), 1, + anon_sym_LBRACE, + ACTIONS(447), 1, + anon_sym_RPAREN, + STATE(72), 1, + sym__function_expression_kind, + STATE(108), 1, + sym_structure, + STATE(152), 1, + aux_sym__expression_list, + STATE(225), 1, + sym_expression, + STATE(460), 1, + sym_function_expression, + STATE(470), 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(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(105), 7, + sym_type_definition, + 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, + [5917] = 25, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, @@ -10729,25 +11187,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(158), 1, anon_sym_some, - ACTIONS(419), 1, + ACTIONS(382), 1, anon_sym_LBRACE, - ACTIONS(471), 1, + ACTIONS(437), 1, sym_identifier, - ACTIONS(473), 1, + ACTIONS(449), 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, + STATE(72), 1, sym__function_expression_kind, - STATE(471), 1, + STATE(279), 1, + sym_structure, + STATE(285), 1, + sym_yield, + STATE(371), 1, + sym_expression, + STATE(378), 1, + sym_function_call, + STATE(412), 1, + aux_sym_function_repeat1, + STATE(472), 1, sym_function_expression, - STATE(488), 1, + STATE(475), 1, sym_index_expression, ACTIONS(150), 2, sym_float, @@ -10755,16 +11215,16 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(265), 2, + STATE(275), 2, sym_value, sym_index, - STATE(377), 4, + STATE(265), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(279), 7, - sym_structure, + STATE(268), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -10781,7 +11241,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [5504] = 23, + [6013] = 24, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, @@ -10798,21 +11258,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(196), 1, anon_sym_some, - ACTIONS(427), 1, - sym_identifier, ACTIONS(431), 1, + sym_identifier, + ACTIONS(433), 1, anon_sym_LBRACE, - ACTIONS(475), 1, + ACTIONS(451), 1, anon_sym_RPAREN, - STATE(71), 1, + STATE(72), 1, sym__function_expression_kind, - STATE(146), 1, + STATE(108), 1, + sym_structure, + STATE(150), 1, aux_sym__expression_list, - STATE(222), 1, + STATE(225), 1, sym_expression, - STATE(457), 1, + STATE(460), 1, sym_function_expression, - STATE(476), 1, + STATE(470), 1, sym_index_expression, ACTIONS(188), 2, sym_float, @@ -10820,19 +11282,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(190), 2, anon_sym_true, anon_sym_false, - STATE(119), 2, - sym_function_call, - sym_yield, - STATE(126), 2, + STATE(107), 2, sym_value, sym_index, - STATE(125), 4, + STATE(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(129), 7, - sym_structure, + STATE(105), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -10849,7 +11311,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [5595] = 23, + [6107] = 24, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, @@ -10866,21 +11328,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(196), 1, anon_sym_some, - ACTIONS(427), 1, - sym_identifier, ACTIONS(431), 1, + sym_identifier, + ACTIONS(433), 1, anon_sym_LBRACE, - ACTIONS(477), 1, + ACTIONS(453), 1, anon_sym_RBRACK, - STATE(71), 1, + STATE(72), 1, sym__function_expression_kind, - STATE(151), 1, + STATE(108), 1, + sym_structure, + STATE(148), 1, aux_sym_list_repeat1, - STATE(223), 1, + STATE(224), 1, sym_expression, - STATE(457), 1, + STATE(460), 1, sym_function_expression, - STATE(476), 1, + STATE(470), 1, sym_index_expression, ACTIONS(188), 2, sym_float, @@ -10888,19 +11352,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(190), 2, anon_sym_true, anon_sym_false, - STATE(119), 2, - sym_function_call, - sym_yield, - STATE(126), 2, + STATE(107), 2, sym_value, sym_index, - STATE(125), 4, + STATE(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(129), 7, - sym_structure, + STATE(105), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -10917,143 +11381,7 @@ static const uint16_t ts_small_parse_table[] = { 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, + [6201] = 24, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, @@ -11070,110 +11398,43 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(158), 1, anon_sym_some, - ACTIONS(419), 1, - anon_sym_LBRACE, - ACTIONS(471), 1, + ACTIONS(380), 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, + ACTIONS(382), 1, anon_sym_LBRACE, - ACTIONS(423), 1, + ACTIONS(386), 1, anon_sym_STAR, - STATE(71), 1, + STATE(72), 1, sym__function_expression_kind, STATE(132), 1, aux_sym_match_repeat1, - STATE(352), 1, + STATE(279), 1, + sym_structure, + STATE(356), 1, sym_expression, - STATE(464), 1, - sym_index_expression, - STATE(471), 1, + STATE(472), 1, sym_function_expression, + STATE(475), 1, + sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(265), 2, + STATE(275), 2, sym_value, sym_index, - STATE(277), 2, + STATE(285), 2, sym_function_call, sym_yield, - STATE(288), 4, + STATE(265), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(279), 7, - sym_structure, + STATE(268), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -11190,48 +11451,68 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [6052] = 6, + [6295] = 25, 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, + ACTIONS(138), 1, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, + 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(382), 1, anon_sym_LBRACE, - anon_sym_RBRACE, + ACTIONS(437), 1, + sym_identifier, + ACTIONS(439), 1, + anon_sym_RPAREN, + STATE(279), 1, + sym_structure, + STATE(285), 1, + sym_yield, + STATE(376), 1, + sym_function_call, + STATE(377), 1, + sym_expression, + STATE(417), 1, + aux_sym_function_repeat1, + STATE(447), 1, + sym__function_expression_kind, + STATE(472), 1, + sym_function_expression, + STATE(491), 1, + sym_index_expression, + ACTIONS(150), 2, 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, + ACTIONS(152), 2, anon_sym_true, anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, + STATE(275), 2, + sym_value, + sym_index, + STATE(383), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, @@ -11241,14 +11522,1210 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [6109] = 6, + [6391] = 24, ACTIONS(3), 1, sym__comment, - ACTIONS(485), 1, + ACTIONS(455), 1, + sym_identifier, + ACTIONS(458), 1, + anon_sym_LPAREN, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(464), 1, + anon_sym_struct, + ACTIONS(467), 1, + anon_sym_new, + ACTIONS(470), 1, + sym_integer, + ACTIONS(479), 1, + anon_sym_LBRACK, + ACTIONS(482), 1, + anon_sym_RBRACK, + ACTIONS(484), 1, + anon_sym_none, + ACTIONS(487), 1, + anon_sym_some, + STATE(72), 1, + sym__function_expression_kind, + STATE(108), 1, + sym_structure, + STATE(148), 1, + aux_sym_list_repeat1, + STATE(224), 1, + sym_expression, + STATE(460), 1, + sym_function_expression, + STATE(470), 1, + sym_index_expression, + ACTIONS(473), 2, + sym_float, + sym_string, + ACTIONS(476), 2, + anon_sym_true, + anon_sym_false, + STATE(107), 2, + sym_value, + sym_index, + STATE(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(105), 7, + sym_type_definition, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(490), 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, + [6485] = 24, + 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(431), 1, + sym_identifier, + ACTIONS(433), 1, + anon_sym_LBRACE, + ACTIONS(493), 1, + anon_sym_RBRACK, + STATE(72), 1, + sym__function_expression_kind, + STATE(108), 1, + sym_structure, + STATE(145), 1, + aux_sym_list_repeat1, + STATE(224), 1, + sym_expression, + STATE(460), 1, + sym_function_expression, + STATE(470), 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(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(105), 7, + sym_type_definition, + 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, + [6579] = 24, + 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(431), 1, + sym_identifier, + ACTIONS(433), 1, + anon_sym_LBRACE, + ACTIONS(495), 1, + anon_sym_RPAREN, + STATE(72), 1, + sym__function_expression_kind, + STATE(108), 1, + sym_structure, + STATE(152), 1, + aux_sym__expression_list, + STATE(225), 1, + sym_expression, + STATE(460), 1, + sym_function_expression, + STATE(470), 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(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(105), 7, + sym_type_definition, + 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, + [6673] = 25, + 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(382), 1, + anon_sym_LBRACE, + ACTIONS(437), 1, + sym_identifier, + ACTIONS(497), 1, + anon_sym_RPAREN, + STATE(279), 1, + sym_structure, + STATE(285), 1, + sym_yield, + STATE(376), 1, + sym_function_call, + STATE(377), 1, + sym_expression, + STATE(426), 1, + aux_sym_function_repeat1, + STATE(446), 1, + sym__function_expression_kind, + STATE(472), 1, + sym_function_expression, + STATE(491), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(275), 2, + sym_value, + sym_index, + STATE(383), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [6769] = 24, + ACTIONS(3), 1, + sym__comment, + ACTIONS(499), 1, + sym_identifier, + ACTIONS(502), 1, + anon_sym_LPAREN, + ACTIONS(505), 1, + anon_sym_RPAREN, + ACTIONS(507), 1, + anon_sym_LBRACE, + ACTIONS(510), 1, + anon_sym_struct, + ACTIONS(513), 1, + anon_sym_new, + ACTIONS(516), 1, + sym_integer, + ACTIONS(525), 1, + anon_sym_LBRACK, + ACTIONS(528), 1, + anon_sym_none, + ACTIONS(531), 1, + anon_sym_some, + STATE(72), 1, + sym__function_expression_kind, + STATE(108), 1, + sym_structure, + STATE(152), 1, + aux_sym__expression_list, + STATE(225), 1, + sym_expression, + STATE(460), 1, + sym_function_expression, + STATE(470), 1, + sym_index_expression, + ACTIONS(519), 2, + sym_float, + sym_string, + ACTIONS(522), 2, + anon_sym_true, + anon_sym_false, + STATE(107), 2, + sym_value, + sym_index, + STATE(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(105), 7, + sym_type_definition, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(534), 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, + [6863] = 25, + 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(382), 1, + anon_sym_LBRACE, + ACTIONS(437), 1, + sym_identifier, + ACTIONS(497), 1, + anon_sym_RPAREN, + STATE(279), 1, + sym_structure, + STATE(285), 1, + sym_yield, + STATE(376), 1, + sym_function_call, + STATE(377), 1, + sym_expression, + STATE(426), 1, + aux_sym_function_repeat1, + STATE(448), 1, + sym__function_expression_kind, + STATE(472), 1, + sym_function_expression, + STATE(491), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(275), 2, + sym_value, + sym_index, + STATE(383), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [6959] = 24, + 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(431), 1, + sym_identifier, + ACTIONS(433), 1, + anon_sym_LBRACE, + ACTIONS(537), 1, + anon_sym_RBRACK, + STATE(72), 1, + sym__function_expression_kind, + STATE(108), 1, + sym_structure, + STATE(141), 1, + aux_sym_list_repeat1, + STATE(224), 1, + sym_expression, + STATE(460), 1, + sym_function_expression, + STATE(470), 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(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(105), 7, + sym_type_definition, + 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, + [7053] = 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(380), 1, + sym_identifier, + ACTIONS(382), 1, + anon_sym_LBRACE, + ACTIONS(386), 1, + anon_sym_STAR, + STATE(72), 1, + sym__function_expression_kind, + STATE(134), 1, + aux_sym_match_repeat1, + STATE(279), 1, + sym_structure, + STATE(356), 1, + sym_expression, + STATE(472), 1, + sym_function_expression, + STATE(475), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(275), 2, + sym_value, + sym_index, + STATE(285), 2, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [7147] = 25, + 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(382), 1, + anon_sym_LBRACE, + ACTIONS(437), 1, + sym_identifier, + ACTIONS(449), 1, + anon_sym_RPAREN, + STATE(279), 1, + sym_structure, + STATE(285), 1, + sym_yield, + STATE(376), 1, + sym_function_call, + STATE(377), 1, + sym_expression, + STATE(412), 1, + aux_sym_function_repeat1, + STATE(446), 1, + sym__function_expression_kind, + STATE(472), 1, + sym_function_expression, + STATE(491), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(275), 2, + sym_value, + sym_index, + STATE(383), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [7243] = 25, + 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(382), 1, + anon_sym_LBRACE, + ACTIONS(437), 1, + sym_identifier, + ACTIONS(449), 1, + anon_sym_RPAREN, + STATE(279), 1, + sym_structure, + STATE(285), 1, + sym_yield, + STATE(376), 1, + sym_function_call, + STATE(377), 1, + sym_expression, + STATE(412), 1, + aux_sym_function_repeat1, + STATE(446), 1, + sym__function_expression_kind, + STATE(472), 1, + sym_function_expression, + STATE(491), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(275), 2, + sym_value, + sym_index, + STATE(380), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [7339] = 24, + 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(431), 1, + sym_identifier, + ACTIONS(433), 1, + anon_sym_LBRACE, + ACTIONS(539), 1, + anon_sym_RBRACK, + STATE(72), 1, + sym__function_expression_kind, + STATE(108), 1, + sym_structure, + STATE(148), 1, + aux_sym_list_repeat1, + STATE(224), 1, + sym_expression, + STATE(460), 1, + sym_function_expression, + STATE(470), 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(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(105), 7, + sym_type_definition, + 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, + [7433] = 24, + 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(431), 1, + sym_identifier, + ACTIONS(433), 1, + anon_sym_LBRACE, + ACTIONS(541), 1, + anon_sym_RPAREN, + STATE(72), 1, + sym__function_expression_kind, + STATE(108), 1, + sym_structure, + STATE(142), 1, + aux_sym__expression_list, + STATE(225), 1, + sym_expression, + STATE(460), 1, + sym_function_expression, + STATE(470), 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(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(105), 7, + sym_type_definition, + 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, + [7527] = 25, + 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(382), 1, + anon_sym_LBRACE, + ACTIONS(437), 1, + sym_identifier, + ACTIONS(497), 1, + anon_sym_RPAREN, + STATE(72), 1, + sym__function_expression_kind, + STATE(279), 1, + sym_structure, + STATE(285), 1, + sym_yield, + STATE(369), 1, + sym_function_call, + STATE(371), 1, + sym_expression, + STATE(426), 1, + aux_sym_function_repeat1, + STATE(472), 1, + sym_function_expression, + STATE(475), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(275), 2, + sym_value, + sym_index, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [7623] = 25, + 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(382), 1, + anon_sym_LBRACE, + ACTIONS(437), 1, + sym_identifier, + ACTIONS(439), 1, + anon_sym_RPAREN, + STATE(279), 1, + sym_structure, + STATE(285), 1, + sym_yield, + STATE(376), 1, + sym_function_call, + STATE(377), 1, + sym_expression, + STATE(417), 1, + aux_sym_function_repeat1, + STATE(446), 1, + sym__function_expression_kind, + STATE(472), 1, + sym_function_expression, + STATE(491), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(275), 2, + sym_value, + sym_index, + STATE(381), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [7719] = 24, + 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(431), 1, + sym_identifier, + ACTIONS(433), 1, + anon_sym_LBRACE, + ACTIONS(543), 1, + anon_sym_RPAREN, + STATE(72), 1, + sym__function_expression_kind, + STATE(108), 1, + sym_structure, + STATE(152), 1, + aux_sym__expression_list, + STATE(225), 1, + sym_expression, + STATE(460), 1, + sym_function_expression, + STATE(470), 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(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(105), 7, + sym_type_definition, + 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, + [7813] = 24, + 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(431), 1, + sym_identifier, + ACTIONS(433), 1, + anon_sym_LBRACE, + ACTIONS(545), 1, + anon_sym_RPAREN, + STATE(72), 1, + sym__function_expression_kind, + STATE(108), 1, + sym_structure, + STATE(152), 1, + aux_sym__expression_list, + STATE(225), 1, + sym_expression, + STATE(460), 1, + sym_function_expression, + STATE(470), 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(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(105), 7, + sym_type_definition, + 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, + [7907] = 24, + 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(431), 1, + sym_identifier, + ACTIONS(433), 1, + anon_sym_LBRACE, + ACTIONS(547), 1, + anon_sym_RPAREN, + STATE(72), 1, + sym__function_expression_kind, + STATE(108), 1, + sym_structure, + STATE(152), 1, + aux_sym__expression_list, + STATE(225), 1, + sym_expression, + STATE(460), 1, + sym_function_expression, + STATE(470), 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(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(105), 7, + sym_type_definition, + 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, + [8001] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(549), 1, anon_sym_DASH_GT, - STATE(167), 1, + STATE(202), 1, sym_math_operator, - STATE(199), 1, + STATE(204), 1, sym_logic_operator, ACTIONS(208), 20, anon_sym_SEMI, @@ -11292,1332 +12769,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [6166] = 23, + [8058] = 6, 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(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, - [6807] = 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(133), 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, - [6898] = 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(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(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, - [7082] = 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(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(378), 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, - [7175] = 23, - ACTIONS(3), 1, - sym__comment, - ACTIONS(501), 1, - sym_identifier, - ACTIONS(504), 1, - anon_sym_LPAREN, - ACTIONS(507), 1, - anon_sym_RPAREN, - 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, + ACTIONS(549), 1, + anon_sym_DASH_GT, + STATE(202), 1, + sym_math_operator, + STATE(204), 1, + sym_logic_operator, + ACTIONS(214), 20, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -12638,8 +12799,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - anon_sym_DASH_GT, - [7961] = 21, + ACTIONS(216), 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, + [8115] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, @@ -12656,37 +12837,39 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(158), 1, anon_sym_some, - ACTIONS(419), 1, + ACTIONS(382), 1, anon_sym_LBRACE, - ACTIONS(547), 1, + ACTIONS(551), 1, sym_identifier, - STATE(71), 1, + STATE(72), 1, sym__function_expression_kind, - STATE(347), 1, + STATE(279), 1, + sym_structure, + STATE(329), 1, sym_expression, - STATE(471), 1, - sym_function_expression, - STATE(488), 1, + STATE(467), 1, sym_index_expression, + STATE(472), 1, + sym_function_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, + STATE(345), 2, sym_value, sym_index, - STATE(288), 4, + STATE(346), 2, + sym_function_call, + sym_yield, + STATE(265), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(279), 7, - sym_structure, + STATE(268), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -12703,7 +12886,72 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [8046] = 21, + [8203] = 21, + 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(382), 1, + anon_sym_LBRACE, + ACTIONS(553), 1, + sym_identifier, + ACTIONS(555), 1, + anon_sym_LPAREN, + STATE(279), 1, + sym_structure, + STATE(291), 1, + sym_function_expression, + STATE(371), 1, + sym_expression, + STATE(475), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(317), 2, + sym_value, + sym_index, + STATE(284), 3, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [8289] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, @@ -12720,17 +12968,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(196), 1, anon_sym_some, - ACTIONS(427), 1, - sym_identifier, ACTIONS(431), 1, + sym_identifier, + ACTIONS(433), 1, anon_sym_LBRACE, - STATE(71), 1, + STATE(72), 1, sym__function_expression_kind, - STATE(144), 1, + STATE(99), 1, sym_expression, - STATE(457), 1, + STATE(108), 1, + sym_structure, + STATE(460), 1, sym_function_expression, - STATE(476), 1, + STATE(470), 1, sym_index_expression, ACTIONS(188), 2, sym_float, @@ -12738,19 +12988,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(190), 2, anon_sym_true, anon_sym_false, - STATE(119), 2, - sym_function_call, - sym_yield, - STATE(126), 2, + STATE(107), 2, sym_value, sym_index, - STATE(125), 4, + STATE(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(129), 7, - sym_structure, + STATE(105), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -12767,325 +13017,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [8131] = 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(336), 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, - [8216] = 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(355), 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, - [8301] = 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(346), 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, - [8386] = 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(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(417), 1, - sym_identifier, - ACTIONS(419), 1, - anon_sym_LBRACE, - STATE(71), 1, - sym__function_expression_kind, - STATE(333), 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, - [8552] = 19, + [8377] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(144), 1, @@ -13100,17 +13032,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(158), 1, anon_sym_some, - ACTIONS(419), 1, + ACTIONS(382), 1, anon_sym_LBRACE, - ACTIONS(553), 1, - sym_identifier, ACTIONS(555), 1, anon_sym_LPAREN, - STATE(289), 1, + ACTIONS(557), 1, + sym_identifier, + STATE(279), 1, + sym_structure, + STATE(291), 1, sym_function_expression, - STATE(375), 1, + STATE(361), 1, sym_expression, - STATE(488), 1, + STATE(491), 1, sym_index_expression, ACTIONS(150), 2, sym_float, @@ -13118,19 +13052,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(288), 4, + STATE(265), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(269), 5, + STATE(284), 5, sym_value, sym_index, sym__function_expression_kind, sym_function_call, sym_yield, - STATE(279), 7, - sym_structure, + STATE(268), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -13147,71 +13081,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [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(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(50), 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, - [8718] = 21, + [8461] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, @@ -13228,37 +13098,39 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(158), 1, anon_sym_some, - ACTIONS(417), 1, + ACTIONS(380), 1, sym_identifier, - ACTIONS(419), 1, + ACTIONS(382), 1, anon_sym_LBRACE, - STATE(71), 1, + STATE(72), 1, sym__function_expression_kind, - STATE(331), 1, + STATE(279), 1, + sym_structure, + STATE(358), 1, sym_expression, - STATE(464), 1, - sym_index_expression, - STATE(471), 1, + STATE(472), 1, sym_function_expression, + STATE(475), 1, + sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(265), 2, + STATE(275), 2, sym_value, sym_index, - STATE(277), 2, + STATE(285), 2, sym_function_call, sym_yield, - STATE(288), 4, + STATE(265), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(279), 7, - sym_structure, + STATE(268), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -13275,7 +13147,271 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [8803] = 21, + [8549] = 22, + 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(380), 1, + sym_identifier, + ACTIONS(382), 1, + anon_sym_LBRACE, + STATE(72), 1, + sym__function_expression_kind, + STATE(279), 1, + sym_structure, + STATE(334), 1, + sym_expression, + STATE(472), 1, + sym_function_expression, + STATE(475), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(275), 2, + sym_value, + sym_index, + STATE(285), 2, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [8637] = 22, + 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(382), 1, + anon_sym_LBRACE, + ACTIONS(551), 1, + sym_identifier, + STATE(72), 1, + sym__function_expression_kind, + STATE(279), 1, + sym_structure, + STATE(351), 1, + sym_expression, + STATE(472), 1, + sym_function_expression, + STATE(491), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(345), 2, + sym_value, + sym_index, + STATE(346), 2, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [8725] = 22, + 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(382), 1, + anon_sym_LBRACE, + ACTIONS(551), 1, + sym_identifier, + STATE(72), 1, + sym__function_expression_kind, + STATE(279), 1, + sym_structure, + STATE(339), 1, + sym_expression, + STATE(472), 1, + sym_function_expression, + STATE(491), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(345), 2, + sym_value, + sym_index, + STATE(346), 2, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [8813] = 22, + 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(382), 1, + anon_sym_LBRACE, + ACTIONS(551), 1, + sym_identifier, + STATE(72), 1, + sym__function_expression_kind, + STATE(279), 1, + sym_structure, + STATE(332), 1, + sym_expression, + STATE(472), 1, + sym_function_expression, + STATE(491), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(345), 2, + sym_value, + sym_index, + STATE(346), 2, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [8901] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, @@ -13292,17 +13428,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(27), 1, anon_sym_some, - ACTIONS(557), 1, - sym_identifier, ACTIONS(559), 1, + sym_identifier, + ACTIONS(561), 1, anon_sym_LBRACE, STATE(48), 1, sym_expression, - STATE(71), 1, + STATE(55), 1, + sym_structure, + STATE(72), 1, sym__function_expression_kind, - STATE(452), 1, + STATE(466), 1, sym_index_expression, - STATE(481), 1, + STATE(484), 1, sym_function_expression, ACTIONS(19), 2, sym_float, @@ -13310,19 +13448,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(21), 2, anon_sym_true, anon_sym_false, - STATE(69), 2, + STATE(71), 2, sym_function_call, sym_yield, - STATE(87), 2, + STATE(80), 2, sym_value, sym_index, - STATE(63), 4, + STATE(81), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(81), 7, - sym_structure, + STATE(61), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -13339,7 +13477,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [8888] = 21, + [8989] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, @@ -13356,37 +13494,39 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(158), 1, anon_sym_some, - ACTIONS(419), 1, - anon_sym_LBRACE, - ACTIONS(547), 1, + ACTIONS(380), 1, sym_identifier, - STATE(71), 1, + ACTIONS(382), 1, + anon_sym_LBRACE, + STATE(72), 1, sym__function_expression_kind, - STATE(326), 1, + STATE(279), 1, + sym_structure, + STATE(335), 1, sym_expression, - STATE(460), 1, - sym_index_expression, - STATE(471), 1, + STATE(472), 1, sym_function_expression, + STATE(475), 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, + STATE(275), 2, sym_value, sym_index, - STATE(288), 4, + STATE(285), 2, + sym_function_call, + sym_yield, + STATE(265), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(279), 7, - sym_structure, + STATE(268), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -13403,7 +13543,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [8973] = 21, + [9077] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, @@ -13420,37 +13560,39 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(158), 1, anon_sym_some, - ACTIONS(419), 1, - anon_sym_LBRACE, - ACTIONS(547), 1, + ACTIONS(380), 1, sym_identifier, - STATE(71), 1, + ACTIONS(382), 1, + anon_sym_LBRACE, + STATE(72), 1, sym__function_expression_kind, - STATE(325), 1, + STATE(279), 1, + sym_structure, + STATE(330), 1, sym_expression, - STATE(460), 1, - sym_index_expression, - STATE(471), 1, + STATE(472), 1, sym_function_expression, + STATE(475), 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, + STATE(275), 2, sym_value, sym_index, - STATE(288), 4, + STATE(285), 2, + sym_function_call, + sym_yield, + STATE(265), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(279), 7, - sym_structure, + STATE(268), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -13467,131 +13609,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [9058] = 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(369), 1, - sym_expression, - STATE(460), 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, - [9139] = 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(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, + [9165] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, @@ -13608,37 +13626,39 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(27), 1, anon_sym_some, - ACTIONS(557), 1, - sym_identifier, ACTIONS(559), 1, + sym_identifier, + ACTIONS(561), 1, anon_sym_LBRACE, - STATE(71), 1, - sym__function_expression_kind, - STATE(94), 1, + STATE(49), 1, sym_expression, - STATE(481), 1, - sym_function_expression, - STATE(482), 1, + STATE(55), 1, + sym_structure, + STATE(72), 1, + sym__function_expression_kind, + STATE(466), 1, sym_index_expression, + STATE(484), 1, + sym_function_expression, ACTIONS(19), 2, sym_float, sym_string, ACTIONS(21), 2, anon_sym_true, anon_sym_false, - STATE(69), 2, + STATE(71), 2, sym_function_call, sym_yield, - STATE(87), 2, + STATE(80), 2, sym_value, sym_index, - STATE(63), 4, + STATE(81), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(81), 7, - sym_structure, + STATE(61), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -13655,135 +13675,7 @@ static const uint16_t ts_small_parse_table[] = { 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, + [9253] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, @@ -13800,229 +13692,39 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(158), 1, anon_sym_some, - ACTIONS(417), 1, + ACTIONS(380), 1, sym_identifier, - ACTIONS(419), 1, + ACTIONS(382), 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, + STATE(72), 1, sym__function_expression_kind, STATE(263), 1, sym_expression, - STATE(464), 1, - sym_index_expression, - STATE(471), 1, + STATE(279), 1, + sym_structure, + STATE(472), 1, sym_function_expression, + STATE(475), 1, + sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(265), 2, + STATE(275), 2, sym_value, sym_index, - STATE(277), 2, + STATE(285), 2, sym_function_call, sym_yield, - STATE(288), 4, + STATE(265), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(279), 7, - sym_structure, + STATE(268), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -14039,11 +13741,147 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [9815] = 19, + [9341] = 22, 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(431), 1, + sym_identifier, + ACTIONS(433), 1, + anon_sym_LBRACE, + STATE(72), 1, + sym__function_expression_kind, + STATE(98), 1, + sym_expression, + STATE(108), 1, + sym_structure, + STATE(460), 1, + sym_function_expression, + STATE(470), 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(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(105), 7, + sym_type_definition, + 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, + [9429] = 22, + 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(382), 1, + anon_sym_LBRACE, + ACTIONS(551), 1, + sym_identifier, + STATE(72), 1, + sym__function_expression_kind, + STATE(279), 1, + sym_structure, + STATE(326), 1, + sym_expression, + STATE(467), 1, + sym_index_expression, + STATE(472), 1, + sym_function_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(345), 2, + sym_value, + sym_index, + STATE(346), 2, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [9517] = 22, + 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, @@ -14052,19 +13890,19 @@ static const uint16_t ts_small_parse_table[] = { 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, + ACTIONS(561), 1, + anon_sym_LBRACE, + STATE(51), 1, sym_expression, - STATE(482), 1, + STATE(55), 1, + sym_structure, + STATE(72), 1, + sym__function_expression_kind, + STATE(484), 1, + sym_function_expression, + STATE(485), 1, sym_index_expression, ACTIONS(19), 2, sym_float, @@ -14072,19 +13910,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(21), 2, anon_sym_true, anon_sym_false, - STATE(288), 4, + STATE(71), 2, + sym_function_call, + sym_yield, + STATE(80), 2, + sym_value, + sym_index, + STATE(81), 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, + STATE(61), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -14101,7 +13939,579 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [9896] = 19, + [9605] = 22, + 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(431), 1, + sym_identifier, + ACTIONS(433), 1, + anon_sym_LBRACE, + STATE(72), 1, + sym__function_expression_kind, + STATE(90), 1, + sym_expression, + STATE(108), 1, + sym_structure, + STATE(460), 1, + sym_function_expression, + STATE(481), 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(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(105), 7, + sym_type_definition, + 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, + [9693] = 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(561), 1, + anon_sym_LBRACE, + ACTIONS(563), 1, + sym_identifier, + ACTIONS(565), 1, + anon_sym_LPAREN, + STATE(55), 1, + sym_structure, + STATE(78), 1, + sym_function_expression, + STATE(362), 1, + sym_expression, + STATE(485), 1, + sym_index_expression, + ACTIONS(19), 2, + sym_float, + sym_string, + ACTIONS(21), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(72), 5, + sym_value, + sym_index, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(61), 7, + sym_type_definition, + 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, + [9777] = 22, + 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(559), 1, + sym_identifier, + ACTIONS(561), 1, + anon_sym_LBRACE, + STATE(53), 1, + sym_expression, + STATE(55), 1, + sym_structure, + STATE(72), 1, + sym__function_expression_kind, + STATE(484), 1, + sym_function_expression, + STATE(485), 1, + sym_index_expression, + ACTIONS(19), 2, + sym_float, + sym_string, + ACTIONS(21), 2, + anon_sym_true, + anon_sym_false, + STATE(71), 2, + sym_function_call, + sym_yield, + STATE(80), 2, + sym_value, + sym_index, + STATE(81), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(61), 7, + sym_type_definition, + 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, + [9865] = 22, + 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(431), 1, + sym_identifier, + ACTIONS(433), 1, + anon_sym_LBRACE, + STATE(72), 1, + sym__function_expression_kind, + STATE(95), 1, + sym_expression, + STATE(108), 1, + sym_structure, + STATE(460), 1, + sym_function_expression, + STATE(481), 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(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(105), 7, + sym_type_definition, + 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, + [9953] = 22, + 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(380), 1, + sym_identifier, + ACTIONS(382), 1, + anon_sym_LBRACE, + STATE(72), 1, + sym__function_expression_kind, + STATE(260), 1, + sym_expression, + STATE(279), 1, + sym_structure, + STATE(467), 1, + sym_index_expression, + STATE(472), 1, + sym_function_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(275), 2, + sym_value, + sym_index, + STATE(285), 2, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [10041] = 22, + 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(382), 1, + anon_sym_LBRACE, + ACTIONS(551), 1, + sym_identifier, + STATE(72), 1, + sym__function_expression_kind, + STATE(279), 1, + sym_structure, + STATE(357), 1, + sym_expression, + STATE(472), 1, + sym_function_expression, + STATE(491), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(345), 2, + sym_value, + sym_index, + STATE(346), 2, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [10129] = 22, + 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(380), 1, + sym_identifier, + ACTIONS(382), 1, + anon_sym_LBRACE, + STATE(72), 1, + sym__function_expression_kind, + STATE(259), 1, + sym_expression, + STATE(279), 1, + sym_structure, + STATE(467), 1, + sym_index_expression, + STATE(472), 1, + sym_function_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(275), 2, + sym_value, + sym_index, + STATE(285), 2, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [10217] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(232), 1, + anon_sym_COLON, + ACTIONS(374), 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(228), 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, + [10269] = 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(433), 1, + anon_sym_LBRACE, + ACTIONS(567), 1, + sym_identifier, + ACTIONS(569), 1, + anon_sym_LPAREN, + STATE(108), 1, + sym_structure, + STATE(123), 1, + sym_function_expression, + STATE(379), 1, + sym_expression, + STATE(481), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(110), 5, + sym_value, + sym_index, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(105), 7, + sym_type_definition, + 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, + [10353] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(144), 1, @@ -14116,17 +14526,1071 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(158), 1, anon_sym_some, - ACTIONS(419), 1, + ACTIONS(382), 1, + anon_sym_LBRACE, + ACTIONS(555), 1, + anon_sym_LPAREN, + ACTIONS(557), 1, + sym_identifier, + STATE(279), 1, + sym_structure, + STATE(291), 1, + sym_function_expression, + STATE(375), 1, + sym_expression, + STATE(475), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(284), 5, + sym_value, + sym_index, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(268), 7, + sym_type_definition, + 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, + [10437] = 22, + 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(382), 1, + anon_sym_LBRACE, + ACTIONS(551), 1, + sym_identifier, + STATE(72), 1, + sym__function_expression_kind, + STATE(279), 1, + sym_structure, + STATE(350), 1, + sym_expression, + STATE(472), 1, + sym_function_expression, + STATE(491), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(345), 2, + sym_value, + sym_index, + STATE(346), 2, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [10525] = 22, + 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(380), 1, + sym_identifier, + ACTIONS(382), 1, + anon_sym_LBRACE, + STATE(72), 1, + sym__function_expression_kind, + STATE(279), 1, + sym_structure, + STATE(338), 1, + sym_expression, + STATE(472), 1, + sym_function_expression, + STATE(475), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(275), 2, + sym_value, + sym_index, + STATE(285), 2, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [10613] = 22, + 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(380), 1, + sym_identifier, + ACTIONS(382), 1, + anon_sym_LBRACE, + STATE(72), 1, + sym__function_expression_kind, + STATE(279), 1, + sym_structure, + STATE(337), 1, + sym_expression, + STATE(472), 1, + sym_function_expression, + STATE(475), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(275), 2, + sym_value, + sym_index, + STATE(285), 2, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [10701] = 21, + 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(433), 1, + anon_sym_LBRACE, + ACTIONS(569), 1, + anon_sym_LPAREN, + ACTIONS(571), 1, + sym_identifier, + STATE(108), 1, + sym_structure, + STATE(123), 1, + sym_function_expression, + STATE(365), 1, + sym_expression, + STATE(470), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(191), 2, + sym_value, + sym_index, + STATE(110), 3, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(105), 7, + sym_type_definition, + 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, + [10787] = 21, + 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(561), 1, + anon_sym_LBRACE, + ACTIONS(565), 1, + anon_sym_LPAREN, + ACTIONS(573), 1, + sym_identifier, + STATE(55), 1, + sym_structure, + STATE(78), 1, + sym_function_expression, + STATE(366), 1, + sym_expression, + STATE(485), 1, + sym_index_expression, + ACTIONS(19), 2, + sym_float, + sym_string, + ACTIONS(21), 2, + anon_sym_true, + anon_sym_false, + STATE(97), 2, + sym_value, + sym_index, + STATE(72), 3, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(61), 7, + sym_type_definition, + 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, + [10873] = 22, + 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(382), 1, + anon_sym_LBRACE, + ACTIONS(551), 1, + sym_identifier, + STATE(72), 1, + sym__function_expression_kind, + STATE(279), 1, + sym_structure, + STATE(336), 1, + sym_expression, + STATE(472), 1, + sym_function_expression, + STATE(491), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(345), 2, + sym_value, + sym_index, + STATE(346), 2, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [10961] = 22, + 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(559), 1, + sym_identifier, + ACTIONS(561), 1, + anon_sym_LBRACE, + STATE(52), 1, + sym_expression, + STATE(55), 1, + sym_structure, + STATE(72), 1, + sym__function_expression_kind, + STATE(484), 1, + sym_function_expression, + STATE(485), 1, + sym_index_expression, + ACTIONS(19), 2, + sym_float, + sym_string, + ACTIONS(21), 2, + anon_sym_true, + anon_sym_false, + STATE(71), 2, + sym_function_call, + sym_yield, + STATE(80), 2, + sym_value, + sym_index, + STATE(81), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(61), 7, + sym_type_definition, + 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, + [11049] = 22, + 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(559), 1, + sym_identifier, + ACTIONS(561), 1, + anon_sym_LBRACE, + STATE(55), 1, + sym_structure, + STATE(72), 1, + sym__function_expression_kind, + STATE(91), 1, + sym_expression, + STATE(484), 1, + sym_function_expression, + STATE(485), 1, + sym_index_expression, + ACTIONS(19), 2, + sym_float, + sym_string, + ACTIONS(21), 2, + anon_sym_true, + anon_sym_false, + STATE(71), 2, + sym_function_call, + sym_yield, + STATE(80), 2, + sym_value, + sym_index, + STATE(81), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(61), 7, + sym_type_definition, + 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, + [11137] = 22, + 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(431), 1, + sym_identifier, + ACTIONS(433), 1, + anon_sym_LBRACE, + STATE(72), 1, + sym__function_expression_kind, + STATE(108), 1, + sym_structure, + STATE(165), 1, + sym_expression, + STATE(460), 1, + sym_function_expression, + STATE(470), 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(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(105), 7, + sym_type_definition, + 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, + [11225] = 22, + 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(380), 1, + sym_identifier, + ACTIONS(382), 1, + anon_sym_LBRACE, + STATE(72), 1, + sym__function_expression_kind, + STATE(267), 1, + sym_expression, + STATE(279), 1, + sym_structure, + STATE(472), 1, + sym_function_expression, + STATE(475), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(275), 2, + sym_value, + sym_index, + STATE(285), 2, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [11313] = 22, + 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(431), 1, + sym_identifier, + ACTIONS(433), 1, + anon_sym_LBRACE, + STATE(72), 1, + sym__function_expression_kind, + STATE(108), 1, + sym_structure, + STATE(166), 1, + sym_expression, + STATE(460), 1, + sym_function_expression, + STATE(470), 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(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(105), 7, + sym_type_definition, + 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, + [11401] = 22, + 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(380), 1, + sym_identifier, + ACTIONS(382), 1, + anon_sym_LBRACE, + STATE(72), 1, + sym__function_expression_kind, + STATE(279), 1, + sym_structure, + STATE(342), 1, + sym_expression, + STATE(472), 1, + sym_function_expression, + STATE(475), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(275), 2, + sym_value, + sym_index, + STATE(285), 2, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [11489] = 22, + 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(380), 1, + sym_identifier, + ACTIONS(382), 1, + anon_sym_LBRACE, + STATE(72), 1, + sym__function_expression_kind, + STATE(279), 1, + sym_structure, + STATE(331), 1, + sym_expression, + STATE(472), 1, + sym_function_expression, + STATE(475), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(275), 2, + sym_value, + sym_index, + STATE(285), 2, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [11577] = 22, + 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(380), 1, + sym_identifier, + ACTIONS(382), 1, + anon_sym_LBRACE, + STATE(72), 1, + sym__function_expression_kind, + STATE(279), 1, + sym_structure, + STATE(322), 1, + sym_expression, + STATE(472), 1, + sym_function_expression, + STATE(475), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(275), 2, + sym_value, + sym_index, + STATE(285), 2, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [11665] = 22, + 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(380), 1, + sym_identifier, + ACTIONS(382), 1, + anon_sym_LBRACE, + STATE(72), 1, + sym__function_expression_kind, + STATE(279), 1, + sym_structure, + STATE(319), 1, + sym_expression, + STATE(472), 1, + sym_function_expression, + STATE(475), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(275), 2, + sym_value, + sym_index, + STATE(285), 2, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [11753] = 21, + 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(382), 1, anon_sym_LBRACE, ACTIONS(553), 1, sym_identifier, ACTIONS(555), 1, anon_sym_LPAREN, - STATE(289), 1, + STATE(279), 1, + sym_structure, + STATE(291), 1, sym_function_expression, STATE(373), 1, sym_expression, - STATE(464), 1, + STATE(491), 1, sym_index_expression, ACTIONS(150), 2, sym_float, @@ -14134,19 +15598,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(288), 4, + STATE(317), 2, + sym_value, + sym_index, + STATE(284), 3, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(265), 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, + STATE(268), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -14163,7 +15628,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [9977] = 21, + [11839] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, @@ -14180,235 +15645,46 @@ static const uint16_t ts_small_parse_table[] = { 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, + ACTIONS(382), 1, anon_sym_LBRACE, ACTIONS(551), 1, - anon_sym_LPAREN, - ACTIONS(565), 1, sym_identifier, - STATE(106), 1, - sym_function_expression, - STATE(363), 1, + STATE(72), 1, + sym__function_expression_kind, + STATE(279), 1, + sym_structure, + STATE(352), 1, sym_expression, - STATE(476), 1, + STATE(472), 1, + sym_function_expression, + STATE(491), 1, sym_index_expression, - ACTIONS(188), 2, + ACTIONS(150), 2, sym_float, sym_string, - ACTIONS(190), 2, + ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(165), 2, + STATE(345), 2, sym_value, sym_index, - STATE(121), 3, - sym__function_expression_kind, + STATE(346), 2, sym_function_call, sym_yield, - STATE(288), 4, + STATE(265), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(129), 7, - sym_structure, + STATE(268), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(206), 9, + ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -14418,61 +15694,63 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [10315] = 21, + [11927] = 22, ACTIONS(3), 1, sym__comment, - ACTIONS(176), 1, + ACTIONS(138), 1, anon_sym_LPAREN, - ACTIONS(182), 1, + ACTIONS(144), 1, anon_sym_struct, - ACTIONS(184), 1, + ACTIONS(146), 1, anon_sym_new, - ACTIONS(186), 1, + ACTIONS(148), 1, sym_integer, - ACTIONS(192), 1, + ACTIONS(154), 1, anon_sym_LBRACK, - ACTIONS(194), 1, + ACTIONS(156), 1, anon_sym_none, - ACTIONS(196), 1, + ACTIONS(158), 1, anon_sym_some, - ACTIONS(427), 1, - sym_identifier, - ACTIONS(431), 1, + ACTIONS(382), 1, anon_sym_LBRACE, - STATE(71), 1, + ACTIONS(551), 1, + sym_identifier, + STATE(72), 1, sym__function_expression_kind, - STATE(98), 1, + STATE(279), 1, + sym_structure, + STATE(354), 1, sym_expression, - STATE(457), 1, + STATE(472), 1, sym_function_expression, - STATE(476), 1, + STATE(491), 1, sym_index_expression, - ACTIONS(188), 2, + ACTIONS(150), 2, sym_float, sym_string, - ACTIONS(190), 2, + ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(119), 2, - sym_function_call, - sym_yield, - STATE(126), 2, + STATE(345), 2, sym_value, sym_index, - STATE(125), 4, + STATE(346), 2, + sym_function_call, + sym_yield, + STATE(265), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(129), 7, - sym_structure, + STATE(268), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(206), 9, + ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -14482,7 +15760,137 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [10400] = 21, + [12015] = 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(561), 1, + anon_sym_LBRACE, + ACTIONS(563), 1, + sym_identifier, + ACTIONS(565), 1, + anon_sym_LPAREN, + STATE(55), 1, + sym_structure, + STATE(78), 1, + sym_function_expression, + STATE(367), 1, + sym_expression, + STATE(466), 1, + sym_index_expression, + ACTIONS(19), 2, + sym_float, + sym_string, + ACTIONS(21), 2, + anon_sym_true, + anon_sym_false, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(72), 5, + sym_value, + sym_index, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(61), 7, + sym_type_definition, + 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, + [12099] = 22, + 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(380), 1, + sym_identifier, + ACTIONS(382), 1, + anon_sym_LBRACE, + STATE(72), 1, + sym__function_expression_kind, + STATE(264), 1, + sym_expression, + STATE(279), 1, + sym_structure, + STATE(472), 1, + sym_function_expression, + STATE(475), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(275), 2, + sym_value, + sym_index, + STATE(285), 2, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [12187] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, @@ -14499,17 +15907,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(27), 1, anon_sym_some, - ACTIONS(557), 1, - sym_identifier, ACTIONS(559), 1, + sym_identifier, + ACTIONS(561), 1, anon_sym_LBRACE, - STATE(52), 1, - sym_expression, - STATE(71), 1, + STATE(55), 1, + sym_structure, + STATE(72), 1, sym__function_expression_kind, - STATE(481), 1, + STATE(92), 1, + sym_expression, + STATE(484), 1, sym_function_expression, - STATE(482), 1, + STATE(485), 1, sym_index_expression, ACTIONS(19), 2, sym_float, @@ -14517,19 +15927,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(21), 2, anon_sym_true, anon_sym_false, - STATE(69), 2, + STATE(71), 2, sym_function_call, sym_yield, - STATE(87), 2, + STATE(80), 2, sym_value, sym_index, - STATE(63), 4, + STATE(81), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(81), 7, - sym_structure, + STATE(61), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -14546,396 +15956,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [10485] = 10, + [12275] = 20, 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, + ACTIONS(182), 1, anon_sym_struct, - ACTIONS(17), 1, + ACTIONS(186), 1, sym_integer, - ACTIONS(23), 1, + ACTIONS(192), 1, anon_sym_LBRACK, - ACTIONS(25), 1, + ACTIONS(194), 1, anon_sym_none, - ACTIONS(27), 1, + ACTIONS(196), 1, anon_sym_some, - ACTIONS(146), 1, - anon_sym_new, - ACTIONS(559), 1, + ACTIONS(433), 1, anon_sym_LBRACE, - ACTIONS(563), 1, - anon_sym_LPAREN, ACTIONS(567), 1, sym_identifier, - STATE(66), 1, - sym_function_expression, - STATE(364), 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(96), 2, - sym_value, - sym_index, - STATE(71), 3, - sym__function_expression_kind, - sym_function_call, - sym_yield, - 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(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, - [10716] = 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(145), 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, - [10801] = 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(327), 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, - [10886] = 11, - ACTIONS(3), 1, - sym__comment, - 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(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), 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, - [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, + STATE(108), 1, + sym_structure, + STATE(123), 1, sym_function_expression, - STATE(476), 1, + STATE(372), 1, + sym_expression, + STATE(470), 1, sym_index_expression, ACTIONS(188), 2, sym_float, @@ -14943,19 +15991,19 @@ static const uint16_t ts_small_parse_table[] = { 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, + STATE(265), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(129), 7, - sym_structure, + STATE(110), 5, + sym_value, + sym_index, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(105), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -14972,135 +16020,7 @@ static const uint16_t ts_small_parse_table[] = { 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, + [12359] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(144), 1, @@ -15115,144 +16035,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(158), 1, anon_sym_some, - ACTIONS(419), 1, + ACTIONS(382), 1, anon_sym_LBRACE, ACTIONS(555), 1, anon_sym_LPAREN, - ACTIONS(571), 1, + ACTIONS(557), 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, + STATE(279), 1, 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, + STATE(291), 1, sym_function_expression, STATE(370), 1, sym_expression, - STATE(488), 1, + STATE(467), 1, sym_index_expression, ACTIONS(150), 2, sym_float, @@ -15260,20 +16055,19 @@ static const uint16_t ts_small_parse_table[] = { 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, + STATE(265), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(279), 7, - sym_structure, + STATE(284), 5, + sym_value, + sym_index, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(268), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -15290,7 +16084,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [11457] = 21, + [12443] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, @@ -15307,17 +16101,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(158), 1, anon_sym_some, - ACTIONS(419), 1, - anon_sym_LBRACE, - ACTIONS(547), 1, + ACTIONS(380), 1, sym_identifier, - STATE(71), 1, + ACTIONS(382), 1, + anon_sym_LBRACE, + STATE(72), 1, sym__function_expression_kind, - STATE(357), 1, + STATE(279), 1, + sym_structure, + STATE(340), 1, sym_expression, - STATE(471), 1, + STATE(472), 1, sym_function_expression, - STATE(488), 1, + STATE(475), 1, sym_index_expression, ACTIONS(150), 2, sym_float, @@ -15325,19 +16121,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(343), 2, - sym_function_call, - sym_yield, - STATE(344), 2, + STATE(275), 2, sym_value, sym_index, - STATE(288), 4, + STATE(285), 2, + sym_function_call, + sym_yield, + STATE(265), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(279), 7, - sym_structure, + STATE(268), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -15354,7 +16150,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [11542] = 21, + [12531] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, @@ -15371,17 +16167,85 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(158), 1, anon_sym_some, - ACTIONS(419), 1, - anon_sym_LBRACE, - ACTIONS(547), 1, + ACTIONS(380), 1, sym_identifier, - STATE(71), 1, + ACTIONS(382), 1, + anon_sym_LBRACE, + STATE(72), 1, sym__function_expression_kind, + STATE(279), 1, + sym_structure, + STATE(333), 1, + sym_expression, + STATE(472), 1, + sym_function_expression, + STATE(475), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(275), 2, + sym_value, + sym_index, + STATE(285), 2, + sym_function_call, + sym_yield, + STATE(265), 4, + sym__expression_kind, + sym_new, + sym_math, + sym_logic, + STATE(268), 7, + sym_type_definition, + 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, + [12619] = 22, + 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(380), 1, + sym_identifier, + ACTIONS(382), 1, + anon_sym_LBRACE, + STATE(72), 1, + sym__function_expression_kind, + STATE(279), 1, + sym_structure, STATE(349), 1, sym_expression, - STATE(471), 1, + STATE(472), 1, sym_function_expression, - STATE(488), 1, + STATE(475), 1, sym_index_expression, ACTIONS(150), 2, sym_float, @@ -15389,19 +16253,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(343), 2, - sym_function_call, - sym_yield, - STATE(344), 2, + STATE(275), 2, sym_value, sym_index, - STATE(288), 4, + STATE(285), 2, + sym_function_call, + sym_yield, + STATE(265), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(279), 7, - sym_structure, + STATE(268), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -15418,327 +16282,7 @@ static const uint16_t ts_small_parse_table[] = { 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, + [12707] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, @@ -15755,17 +16299,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(196), 1, anon_sym_some, - ACTIONS(427), 1, - sym_identifier, ACTIONS(431), 1, + sym_identifier, + ACTIONS(433), 1, anon_sym_LBRACE, - STATE(71), 1, + STATE(72), 1, sym__function_expression_kind, - STATE(97), 1, + STATE(96), 1, sym_expression, - STATE(457), 1, + STATE(108), 1, + sym_structure, + STATE(460), 1, sym_function_expression, - STATE(476), 1, + STATE(470), 1, sym_index_expression, ACTIONS(188), 2, sym_float, @@ -15773,19 +16319,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(190), 2, anon_sym_true, anon_sym_false, - STATE(119), 2, - sym_function_call, - sym_yield, - STATE(126), 2, + STATE(107), 2, sym_value, sym_index, - STATE(125), 4, + STATE(111), 2, + sym_function_call, + sym_yield, + STATE(100), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(129), 7, - sym_structure, + STATE(105), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -15802,7 +16348,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [12137] = 21, + [12795] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, @@ -15819,37 +16365,39 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(158), 1, anon_sym_some, - ACTIONS(417), 1, + ACTIONS(380), 1, sym_identifier, - ACTIONS(419), 1, + ACTIONS(382), 1, anon_sym_LBRACE, - STATE(71), 1, + STATE(72), 1, sym__function_expression_kind, - STATE(348), 1, + STATE(279), 1, + sym_structure, + STATE(341), 1, sym_expression, - STATE(464), 1, - sym_index_expression, - STATE(471), 1, + STATE(472), 1, sym_function_expression, + STATE(475), 1, + sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(265), 2, + STATE(275), 2, sym_value, sym_index, - STATE(277), 2, + STATE(285), 2, sym_function_call, sym_yield, - STATE(288), 4, + STATE(265), 4, sym__expression_kind, sym_new, sym_math, sym_logic, - STATE(279), 7, - sym_structure, + STATE(268), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -15866,360 +16414,42 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [12222] = 21, + [12883] = 10, 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(364), 1, + anon_sym_DASH, 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, + STATE(202), 1, sym_math_operator, - STATE(199), 1, + STATE(204), 1, sym_logic_operator, - ACTIONS(362), 2, + ACTIONS(368), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(356), 4, + ACTIONS(362), 3, anon_sym_PLUS, - anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(360), 6, + ACTIONS(366), 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, + ACTIONS(356), 9, + 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, - ACTIONS(573), 17, + anon_sym_STAR, + ACTIONS(358), 17, sym_identifier, anon_sym_struct, anon_sym_new, @@ -16237,42 +16467,96 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [12707] = 11, + [12946] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(358), 1, + ACTIONS(364), 1, anon_sym_DASH, - ACTIONS(485), 1, + ACTIONS(549), 1, anon_sym_DASH_GT, - ACTIONS(583), 1, - anon_sym_COMMA, - STATE(167), 1, + ACTIONS(575), 1, + anon_sym_SEMI, + STATE(202), 1, sym_math_operator, - STATE(199), 1, + STATE(204), 1, sym_logic_operator, - ACTIONS(362), 2, + ACTIONS(368), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(356), 4, + ACTIONS(362), 3, anon_sym_PLUS, - anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(360), 6, + ACTIONS(366), 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, + ACTIONS(356), 8, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_STAR, + ACTIONS(358), 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, + [13011] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(364), 1, + anon_sym_DASH, + ACTIONS(549), 1, + anon_sym_DASH_GT, + ACTIONS(581), 1, + anon_sym_COMMA, + STATE(202), 1, + sym_math_operator, + STATE(204), 1, + sym_logic_operator, + ACTIONS(368), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(362), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(366), 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(579), 6, anon_sym_LPAREN, anon_sym_LBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, - ACTIONS(579), 17, + ACTIONS(577), 17, sym_identifier, anon_sym_struct, anon_sym_new, @@ -16290,19 +16574,72 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [12771] = 7, + [13075] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(589), 1, + ACTIONS(364), 1, + anon_sym_DASH, + ACTIONS(549), 1, + anon_sym_DASH_GT, + ACTIONS(587), 1, + anon_sym_COMMA, + STATE(202), 1, + sym_math_operator, + STATE(204), 1, + sym_logic_operator, + ACTIONS(368), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(362), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(366), 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(585), 6, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + ACTIONS(583), 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, + [13139] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(593), 1, anon_sym_elseif, - ACTIONS(591), 1, + ACTIONS(595), 1, anon_sym_else, - STATE(236), 1, + STATE(234), 1, sym_else, - STATE(225), 2, + STATE(228), 2, sym_else_if, aux_sym_if_else_repeat1, - ACTIONS(585), 9, + ACTIONS(589), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -16312,7 +16649,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_asyncfor, - ACTIONS(587), 23, + ACTIONS(591), 23, anon_sym_async, sym_identifier, anon_sym_struct, @@ -16336,60 +16673,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [12824] = 7, + [13192] = 7, ACTIONS(3), 1, sym__comment, - ACTIONS(589), 1, + ACTIONS(593), 1, anon_sym_elseif, - ACTIONS(591), 1, + ACTIONS(595), 1, anon_sym_else, - STATE(241), 1, + STATE(245), 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, @@ -16400,7 +16695,49 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_asyncfor, - ACTIONS(599), 24, + ACTIONS(599), 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, + [13245] = 5, + ACTIONS(3), 1, + sym__comment, + ACTIONS(605), 1, + anon_sym_elseif, + STATE(228), 2, + sym_else_if, + aux_sym_if_else_repeat1, + ACTIONS(601), 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(603), 24, anon_sym_async, sym_identifier, anon_sym_struct, @@ -16425,7 +16762,46 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [12925] = 3, + [13293] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(344), 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(346), 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, + [13335] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(336), 10, @@ -16464,46 +16840,7 @@ static const uint16_t ts_small_parse_table[] = { 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, + [13377] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(608), 10, @@ -16542,10 +16879,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [13051] = 3, + [13419] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(286), 10, + ACTIONS(288), 10, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -16556,7 +16893,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_elseif, anon_sym_asyncfor, - ACTIONS(288), 24, + ACTIONS(290), 24, anon_sym_async, sym_identifier, anon_sym_struct, @@ -16581,10 +16918,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [13093] = 3, + [13461] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(258), 10, + ACTIONS(612), 10, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -16595,7 +16932,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_elseif, anon_sym_asyncfor, - ACTIONS(260), 24, + ACTIONS(614), 24, anon_sym_async, sym_identifier, anon_sym_struct, @@ -16620,81 +16957,7 @@ static const uint16_t ts_small_parse_table[] = { 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, + [13503] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(616), 9, @@ -16731,34 +16994,47 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [13255] = 3, + [13543] = 16, ACTIONS(3), 1, sym__comment, - ACTIONS(620), 9, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LPAREN, + 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(433), 1, anon_sym_LBRACE, - anon_sym_RBRACE, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(622), 1, + anon_sym_LPAREN, + STATE(106), 1, + sym_index_expression, + STATE(108), 1, + sym_structure, + ACTIONS(188), 2, 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, + ACTIONS(190), 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(127), 2, + sym_value, + sym_index, + STATE(105), 7, + sym_type_definition, + 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, @@ -16768,44 +17044,7 @@ static const uint16_t ts_small_parse_table[] = { 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, + [13609] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(624), 9, @@ -16842,12 +17081,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [13375] = 3, + [13649] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(628), 9, - ts_builtin_sym_end, + ACTIONS(360), 1, anon_sym_SEMI, + ACTIONS(356), 8, + ts_builtin_sym_end, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, @@ -16855,7 +17095,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_asyncfor, - ACTIONS(630), 23, + ACTIONS(358), 23, anon_sym_async, sym_identifier, anon_sym_struct, @@ -16879,7 +17119,57 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [13415] = 3, + [13691] = 16, + 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(382), 1, + anon_sym_LBRACE, + ACTIONS(628), 1, + sym_identifier, + ACTIONS(630), 1, + anon_sym_LPAREN, + STATE(279), 1, + sym_structure, + STATE(280), 1, + sym_index_expression, + ACTIONS(150), 2, + sym_float, + sym_string, + ACTIONS(152), 2, + anon_sym_true, + anon_sym_false, + STATE(287), 2, + sym_value, + sym_index, + STATE(268), 7, + sym_type_definition, + 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, + [13757] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(632), 9, @@ -16916,35 +17206,47 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [13455] = 4, + [13797] = 16, ACTIONS(3), 1, sym__comment, - ACTIONS(368), 1, - anon_sym_SEMI, - ACTIONS(352), 8, - ts_builtin_sym_end, - anon_sym_LPAREN, + 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(561), 1, anon_sym_LBRACE, - anon_sym_RBRACE, + ACTIONS(636), 1, + sym_identifier, + ACTIONS(638), 1, + anon_sym_LPAREN, + STATE(55), 1, + sym_structure, + STATE(58), 1, + sym_index_expression, + ACTIONS(19), 2, 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, + ACTIONS(21), 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(60), 2, + sym_value, + sym_index, + STATE(61), 7, + sym_type_definition, + 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, @@ -16954,34 +17256,47 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [13497] = 3, + [13863] = 16, ACTIONS(3), 1, sym__comment, - ACTIONS(636), 9, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LPAREN, + 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(382), 1, anon_sym_LBRACE, - anon_sym_RBRACE, + ACTIONS(628), 1, + sym_identifier, + ACTIONS(630), 1, + anon_sym_LPAREN, + STATE(279), 1, + sym_structure, + STATE(300), 1, + sym_index_expression, + ACTIONS(150), 2, 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, + 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(287), 2, + sym_value, + sym_index, + STATE(268), 7, + sym_type_definition, + 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, @@ -16991,7 +17306,57 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [13537] = 3, + [13929] = 16, + 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(433), 1, + anon_sym_LBRACE, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(622), 1, + anon_sym_LPAREN, + STATE(108), 1, + sym_structure, + STATE(128), 1, + sym_index_expression, + ACTIONS(188), 2, + sym_float, + sym_string, + ACTIONS(190), 2, + anon_sym_true, + anon_sym_false, + STATE(127), 2, + sym_value, + sym_index, + STATE(105), 7, + sym_type_definition, + 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, + [13995] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(640), 9, @@ -17028,7 +17393,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [13577] = 3, + [14035] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(644), 9, @@ -17065,7 +17430,44 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [13617] = 3, + [14075] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(589), 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(591), 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, + [14115] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(648), 9, @@ -17102,95 +17504,7 @@ static const uint16_t ts_small_parse_table[] = { 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, + [14155] = 16, ACTIONS(3), 1, sym__comment, ACTIONS(144), 1, @@ -17203,13 +17517,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(158), 1, anon_sym_some, - ACTIONS(419), 1, + ACTIONS(382), 1, anon_sym_LBRACE, - ACTIONS(660), 1, + ACTIONS(628), 1, sym_identifier, - ACTIONS(662), 1, + ACTIONS(630), 1, anon_sym_LPAREN, - STATE(297), 1, + STATE(279), 1, + sym_structure, + STATE(347), 1, sym_index_expression, ACTIONS(150), 2, sym_float, @@ -17217,11 +17533,11 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(152), 2, anon_sym_true, anon_sym_false, - STATE(285), 2, + STATE(287), 2, sym_value, sym_index, - STATE(279), 7, - sym_structure, + STATE(268), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -17238,7 +17554,81 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [13830] = 15, + [14221] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(356), 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(358), 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, + [14261] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(652), 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(654), 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, + [14301] = 16, ACTIONS(3), 1, sym__comment, ACTIONS(13), 1, @@ -17251,13 +17641,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(27), 1, anon_sym_some, - ACTIONS(559), 1, + ACTIONS(561), 1, anon_sym_LBRACE, - ACTIONS(664), 1, + ACTIONS(636), 1, sym_identifier, - ACTIONS(666), 1, + ACTIONS(638), 1, anon_sym_LPAREN, - STATE(64), 1, + STATE(55), 1, + sym_structure, + STATE(84), 1, sym_index_expression, ACTIONS(19), 2, sym_float, @@ -17265,11 +17657,11 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(21), 2, anon_sym_true, anon_sym_false, - STATE(74), 2, + STATE(60), 2, sym_value, sym_index, - STATE(81), 7, - sym_structure, + STATE(61), 7, + sym_type_definition, sym_boolean, sym_list, sym_map, @@ -17286,77 +17678,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [13893] = 15, + [14367] = 3, 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(345), 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, - [13956] = 7, - ACTIONS(3), 1, - sym__comment, - 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, + ACTIONS(656), 9, + ts_builtin_sym_end, 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, + anon_sym_asyncfor, + ACTIONS(658), 23, + anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, @@ -17365,6 +17701,11 @@ static const uint16_t ts_small_parse_table[] = { 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, @@ -17374,45 +17715,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [14003] = 15, + [14407] = 3, 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, + ACTIONS(660), 9, + ts_builtin_sym_end, + anon_sym_SEMI, anon_sym_LPAREN, - STATE(127), 1, - sym_index_expression, - ACTIONS(188), 2, + anon_sym_LBRACE, + anon_sym_RBRACE, sym_float, sym_string, - ACTIONS(190), 2, + anon_sym_LBRACK, + anon_sym_asyncfor, + ACTIONS(662), 23, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, 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_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, @@ -17422,45 +17752,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [14066] = 15, + [14447] = 3, 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, + ACTIONS(664), 9, + ts_builtin_sym_end, + anon_sym_SEMI, anon_sym_LPAREN, - STATE(268), 1, - sym_index_expression, - ACTIONS(150), 2, + anon_sym_LBRACE, + anon_sym_RBRACE, sym_float, sym_string, - ACTIONS(152), 2, + anon_sym_LBRACK, + anon_sym_asyncfor, + ACTIONS(666), 23, + anon_sym_async, + sym_identifier, + anon_sym_struct, + anon_sym_new, + sym_integer, 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_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, @@ -17470,60 +17789,16 @@ static const uint16_t ts_small_parse_table[] = { 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(23), 1, - anon_sym_LBRACK, - ACTIONS(25), 1, - anon_sym_none, - ACTIONS(27), 1, - anon_sym_some, - ACTIONS(559), 1, - anon_sym_LBRACE, - ACTIONS(664), 1, - sym_identifier, - ACTIONS(666), 1, - anon_sym_LPAREN, - STATE(75), 1, - sym_index_expression, - ACTIONS(19), 2, - sym_float, - sym_string, - ACTIONS(21), 2, - anon_sym_true, - anon_sym_false, - STATE(74), 2, - sym_value, - sym_index, - 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, - [14192] = 5, + [14487] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(668), 1, anon_sym_elseif, - STATE(254), 2, + ACTIONS(670), 1, + anon_sym_else, + STATE(307), 1, + sym_else, + STATE(255), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(597), 9, @@ -17536,7 +17811,83 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_STAR, - ACTIONS(599), 18, + ACTIONS(599), 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, + [14534] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(668), 1, + anon_sym_elseif, + ACTIONS(670), 1, + anon_sym_else, + STATE(312), 1, + sym_else, + STATE(256), 2, + sym_else_if, + aux_sym_if_else_repeat1, + ACTIONS(589), 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(591), 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, + [14581] = 5, + ACTIONS(3), 1, + sym__comment, + ACTIONS(672), 1, + anon_sym_elseif, + STATE(256), 2, + sym_else_if, + aux_sym_if_else_repeat1, + ACTIONS(601), 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(603), 18, sym_identifier, anon_sym_struct, anon_sym_new, @@ -17555,14 +17906,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [14234] = 6, + [14623] = 5, ACTIONS(3), 1, sym__comment, - ACTIONS(671), 1, - anon_sym_DASH_GT, - STATE(185), 1, + STATE(188), 1, sym_math_operator, - STATE(186), 1, + STATE(190), 1, sym_logic_operator, ACTIONS(220), 7, anon_sym_async, @@ -17572,7 +17921,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(218), 19, + ACTIONS(218), 20, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, @@ -17592,14 +17941,86 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, - [14277] = 6, + anon_sym_DASH_GT, + [14664] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(671), 1, + ACTIONS(677), 6, + anon_sym_LPAREN, + anon_sym_LBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_asyncfor, + ACTIONS(675), 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, + [14701] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(679), 1, anon_sym_DASH_GT, - STATE(185), 1, + STATE(188), 1, sym_math_operator, - STATE(186), 1, + STATE(190), 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), 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, + [14744] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(679), 1, + anon_sym_DASH_GT, + STATE(188), 1, + sym_math_operator, + STATE(190), 1, sym_logic_operator, ACTIONS(210), 7, anon_sym_async, @@ -17629,14 +18050,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, - [14320] = 5, + [14787] = 3, ACTIONS(3), 1, sym__comment, - STATE(185), 1, - sym_math_operator, - STATE(186), 1, - sym_logic_operator, - ACTIONS(216), 7, + ACTIONS(258), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -17644,73 +18061,7 @@ static const uint16_t ts_small_parse_table[] = { 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, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_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, - [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, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(290), 21, + ACTIONS(256), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -17732,145 +18083,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [14434] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(288), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(286), 21, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - [14470] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(248), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(246), 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, - [14506] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(677), 1, - anon_sym_DASH_GT, - STATE(187), 1, - sym_logic_operator, - STATE(190), 1, - sym_math_operator, - ACTIONS(220), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(218), 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, - [14548] = 6, - ACTIONS(3), 1, - sym__comment, - 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, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - 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, + [14823] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(306), 7, @@ -17903,15 +18116,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [14626] = 5, + [14859] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(230), 1, - anon_sym_COLON, - ACTIONS(226), 2, - anon_sym_LPAREN, - anon_sym_RPAREN, - ACTIONS(224), 7, + ACTIONS(681), 1, + anon_sym_DASH_GT, + STATE(180), 1, + sym_math_operator, + STATE(213), 1, + sym_logic_operator, + ACTIONS(210), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -17919,12 +18133,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(222), 18, + ACTIONS(208), 18, anon_sym_SEMI, + anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DOT_DOT, + anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -17937,8 +18152,43 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, + [14901] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(681), 1, anon_sym_DASH_GT, - [14666] = 3, + STATE(180), 1, + sym_math_operator, + STATE(213), 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), 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, + [14943] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(330), 7, @@ -17971,10 +18221,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [14702] = 3, + [14979] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(260), 7, + ACTIONS(298), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -17982,7 +18232,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(258), 21, + ACTIONS(296), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -18004,179 +18254,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [14738] = 3, + [15015] = 5, 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_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_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, - [14918] = 5, - ACTIONS(3), 1, - sym__comment, - STATE(187), 1, - sym_logic_operator, - STATE(190), 1, + STATE(180), 1, sym_math_operator, - ACTIONS(216), 7, + STATE(213), 1, + sym_logic_operator, + ACTIONS(220), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -18184,7 +18269,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(214), 19, + ACTIONS(218), 19, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, @@ -18204,73 +18289,7 @@ static const uint16_t ts_small_parse_table[] = { 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, + [15055] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(264), 7, @@ -18303,74 +18322,7 @@ static const uint16_t ts_small_parse_table[] = { 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, + [15091] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(334), 7, @@ -18403,10 +18355,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [15176] = 3, + [15127] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(240), 7, + ACTIONS(290), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -18414,7 +18366,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(238), 21, + ACTIONS(288), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -18436,10 +18388,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [15212] = 3, + [15163] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(280), 7, + ACTIONS(342), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -18447,7 +18399,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(278), 21, + ACTIONS(340), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -18469,10 +18421,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [15248] = 3, + [15199] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(346), 7, + ACTIONS(276), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -18480,7 +18432,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(344), 21, + ACTIONS(274), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -18502,76 +18454,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [15284] = 3, + [15235] = 3, ACTIONS(3), 1, sym__comment, - 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, + ACTIONS(248), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -18579,7 +18465,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(230), 21, + ACTIONS(246), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -18601,205 +18487,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [15392] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(258), 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(260), 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, - [15428] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(314), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - 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, - 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, - [15500] = 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, - [15536] = 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, - [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, + [15271] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(608), 10, @@ -18832,10 +18520,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [15644] = 3, + [15307] = 5, ACTIONS(3), 1, sym__comment, - ACTIONS(326), 7, + ACTIONS(232), 1, + anon_sym_COLON, + ACTIONS(228), 2, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(226), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -18843,7 +18536,37 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(324), 21, + ACTIONS(224), 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, + [15347] = 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, @@ -18865,10 +18588,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [15680] = 3, + [15383] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(296), 7, + ACTIONS(286), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -18876,7 +18599,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(294), 21, + ACTIONS(284), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -18898,7 +18621,437 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [15716] = 3, + [15419] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(294), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(292), 21, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + [15455] = 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, + [15491] = 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, + [15527] = 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, + [15563] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(310), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(308), 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, + [15599] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(354), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(352), 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, + [15635] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(302), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(300), 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, + [15671] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(228), 2, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(226), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(224), 19, + anon_sym_SEMI, + anon_sym_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, + [15709] = 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, + [15745] = 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(232), 21, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + [15781] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(344), 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(346), 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, + [15817] = 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, + [15853] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(288), 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(290), 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, + [15889] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(322), 7, @@ -18931,7 +19084,205 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [15752] = 3, + [15925] = 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, + [15961] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(346), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + 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, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_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, + [15997] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(612), 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(614), 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, + [16033] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(314), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + 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, + [16069] = 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, + [16105] = 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, + [16141] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(350), 7, @@ -18964,12 +19315,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [15788] = 4, + [16177] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(679), 1, - anon_sym_DOT_DOT, - ACTIONS(276), 7, + ACTIONS(326), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -18977,7 +19326,42 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(274), 19, + 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, + [16213] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(683), 1, + anon_sym_DOT_DOT, + 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), 19, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, @@ -18997,10 +19381,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [15825] = 3, + [16250] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(616), 9, + ACTIONS(664), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, @@ -19010,7 +19394,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_STAR, - ACTIONS(618), 17, + ACTIONS(666), 17, sym_identifier, anon_sym_struct, anon_sym_new, @@ -19028,225 +19412,7 @@ static const uint16_t ts_small_parse_table[] = { 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, + [16284] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(632), 9, @@ -19277,10 +19443,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [16133] = 3, + [16318] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(593), 9, + ACTIONS(356), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, @@ -19290,7 +19456,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_STAR, - ACTIONS(595), 17, + ACTIONS(358), 17, sym_identifier, anon_sym_struct, anon_sym_new, @@ -19308,10 +19474,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [16167] = 3, + [16352] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(636), 9, + ACTIONS(648), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, @@ -19321,7 +19487,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_STAR, - ACTIONS(638), 17, + ACTIONS(650), 17, sym_identifier, anon_sym_struct, anon_sym_new, @@ -19339,11 +19505,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [16201] = 3, + [16386] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(620), 9, + ACTIONS(575), 1, anon_sym_SEMI, + ACTIONS(356), 8, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, @@ -19352,7 +19519,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_STAR, - ACTIONS(622), 17, + ACTIONS(358), 17, sym_identifier, anon_sym_struct, anon_sym_new, @@ -19370,7 +19537,100 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [16235] = 3, + [16422] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(656), 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(658), 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, + [16456] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(589), 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(591), 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, + [16490] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(652), 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(654), 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, + [16524] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(640), 9, @@ -19401,29 +19661,184 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [16269] = 10, + [16558] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(226), 1, + ACTIONS(660), 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(662), 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, + [16592] = 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, + [16626] = 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, + [16660] = 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, + [16694] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(689), 1, + anon_sym_COMMA, + ACTIONS(687), 7, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_STAR, + ACTIONS(685), 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, + [16729] = 10, + ACTIONS(3), 1, + sym__comment, ACTIONS(228), 1, - anon_sym_EQ, + anon_sym_LPAREN, ACTIONS(230), 1, - anon_sym_COLON, + anon_sym_EQ, ACTIONS(232), 1, + anon_sym_COLON, + ACTIONS(234), 1, anon_sym_LT, - STATE(40), 1, + STATE(30), 1, sym_assignment_operator, - STATE(392), 1, + STATE(395), 1, sym_type_specification, - ACTIONS(234), 2, + ACTIONS(236), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - ACTIONS(224), 3, + ACTIONS(226), 3, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, - ACTIONS(222), 14, + ACTIONS(224), 14, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, @@ -19438,86 +19853,26 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - [16316] = 4, + [16776] = 8, ACTIONS(3), 1, sym__comment, - ACTIONS(685), 1, - anon_sym_COMMA, - ACTIONS(683), 7, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - 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, + anon_sym_LPAREN, ACTIONS(230), 1, + anon_sym_EQ, + ACTIONS(232), 1, anon_sym_COLON, - STATE(39), 1, + STATE(35), 1, sym_assignment_operator, - ACTIONS(234), 2, + ACTIONS(236), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - ACTIONS(224), 4, + ACTIONS(226), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(222), 14, + ACTIONS(224), 14, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, @@ -19532,18 +19887,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - [16425] = 4, + [16818] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(230), 1, + ACTIONS(232), 1, anon_sym_COLON, - ACTIONS(372), 5, + ACTIONS(374), 5, anon_sym_async, sym_identifier, anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(226), 18, + ACTIONS(228), 18, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -19562,45 +19917,43 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [16459] = 6, + [16852] = 3, 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, + ACTIONS(693), 7, + anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_PLUS, + 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_EQ_GT, - [16496] = 6, + ACTIONS(691), 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, + [16884] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(691), 1, + ACTIONS(695), 1, anon_sym_DASH_GT, - STATE(206), 1, + STATE(207), 1, sym_logic_operator, - STATE(212), 1, + STATE(208), 1, sym_math_operator, ACTIONS(210), 5, anon_sym_async, @@ -19624,71 +19977,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ_GT, - [16533] = 3, + [16921] = 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_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(507), 6, + ACTIONS(505), 6, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, sym_float, sym_string, anon_sym_LBRACK, - ACTIONS(695), 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, - [16595] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(699), 5, - anon_sym_LPAREN, - anon_sym_LBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, ACTIONS(697), 17, sym_identifier, anon_sym_struct, @@ -19707,7 +20005,66 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [16625] = 3, + [16952] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(482), 6, + anon_sym_LPAREN, + anon_sym_LBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + ACTIONS(699), 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, + [16983] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(695), 1, + anon_sym_DASH_GT, + STATE(207), 1, + sym_logic_operator, + STATE(208), 1, + sym_math_operator, + ACTIONS(216), 5, + anon_sym_async, + sym_identifier, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(214), 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, + [17020] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(703), 5, @@ -19734,18 +20091,136 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [16655] = 5, + [17050] = 3, ACTIONS(3), 1, sym__comment, - STATE(177), 1, + ACTIONS(707), 5, + anon_sym_LPAREN, + anon_sym_LBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + ACTIONS(705), 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, + [17080] = 9, + ACTIONS(3), 1, + sym__comment, + ACTIONS(364), 1, + anon_sym_DASH, + ACTIONS(695), 1, + anon_sym_DASH_GT, + STATE(207), 1, + sym_logic_operator, + STATE(208), 1, sym_math_operator, - STATE(178), 1, + ACTIONS(368), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 4, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + sym_identifier, + ACTIONS(362), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(366), 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, + [17120] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(679), 1, + anon_sym_DASH_GT, + STATE(167), 1, + sym_math_operator, + STATE(182), 1, sym_logic_operator, ACTIONS(216), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(214), 15, + ACTIONS(214), 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, + [17154] = 10, + ACTIONS(3), 1, + sym__comment, + ACTIONS(364), 1, + anon_sym_DASH, + ACTIONS(575), 1, + anon_sym_SEMI, + ACTIONS(695), 1, + anon_sym_DASH_GT, + STATE(207), 1, + sym_logic_operator, + STATE(208), 1, + sym_math_operator, + ACTIONS(368), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 3, + anon_sym_COMMA, + anon_sym_RBRACE, + sym_identifier, + ACTIONS(362), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(366), 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, + [17196] = 5, + ACTIONS(3), 1, + sym__comment, + STATE(167), 1, + sym_math_operator, + STATE(182), 1, + sym_logic_operator, + ACTIONS(220), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(218), 15, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON, @@ -19761,77 +20236,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - [16687] = 10, + [17228] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(358), 1, - anon_sym_DASH, - ACTIONS(569), 1, - anon_sym_SEMI, - ACTIONS(691), 1, + ACTIONS(679), 1, anon_sym_DASH_GT, - STATE(206), 1, - sym_logic_operator, - STATE(212), 1, + STATE(167), 1, sym_math_operator, - ACTIONS(362), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(352), 3, - anon_sym_COMMA, - anon_sym_RBRACE, - 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(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, - 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, - [16769] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(671), 1, - anon_sym_DASH_GT, - STATE(177), 1, - sym_math_operator, - STATE(178), 1, + STATE(182), 1, sym_logic_operator, ACTIONS(210), 3, anon_sym_DASH, @@ -19852,132 +20264,78 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [16803] = 6, + [17262] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(671), 1, - anon_sym_DASH_GT, - STATE(177), 1, - sym_math_operator, - STATE(178), 1, - sym_logic_operator, - ACTIONS(220), 3, + ACTIONS(364), 1, 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(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(238), 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, - [16880] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(358), 1, - anon_sym_DASH, - ACTIONS(691), 1, + ACTIONS(695), 1, anon_sym_DASH_GT, ACTIONS(709), 1, anon_sym_async, ACTIONS(711), 1, anon_sym_LBRACE, - STATE(206), 1, + STATE(207), 1, sym_logic_operator, - STATE(212), 1, + STATE(208), 1, sym_math_operator, - STATE(229), 1, + STATE(304), 1, sym_block, - ACTIONS(362), 2, + ACTIONS(368), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(356), 4, + ACTIONS(362), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(360), 6, + ACTIONS(366), 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, + [17305] = 11, ACTIONS(3), 1, sym__comment, - STATE(203), 1, - sym_logic_operator, - STATE(211), 1, - sym_math_operator, - ACTIONS(216), 3, + ACTIONS(364), 1, anon_sym_DASH, + ACTIONS(695), 1, + anon_sym_DASH_GT, + ACTIONS(713), 1, + anon_sym_async, + ACTIONS(715), 1, + anon_sym_LBRACE, + STATE(207), 1, + sym_logic_operator, + STATE(208), 1, + sym_math_operator, + STATE(246), 1, + sym_block, + ACTIONS(368), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(214), 14, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, + ACTIONS(362), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, + ACTIONS(366), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - anon_sym_DASH_GT, - [16954] = 6, + [17348] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(713), 1, + ACTIONS(717), 1, anon_sym_DASH_GT, - STATE(203), 1, + STATE(174), 1, sym_logic_operator, - STATE(211), 1, + STATE(175), 1, sym_math_operator, ACTIONS(210), 3, anon_sym_DASH, @@ -19997,52 +20355,114 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [16987] = 11, + [17381] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(358), 1, + ACTIONS(364), 1, anon_sym_DASH, - ACTIONS(691), 1, + ACTIONS(695), 1, anon_sym_DASH_GT, - ACTIONS(715), 1, + ACTIONS(719), 1, anon_sym_async, - ACTIONS(717), 1, + ACTIONS(721), 1, anon_sym_LBRACE, - STATE(206), 1, + STATE(207), 1, sym_logic_operator, - STATE(212), 1, + STATE(208), 1, sym_math_operator, - STATE(302), 1, + STATE(304), 1, sym_block, - ACTIONS(362), 2, + ACTIONS(368), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(356), 4, + ACTIONS(362), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(360), 6, + ACTIONS(366), 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, + [17424] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(713), 1, + ACTIONS(364), 1, + anon_sym_DASH, + ACTIONS(695), 1, anon_sym_DASH_GT, - STATE(203), 1, + ACTIONS(719), 1, + anon_sym_async, + ACTIONS(721), 1, + anon_sym_LBRACE, + STATE(207), 1, sym_logic_operator, - STATE(211), 1, + STATE(208), 1, + sym_math_operator, + STATE(302), 1, + sym_block, + ACTIONS(368), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(362), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(366), 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, + [17467] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(364), 1, + anon_sym_DASH, + ACTIONS(695), 1, + anon_sym_DASH_GT, + ACTIONS(723), 1, + anon_sym_async, + ACTIONS(725), 1, + anon_sym_LBRACE, + STATE(207), 1, + sym_logic_operator, + STATE(208), 1, + sym_math_operator, + STATE(274), 1, + sym_block, + ACTIONS(368), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(362), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(366), 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, + [17510] = 5, + ACTIONS(3), 1, + sym__comment, + STATE(174), 1, + sym_logic_operator, + STATE(175), 1, sym_math_operator, ACTIONS(220), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(218), 13, + ACTIONS(218), 14, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON, @@ -20056,243 +20476,207 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [17063] = 11, + anon_sym_DASH_GT, + [17541] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(358), 1, + ACTIONS(364), 1, anon_sym_DASH, - ACTIONS(691), 1, + ACTIONS(695), 1, + anon_sym_DASH_GT, + ACTIONS(723), 1, + anon_sym_async, + ACTIONS(725), 1, + anon_sym_LBRACE, + STATE(207), 1, + sym_logic_operator, + STATE(208), 1, + sym_math_operator, + STATE(294), 1, + sym_block, + ACTIONS(368), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(362), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(366), 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, + [17584] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(364), 1, + anon_sym_DASH, + ACTIONS(695), 1, anon_sym_DASH_GT, ACTIONS(709), 1, anon_sym_async, ACTIONS(711), 1, anon_sym_LBRACE, - STATE(206), 1, + STATE(207), 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, - 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(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, + STATE(208), 1, sym_math_operator, STATE(302), 1, sym_block, - ACTIONS(362), 2, + ACTIONS(368), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(356), 4, + ACTIONS(362), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(360), 6, + ACTIONS(366), 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, + [17627] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(731), 1, + ACTIONS(717), 1, anon_sym_DASH_GT, - ACTIONS(729), 6, + STATE(174), 1, + sym_logic_operator, + STATE(175), 1, + sym_math_operator, + ACTIONS(216), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(214), 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, + [17660] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(364), 1, + anon_sym_DASH, + ACTIONS(695), 1, + anon_sym_DASH_GT, + ACTIONS(727), 1, + anon_sym_async, + ACTIONS(729), 1, + anon_sym_LBRACE, + STATE(207), 1, + sym_logic_operator, + STATE(208), 1, + sym_math_operator, + STATE(231), 1, + sym_block, + ACTIONS(368), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(362), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(366), 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, + [17703] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(364), 1, + anon_sym_DASH, + ACTIONS(695), 1, + anon_sym_DASH_GT, + ACTIONS(713), 1, + anon_sym_async, + ACTIONS(715), 1, + anon_sym_LBRACE, + STATE(207), 1, + sym_logic_operator, + STATE(208), 1, + sym_math_operator, + STATE(239), 1, + sym_block, + ACTIONS(368), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(362), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(366), 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, + [17746] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(364), 1, + anon_sym_DASH, + ACTIONS(695), 1, + anon_sym_DASH_GT, + ACTIONS(727), 1, + anon_sym_async, + ACTIONS(729), 1, + anon_sym_LBRACE, + STATE(207), 1, + sym_logic_operator, + STATE(208), 1, + sym_math_operator, + STATE(233), 1, + sym_block, + ACTIONS(368), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(362), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(366), 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, + [17789] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(735), 1, + anon_sym_DASH_GT, + ACTIONS(733), 6, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_GT, - ACTIONS(727), 11, + ACTIONS(731), 11, sym_identifier, anon_sym_none, anon_sym_any, @@ -20304,19 +20688,119 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_num, anon_sym_str, anon_sym_option, - [17392] = 4, + [17817] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(232), 1, + anon_sym_COLON, + ACTIONS(234), 1, + anon_sym_LT, + STATE(429), 1, + sym_type_specification, + ACTIONS(226), 2, + anon_sym_DASH, + anon_sym_GT, + ACTIONS(228), 2, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(224), 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, + [17851] = 5, + ACTIONS(3), 1, + sym__comment, + ACTIONS(228), 1, + anon_sym_LPAREN, + ACTIONS(232), 1, + anon_sym_COLON, + ACTIONS(226), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(224), 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, + [17881] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(228), 1, + anon_sym_LPAREN, + ACTIONS(226), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(224), 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, + [17909] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(737), 1, + anon_sym_DOT_DOT, + ACTIONS(252), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(250), 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, - ACTIONS(735), 6, + [17937] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(743), 1, + anon_sym_DASH_GT, + ACTIONS(741), 6, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_GT, - ACTIONS(733), 11, + ACTIONS(739), 11, sym_identifier, anon_sym_none, anon_sym_any, @@ -20328,198 +20812,98 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_num, anon_sym_str, anon_sym_option, - [17420] = 7, + [17965] = 9, ACTIONS(3), 1, sym__comment, - ACTIONS(230), 1, - anon_sym_COLON, - ACTIONS(232), 1, - anon_sym_LT, - STATE(421), 1, - sym_type_specification, - ACTIONS(224), 2, + ACTIONS(364), 1, 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, + ACTIONS(695), 1, 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, - 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, + anon_sym_LBRACE, + STATE(207), 1, + sym_logic_operator, STATE(208), 1, sym_math_operator, - STATE(209), 1, - sym_logic_operator, - ACTIONS(362), 2, + ACTIONS(368), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(356), 4, + ACTIONS(362), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(360), 6, + ACTIONS(366), 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, + [18002] = 9, ACTIONS(3), 1, sym__comment, - ACTIONS(358), 1, + ACTIONS(364), 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, + anon_sym_RPAREN, + ACTIONS(749), 1, + anon_sym_DASH_GT, + STATE(210), 1, sym_math_operator, - ACTIONS(362), 2, + STATE(211), 1, + sym_logic_operator, + ACTIONS(368), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(356), 4, + ACTIONS(362), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(360), 6, + ACTIONS(366), 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, + [18039] = 9, ACTIONS(3), 1, sym__comment, - ACTIONS(745), 1, + ACTIONS(364), 1, + anon_sym_DASH, + ACTIONS(749), 1, anon_sym_DASH_GT, - STATE(208), 1, + ACTIONS(751), 1, + anon_sym_RPAREN, + STATE(210), 1, sym_math_operator, - STATE(209), 1, + STATE(211), 1, + sym_logic_operator, + ACTIONS(368), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(362), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(366), 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, + [18076] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(749), 1, + anon_sym_DASH_GT, + STATE(210), 1, + sym_math_operator, + STATE(211), 1, sym_logic_operator, ACTIONS(210), 3, anon_sym_DASH, @@ -20537,29 +20921,7 @@ static const uint16_t ts_small_parse_table[] = { 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, + [18107] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(755), 6, @@ -20581,45 +20943,42 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_num, anon_sym_str, anon_sym_option, - [17732] = 9, + [18132] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(358), 1, - anon_sym_DASH, - ACTIONS(691), 1, + ACTIONS(749), 1, anon_sym_DASH_GT, - ACTIONS(757), 1, - anon_sym_EQ_GT, - STATE(206), 1, - sym_logic_operator, - STATE(212), 1, + STATE(210), 1, sym_math_operator, - ACTIONS(362), 2, + STATE(211), 1, + sym_logic_operator, + ACTIONS(216), 3, + anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(356), 4, + ACTIONS(214), 11, + anon_sym_RPAREN, 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, + [18163] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(761), 6, + ACTIONS(759), 6, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_GT, - ACTIONS(759), 11, + ACTIONS(757), 11, sym_identifier, anon_sym_none, anon_sym_any, @@ -20631,73 +20990,101 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_num, anon_sym_str, anon_sym_option, - [17794] = 9, + [18188] = 9, ACTIONS(3), 1, sym__comment, - ACTIONS(358), 1, + ACTIONS(364), 1, anon_sym_DASH, - ACTIONS(745), 1, + ACTIONS(695), 1, + anon_sym_DASH_GT, + ACTIONS(761), 1, + anon_sym_EQ_GT, + STATE(207), 1, + sym_logic_operator, + STATE(208), 1, + sym_math_operator, + ACTIONS(368), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(362), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(366), 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, + [18225] = 9, + ACTIONS(3), 1, + sym__comment, + ACTIONS(364), 1, + anon_sym_DASH, + ACTIONS(749), 1, anon_sym_DASH_GT, ACTIONS(763), 1, anon_sym_RPAREN, - STATE(208), 1, + STATE(210), 1, sym_math_operator, - STATE(209), 1, + STATE(211), 1, sym_logic_operator, - ACTIONS(362), 2, + ACTIONS(368), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(356), 4, + ACTIONS(362), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(360), 6, + ACTIONS(366), 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, + [18262] = 9, ACTIONS(3), 1, sym__comment, - ACTIONS(358), 1, + ACTIONS(364), 1, anon_sym_DASH, - ACTIONS(745), 1, + ACTIONS(695), 1, anon_sym_DASH_GT, ACTIONS(765), 1, - anon_sym_RPAREN, + anon_sym_LBRACE, + STATE(207), 1, + sym_logic_operator, STATE(208), 1, sym_math_operator, - STATE(209), 1, - sym_logic_operator, - ACTIONS(362), 2, + ACTIONS(368), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(356), 4, + ACTIONS(362), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(360), 6, + ACTIONS(366), 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, + [18299] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(729), 6, + ACTIONS(769), 6, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_GT, - ACTIONS(727), 11, + ACTIONS(767), 11, sym_identifier, anon_sym_none, anon_sym_any, @@ -20709,96 +21096,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_num, anon_sym_str, anon_sym_option, - [17893] = 6, + [18324] = 3, 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, + ACTIONS(741), 6, 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_COMMA, anon_sym_LBRACK, - ACTIONS(777), 1, - anon_sym_option, - STATE(371), 1, - aux_sym_type_repeat1, - STATE(379), 1, - sym_type, - ACTIONS(769), 10, + anon_sym_RBRACK, + anon_sym_GT, + ACTIONS(739), 11, sym_identifier, anon_sym_none, anon_sym_any, @@ -20809,274 +21117,99 @@ static const uint16_t ts_small_parse_table[] = { 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, + [18349] = 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, + ACTIONS(717), 1, anon_sym_DASH_GT, - STATE(206), 1, + STATE(207), 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, + ACTIONS(368), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(356), 4, + ACTIONS(362), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(360), 6, + ACTIONS(366), 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, + [18383] = 8, ACTIONS(3), 1, sym__comment, - ACTIONS(212), 1, + ACTIONS(222), 1, anon_sym_DASH_GT, - ACTIONS(358), 1, + ACTIONS(364), 1, anon_sym_DASH, - STATE(206), 1, + STATE(207), 1, sym_logic_operator, - STATE(212), 1, + STATE(208), 1, sym_math_operator, - ACTIONS(362), 2, + ACTIONS(368), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(356), 4, + ACTIONS(362), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(360), 6, + ACTIONS(366), 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, + [18417] = 8, ACTIONS(3), 1, sym__comment, - ACTIONS(226), 1, + ACTIONS(774), 1, anon_sym_LPAREN, - ACTIONS(783), 1, + ACTIONS(777), 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, + ACTIONS(779), 1, anon_sym_LBRACK, - ACTIONS(796), 1, + ACTIONS(782), 1, anon_sym_option, - STATE(371), 1, + STATE(363), 1, aux_sym_type_repeat1, - STATE(379), 1, + STATE(382), 1, + sym_type, + ACTIONS(771), 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, + [18451] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(787), 1, + anon_sym_LPAREN, + ACTIONS(789), 1, + anon_sym_RPAREN, + ACTIONS(791), 1, + anon_sym_LBRACK, + ACTIONS(793), 1, + anon_sym_option, + STATE(363), 1, + aux_sym_type_repeat1, + STATE(382), 1, sym_type, ACTIONS(785), 10, sym_identifier, @@ -21089,121 +21222,96 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_map, anon_sym_num, anon_sym_str, - [18382] = 8, + [18485] = 8, ACTIONS(3), 1, sym__comment, - ACTIONS(358), 1, + ACTIONS(364), 1, + anon_sym_DASH, + ACTIONS(549), 1, + anon_sym_DASH_GT, + STATE(207), 1, + sym_logic_operator, + STATE(208), 1, + sym_math_operator, + ACTIONS(368), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(362), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(366), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [18519] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(364), 1, anon_sym_DASH, ACTIONS(370), 1, anon_sym_DASH_GT, - STATE(206), 1, + STATE(207), 1, sym_logic_operator, - STATE(212), 1, + STATE(208), 1, sym_math_operator, - ACTIONS(362), 2, + ACTIONS(368), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(356), 4, + ACTIONS(362), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(360), 6, + ACTIONS(366), 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, + [18553] = 8, ACTIONS(3), 1, sym__comment, - ACTIONS(358), 1, - anon_sym_DASH, - ACTIONS(677), 1, + ACTIONS(212), 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, + ACTIONS(364), 1, anon_sym_DASH, - ACTIONS(366), 1, - anon_sym_DASH_GT, - STATE(206), 1, + STATE(207), 1, sym_logic_operator, - STATE(212), 1, + STATE(208), 1, sym_math_operator, - ACTIONS(362), 2, + ACTIONS(368), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(356), 4, + ACTIONS(362), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(360), 6, + ACTIONS(366), 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, + [18587] = 5, 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, + ACTIONS(228), 1, anon_sym_LPAREN, + ACTIONS(795), 1, anon_sym_RPAREN, - ACTIONS(224), 3, + ACTIONS(226), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(222), 11, + ACTIONS(224), 11, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, @@ -21215,16 +21323,196 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - [18544] = 4, + [18615] = 5, ACTIONS(3), 1, sym__comment, + ACTIONS(228), 1, + anon_sym_LPAREN, + ACTIONS(797), 1, + anon_sym_RPAREN, + ACTIONS(226), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(224), 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, + [18643] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(364), 1, + anon_sym_DASH, + ACTIONS(679), 1, + anon_sym_DASH_GT, + STATE(207), 1, + sym_logic_operator, + STATE(208), 1, + sym_math_operator, + ACTIONS(368), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(362), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(366), 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, + [18677] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(364), 1, + anon_sym_DASH, + ACTIONS(695), 1, + anon_sym_DASH_GT, + STATE(207), 1, + sym_logic_operator, + STATE(208), 1, + sym_math_operator, + ACTIONS(368), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(362), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(366), 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, + [18711] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(364), 1, + anon_sym_DASH, + ACTIONS(376), 1, + anon_sym_DASH_GT, + STATE(207), 1, + sym_logic_operator, + STATE(208), 1, + sym_math_operator, + ACTIONS(368), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(362), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(366), 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, + [18745] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(364), 1, + anon_sym_DASH, + ACTIONS(749), 1, + anon_sym_DASH_GT, + STATE(207), 1, + sym_logic_operator, + STATE(208), 1, + sym_math_operator, + ACTIONS(368), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(362), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(366), 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, + [18779] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(787), 1, + anon_sym_LPAREN, + ACTIONS(791), 1, + anon_sym_LBRACK, + ACTIONS(793), 1, + anon_sym_option, ACTIONS(799), 1, anon_sym_RPAREN, - ACTIONS(272), 3, + STATE(364), 1, + aux_sym_type_repeat1, + STATE(382), 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, + [18813] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(364), 1, + anon_sym_DASH, + ACTIONS(681), 1, + anon_sym_DASH_GT, + STATE(207), 1, + sym_logic_operator, + STATE(208), 1, + sym_math_operator, + ACTIONS(368), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(362), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(366), 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, + [18847] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(228), 2, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(226), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(270), 11, + ACTIONS(224), 11, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, @@ -21236,16 +21524,44 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - [18569] = 4, + [18873] = 8, ACTIONS(3), 1, sym__comment, + ACTIONS(364), 1, + anon_sym_DASH, + ACTIONS(749), 1, + anon_sym_DASH_GT, + STATE(210), 1, + sym_math_operator, + STATE(211), 1, + sym_logic_operator, + ACTIONS(368), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(362), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(366), 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, + [18907] = 5, + ACTIONS(3), 1, + sym__comment, + ACTIONS(228), 1, + anon_sym_LPAREN, ACTIONS(801), 1, anon_sym_RPAREN, - ACTIONS(272), 3, + ACTIONS(226), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(270), 11, + ACTIONS(224), 11, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, @@ -21257,16 +21573,84 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - [18594] = 4, + [18935] = 8, ACTIONS(3), 1, sym__comment, - ACTIONS(807), 1, + ACTIONS(364), 1, + anon_sym_DASH, + ACTIONS(372), 1, + anon_sym_DASH_GT, + STATE(207), 1, + sym_logic_operator, + STATE(208), 1, + sym_math_operator, + ACTIONS(368), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(362), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(366), 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, + [18969] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(803), 1, + anon_sym_RPAREN, + ACTIONS(330), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(328), 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, + [18994] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(805), 1, + anon_sym_RPAREN, + ACTIONS(330), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(328), 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, + [19019] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(811), 1, anon_sym_COMMA, - ACTIONS(805), 3, + ACTIONS(809), 3, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACK, - ACTIONS(803), 11, + ACTIONS(807), 11, sym_identifier, anon_sym_none, anon_sym_any, @@ -21278,16 +21662,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_num, anon_sym_str, anon_sym_option, - [18619] = 4, + [19044] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(809), 1, + ACTIONS(813), 1, anon_sym_RPAREN, - ACTIONS(272), 3, + ACTIONS(330), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(270), 11, + ACTIONS(328), 11, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, @@ -21299,125 +21683,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - [18644] = 6, + [19069] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(771), 1, + ACTIONS(787), 1, anon_sym_LPAREN, - ACTIONS(775), 1, + ACTIONS(791), 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, + ACTIONS(793), 1, anon_sym_option, STATE(353), 1, sym_type, - ACTIONS(769), 10, + ACTIONS(785), 10, sym_identifier, anon_sym_none, anon_sym_any, @@ -21428,49 +21705,138 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_map, anon_sym_num, anon_sym_str, - [18806] = 7, + [19097] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(595), 1, + ACTIONS(787), 1, + anon_sym_LPAREN, + ACTIONS(791), 1, + anon_sym_LBRACK, + ACTIONS(793), 1, + anon_sym_option, + STATE(479), 1, + sym_type, + ACTIONS(785), 10, 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, + 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, + [19125] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(587), 1, + ACTIONS(787), 1, + anon_sym_LPAREN, + ACTIONS(791), 1, + anon_sym_LBRACK, + ACTIONS(793), 1, + anon_sym_option, + STATE(355), 1, + sym_type, + ACTIONS(785), 10, sym_identifier, - ACTIONS(656), 1, + 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, + [19153] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(787), 1, + anon_sym_LPAREN, + ACTIONS(791), 1, + anon_sym_LBRACK, + ACTIONS(793), 1, + anon_sym_option, + STATE(455), 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, + [19181] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(777), 3, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + ACTIONS(815), 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, + [19203] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(787), 1, + anon_sym_LPAREN, + ACTIONS(791), 1, + anon_sym_LBRACK, + ACTIONS(793), 1, + anon_sym_option, + STATE(469), 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, + [19231] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(599), 1, + sym_identifier, + ACTIONS(668), 1, anon_sym_elseif, - ACTIONS(813), 1, + ACTIONS(817), 1, anon_sym_else, STATE(307), 1, sym_else, - STATE(387), 2, + STATE(392), 2, sym_else_if, aux_sym_if_else_repeat1, - ACTIONS(585), 3, + ACTIONS(597), 3, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, - [18856] = 3, + [19256] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(815), 2, + ACTIONS(819), 2, anon_sym_async, sym_identifier, - ACTIONS(817), 7, + ACTIONS(821), 7, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, @@ -21478,1639 +21844,1662 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - [18873] = 4, + [19273] = 7, 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, + ACTIONS(591), 1, sym_identifier, - ACTIONS(823), 1, + ACTIONS(668), 1, + anon_sym_elseif, + ACTIONS(817), 1, + anon_sym_else, + STATE(312), 1, + sym_else, + STATE(256), 2, + sym_else_if, + aux_sym_if_else_repeat1, + ACTIONS(589), 3, + anon_sym_SEMI, + anon_sym_COMMA, anon_sym_RBRACE, - STATE(430), 1, - aux_sym_map_repeat1, - [18936] = 4, + [19298] = 3, + ACTIONS(3), 1, + sym__comment, + STATE(44), 1, + sym_assignment_operator, + ACTIONS(236), 3, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + [19310] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(823), 1, + anon_sym_EQ, + STATE(43), 1, + sym_assignment_operator, + ACTIONS(236), 2, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + [19324] = 3, + ACTIONS(3), 1, + sym__comment, + STATE(38), 1, + sym_assignment_operator, + ACTIONS(236), 3, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + [19336] = 3, + ACTIONS(3), 1, + sym__comment, + STATE(43), 1, + sym_assignment_operator, + ACTIONS(236), 3, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + [19348] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(825), 1, - anon_sym_EQ, + sym_identifier, ACTIONS(827), 1, - anon_sym_LT, - STATE(480), 1, - sym_type_specification, - [18949] = 4, + anon_sym_RBRACE, + STATE(434), 1, + aux_sym_map_repeat1, + [19361] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(709), 1, + anon_sym_async, + ACTIONS(711), 1, + anon_sym_LBRACE, + STATE(301), 1, + sym_block, + [19374] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(829), 1, sym_identifier, ACTIONS(831), 1, anon_sym_RBRACE, - STATE(406), 1, + STATE(422), 1, aux_sym_new_repeat1, - [18962] = 4, + [19387] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(833), 1, sym_identifier, - ACTIONS(836), 1, + ACTIONS(835), 1, anon_sym_RBRACE, - STATE(397), 1, + STATE(431), 1, aux_sym_structure_repeat1, - [18975] = 4, + [19400] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(838), 1, + ACTIONS(825), 1, sym_identifier, - ACTIONS(840), 1, + ACTIONS(837), 1, anon_sym_RBRACE, - STATE(397), 1, - aux_sym_structure_repeat1, - [18988] = 4, + STATE(434), 1, + aux_sym_map_repeat1, + [19413] = 3, ACTIONS(3), 1, sym__comment, - 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, + ACTIONS(841), 1, anon_sym_COMMA, - ACTIONS(842), 2, + ACTIONS(839), 2, anon_sym_RBRACE, sym_identifier, - [19012] = 4, + [19424] = 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(709), 1, + anon_sym_async, + ACTIONS(711), 1, + anon_sym_LBRACE, + STATE(273), 1, + sym_block, + [19437] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(827), 1, - anon_sym_LT, - ACTIONS(848), 1, + ACTIONS(843), 1, anon_sym_EQ, - STATE(453), 1, + ACTIONS(845), 1, + anon_sym_LT, + STATE(468), 1, sym_type_specification, - [19038] = 4, + [19450] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(821), 1, - sym_identifier, - ACTIONS(850), 1, - 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_RBRACE, - STATE(414), 1, - aux_sym_new_repeat1, - [19064] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(705), 1, + ACTIONS(713), 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, - sym_identifier, - ACTIONS(857), 1, - anon_sym_RBRACE, - STATE(406), 1, - aux_sym_new_repeat1, - [19090] = 4, - ACTIONS(3), 1, - sym__comment, - 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(715), 1, - anon_sym_async, - ACTIONS(717), 1, anon_sym_LBRACE, - STATE(110), 1, + STATE(74), 1, sym_block, - [19116] = 4, + [19463] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(829), 1, - sym_identifier, - ACTIONS(859), 1, + ACTIONS(849), 1, + anon_sym_EQ, + ACTIONS(847), 2, 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, + [19474] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(705), 1, + ACTIONS(713), 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, - 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, + STATE(57), 1, sym_block, - [19259] = 4, + [19487] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(838), 1, + ACTIONS(833), 1, sym_identifier, - ACTIONS(880), 1, + ACTIONS(851), 1, anon_sym_RBRACE, STATE(418), 1, aux_sym_structure_repeat1, - [19272] = 3, + [19500] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(882), 1, - anon_sym_COMMA, - ACTIONS(868), 2, - anon_sym_RPAREN, + ACTIONS(719), 1, + anon_sym_async, + ACTIONS(721), 1, + anon_sym_LBRACE, + STATE(301), 1, + sym_block, + [19513] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(719), 1, + anon_sym_async, + ACTIONS(721), 1, + anon_sym_LBRACE, + STATE(131), 1, + sym_block, + [19526] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(829), 1, sym_identifier, - [19283] = 4, + ACTIONS(853), 1, + anon_sym_RBRACE, + STATE(422), 1, + aux_sym_new_repeat1, + [19539] = 4, ACTIONS(3), 1, sym__comment, + ACTIONS(855), 1, + sym_identifier, + ACTIONS(857), 1, + anon_sym_RPAREN, + STATE(430), 1, + aux_sym_function_repeat1, + [19552] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(833), 1, + sym_identifier, + ACTIONS(859), 1, + anon_sym_RBRACE, + STATE(400), 1, + aux_sym_structure_repeat1, + [19565] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(713), 1, + anon_sym_async, + ACTIONS(715), 1, + anon_sym_LBRACE, + STATE(253), 1, + sym_block, + [19578] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(709), 1, + anon_sym_async, + ACTIONS(711), 1, + anon_sym_LBRACE, + STATE(282), 1, + sym_block, + [19591] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(833), 1, + sym_identifier, + ACTIONS(861), 1, + anon_sym_RBRACE, + STATE(421), 1, + aux_sym_structure_repeat1, + [19604] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(855), 1, + sym_identifier, + ACTIONS(863), 1, + anon_sym_RPAREN, + STATE(430), 1, + aux_sym_function_repeat1, + [19617] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(833), 1, + sym_identifier, + ACTIONS(865), 1, + anon_sym_RBRACE, + STATE(431), 1, + aux_sym_structure_repeat1, + [19630] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(829), 1, + sym_identifier, + ACTIONS(867), 1, + anon_sym_RBRACE, + STATE(427), 1, + aux_sym_new_repeat1, + [19643] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(829), 1, + sym_identifier, + ACTIONS(869), 1, + anon_sym_RBRACE, + STATE(411), 1, + aux_sym_new_repeat1, + [19656] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(833), 1, + sym_identifier, + ACTIONS(871), 1, + anon_sym_RBRACE, + STATE(431), 1, + aux_sym_structure_repeat1, + [19669] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(873), 1, + sym_identifier, + ACTIONS(876), 1, + anon_sym_RBRACE, + STATE(422), 1, + aux_sym_new_repeat1, + [19682] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(825), 1, + sym_identifier, + ACTIONS(878), 1, + anon_sym_RBRACE, + STATE(434), 1, + aux_sym_map_repeat1, + [19695] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(829), 1, + sym_identifier, + ACTIONS(880), 1, + anon_sym_RBRACE, + STATE(399), 1, + aux_sym_new_repeat1, + [19708] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(845), 1, + anon_sym_LT, + ACTIONS(882), 1, + anon_sym_EQ, + STATE(471), 1, + sym_type_specification, + [19721] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(855), 1, + sym_identifier, ACTIONS(884), 1, + anon_sym_RPAREN, + STATE(430), 1, + aux_sym_function_repeat1, + [19734] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(829), 1, sym_identifier, ACTIONS(886), 1, - anon_sym_RPAREN, - STATE(413), 1, - aux_sym_function_repeat1, - [19296] = 4, + anon_sym_RBRACE, + STATE(422), 1, + aux_sym_new_repeat1, + [19747] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(884), 1, - sym_identifier, + ACTIONS(845), 1, + anon_sym_LT, 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, + STATE(406), 1, sym_type_specification, - [19322] = 4, + [19760] = 3, 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, + ACTIONS(890), 2, anon_sym_RPAREN, - [19445] = 3, + sym_identifier, + [19771] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(827), 1, - anon_sym_LT, - STATE(421), 1, - sym_type_specification, - [19455] = 3, + ACTIONS(890), 1, + anon_sym_RPAREN, + ACTIONS(894), 1, + sym_identifier, + STATE(430), 1, + aux_sym_function_repeat1, + [19784] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(827), 1, + ACTIONS(847), 1, + anon_sym_RBRACE, + ACTIONS(897), 1, + sym_identifier, + STATE(431), 1, + aux_sym_structure_repeat1, + [19797] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(902), 1, + anon_sym_COMMA, + ACTIONS(900), 2, + anon_sym_RBRACE, + sym_identifier, + [19808] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(719), 1, + anon_sym_async, + ACTIONS(721), 1, + anon_sym_LBRACE, + STATE(124), 1, + sym_block, + [19821] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(904), 1, + sym_identifier, + ACTIONS(907), 1, + anon_sym_RBRACE, + STATE(434), 1, + aux_sym_map_repeat1, + [19834] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(909), 2, + anon_sym_RBRACE, + sym_identifier, + [19842] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(845), 1, anon_sym_LT, STATE(405), 1, sym_type_specification, - [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_specification, - [19485] = 2, + [19852] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(911), 2, anon_sym_RBRACE, sym_identifier, - [19493] = 3, + [19860] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(821), 1, + ACTIONS(825), 1, sym_identifier, - STATE(403), 1, + STATE(401), 1, aux_sym_map_repeat1, - [19503] = 3, + [19870] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(298), 1, - anon_sym_LPAREN, - ACTIONS(913), 1, - anon_sym_RPAREN, - [19513] = 3, + ACTIONS(845), 1, + anon_sym_LT, + STATE(429), 1, + sym_type_specification, + [19880] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(827), 1, + ACTIONS(845), 1, anon_sym_LT, STATE(407), 1, sym_type_specification, - [19523] = 2, + [19890] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(845), 1, + anon_sym_LT, + STATE(433), 1, + sym_type_specification, + [19900] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(913), 2, + anon_sym_RPAREN, + sym_identifier, + [19908] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(915), 2, anon_sym_RBRACE, sym_identifier, - [19531] = 2, + [19916] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(917), 2, - anon_sym_RBRACE, + ACTIONS(825), 1, 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_specification, - [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_specification, - [19575] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(827), 1, - anon_sym_LT, - STATE(408), 1, - sym_type_specification, - [19585] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(821), 1, - sym_identifier, - STATE(394), 1, + STATE(423), 1, aux_sym_map_repeat1, - [19595] = 2, + [19926] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(923), 1, - anon_sym_COLON, - [19602] = 2, + ACTIONS(845), 1, + anon_sym_LT, + STATE(415), 1, + sym_type_specification, + [19936] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(925), 1, - anon_sym_EQ, - [19609] = 2, + ACTIONS(300), 1, + anon_sym_LPAREN, + ACTIONS(917), 1, + anon_sym_RPAREN, + [19946] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(300), 1, + anon_sym_LPAREN, + ACTIONS(919), 1, + anon_sym_RPAREN, + [19956] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(300), 1, + anon_sym_LPAREN, + ACTIONS(921), 1, + anon_sym_RPAREN, + [19966] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(900), 2, + anon_sym_RBRACE, + sym_identifier, + [19974] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(825), 1, + sym_identifier, + STATE(397), 1, + aux_sym_map_repeat1, + [19984] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(923), 2, + anon_sym_RBRACE, + sym_identifier, + [19992] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(925), 2, + anon_sym_RBRACE, + sym_identifier, + [20000] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(845), 1, + anon_sym_LT, + STATE(410), 1, + sym_type_specification, + [20010] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(845), 1, + anon_sym_LT, + STATE(403), 1, + sym_type_specification, + [20020] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(927), 1, - anon_sym_LBRACE, - [19616] = 2, + anon_sym_RPAREN, + [20027] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(929), 1, anon_sym_LBRACE, - [19623] = 2, + [20034] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(931), 1, anon_sym_LBRACE, - [19630] = 2, + [20041] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(933), 1, - anon_sym_LPAREN, - [19637] = 2, + anon_sym_LBRACE, + [20048] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(935), 1, - anon_sym_LPAREN, - [19644] = 2, + anon_sym_LBRACE, + [20055] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(937), 1, - anon_sym_in, - [19651] = 2, + anon_sym_LPAREN, + [20062] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(939), 1, - anon_sym_COLON, - [19658] = 2, + anon_sym_LPAREN, + [20069] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(941), 1, anon_sym_LBRACE, - [19665] = 2, + [20076] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(943), 1, - anon_sym_LBRACE, - [19672] = 2, + anon_sym_in, + [20083] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(945), 1, - anon_sym_in, - [19679] = 2, + anon_sym_LBRACE, + [20090] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(761), 1, + anon_sym_EQ_GT, + [20097] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(947), 1, anon_sym_COLON, - [19686] = 2, + [20104] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(949), 1, - anon_sym_RPAREN, - [19693] = 2, + anon_sym_COLON, + [20111] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(951), 1, - anon_sym_RBRACK, - [19700] = 2, + anon_sym_EQ, + [20118] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(953), 1, - anon_sym_LPAREN, - [19707] = 2, + anon_sym_RBRACK, + [20125] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(955), 1, - anon_sym_GT, - [19714] = 2, + anon_sym_COLON, + [20132] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(957), 1, - anon_sym_in, - [19721] = 2, + anon_sym_EQ, + [20139] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(959), 1, - anon_sym_LBRACE, - [19728] = 2, + anon_sym_LPAREN, + [20146] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(961), 1, anon_sym_LPAREN, - [19735] = 2, + [20153] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(963), 1, anon_sym_LBRACE, - [19742] = 2, + [20160] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(965), 1, - anon_sym_LBRACE, - [19749] = 2, + anon_sym_COLON, + [20167] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(967), 1, anon_sym_LBRACE, - [19756] = 2, + [20174] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(969), 1, - anon_sym_LBRACE, - [19763] = 2, + anon_sym_in, + [20181] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(971), 1, - anon_sym_COLON, - [19770] = 2, + anon_sym_LBRACE, + [20188] = 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, + anon_sym_GT, + [20195] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(975), 1, sym_identifier, - [19791] = 2, + [20202] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(977), 1, - anon_sym_EQ, - [19798] = 2, + anon_sym_COLON, + [20209] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(979), 1, - anon_sym_LPAREN, - [19805] = 2, + sym_identifier, + [20216] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(981), 1, - anon_sym_COLON, - [19812] = 2, + anon_sym_LBRACE, + [20223] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(983), 1, - ts_builtin_sym_end, - [19819] = 2, + anon_sym_LPAREN, + [20230] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(985), 1, - sym_identifier, - [19826] = 2, + anon_sym_COLON, + [20237] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(987), 1, - anon_sym_COLON, - [19833] = 2, + ts_builtin_sym_end, + [20244] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(989), 1, - anon_sym_LPAREN, - [19840] = 2, + sym_identifier, + [20251] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(991), 1, - sym_identifier, - [19847] = 2, + anon_sym_in, + [20258] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(993), 1, - anon_sym_COLON, - [19854] = 2, + anon_sym_LPAREN, + [20265] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(995), 1, sym_identifier, - [19861] = 2, + [20272] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(997), 1, - anon_sym_LPAREN, - [19868] = 2, + anon_sym_COLON, + [20279] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(999), 1, sym_identifier, - [19875] = 2, + [20286] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(1001), 1, + anon_sym_LPAREN, + [20293] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(1003), 1, + sym_identifier, + [20300] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(1005), 1, anon_sym_LBRACE, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(48)] = 0, [SMALL_STATE(49)] = 67, - [SMALL_STATE(50)] = 132, + [SMALL_STATE(50)] = 134, [SMALL_STATE(51)] = 199, - [SMALL_STATE(52)] = 273, - [SMALL_STATE(53)] = 339, - [SMALL_STATE(54)] = 405, + [SMALL_STATE(52)] = 265, + [SMALL_STATE(53)] = 329, + [SMALL_STATE(54)] = 395, [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(59)] = 707, + [SMALL_STATE(60)] = 766, + [SMALL_STATE(61)] = 825, + [SMALL_STATE(62)] = 884, + [SMALL_STATE(63)] = 943, + [SMALL_STATE(64)] = 1002, + [SMALL_STATE(65)] = 1061, + [SMALL_STATE(66)] = 1120, + [SMALL_STATE(67)] = 1193, + [SMALL_STATE(68)] = 1252, + [SMALL_STATE(69)] = 1311, + [SMALL_STATE(70)] = 1370, + [SMALL_STATE(71)] = 1429, + [SMALL_STATE(72)] = 1490, + [SMALL_STATE(73)] = 1549, + [SMALL_STATE(74)] = 1608, + [SMALL_STATE(75)] = 1667, + [SMALL_STATE(76)] = 1736, + [SMALL_STATE(77)] = 1795, + [SMALL_STATE(78)] = 1854, + [SMALL_STATE(79)] = 1913, + [SMALL_STATE(80)] = 1972, + [SMALL_STATE(81)] = 2035, + [SMALL_STATE(82)] = 2094, + [SMALL_STATE(83)] = 2153, + [SMALL_STATE(84)] = 2212, + [SMALL_STATE(85)] = 2271, + [SMALL_STATE(86)] = 2330, + [SMALL_STATE(87)] = 2389, [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(89)] = 2507, + [SMALL_STATE(90)] = 2579, + [SMALL_STATE(91)] = 2641, + [SMALL_STATE(92)] = 2703, + [SMALL_STATE(93)] = 2765, + [SMALL_STATE(94)] = 2835, + [SMALL_STATE(95)] = 2895, + [SMALL_STATE(96)] = 2957, [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, + [SMALL_STATE(98)] = 3073, + [SMALL_STATE(99)] = 3134, + [SMALL_STATE(100)] = 3195, + [SMALL_STATE(101)] = 3249, + [SMALL_STATE(102)] = 3303, + [SMALL_STATE(103)] = 3357, + [SMALL_STATE(104)] = 3411, + [SMALL_STATE(105)] = 3465, + [SMALL_STATE(106)] = 3519, + [SMALL_STATE(107)] = 3573, + [SMALL_STATE(108)] = 3631, + [SMALL_STATE(109)] = 3685, + [SMALL_STATE(110)] = 3739, + [SMALL_STATE(111)] = 3793, + [SMALL_STATE(112)] = 3849, + [SMALL_STATE(113)] = 3903, + [SMALL_STATE(114)] = 3957, + [SMALL_STATE(115)] = 4011, + [SMALL_STATE(116)] = 4065, + [SMALL_STATE(117)] = 4119, + [SMALL_STATE(118)] = 4173, + [SMALL_STATE(119)] = 4227, + [SMALL_STATE(120)] = 4281, + [SMALL_STATE(121)] = 4335, + [SMALL_STATE(122)] = 4389, + [SMALL_STATE(123)] = 4443, + [SMALL_STATE(124)] = 4497, + [SMALL_STATE(125)] = 4551, + [SMALL_STATE(126)] = 4605, + [SMALL_STATE(127)] = 4659, + [SMALL_STATE(128)] = 4713, + [SMALL_STATE(129)] = 4769, + [SMALL_STATE(130)] = 4823, + [SMALL_STATE(131)] = 4877, + [SMALL_STATE(132)] = 4931, + [SMALL_STATE(133)] = 5028, + [SMALL_STATE(134)] = 5125, + [SMALL_STATE(135)] = 5222, + [SMALL_STATE(136)] = 5289, + [SMALL_STATE(137)] = 5383, + [SMALL_STATE(138)] = 5445, + [SMALL_STATE(139)] = 5541, + [SMALL_STATE(140)] = 5635, + [SMALL_STATE(141)] = 5729, + [SMALL_STATE(142)] = 5823, + [SMALL_STATE(143)] = 5917, + [SMALL_STATE(144)] = 6013, + [SMALL_STATE(145)] = 6107, + [SMALL_STATE(146)] = 6201, + [SMALL_STATE(147)] = 6295, + [SMALL_STATE(148)] = 6391, + [SMALL_STATE(149)] = 6485, + [SMALL_STATE(150)] = 6579, + [SMALL_STATE(151)] = 6673, + [SMALL_STATE(152)] = 6769, + [SMALL_STATE(153)] = 6863, + [SMALL_STATE(154)] = 6959, + [SMALL_STATE(155)] = 7053, + [SMALL_STATE(156)] = 7147, + [SMALL_STATE(157)] = 7243, + [SMALL_STATE(158)] = 7339, + [SMALL_STATE(159)] = 7433, + [SMALL_STATE(160)] = 7527, + [SMALL_STATE(161)] = 7623, + [SMALL_STATE(162)] = 7719, + [SMALL_STATE(163)] = 7813, + [SMALL_STATE(164)] = 7907, + [SMALL_STATE(165)] = 8001, + [SMALL_STATE(166)] = 8058, + [SMALL_STATE(167)] = 8115, + [SMALL_STATE(168)] = 8203, + [SMALL_STATE(169)] = 8289, + [SMALL_STATE(170)] = 8377, + [SMALL_STATE(171)] = 8461, + [SMALL_STATE(172)] = 8549, + [SMALL_STATE(173)] = 8637, + [SMALL_STATE(174)] = 8725, + [SMALL_STATE(175)] = 8813, + [SMALL_STATE(176)] = 8901, + [SMALL_STATE(177)] = 8989, + [SMALL_STATE(178)] = 9077, + [SMALL_STATE(179)] = 9165, + [SMALL_STATE(180)] = 9253, + [SMALL_STATE(181)] = 9341, + [SMALL_STATE(182)] = 9429, + [SMALL_STATE(183)] = 9517, + [SMALL_STATE(184)] = 9605, + [SMALL_STATE(185)] = 9693, + [SMALL_STATE(186)] = 9777, + [SMALL_STATE(187)] = 9865, + [SMALL_STATE(188)] = 9953, + [SMALL_STATE(189)] = 10041, + [SMALL_STATE(190)] = 10129, + [SMALL_STATE(191)] = 10217, + [SMALL_STATE(192)] = 10269, + [SMALL_STATE(193)] = 10353, + [SMALL_STATE(194)] = 10437, + [SMALL_STATE(195)] = 10525, + [SMALL_STATE(196)] = 10613, + [SMALL_STATE(197)] = 10701, + [SMALL_STATE(198)] = 10787, + [SMALL_STATE(199)] = 10873, + [SMALL_STATE(200)] = 10961, + [SMALL_STATE(201)] = 11049, + [SMALL_STATE(202)] = 11137, + [SMALL_STATE(203)] = 11225, + [SMALL_STATE(204)] = 11313, + [SMALL_STATE(205)] = 11401, + [SMALL_STATE(206)] = 11489, + [SMALL_STATE(207)] = 11577, + [SMALL_STATE(208)] = 11665, + [SMALL_STATE(209)] = 11753, + [SMALL_STATE(210)] = 11839, + [SMALL_STATE(211)] = 11927, + [SMALL_STATE(212)] = 12015, + [SMALL_STATE(213)] = 12099, + [SMALL_STATE(214)] = 12187, + [SMALL_STATE(215)] = 12275, + [SMALL_STATE(216)] = 12359, + [SMALL_STATE(217)] = 12443, + [SMALL_STATE(218)] = 12531, + [SMALL_STATE(219)] = 12619, + [SMALL_STATE(220)] = 12707, + [SMALL_STATE(221)] = 12795, + [SMALL_STATE(222)] = 12883, + [SMALL_STATE(223)] = 12946, + [SMALL_STATE(224)] = 13011, + [SMALL_STATE(225)] = 13075, + [SMALL_STATE(226)] = 13139, + [SMALL_STATE(227)] = 13192, + [SMALL_STATE(228)] = 13245, + [SMALL_STATE(229)] = 13293, + [SMALL_STATE(230)] = 13335, + [SMALL_STATE(231)] = 13377, + [SMALL_STATE(232)] = 13419, + [SMALL_STATE(233)] = 13461, + [SMALL_STATE(234)] = 13503, + [SMALL_STATE(235)] = 13543, + [SMALL_STATE(236)] = 13609, + [SMALL_STATE(237)] = 13649, + [SMALL_STATE(238)] = 13691, + [SMALL_STATE(239)] = 13757, + [SMALL_STATE(240)] = 13797, + [SMALL_STATE(241)] = 13863, + [SMALL_STATE(242)] = 13929, + [SMALL_STATE(243)] = 13995, + [SMALL_STATE(244)] = 14035, + [SMALL_STATE(245)] = 14075, + [SMALL_STATE(246)] = 14115, + [SMALL_STATE(247)] = 14155, + [SMALL_STATE(248)] = 14221, + [SMALL_STATE(249)] = 14261, + [SMALL_STATE(250)] = 14301, + [SMALL_STATE(251)] = 14367, + [SMALL_STATE(252)] = 14407, + [SMALL_STATE(253)] = 14447, + [SMALL_STATE(254)] = 14487, + [SMALL_STATE(255)] = 14534, + [SMALL_STATE(256)] = 14581, + [SMALL_STATE(257)] = 14623, + [SMALL_STATE(258)] = 14664, + [SMALL_STATE(259)] = 14701, + [SMALL_STATE(260)] = 14744, + [SMALL_STATE(261)] = 14787, + [SMALL_STATE(262)] = 14823, + [SMALL_STATE(263)] = 14859, + [SMALL_STATE(264)] = 14901, + [SMALL_STATE(265)] = 14943, + [SMALL_STATE(266)] = 14979, + [SMALL_STATE(267)] = 15015, + [SMALL_STATE(268)] = 15055, + [SMALL_STATE(269)] = 15091, + [SMALL_STATE(270)] = 15127, + [SMALL_STATE(271)] = 15163, + [SMALL_STATE(272)] = 15199, + [SMALL_STATE(273)] = 15235, + [SMALL_STATE(274)] = 15271, + [SMALL_STATE(275)] = 15307, + [SMALL_STATE(276)] = 15347, + [SMALL_STATE(277)] = 15383, + [SMALL_STATE(278)] = 15419, + [SMALL_STATE(279)] = 15455, + [SMALL_STATE(280)] = 15491, + [SMALL_STATE(281)] = 15527, + [SMALL_STATE(282)] = 15563, + [SMALL_STATE(283)] = 15599, + [SMALL_STATE(284)] = 15635, + [SMALL_STATE(285)] = 15671, + [SMALL_STATE(286)] = 15709, + [SMALL_STATE(287)] = 15745, + [SMALL_STATE(288)] = 15781, + [SMALL_STATE(289)] = 15817, + [SMALL_STATE(290)] = 15853, + [SMALL_STATE(291)] = 15889, + [SMALL_STATE(292)] = 15925, + [SMALL_STATE(293)] = 15961, + [SMALL_STATE(294)] = 15997, + [SMALL_STATE(295)] = 16033, + [SMALL_STATE(296)] = 16069, + [SMALL_STATE(297)] = 16105, + [SMALL_STATE(298)] = 16141, + [SMALL_STATE(299)] = 16177, + [SMALL_STATE(300)] = 16213, + [SMALL_STATE(301)] = 16250, + [SMALL_STATE(302)] = 16284, + [SMALL_STATE(303)] = 16318, + [SMALL_STATE(304)] = 16352, + [SMALL_STATE(305)] = 16386, + [SMALL_STATE(306)] = 16422, + [SMALL_STATE(307)] = 16456, + [SMALL_STATE(308)] = 16490, + [SMALL_STATE(309)] = 16524, + [SMALL_STATE(310)] = 16558, + [SMALL_STATE(311)] = 16592, + [SMALL_STATE(312)] = 16626, + [SMALL_STATE(313)] = 16660, + [SMALL_STATE(314)] = 16694, + [SMALL_STATE(315)] = 16729, + [SMALL_STATE(316)] = 16776, + [SMALL_STATE(317)] = 16818, + [SMALL_STATE(318)] = 16852, + [SMALL_STATE(319)] = 16884, + [SMALL_STATE(320)] = 16921, + [SMALL_STATE(321)] = 16952, + [SMALL_STATE(322)] = 16983, + [SMALL_STATE(323)] = 17020, + [SMALL_STATE(324)] = 17050, + [SMALL_STATE(325)] = 17080, + [SMALL_STATE(326)] = 17120, + [SMALL_STATE(327)] = 17154, + [SMALL_STATE(328)] = 17196, + [SMALL_STATE(329)] = 17228, + [SMALL_STATE(330)] = 17262, + [SMALL_STATE(331)] = 17305, + [SMALL_STATE(332)] = 17348, + [SMALL_STATE(333)] = 17381, + [SMALL_STATE(334)] = 17424, + [SMALL_STATE(335)] = 17467, + [SMALL_STATE(336)] = 17510, + [SMALL_STATE(337)] = 17541, + [SMALL_STATE(338)] = 17584, + [SMALL_STATE(339)] = 17627, + [SMALL_STATE(340)] = 17660, + [SMALL_STATE(341)] = 17703, + [SMALL_STATE(342)] = 17746, + [SMALL_STATE(343)] = 17789, + [SMALL_STATE(344)] = 17817, + [SMALL_STATE(345)] = 17851, + [SMALL_STATE(346)] = 17881, + [SMALL_STATE(347)] = 17909, + [SMALL_STATE(348)] = 17937, + [SMALL_STATE(349)] = 17965, + [SMALL_STATE(350)] = 18002, + [SMALL_STATE(351)] = 18039, + [SMALL_STATE(352)] = 18076, + [SMALL_STATE(353)] = 18107, + [SMALL_STATE(354)] = 18132, + [SMALL_STATE(355)] = 18163, + [SMALL_STATE(356)] = 18188, + [SMALL_STATE(357)] = 18225, + [SMALL_STATE(358)] = 18262, + [SMALL_STATE(359)] = 18299, + [SMALL_STATE(360)] = 18324, + [SMALL_STATE(361)] = 18349, + [SMALL_STATE(362)] = 18383, + [SMALL_STATE(363)] = 18417, + [SMALL_STATE(364)] = 18451, + [SMALL_STATE(365)] = 18485, + [SMALL_STATE(366)] = 18519, + [SMALL_STATE(367)] = 18553, + [SMALL_STATE(368)] = 18587, + [SMALL_STATE(369)] = 18615, + [SMALL_STATE(370)] = 18643, + [SMALL_STATE(371)] = 18677, + [SMALL_STATE(372)] = 18711, + [SMALL_STATE(373)] = 18745, + [SMALL_STATE(374)] = 18779, + [SMALL_STATE(375)] = 18813, + [SMALL_STATE(376)] = 18847, + [SMALL_STATE(377)] = 18873, + [SMALL_STATE(378)] = 18907, + [SMALL_STATE(379)] = 18935, + [SMALL_STATE(380)] = 18969, + [SMALL_STATE(381)] = 18994, + [SMALL_STATE(382)] = 19019, + [SMALL_STATE(383)] = 19044, + [SMALL_STATE(384)] = 19069, + [SMALL_STATE(385)] = 19097, + [SMALL_STATE(386)] = 19125, + [SMALL_STATE(387)] = 19153, + [SMALL_STATE(388)] = 19181, + [SMALL_STATE(389)] = 19203, + [SMALL_STATE(390)] = 19231, + [SMALL_STATE(391)] = 19256, + [SMALL_STATE(392)] = 19273, + [SMALL_STATE(393)] = 19298, + [SMALL_STATE(394)] = 19310, + [SMALL_STATE(395)] = 19324, + [SMALL_STATE(396)] = 19336, + [SMALL_STATE(397)] = 19348, + [SMALL_STATE(398)] = 19361, + [SMALL_STATE(399)] = 19374, + [SMALL_STATE(400)] = 19387, + [SMALL_STATE(401)] = 19400, + [SMALL_STATE(402)] = 19413, + [SMALL_STATE(403)] = 19424, + [SMALL_STATE(404)] = 19437, + [SMALL_STATE(405)] = 19450, + [SMALL_STATE(406)] = 19463, + [SMALL_STATE(407)] = 19474, + [SMALL_STATE(408)] = 19487, + [SMALL_STATE(409)] = 19500, + [SMALL_STATE(410)] = 19513, + [SMALL_STATE(411)] = 19526, + [SMALL_STATE(412)] = 19539, + [SMALL_STATE(413)] = 19552, + [SMALL_STATE(414)] = 19565, + [SMALL_STATE(415)] = 19578, + [SMALL_STATE(416)] = 19591, + [SMALL_STATE(417)] = 19604, + [SMALL_STATE(418)] = 19617, + [SMALL_STATE(419)] = 19630, + [SMALL_STATE(420)] = 19643, + [SMALL_STATE(421)] = 19656, + [SMALL_STATE(422)] = 19669, + [SMALL_STATE(423)] = 19682, + [SMALL_STATE(424)] = 19695, + [SMALL_STATE(425)] = 19708, + [SMALL_STATE(426)] = 19721, + [SMALL_STATE(427)] = 19734, + [SMALL_STATE(428)] = 19747, + [SMALL_STATE(429)] = 19760, + [SMALL_STATE(430)] = 19771, + [SMALL_STATE(431)] = 19784, + [SMALL_STATE(432)] = 19797, + [SMALL_STATE(433)] = 19808, + [SMALL_STATE(434)] = 19821, + [SMALL_STATE(435)] = 19834, + [SMALL_STATE(436)] = 19842, + [SMALL_STATE(437)] = 19852, + [SMALL_STATE(438)] = 19860, + [SMALL_STATE(439)] = 19870, + [SMALL_STATE(440)] = 19880, + [SMALL_STATE(441)] = 19890, + [SMALL_STATE(442)] = 19900, + [SMALL_STATE(443)] = 19908, + [SMALL_STATE(444)] = 19916, + [SMALL_STATE(445)] = 19926, + [SMALL_STATE(446)] = 19936, + [SMALL_STATE(447)] = 19946, + [SMALL_STATE(448)] = 19956, + [SMALL_STATE(449)] = 19966, + [SMALL_STATE(450)] = 19974, + [SMALL_STATE(451)] = 19984, + [SMALL_STATE(452)] = 19992, + [SMALL_STATE(453)] = 20000, + [SMALL_STATE(454)] = 20010, + [SMALL_STATE(455)] = 20020, + [SMALL_STATE(456)] = 20027, + [SMALL_STATE(457)] = 20034, + [SMALL_STATE(458)] = 20041, + [SMALL_STATE(459)] = 20048, + [SMALL_STATE(460)] = 20055, + [SMALL_STATE(461)] = 20062, + [SMALL_STATE(462)] = 20069, + [SMALL_STATE(463)] = 20076, + [SMALL_STATE(464)] = 20083, + [SMALL_STATE(465)] = 20090, + [SMALL_STATE(466)] = 20097, + [SMALL_STATE(467)] = 20104, + [SMALL_STATE(468)] = 20111, + [SMALL_STATE(469)] = 20118, + [SMALL_STATE(470)] = 20125, + [SMALL_STATE(471)] = 20132, + [SMALL_STATE(472)] = 20139, + [SMALL_STATE(473)] = 20146, + [SMALL_STATE(474)] = 20153, + [SMALL_STATE(475)] = 20160, + [SMALL_STATE(476)] = 20167, + [SMALL_STATE(477)] = 20174, + [SMALL_STATE(478)] = 20181, + [SMALL_STATE(479)] = 20188, + [SMALL_STATE(480)] = 20195, + [SMALL_STATE(481)] = 20202, + [SMALL_STATE(482)] = 20209, + [SMALL_STATE(483)] = 20216, + [SMALL_STATE(484)] = 20223, + [SMALL_STATE(485)] = 20230, + [SMALL_STATE(486)] = 20237, + [SMALL_STATE(487)] = 20244, + [SMALL_STATE(488)] = 20251, + [SMALL_STATE(489)] = 20258, + [SMALL_STATE(490)] = 20265, + [SMALL_STATE(491)] = 20272, + [SMALL_STATE(492)] = 20279, + [SMALL_STATE(493)] = 20286, + [SMALL_STATE(494)] = 20293, + [SMALL_STATE(495)] = 20300, }; 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(51), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(462), + [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(483), [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [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), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(495), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(490), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(489), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(205), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(219), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(221), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(487), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(487), + [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), + [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), + [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), + [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), + [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), [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), + [53] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(54), + [56] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(157), + [59] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(483), [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), + [65] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(495), + [68] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(490), + [71] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(61), + [74] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(61), + [77] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(73), + [80] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(154), + [83] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(82), + [86] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(489), + [89] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(205), + [92] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(219), + [95] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(221), + [98] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(487), + [101] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(487), + [104] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(34), + [107] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(85), + [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root, 1), + [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), + [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), + [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), + [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), + [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), + [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), + [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289), + [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288), + [136] = {.entry = {.count = 1, .reusable = false}}, SHIFT(315), + [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [140] = {.entry = {.count = 1, .reusable = false}}, SHIFT(457), + [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [144] = {.entry = {.count = 1, .reusable = false}}, SHIFT(462), + [146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(480), + [148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(268), + [150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), + [152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(262), + [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [156] = {.entry = {.count = 1, .reusable = false}}, SHIFT(269), + [158] = {.entry = {.count = 1, .reusable = false}}, SHIFT(473), + [160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(196), + [162] = {.entry = {.count = 1, .reusable = false}}, SHIFT(171), + [164] = {.entry = {.count = 1, .reusable = false}}, SHIFT(195), + [166] = {.entry = {.count = 1, .reusable = false}}, SHIFT(482), + [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(482), + [170] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), + [172] = {.entry = {.count = 1, .reusable = false}}, SHIFT(271), + [174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), + [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [178] = {.entry = {.count = 1, .reusable = false}}, SHIFT(456), + [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [182] = {.entry = {.count = 1, .reusable = false}}, SHIFT(458), + [184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(492), + [186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), + [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [190] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), + [192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), + [196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(493), + [198] = {.entry = {.count = 1, .reusable = false}}, SHIFT(172), + [200] = {.entry = {.count = 1, .reusable = false}}, SHIFT(494), + [202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(494), + [204] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), + [206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), + [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math, 3), + [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_math, 3), + [212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), + [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic, 3), + [216] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic, 3), + [218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 5), + [220] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 5), + [222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), + [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_kind, 1), + [226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_kind, 1), + [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_expression_kind, 1), + [230] = {.entry = {.count = 1, .reusable = false}}, SHIFT(258), + [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression, 1), + [234] = {.entry = {.count = 1, .reusable = false}}, SHIFT(385), + [236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), + [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 1), + [240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 1), + [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 3), + [244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 3), + [246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 5), + [248] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 5), + [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 3), + [252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 3), + [254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), + [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4), + [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4), + [260] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_expression, 1), + [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1), + [264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1), + [266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_structure, 3), + [268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_structure, 3), + [270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 2), + [272] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 2), + [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new, 5), + [276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new, 5), + [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_option, 4), + [280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_option, 4), + [282] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), + [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new, 4), + [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new, 4), + [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2), + [290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2), + [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_structure, 4), + [294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_structure, 4), + [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 6), + [298] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 6), + [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 1), + [302] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 1), + [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1), + [306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1), + [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 4), + [310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 4), + [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3), + [314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3), + [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 3), + [318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 3), + [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 3), + [322] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 3), + [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression, 3), + [326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_expression, 3), + [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), + [330] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), + [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_option, 1), + [334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_option, 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), + [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_built_in_value, 1), + [342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_built_in_value, 1), + [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4), + [346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 4), [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), + [352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3), + [354] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3), + [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), + [358] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1), + [360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), + [362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323), + [364] = {.entry = {.count = 1, .reusable = false}}, SHIFT(323), + [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), + [368] = {.entry = {.count = 1, .reusable = false}}, SHIFT(324), + [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), + [372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [374] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_expression_kind, 1), + [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), + [380] = {.entry = {.count = 1, .reusable = false}}, SHIFT(275), + [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(438), + [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), + [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(465), + [388] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(275), + [391] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(151), + [394] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(438), + [397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), + [399] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(462), + [402] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(480), + [405] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(268), + [408] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(268), + [411] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(262), + [414] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(136), + [417] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(269), + [420] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(473), + [423] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(465), + [426] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(271), + [429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(309), + [431] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107), + [433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(444), + [435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), + [437] = {.entry = {.count = 1, .reusable = false}}, SHIFT(344), + [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(453), + [441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), + [449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436), + [451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [455] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(107), + [458] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(161), + [461] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(444), + [464] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(458), + [467] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(492), + [470] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(105), + [473] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(105), + [476] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(104), + [479] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(149), + [482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), + [484] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(103), + [487] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(493), + [490] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(102), + [493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(445), + [499] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(107), + [502] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(161), + [505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), + [507] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(444), + [510] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(458), + [513] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(492), + [516] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(105), + [519] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(105), + [522] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(104), + [525] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(149), + [528] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(103), + [531] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(493), + [534] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(102), + [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), + [543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), + [547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [551] = {.entry = {.count = 1, .reusable = false}}, SHIFT(345), + [553] = {.entry = {.count = 1, .reusable = false}}, SHIFT(317), + [555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [557] = {.entry = {.count = 1, .reusable = false}}, SHIFT(284), + [559] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), + [561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(450), + [563] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), + [565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [567] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), + [569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [571] = {.entry = {.count = 1, .reusable = false}}, SHIFT(191), + [573] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97), + [575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), + [577] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 1), + [579] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 1), + [581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), + [583] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expression_list, 1), + [585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list, 1), + [587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), + [589] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 2), + [591] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 2), + [593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), + [595] = {.entry = {.count = 1, .reusable = false}}, SHIFT(414), + [597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 1), + [599] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 1), + [601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), + [603] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_else_repeat1, 2), + [605] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), SHIFT_REPEAT(217), + [608] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_if, 3), + [610] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_if, 3), + [612] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if, 3), + [614] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if, 3), + [616] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 3), + [618] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 3), + [620] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127), + [622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [624] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_assignment, 3), + [626] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_assignment, 3), + [628] = {.entry = {.count = 1, .reusable = false}}, SHIFT(287), + [630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), [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), + [636] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), + [638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [640] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match, 5), + [642] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match, 5), + [644] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 4), + [646] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 4), + [648] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for, 5), + [650] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for, 5), + [652] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 2), + [654] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 2), + [656] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3), + [658] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3), + [660] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return, 2), + [662] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return, 2), + [664] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else, 2), + [666] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else, 2), + [668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), + [670] = {.entry = {.count = 1, .reusable = false}}, SHIFT(409), + [672] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), SHIFT_REPEAT(177), + [675] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_operator, 1), + [677] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_operator, 1), + [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), + [681] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), + [685] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 3), + [687] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 3), + [689] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), + [691] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 4), + [693] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 4), + [695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [697] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), + [699] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), + [701] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_math_operator, 1), + [703] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math_operator, 1), + [705] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic_operator, 1), + [707] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic_operator, 1), + [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(457), + [711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(483), + [715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), + [719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), + [721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(478), + [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(476), + [729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [731] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 2), + [733] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 2), + [735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384), + [737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), + [739] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 3), + [741] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 3), + [743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(386), + [745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), + [749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), + [751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), [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_specification, 3), - [817] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_specification, 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), + [757] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 5), + [759] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 5), + [761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [767] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 1), + [769] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), + [771] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(359), + [774] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(374), + [777] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), + [779] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(389), + [782] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(461), + [785] = {.entry = {.count = 1, .reusable = false}}, SHIFT(359), + [787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(374), + [789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348), + [791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389), + [793] = {.entry = {.count = 1, .reusable = false}}, SHIFT(461), + [795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299), + [799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(343), + [801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [807] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_repeat1, 1), + [809] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 1), + [811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(388), + [813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), + [815] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_repeat1, 2), + [817] = {.entry = {.count = 1, .reusable = false}}, SHIFT(398), + [819] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_specification, 3), + [821] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_specification, 3), + [823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), + [827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), + [831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428), + [835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), + [839] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 3), + [841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(449), + [843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385), + [847] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_structure_repeat1, 2), + [849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), + [853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), + [857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(440), + [859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441), + [865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), + [869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [873] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_new_repeat1, 2), SHIFT_REPEAT(404), + [876] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_new_repeat1, 2), + [878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(454), + [886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), + [888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [890] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), + [892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(442), + [894] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(439), + [897] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_structure_repeat1, 2), SHIFT_REPEAT(428), + [900] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 4), + [902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451), + [904] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2), SHIFT_REPEAT(425), + [907] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2), + [909] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_new_repeat1, 3), + [911] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_structure_repeat1, 3), + [913] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 3), + [915] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_new_repeat1, 4), + [917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297), + [923] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 5), + [925] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_structure_repeat1, 4), + [927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353), + [929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413), + [935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(420), + [937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), + [941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408), + [943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), + [945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(424), + [947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), + [949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), + [951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), + [955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), + [963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419), + [965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), + [967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), + [971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(391), + [975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474), + [977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), + [979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(477), + [981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [987] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463), + [991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), + [993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), + [995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459), + [997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), + [999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(464), + [1001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [1003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(488), + [1005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), }; #ifdef __cplusplus