diff --git a/docs/TUTORIAL.md b/docs/TUTORIAL.md index 6696471..49ee095 100644 --- a/docs/TUTORIAL.md +++ b/docs/TUTORIAL.md @@ -330,18 +330,12 @@ A contract must have at least one entrypoint function. Contracts with multiple e ### Function Parameters and Return Types -Functions can have multiple parameters and return values: +Functions can have multiple parameters. A function with one plain return value writes the +type directly after `:`: ```javascript -// Function with return type -function add(int a, int b): (int) { - return (a + b); -} - -// Multiple return values -function split(byte[32] data): (byte[16], byte[16]) { - byte[16] left, byte[16] right = data.split(16); - return (left, right); +function add(int a, int b): int { + return a + b; } // Using the return value @@ -351,6 +345,34 @@ entrypoint function example() { } ``` +Tuple return types are written in parentheses. A tuple with more than one value +can be destructured into typed bindings: + +```javascript +function getPair(): (int, int) { + return (10, 20); +} + +entrypoint function example() { + (int left, int right) = getPair(); + require(left + right == 30); +} +``` + +A parenthesized single return type is a one-element tuple, not the same as a +plain scalar return: + +```javascript +function getWrapped(): (int) { + return (7); +} + +entrypoint function example() { + int value = getWrapped().0; + require(value == 7); +} +``` + --- ## Operators @@ -726,12 +748,20 @@ byte[] combined = a + b; // 0x12345678 **Split:** -Split byte[] at a specific index: +`split(int)` divides a byte array at a specific index and returns a two-value +tuple `(byte[], byte[])`. Use `.0` for the left part and `.1` for the right part: ```javascript byte[] data = 0x1234567890abcdef; -byte[] left = data.split(4)[0]; // 0x12345678 -byte[] right = data.split(4)[1]; // 0x90abcdef +byte[] left = data.split(4).0; // 0x12345678 +byte[] right = data.split(4).1; // 0x90abcdef +``` + +You can also destructure both parts at once: + +```javascript +byte[] data = 0x1234567890abcdef; +(byte[4] left, byte[4] right) = data.split(4); ``` **Slice:** @@ -1109,27 +1139,43 @@ entrypoint function example() { ### Tuple Unpacking -Unpack multiple values from function returns or split operations: +Unpack multiple values from tuple-returning functions or tuple-returning +built-ins such as `split(int)`: ```javascript -// Function with multiple returns function getPair(): (int, int) { return (10, 20); } -// Unpack split results and function results entrypoint function example(byte[32] data) { - byte[16] left, byte[16] right = data.split(16); + (byte[16] left, byte[16] right) = data.split(16); (int x, int y) = getPair(); } ``` -**In Function Parameters:** +Tuple fields can also be accessed directly with numeric field access: ```javascript -entrypoint function example(byte[32] data) { - byte[16] x, byte[16] y = data.split(16); - require(x == y); +function getPair(): (int, int) { + return (10, 20); +} + +entrypoint function example() { + int first = getPair().0; + int second = getPair().1; + require(first + second == 30); +} +``` + +A one-element tuple uses the same field access: + +```javascript +function getOnly(): (int) { + return (5); +} + +entrypoint function example() { + require(getOnly().0 == 5); } ``` @@ -1137,17 +1183,19 @@ entrypoint function example(byte[32] data) { **Split:** -Divide byte[] into two parts at a given index: +Divide `byte[]` into two parts at a given index. The built-in has the shape +`split(int): (byte[], byte[])`, so the result is accessed like other tuple +returns: ```javascript byte[] data = 0x1122334455667788; // Split at byte 4 -byte[] left = data.split(4)[0]; // 0x11223344 -byte[] right = data.split(4)[1]; // 0x55667788 +byte[] left = data.split(4).0; // 0x11223344 +byte[] right = data.split(4).1; // 0x55667788 -// Direct tuple unpacking with types -byte[4] a, byte[4] b = data.split(4); +// Destructure both parts with types +(byte[4] a, byte[4] b) = data.split(4); ``` **Slice:** diff --git a/silverscript-lang/src/ast/mod.rs b/silverscript-lang/src/ast/mod.rs index 0d5b087..f262f9e 100644 --- a/silverscript-lang/src/ast/mod.rs +++ b/silverscript-lang/src/ast/mod.rs @@ -103,6 +103,8 @@ pub struct FunctionAst<'i> { pub entrypoint: bool, #[serde(default)] pub return_types: Vec, + #[serde(default)] + pub returns_tuple: bool, pub body: Vec>, #[serde(skip_deserializing)] pub return_type_spans: Vec>, @@ -777,9 +779,14 @@ impl SourceFormatter { signature.push_str(&format_params(&function.params)); signature.push(')'); if !function.return_types.is_empty() { - signature.push_str(": ("); - signature.push_str(&function.return_types.iter().map(TypeRef::type_name).collect::>().join(", ")); - signature.push(')'); + if function.returns_tuple { + signature.push_str(": ("); + signature.push_str(&function.return_types.iter().map(TypeRef::type_name).collect::>().join(", ")); + signature.push(')'); + } else { + signature.push_str(": "); + signature.push_str(&function.return_types[0].type_name()); + } } signature.push_str(" {"); @@ -801,7 +808,7 @@ impl SourceFormatter { } Statement::TupleAssignment { left_type_ref, left_name, right_type_ref, right_name, expr, .. } => { self.line(&format!( - "{} {}, {} {} = {};", + "({} {}, {} {}) = {};", left_type_ref.type_name(), left_name, right_type_ref.type_name(), @@ -964,7 +971,7 @@ fn format_expr_with_prec(expr: &Expr<'_>, parent_prec: u8, right_child: bool) -> ExprKind::New { name, args, .. } => format!("new {}({})", name, format_expr_list(args)), ExprKind::Split { source, index, part, .. } => { format!( - "{}.split({})[{}]", + "{}.split({}).{}", format_expr_with_prec(source, PREC_POSTFIX, false), format_expr(index), match part { @@ -1352,10 +1359,12 @@ fn parse_function_definition<'i>(pair: Pair<'i, Rule>) -> Result let params = parse_typed_parameter_list(params_pair)?; let mut return_types = Vec::new(); + let mut returns_tuple = false; let mut return_type_spans = Vec::new(); if let Some(next) = inner.peek() { if next.as_rule() == Rule::return_type_list { let return_pair = inner.next().expect("checked"); + returns_tuple = return_pair.as_str().trim_start_matches(':').trim_start().starts_with('('); let (types, spans) = parse_return_type_list(return_pair)?; return_types = types; return_type_spans = spans; @@ -1377,7 +1386,19 @@ fn parse_function_definition<'i>(pair: Pair<'i, Rule>) -> Result } let body_span = body_span.unwrap_or(span); - Ok(FunctionAst { name, attributes, entrypoint, params, return_types, return_type_spans, body, span, name_span, body_span }) + Ok(FunctionAst { + name, + attributes, + entrypoint, + params, + return_types, + returns_tuple, + return_type_spans, + body, + span, + name_span, + body_span, + }) } fn parse_function_attribute<'i>(pair: Pair<'i, Rule>) -> Result, CompilerError> { @@ -1924,23 +1945,12 @@ fn parse_postfix<'i>(pair: Pair<'i, Rule>) -> Result, CompilerError> { let mut index_inner = postfix.into_inner(); let index_pair = index_inner.next().ok_or_else(|| CompilerError::Unsupported("missing tuple index".to_string()))?; let index_expr = parse_expression(index_pair)?; - let index_span = index_expr.span; let span = expr.span.join(&postfix_span); - if let ExprKind::Split { source, index: split_index, span: split_span, .. } = &expr.kind { - let part = match index_expr.kind { - ExprKind::Int(0) => SplitPart::Left, - ExprKind::Int(1) => SplitPart::Right, - _ => { - return Err(CompilerError::Unsupported("split() index must be 0 or 1".to_string()).with_span(&index_span)); - } - }; - expr = Expr::new( - ExprKind::Split { source: source.clone(), index: split_index.clone(), part, span: *split_span }, - span, - ); - } else { - expr = Expr::new(ExprKind::ArrayIndex { source: Box::new(expr), index: Box::new(index_expr) }, span); + if matches!(&expr.kind, ExprKind::Split { .. }) { + return Err(CompilerError::Unsupported("split() results must be accessed with .0 or .1".to_string()) + .with_span(&postfix_span)); } + expr = Expr::new(ExprKind::ArrayIndex { source: Box::new(expr), index: Box::new(index_expr) }, span); } Rule::unary_suffix => { let kind = match postfix.as_str() { @@ -1951,6 +1961,33 @@ fn parse_postfix<'i>(pair: Pair<'i, Rule>) -> Result, CompilerError> { let span = expr.span.join(&postfix_span); expr = Expr::new(ExprKind::UnarySuffix { source: Box::new(expr), kind, span: postfix_span }, span); } + Rule::tuple_field_access => { + let raw = postfix.as_str().trim().trim_start_matches('.'); + let index = raw + .parse::() + .map_err(|_| CompilerError::Unsupported(format!("invalid tuple field index '{raw}'")).with_span(&postfix_span))?; + let span = expr.span.join(&postfix_span); + if let ExprKind::Split { source, index: split_index, span: split_span, .. } = &expr.kind { + let part = match index { + 0 => SplitPart::Left, + 1 => SplitPart::Right, + _ => { + return Err( + CompilerError::Unsupported("split() index must be 0 or 1".to_string()).with_span(&postfix_span) + ); + } + }; + expr = Expr::new( + ExprKind::Split { source: source.clone(), index: split_index.clone(), part, span: *split_span }, + span, + ); + } else { + expr = Expr::new( + ExprKind::FieldAccess { source: Box::new(expr), field: index.to_string(), field_span: postfix_span }, + span, + ); + } + } Rule::field_access => { if matches!(&expr.kind, ExprKind::Introspection { .. }) || expr_root_identifier(&expr).as_deref() == Some("tx") { return Err(CompilerError::Unsupported("field access on transaction introspection is not supported".to_string())); diff --git a/silverscript-lang/src/compiler/covenant_declarations.rs b/silverscript-lang/src/compiler/covenant_declarations.rs index 354a280..3b51bec 100644 --- a/silverscript-lang/src/compiler/covenant_declarations.rs +++ b/silverscript-lang/src/compiler/covenant_declarations.rs @@ -799,6 +799,7 @@ fn generated_entrypoint<'i>( params, entrypoint: true, return_types: Vec::new(), + returns_tuple: false, body, return_type_spans: Vec::new(), span: policy.span, diff --git a/silverscript-lang/src/compiler/inline_functions.rs b/silverscript-lang/src/compiler/inline_functions.rs index a910d10..1b676da 100644 --- a/silverscript-lang/src/compiler/inline_functions.rs +++ b/silverscript-lang/src/compiler/inline_functions.rs @@ -360,6 +360,10 @@ impl<'i, 'd> Inliner<'i, 'd> { self.functions.get(name).cloned().filter(|function| !function.entrypoint) // TODO: Store this information in a separate set for efficiency } + fn tuple_field_index(field: &str) -> Option { + (!field.is_empty() && field.chars().all(|ch| ch.is_ascii_digit())).then(|| field.parse().ok()).flatten() + } + fn inline_call( &mut self, function: &FunctionAst<'i>, @@ -477,6 +481,12 @@ impl<'i, 'd> Inliner<'i, 'd> { ExprKind::Call { name, args, name_span } => { let (mut prelude, args) = self.lower_exprs(args, scope, visited_functions)?; if let Some(function) = self.inline_target(name) { + if function.returns_tuple { + return Err(CompilerError::Unsupported(format!( + "function '{}' returns a tuple and cannot be used directly in expressions; access a tuple field instead", + function.name + ))); + } if function.return_types.len() != 1 { return Err(CompilerError::Unsupported(format!( "function '{}' with multiple return values cannot be used in expressions", @@ -591,6 +601,37 @@ impl<'i, 'd> Inliner<'i, 'd> { Ok((prelude, Expr::new(ExprKind::StateObject(lowered_fields), span))) } ExprKind::FieldAccess { source, field, field_span } => { + if let Some(index) = Self::tuple_field_index(field) + && let ExprKind::Call { name, args, name_span } = &source.kind + && let Some(function) = self.inline_target(name) + { + if !function.returns_tuple { + return Err(CompilerError::Unsupported(format!("function '{}' does not return a tuple", function.name))); + } + if index >= function.return_types.len() { + return Err(CompilerError::Unsupported(format!( + "tuple index {index} out of bounds for function '{}'", + function.name + ))); + } + let temp_names = function.return_types.iter().map(|_| self.fresh_name(name)).collect::>(); + let bindings = function + .return_types + .iter() + .zip(temp_names.iter()) + .map(|(type_ref, temp_name)| ParamAst { + type_ref: type_ref.clone(), + name: temp_name.clone(), + span, + type_span: *name_span, + name_span: *name_span, + }) + .collect::>(); + let prelude = self.inline_call(&function, args, Some(&bindings), scope, visited_functions, span)?; + let selected_name = temp_names[index].clone(); + self.debug_recorder.record_visible_name(&selected_name, &format!("{}.{}", function.name, index)); + return Ok((prelude, Expr::identifier(selected_name))); + } let (prelude, source) = self.lower_expr(source, scope, visited_functions)?; Ok(( prelude, diff --git a/silverscript-lang/src/compiler/static_check.rs b/silverscript-lang/src/compiler/static_check.rs index 0c4b2e1..69b1e4a 100644 --- a/silverscript-lang/src/compiler/static_check.rs +++ b/silverscript-lang/src/compiler/static_check.rs @@ -855,6 +855,12 @@ fn validate_expr_semantics<'i>( if function.entrypoint { return Err(CompilerError::Unsupported(format!("entrypoint function '{}' cannot be called", name))); } + if function.returns_tuple { + return Err(CompilerError::Unsupported(format!( + "function '{}' returns a tuple and cannot be used directly in expressions; access a tuple field instead", + name + ))); + } if function.return_types.len() != 1 { return Err(CompilerError::Unsupported(format!( "function '{}' with multiple return values cannot be used in expressions", @@ -919,7 +925,22 @@ fn validate_expr_semantics<'i>( } Ok(()) } - ExprKind::FieldAccess { source, .. } | ExprKind::UnarySuffix { source, .. } => { + ExprKind::FieldAccess { source, field, .. } => { + if tuple_field_index(field).is_some() { + return validate_tuple_field_access( + source, + field, + env, + prefer_env_for_comparison, + types, + structs, + functions, + contract_fields, + ); + } + validate_expr_semantics(source, env, prefer_env_for_comparison, types, structs, functions, contract_fields) + } + ExprKind::UnarySuffix { source, .. } => { validate_expr_semantics(source, env, prefer_env_for_comparison, types, structs, functions, contract_fields) } ExprKind::Identifier(name) => { @@ -953,6 +974,9 @@ fn infer_expr_type_ref_for_comparison_ref<'i>( types.get(name).and_then(|type_name| parse_type_ref(type_name).ok()) } } + ExprKind::FieldAccess { source, field, .. } if tuple_field_index(field).is_some() => { + infer_tuple_field_access_type(source, field, functions) + } ExprKind::FieldAccess { source, field, .. } => { let source_type = infer_expr_type_ref_for_comparison_ref( source, @@ -1000,7 +1024,7 @@ fn infer_expr_type_ref_for_comparison_ref<'i>( } ExprKind::Call { name, .. } => { let function = functions.get(name)?; - if function.entrypoint || function.return_types.len() != 1 { + if function.entrypoint || function.returns_tuple || function.return_types.len() != 1 { return None; } Some(function.return_types[0].clone()) @@ -1012,6 +1036,58 @@ fn infer_expr_type_ref_for_comparison_ref<'i>( } } +fn tuple_field_index(field: &str) -> Option { + (!field.is_empty() && field.chars().all(|ch| ch.is_ascii_digit())).then(|| field.parse().ok()).flatten() +} + +fn infer_tuple_field_access_type<'i>( + source: &Expr<'i>, + field: &str, + functions: &HashMap>, +) -> Option { + let ExprKind::Call { name, .. } = &source.kind else { + return None; + }; + let function = functions.get(name)?; + let index = tuple_field_index(field)?; + if function.entrypoint || !function.returns_tuple { + return None; + } + function.return_types.get(index).cloned() +} + +fn validate_tuple_field_access<'i>( + source: &Expr<'i>, + field: &str, + env: &HashMap>, + prefer_env_for_comparison: &HashSet, + types: &HashMap, + structs: &StructRegistry, + functions: &HashMap>, + contract_fields: &[ContractFieldAst<'i>], +) -> Result<(), CompilerError> { + let ExprKind::Call { name, args, .. } = &source.kind else { + return Err(CompilerError::Unsupported("tuple field access requires a tuple-returning function call".to_string())); + }; + for arg in args { + validate_expr_semantics(arg, env, prefer_env_for_comparison, types, structs, functions, contract_fields)?; + } + let Some(function) = functions.get(name) else { + return Err(CompilerError::Unsupported(format!("function '{}' not found", name))); + }; + if function.entrypoint { + return Err(CompilerError::Unsupported(format!("entrypoint function '{}' cannot be called", name))); + } + if !function.returns_tuple { + return Err(CompilerError::Unsupported(format!("function '{}' does not return a tuple", name))); + } + let index = tuple_field_index(field).expect("checked"); + if index >= function.return_types.len() { + return Err(CompilerError::Unsupported(format!("tuple index {index} out of bounds for function '{}'", name))); + } + Ok(()) +} + fn coerce_rhs_byte_literal_for_comparison_ref<'i>(left_type: Option<&TypeRef>, right: &Expr<'i>) -> Expr<'i> { if left_type.is_some_and(|type_ref| matches!(type_ref.base, TypeBase::Byte) && type_ref.array_dims.is_empty()) && let ExprKind::Int(value) = right.kind @@ -1206,6 +1282,12 @@ fn validate_expr_assignable_to_type<'i>( if function.entrypoint { return Err(CompilerError::Unsupported(format!("entrypoint function '{}' cannot be called", name))); } + if function.returns_tuple { + return Err(CompilerError::Unsupported(format!( + "function '{}' returns a tuple and cannot be used directly in expressions; access a tuple field instead", + name + ))); + } if function.return_types.len() != 1 { return Err(CompilerError::Unsupported(format!( "function '{}' with multiple return values cannot be used in expressions", @@ -1225,6 +1307,18 @@ fn validate_expr_assignable_to_type<'i>( return Ok(()); } + if let ExprKind::FieldAccess { field, .. } = &expr.kind + && tuple_field_index(field).is_some() + && let Some(actual_type) = + infer_expr_type_ref_for_comparison_ref(expr, &HashMap::new(), &HashSet::new(), types, structs, functions, contract_fields) + { + return if is_type_assignable_ref(&actual_type, type_ref, constants) { + Ok(()) + } else { + Err(CompilerError::Unsupported("type mismatch".to_string())) + }; + } + if let ExprKind::IfElse { .. } = &expr.kind && let Some(actual_type) = infer_expr_type_ref_for_comparison_ref(expr, &HashMap::new(), &HashSet::new(), types, structs, functions, contract_fields) diff --git a/silverscript-lang/src/compiler/structs.rs b/silverscript-lang/src/compiler/structs.rs index 3eb4de1..20b94f1 100644 --- a/silverscript-lang/src/compiler/structs.rs +++ b/silverscript-lang/src/compiler/structs.rs @@ -1630,6 +1630,7 @@ pub(crate) fn lower_structs_contract<'i>( params: lowered_function_params, entrypoint: function.entrypoint, return_types: lowered_return_types, + returns_tuple: function.returns_tuple, body: lowered_body, return_type_spans: function.return_type_spans.clone(), span: function.span, diff --git a/silverscript-lang/src/silverscript.pest b/silverscript-lang/src/silverscript.pest index f3eb6af..878520f 100644 --- a/silverscript-lang/src/silverscript.pest +++ b/silverscript-lang/src/silverscript.pest @@ -27,10 +27,10 @@ braced_block = { "{" ~ statement* ~ "}" } statement = _{ variable_definition - | tuple_assignment | state_function_call_assignment | struct_destructure_assignment | function_call_assignment + | tuple_assignment | call_statement | return_statement | assign_statement @@ -43,7 +43,7 @@ statement = _{ } variable_definition = { type_name ~ modifier* ~ Identifier ~ ("=" ~ expression)? ~ ";" } -tuple_assignment = { type_name ~ Identifier ~ "," ~ type_name ~ Identifier ~ "=" ~ expression ~ ";" } +tuple_assignment = { ("(" ~ type_name ~ Identifier ~ "," ~ type_name ~ Identifier ~ ","? ~ ")" | type_name ~ Identifier ~ "," ~ type_name ~ Identifier) ~ "=" ~ expression ~ ";" } function_call_assignment = { "(" ~ typed_binding ~ ("," ~ typed_binding)* ~ ","? ~ ")" ~ "=" ~ function_call ~ ";" } state_function_call_assignment = { "{" ~ state_typed_binding ~ ("," ~ state_typed_binding)* ~ ","? ~ "}" ~ "=" ~ function_call ~ ";" } struct_destructure_assignment = { "{" ~ state_typed_binding ~ ("," ~ state_typed_binding)* ~ ","? ~ "}" ~ "=" ~ expression ~ ";" } @@ -95,13 +95,14 @@ unary = { unary_op* ~ postfix } unary_op = { "!" | "-" } postfix = { primary ~ postfix_op* } -postfix_op = _{ tuple_index | unary_suffix | split_call | slice_call | append_call | field_access } +postfix_op = _{ tuple_index | unary_suffix | split_call | slice_call | append_call | tuple_field_access | field_access } tuple_index = { "[" ~ expression ~ "]" } unary_suffix = { "." ~ "length" } split_call = { ".split" ~ "(" ~ expression ~ ")" } slice_call = { ".slice" ~ "(" ~ expression ~ "," ~ expression ~ ")" } append_call = { ".append" ~ expression_list } +tuple_field_access = { "." ~ ASCII_DIGIT+ } field_access = { "." ~ Identifier } primary = _{ diff --git a/silverscript-lang/tests/ast_format_tests.rs b/silverscript-lang/tests/ast_format_tests.rs index af3e935..4ad1ded 100644 --- a/silverscript-lang/tests/ast_format_tests.rs +++ b/silverscript-lang/tests/ast_format_tests.rs @@ -81,7 +81,7 @@ contract Advanced(int limit, pubkey owner) { } balance = current; require(this.age >= 10, "age"); - return(tail.split(1)[1]); + return(tail.split(1).1); } } "#; @@ -94,7 +94,7 @@ contract Advanced(int limit, pubkey owner) { assert_eq!(reformatted, formatted); assert!(formatted.contains("{balance: int current} = readState();")); assert!(formatted.contains("byte[] tail = this.activeScriptPubKey.slice(1, this.activeScriptPubKey.length);")); - assert!(formatted.contains("return(tail.split(1)[1]);")); + assert!(formatted.contains("return(tail.split(1).1);")); } #[test] @@ -132,7 +132,7 @@ fn compiled_formatted_contract_preserves_exact_ast_with_state_and_return() { byte[] tail = this.activeScriptPubKey.slice(1, this.activeScriptPubKey.length); validateOutputState(0, {amount: current}); require(this.age >= 10, "age"); - return(tail.split(1)[1]); + return(tail.split(1).1); } } "#; diff --git a/silverscript-lang/tests/compiler_tests.rs b/silverscript-lang/tests/compiler_tests.rs index dd945f2..eee139f 100644 --- a/silverscript-lang/tests/compiler_tests.rs +++ b/silverscript-lang/tests/compiler_tests.rs @@ -3265,8 +3265,8 @@ fn recursive_fibonacci_inlining_behavior() { fn function_call_in_require_statement() { let source = r#" contract Calls() { - function plus_one(int n) : (int) { - return(n + 1); + function plus_one(int n) : int { + return n + 1; } entrypoint function main(int n) { @@ -3285,8 +3285,8 @@ fn function_call_in_require_statement() { fn single_return_helper_call_can_participate_in_expression() { let source = r#" contract Calls() { - function plus_one(int n) : (int) { - return(n + 1); + function plus_one(int n) : int { + return n + 1; } entrypoint function main(int n) { @@ -3396,7 +3396,7 @@ fn rejects_multi_return_helper_call_in_expression() { let err = compile_contract(source, &[], CompileOptions::default()) .expect_err("multi-return helper call should be rejected in expressions"); let err_msg = err.to_string(); - assert!(err_msg.contains("multiple return values cannot be used in expressions"), "unexpected error: {err_msg}"); + assert!(err_msg.contains("returns a tuple and cannot be used directly in expressions"), "unexpected error: {err_msg}"); } #[test] @@ -3421,6 +3421,120 @@ fn multi_return_helper_call_assignment_remains_valid() { assert!(result.is_ok(), "tuple call assignment should execute successfully: {}", result.unwrap_err()); } +#[test] +fn tuple_return_field_access_can_initialize_variable_and_run() { + let source = r#" + contract Calls() { + function f() : (int, int, int, int) { + return(2, 3, 4, 5); + } + + entrypoint function main() { + int x = f().2; + require(x == 4); + } + } + "#; + + let compiled = compile_contract(source, &[], CompileOptions::default()).expect("tuple field access should compile"); + let selector = selector_for(&compiled, "main"); + let result = run_script_with_selector(compiled.script, selector); + assert!(result.is_ok(), "tuple field access variable initializer should execute successfully: {}", result.unwrap_err()); +} + +#[test] +fn tuple_return_field_access_can_be_used_in_require_and_run() { + let source = r#" + contract Calls() { + function f() : (int, int, int, int) { + return(2, 3, 4, 5); + } + + entrypoint function main() { + require(f().3 == 5); + } + } + "#; + + let compiled = compile_contract(source, &[], CompileOptions::default()).expect("tuple field access in require should compile"); + let selector = selector_for(&compiled, "main"); + let result = run_script_with_selector(compiled.script, selector); + assert!(result.is_ok(), "tuple field access in require should execute successfully: {}", result.unwrap_err()); +} + +#[test] +fn tuple_return_field_access_allows_parenthesized_single_return_type() { + let source = r#" + contract Calls() { + function f() : (int) { + return(5); + } + + entrypoint function main() { + require(f().0 == 5); + } + } + "#; + + let compiled = compile_contract(source, &[], CompileOptions::default()).expect("f() : (int) should allow f().0"); + let selector = selector_for(&compiled, "main"); + let result = run_script_with_selector(compiled.script, selector); + assert!(result.is_ok(), "single-element tuple field access should execute successfully: {}", result.unwrap_err()); +} + +#[test] +fn tuple_return_field_access_rejects_direct_single_tuple_value_use_as_scalar() { + let source = r#" + contract Calls() { + function f() : (int) { + return(7); + } + + entrypoint function main() { + require(f() == 7); + } + } + "#; + + compile_contract(source, &[], CompileOptions::default()).expect_err("f() : (int) should require f().0 for scalar use"); +} + +#[test] +fn tuple_return_field_access_rejects_scalar_single_return_type() { + let source = r#" + contract Calls() { + function f() : int { + return 5; + } + + entrypoint function main() { + require(f().0 == 5); + } + } + "#; + + let err = compile_contract(source, &[], CompileOptions::default()).expect_err("f() : int should reject f().0"); + assert!(err.to_string().contains("does not return a tuple"), "unexpected error: {err}"); +} + +#[test] +fn tuple_return_field_access_rejects_out_of_bounds_index() { + let source = r#" + contract Calls() { + function f() : (int, int, int) { + return(1, 2, 3); + } + + entrypoint function main() { + require(f().3 == 3); + } + } + "#; + + let err = compile_contract(source, &[], CompileOptions::default()).expect_err("f().10 should be out of bounds"); + assert!(err.to_string().contains("tuple index 3 out of bounds"), "unexpected error: {err}"); +} + #[test] fn allows_call_chain_with_earlier_defined_functions() { let source = r#" @@ -3680,7 +3794,7 @@ fn rejects_omitting_parentheses_in_tuple_function_call_assignment() { let err = compile_contract(source, &[], CompileOptions::default()) .expect_err("tuple-returning function should require parenthesized call assignment"); let err_msg = err.to_string(); - assert!(err_msg.contains("multiple return values cannot be used in expressions"), "unexpected error: {err_msg}"); + assert!(err_msg.contains("returns a tuple and cannot be used directly in expressions"), "unexpected error: {err_msg}"); } #[test] diff --git a/silverscript-lang/tests/examples/double_split.sil b/silverscript-lang/tests/examples/double_split.sil index a247e75..0b6bcfe 100644 --- a/silverscript-lang/tests/examples/double_split.sil +++ b/silverscript-lang/tests/examples/double_split.sil @@ -2,7 +2,7 @@ pragma silverscript ^0.1.0; contract DoubleSplit(byte[20] pkh) { entrypoint function spend() { - byte[] actualPkh = tx.inputs[this.activeInputIndex].scriptPubKey.split(23)[0].split(3)[1]; + byte[] actualPkh = tx.inputs[this.activeInputIndex].scriptPubKey.split(23).0.split(3).1; require(byte[](pkh) == actualPkh); } } diff --git a/silverscript-lang/tests/examples/hodl_vault.sil b/silverscript-lang/tests/examples/hodl_vault.sil index c6db30e..10ba66f 100644 --- a/silverscript-lang/tests/examples/hodl_vault.sil +++ b/silverscript-lang/tests/examples/hodl_vault.sil @@ -7,7 +7,7 @@ contract HodlVault( int priceTarget ) { entrypoint function spend(sig ownerSig, datasig oracleSig, byte[] oracleMessage) { - byte[4] blockHeightBin, byte[4] priceBin = oracleMessage.split(4); + (byte[4] blockHeightBin, byte[4] priceBin) = oracleMessage.split(4); int blockHeight = int(blockHeightBin); int price = int(priceBin); diff --git a/silverscript-lang/tests/examples/kcc20-minter.sil b/silverscript-lang/tests/examples/kcc20-minter.sil index 8a83045..5de1192 100644 --- a/silverscript-lang/tests/examples/kcc20-minter.sil +++ b/silverscript-lang/tests/examples/kcc20-minter.sil @@ -15,14 +15,14 @@ contract KCC20Minter(pubkey owner, byte[32] initKCC20Covid, int initAmount, byte constant IDENTIFIER_COVENANT_ID = 0x02; - function calcInAmount() : (int) { + function calcInAmount() : int { KCC20State kcc20PrevState = readInputStateWithTemplate( OpCovInputIdx(kcc20Covid, 0), templatePrefixLen, templateSuffixLen, expectedTemplateHash ); - return (kcc20PrevState.amount); + return kcc20PrevState.amount; } function checkMinterKcc20NewState(KCC20State minterKcc20NewState){ diff --git a/silverscript-lang/tests/examples/mecenas_locktime.sil b/silverscript-lang/tests/examples/mecenas_locktime.sil index 1310a49..bac9306 100644 --- a/silverscript-lang/tests/examples/mecenas_locktime.sil +++ b/silverscript-lang/tests/examples/mecenas_locktime.sil @@ -26,7 +26,7 @@ contract Mecenas( require(tx.outputs[0].value == pledge); require(tx.outputs[1].value == changeValue); - byte[] bcValue = 8 + byte[8](tx.locktime) + this.activeScriptPubKey.split(9)[1]; + byte[] bcValue = 8 + byte[8](tx.locktime) + this.activeScriptPubKey.split(9).1; byte[35] lockValue = new ScriptPubKeyP2SH(blake2b(bcValue)); require(tx.outputs[1].scriptPubKey == byte[](lockValue)); } diff --git a/silverscript-lang/tests/examples/simple_splice.sil b/silverscript-lang/tests/examples/simple_splice.sil index fca3bca..c9e850b 100644 --- a/silverscript-lang/tests/examples/simple_splice.sil +++ b/silverscript-lang/tests/examples/simple_splice.sil @@ -2,8 +2,8 @@ pragma silverscript ^0.1.0; contract Test(byte[] b) { entrypoint function spend() { - byte[] x = b.split(5)[1]; + byte[] x = b.split(5).1; require(x != b); - require (byte[](b.split(4)[0]) != x); + require (byte[](b.split(4).0) != x); } } diff --git a/silverscript-lang/tests/examples/simulating_state.sil b/silverscript-lang/tests/examples/simulating_state.sil index 641b22c..58bae1c 100644 --- a/silverscript-lang/tests/examples/simulating_state.sil +++ b/silverscript-lang/tests/examples/simulating_state.sil @@ -38,7 +38,7 @@ contract SimulatingState( // Insert new initialBlock (OP_PUSHBYTES_8 ) // Note that constructor parameters are added in reverse order, // so initialBlock is the first statement in the contract bytecode. - byte[] newContract = 0x08 + byte[8](tx.locktime) + this.activeScriptPubKey.split(9)[1]; + byte[] newContract = 0x08 + byte[8](tx.locktime) + this.activeScriptPubKey.split(9).1; // Create the locking bytecode for the new contract and check that // the change output sends to that contract diff --git a/silverscript-lang/tests/examples/split_or_slice_signature.sil b/silverscript-lang/tests/examples/split_or_slice_signature.sil index b51c2f1..d8f159d 100644 --- a/silverscript-lang/tests/examples/split_or_slice_signature.sil +++ b/silverscript-lang/tests/examples/split_or_slice_signature.sil @@ -3,7 +3,7 @@ pragma silverscript ^0.1.0; contract Test(sig signature) { entrypoint function spend() { // Assume Schnorr - byte[] hashtype1 = signature.split(64)[1]; + byte[] hashtype1 = signature.split(64).1; byte[1] hashtype2 = signature.slice(64, 65); require(hashtype1 == byte[](0x01)); require(hashtype2 == 0x01); diff --git a/silverscript-lang/tests/examples/split_size.sil b/silverscript-lang/tests/examples/split_size.sil index 3e4f02a..e79e828 100644 --- a/silverscript-lang/tests/examples/split_size.sil +++ b/silverscript-lang/tests/examples/split_size.sil @@ -2,8 +2,8 @@ pragma silverscript ^0.1.0; contract SplitSize(byte[] b) { entrypoint function spend() { - byte[] x = b.split(b.length / 2)[1]; + byte[] x = b.split(b.length / 2).1; require(x != b); - require(byte[](b.split(4)[0]) != x); + require(byte[](b.split(4).0) != x); } } diff --git a/silverscript-lang/tests/examples/split_typed.sil b/silverscript-lang/tests/examples/split_typed.sil index 66b04f7..25fa499 100644 --- a/silverscript-lang/tests/examples/split_typed.sil +++ b/silverscript-lang/tests/examples/split_typed.sil @@ -2,7 +2,7 @@ pragma silverscript ^0.1.0; contract SplitTyped(byte[] b) { entrypoint function spend() { - byte[4] x = b.split(4)[0]; + byte[4] x = b.split(4).0; require(byte[](x) != b); } } diff --git a/silverscript-lang/tests/examples/tuple_unpacking.sil b/silverscript-lang/tests/examples/tuple_unpacking.sil index caca30e..362e837 100644 --- a/silverscript-lang/tests/examples/tuple_unpacking.sil +++ b/silverscript-lang/tests/examples/tuple_unpacking.sil @@ -4,7 +4,7 @@ contract Test() { entrypoint function split() { string s1 = "hello"; string s2 = "there"; - string hello, string there = (s1+s2).split(5); + (string hello, string there) = (s1+s2).split(5); require(hello == there); } } diff --git a/silverscript-lang/tests/examples/tuple_unpacking_parameter.sil b/silverscript-lang/tests/examples/tuple_unpacking_parameter.sil index b022847..435f27c 100644 --- a/silverscript-lang/tests/examples/tuple_unpacking_parameter.sil +++ b/silverscript-lang/tests/examples/tuple_unpacking_parameter.sil @@ -2,7 +2,7 @@ pragma silverscript ^0.1.0; contract Test() { entrypoint function split(byte[32] b) { - byte[16] x, byte[16] y = b.split(16); + (byte[16] x, byte[16] y) = b.split(16); require(x == y); } } diff --git a/silverscript-lang/tests/examples/tuple_unpacking_single_side_type.sil b/silverscript-lang/tests/examples/tuple_unpacking_single_side_type.sil index c401163..e1510e6 100644 --- a/silverscript-lang/tests/examples/tuple_unpacking_single_side_type.sil +++ b/silverscript-lang/tests/examples/tuple_unpacking_single_side_type.sil @@ -2,7 +2,7 @@ pragma silverscript ^0.1.0; contract Test() { entrypoint function split(byte[] b) { - byte[16] x, byte[] y = b.split(16); + (byte[16] x, byte[] y) = b.split(16); require(x == y); } } diff --git a/tree-sitter/grammar.js b/tree-sitter/grammar.js index 2cdc298..462aa30 100644 --- a/tree-sitter/grammar.js +++ b/tree-sitter/grammar.js @@ -31,6 +31,8 @@ export default grammar({ conflicts: ($) => [ [$.function_call, $.base_type], [$.primary, $.base_type], + [$.tuple_assignment, $.typed_binding], + [$.parenthesized, $.expression_list], ], rules: { @@ -107,16 +109,19 @@ export default grammar({ parameter: ($) => seq($.type_name, $.identifier), return_type_list: ($) => - seq(":", "(", optional(commaSep($.type_name)), ")"), + seq( + ":", + choice($.type_name, seq("(", optional(commaSep($.type_name)), ")")), + ), block: ($) => choice(seq("{", repeat($.statement), "}"), $.statement), statement: ($) => choice( $.variable_definition, - $.tuple_assignment, $.state_function_call_assignment, $.function_call_assignment, + $.tuple_assignment, $.call_statement, $.return_statement, $.assign_statement, @@ -138,11 +143,19 @@ export default grammar({ tuple_assignment: ($) => seq( - $.type_name, - $.identifier, - ",", - $.type_name, - $.identifier, + choice( + seq( + "(", + $.type_name, + $.identifier, + ",", + $.type_name, + $.identifier, + optional(","), + ")", + ), + seq($.type_name, $.identifier, ",", $.type_name, $.identifier), + ), "=", $.expression, ";", @@ -161,7 +174,7 @@ export default grammar({ call_statement: ($) => seq($.function_call, ";"), - return_statement: ($) => seq("return", $.expression_list, ";"), + return_statement: ($) => seq("return", choice($.expression_list, $.expression), ";"), assign_statement: ($) => seq(field("name", $.identifier), "=", field("value", $.expression), ";"), @@ -279,6 +292,7 @@ export default grammar({ choice( $.tuple_index, $.member_access, + $.tuple_field_access, $.unary_suffix, $.split_call, $.slice_call, @@ -290,6 +304,8 @@ export default grammar({ member_access: ($) => seq(".", field("name", $.identifier)), + tuple_field_access: (_) => token(seq(".", /[0-9]+/)), + unary_suffix: (_) => ".length", split_call: ($) => seq(".split", "(", $.expression, ")"), diff --git a/tree-sitter/src/grammar.json b/tree-sitter/src/grammar.json index 2462c33..4f311a6 100644 --- a/tree-sitter/src/grammar.json +++ b/tree-sitter/src/grammar.json @@ -377,58 +377,72 @@ "type": "STRING", "value": ":" }, - { - "type": "STRING", - "value": "(" - }, { "type": "CHOICE", "members": [ + { + "type": "SYMBOL", + "name": "type_name" + }, { "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "type_name" - }, - { - "type": "REPEAT", - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "," - }, - { - "type": "SYMBOL", - "name": "type_name" - } - ] - } + "type": "STRING", + "value": "(" }, { "type": "CHOICE", "members": [ { - "type": "STRING", - "value": "," + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "type_name" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "type_name" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] }, { "type": "BLANK" } ] + }, + { + "type": "STRING", + "value": ")" } ] - }, - { - "type": "BLANK" } ] - }, - { - "type": "STRING", - "value": ")" } ] }, @@ -470,15 +484,15 @@ }, { "type": "SYMBOL", - "name": "tuple_assignment" + "name": "state_function_call_assignment" }, { "type": "SYMBOL", - "name": "state_function_call_assignment" + "name": "function_call_assignment" }, { "type": "SYMBOL", - "name": "function_call_assignment" + "name": "tuple_assignment" }, { "type": "SYMBOL", @@ -571,24 +585,79 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "type_name" - }, - { - "type": "SYMBOL", - "name": "identifier" - }, - { - "type": "STRING", - "value": "," - }, - { - "type": "SYMBOL", - "name": "type_name" - }, - { - "type": "SYMBOL", - "name": "identifier" + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "type_name" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "type_name" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "type_name" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "type_name" + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + } + ] }, { "type": "STRING", @@ -783,8 +852,17 @@ "value": "return" }, { - "type": "SYMBOL", - "name": "expression_list" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression_list" + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] }, { "type": "STRING", @@ -1489,6 +1567,10 @@ "type": "SYMBOL", "name": "member_access" }, + { + "type": "SYMBOL", + "name": "tuple_field_access" + }, { "type": "SYMBOL", "name": "unary_suffix" @@ -1545,6 +1627,22 @@ } ] }, + "tuple_field_access": { + "type": "TOKEN", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "." + }, + { + "type": "PATTERN", + "value": "[0-9]+" + } + ] + } + }, "unary_suffix": { "type": "STRING", "value": ".length" @@ -2474,6 +2572,14 @@ [ "primary", "base_type" + ], + [ + "tuple_assignment", + "typed_binding" + ], + [ + "parenthesized", + "expression_list" ] ], "precedences": [], diff --git a/tree-sitter/src/node-types.json b/tree-sitter/src/node-types.json index ab6449c..ca0966b 100644 --- a/tree-sitter/src/node-types.json +++ b/tree-sitter/src/node-types.json @@ -901,6 +901,10 @@ "type": "split_call", "named": true }, + { + "type": "tuple_field_access", + "named": true + }, { "type": "tuple_index", "named": true @@ -1020,6 +1024,10 @@ "multiple": false, "required": true, "types": [ + { + "type": "expression", + "named": true + }, { "type": "expression_list", "named": true @@ -1776,6 +1784,10 @@ "type": "true", "named": false }, + { + "type": "tuple_field_access", + "named": true + }, { "type": "tx.inputs.length", "named": false diff --git a/tree-sitter/src/parser.c b/tree-sitter/src/parser.c index decf99e..e62722a 100644 --- a/tree-sitter/src/parser.c +++ b/tree-sitter/src/parser.c @@ -7,11 +7,11 @@ #endif #define LANGUAGE_VERSION 15 -#define STATE_COUNT 404 +#define STATE_COUNT 422 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 192 +#define SYMBOL_COUNT 193 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 91 +#define TOKEN_COUNT 92 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 5 #define MAX_ALIAS_SEQUENCE_LENGTH 11 @@ -63,154 +63,155 @@ enum ts_symbol_identifiers { anon_sym_LBRACK = 41, anon_sym_RBRACK = 42, anon_sym_DOT = 43, - sym_unary_suffix = 44, - anon_sym_DOTsplit = 45, - anon_sym_DOTslice = 46, - anon_sym_DOTappend = 47, - anon_sym_DOTreverse = 48, - anon_sym_new = 49, - sym_output_root = 50, - sym_input_root = 51, - anon_sym_value = 52, - anon_sym_scriptPubKey = 53, - anon_sym_outpointTransactionHash = 54, - anon_sym_outpointIndex = 55, - anon_sym_sigScript = 56, - anon_sym_int = 57, - anon_sym_bool = 58, - anon_sym_string = 59, - anon_sym_pubkey = 60, - anon_sym_sig = 61, - anon_sym_datasig = 62, - anon_sym_byte = 63, - sym_attribute = 64, - sym_array_bound = 65, - anon_sym_true = 66, - anon_sym_false = 67, - anon_sym_litras = 68, - anon_sym_grains = 69, - anon_sym_kas = 70, - anon_sym_seconds = 71, - anon_sym_minutes = 72, - anon_sym_hours = 73, - anon_sym_days = 74, - anon_sym_weeks = 75, - sym_number = 76, - sym_string_literal = 77, - anon_sym_date = 78, - sym_hex_literal = 79, - anon_sym_this_DOTage = 80, - anon_sym_tx_DOTtime = 81, - anon_sym_this_DOTactiveInputIndex = 82, - anon_sym_this_DOTactiveScriptPubKey = 83, - anon_sym_this_DOTscriptSizeDataPrefix = 84, - anon_sym_this_DOTscriptSize = 85, - anon_sym_tx_DOTinputs_DOTlength = 86, - anon_sym_tx_DOToutputs_DOTlength = 87, - anon_sym_tx_DOTversion = 88, - anon_sym_tx_DOTlocktime = 89, - sym_comment = 90, - sym_source_file = 91, - sym_pragma_directive = 92, - sym_contract_definition = 93, - sym_contract_item = 94, - sym_struct_definition = 95, - sym_struct_field_definition = 96, - sym_function_definition = 97, - sym_constant_definition = 98, - sym_contract_field_definition = 99, - sym_parameter_list = 100, - sym_parameter = 101, - sym_return_type_list = 102, - sym_block = 103, - sym_statement = 104, - sym_variable_definition = 105, - sym_tuple_assignment = 106, - sym_function_call_assignment = 107, - sym_state_function_call_assignment = 108, - sym_typed_binding = 109, - sym_state_typed_binding = 110, - sym_call_statement = 111, - sym_return_statement = 112, - sym_assign_statement = 113, - sym_time_op_statement = 114, - sym_require_statement = 115, - sym_require_message = 116, - sym_if_statement = 117, - sym_for_statement = 118, - sym_console_statement = 119, - sym_console_parameter_list = 120, - sym_console_parameter = 121, - sym_expression = 122, - sym_logical_or = 123, - sym_logical_and = 124, - sym_bit_or = 125, - sym_bit_xor = 126, - sym_bit_and = 127, - sym_equality = 128, - sym_comparison = 129, - sym_term = 130, - sym_factor = 131, - sym_unary = 132, - sym_unary_op = 133, - sym_postfix = 134, - sym_postfix_op = 135, - sym_tuple_index = 136, - sym_member_access = 137, - sym_split_call = 138, - sym_slice_call = 139, - sym_append_call = 140, - sym_reverse_call = 141, - sym_primary = 142, - sym_parenthesized = 143, - sym_cast = 144, - sym_function_call = 145, - sym_expression_list = 146, - sym_instantiation = 147, - sym_state_object = 148, - sym_state_entry = 149, - sym_introspection = 150, - sym_output_field = 151, - sym_output_field_name = 152, - sym_input_field = 153, - sym_input_field_name = 154, - sym_array = 155, - sym_modifier = 156, - sym_type_name = 157, - sym_base_type = 158, - sym_array_suffix = 159, - sym_array_size = 160, - sym_literal = 161, - sym_boolean_literal = 162, - sym_number_literal = 163, - sym_number_unit = 164, - sym_date_literal = 165, - sym_tx_var = 166, - sym_nullary_op = 167, - aux_sym_contract_definition_repeat1 = 168, - aux_sym_struct_definition_repeat1 = 169, - aux_sym_function_definition_repeat1 = 170, - aux_sym_function_definition_repeat2 = 171, - aux_sym_parameter_list_repeat1 = 172, - aux_sym_return_type_list_repeat1 = 173, - aux_sym_variable_definition_repeat1 = 174, - aux_sym_function_call_assignment_repeat1 = 175, - aux_sym_state_function_call_assignment_repeat1 = 176, - aux_sym_console_parameter_list_repeat1 = 177, - aux_sym_logical_or_repeat1 = 178, - aux_sym_logical_and_repeat1 = 179, - aux_sym_bit_or_repeat1 = 180, - aux_sym_bit_xor_repeat1 = 181, - aux_sym_bit_and_repeat1 = 182, - aux_sym_equality_repeat1 = 183, - aux_sym_comparison_repeat1 = 184, - aux_sym_term_repeat1 = 185, - aux_sym_factor_repeat1 = 186, - aux_sym_unary_repeat1 = 187, - aux_sym_postfix_repeat1 = 188, - aux_sym_expression_list_repeat1 = 189, - aux_sym_state_object_repeat1 = 190, - aux_sym_type_name_repeat1 = 191, + sym_tuple_field_access = 44, + sym_unary_suffix = 45, + anon_sym_DOTsplit = 46, + anon_sym_DOTslice = 47, + anon_sym_DOTappend = 48, + anon_sym_DOTreverse = 49, + anon_sym_new = 50, + sym_output_root = 51, + sym_input_root = 52, + anon_sym_value = 53, + anon_sym_scriptPubKey = 54, + anon_sym_outpointTransactionHash = 55, + anon_sym_outpointIndex = 56, + anon_sym_sigScript = 57, + anon_sym_int = 58, + anon_sym_bool = 59, + anon_sym_string = 60, + anon_sym_pubkey = 61, + anon_sym_sig = 62, + anon_sym_datasig = 63, + anon_sym_byte = 64, + sym_attribute = 65, + sym_array_bound = 66, + anon_sym_true = 67, + anon_sym_false = 68, + anon_sym_litras = 69, + anon_sym_grains = 70, + anon_sym_kas = 71, + anon_sym_seconds = 72, + anon_sym_minutes = 73, + anon_sym_hours = 74, + anon_sym_days = 75, + anon_sym_weeks = 76, + sym_number = 77, + sym_string_literal = 78, + anon_sym_date = 79, + sym_hex_literal = 80, + anon_sym_this_DOTage = 81, + anon_sym_tx_DOTtime = 82, + anon_sym_this_DOTactiveInputIndex = 83, + anon_sym_this_DOTactiveScriptPubKey = 84, + anon_sym_this_DOTscriptSizeDataPrefix = 85, + anon_sym_this_DOTscriptSize = 86, + anon_sym_tx_DOTinputs_DOTlength = 87, + anon_sym_tx_DOToutputs_DOTlength = 88, + anon_sym_tx_DOTversion = 89, + anon_sym_tx_DOTlocktime = 90, + sym_comment = 91, + sym_source_file = 92, + sym_pragma_directive = 93, + sym_contract_definition = 94, + sym_contract_item = 95, + sym_struct_definition = 96, + sym_struct_field_definition = 97, + sym_function_definition = 98, + sym_constant_definition = 99, + sym_contract_field_definition = 100, + sym_parameter_list = 101, + sym_parameter = 102, + sym_return_type_list = 103, + sym_block = 104, + sym_statement = 105, + sym_variable_definition = 106, + sym_tuple_assignment = 107, + sym_function_call_assignment = 108, + sym_state_function_call_assignment = 109, + sym_typed_binding = 110, + sym_state_typed_binding = 111, + sym_call_statement = 112, + sym_return_statement = 113, + sym_assign_statement = 114, + sym_time_op_statement = 115, + sym_require_statement = 116, + sym_require_message = 117, + sym_if_statement = 118, + sym_for_statement = 119, + sym_console_statement = 120, + sym_console_parameter_list = 121, + sym_console_parameter = 122, + sym_expression = 123, + sym_logical_or = 124, + sym_logical_and = 125, + sym_bit_or = 126, + sym_bit_xor = 127, + sym_bit_and = 128, + sym_equality = 129, + sym_comparison = 130, + sym_term = 131, + sym_factor = 132, + sym_unary = 133, + sym_unary_op = 134, + sym_postfix = 135, + sym_postfix_op = 136, + sym_tuple_index = 137, + sym_member_access = 138, + sym_split_call = 139, + sym_slice_call = 140, + sym_append_call = 141, + sym_reverse_call = 142, + sym_primary = 143, + sym_parenthesized = 144, + sym_cast = 145, + sym_function_call = 146, + sym_expression_list = 147, + sym_instantiation = 148, + sym_state_object = 149, + sym_state_entry = 150, + sym_introspection = 151, + sym_output_field = 152, + sym_output_field_name = 153, + sym_input_field = 154, + sym_input_field_name = 155, + sym_array = 156, + sym_modifier = 157, + sym_type_name = 158, + sym_base_type = 159, + sym_array_suffix = 160, + sym_array_size = 161, + sym_literal = 162, + sym_boolean_literal = 163, + sym_number_literal = 164, + sym_number_unit = 165, + sym_date_literal = 166, + sym_tx_var = 167, + sym_nullary_op = 168, + aux_sym_contract_definition_repeat1 = 169, + aux_sym_struct_definition_repeat1 = 170, + aux_sym_function_definition_repeat1 = 171, + aux_sym_function_definition_repeat2 = 172, + aux_sym_parameter_list_repeat1 = 173, + aux_sym_return_type_list_repeat1 = 174, + aux_sym_variable_definition_repeat1 = 175, + aux_sym_function_call_assignment_repeat1 = 176, + aux_sym_state_function_call_assignment_repeat1 = 177, + aux_sym_console_parameter_list_repeat1 = 178, + aux_sym_logical_or_repeat1 = 179, + aux_sym_logical_and_repeat1 = 180, + aux_sym_bit_or_repeat1 = 181, + aux_sym_bit_xor_repeat1 = 182, + aux_sym_bit_and_repeat1 = 183, + aux_sym_equality_repeat1 = 184, + aux_sym_comparison_repeat1 = 185, + aux_sym_term_repeat1 = 186, + aux_sym_factor_repeat1 = 187, + aux_sym_unary_repeat1 = 188, + aux_sym_postfix_repeat1 = 189, + aux_sym_expression_list_repeat1 = 190, + aux_sym_state_object_repeat1 = 191, + aux_sym_type_name_repeat1 = 192, }; static const char * const ts_symbol_names[] = { @@ -258,6 +259,7 @@ static const char * const ts_symbol_names[] = { [anon_sym_LBRACK] = "[", [anon_sym_RBRACK] = "]", [anon_sym_DOT] = ".", + [sym_tuple_field_access] = "tuple_field_access", [sym_unary_suffix] = "unary_suffix", [anon_sym_DOTsplit] = ".split", [anon_sym_DOTslice] = ".slice", @@ -453,6 +455,7 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_LBRACK] = anon_sym_LBRACK, [anon_sym_RBRACK] = anon_sym_RBRACK, [anon_sym_DOT] = anon_sym_DOT, + [sym_tuple_field_access] = sym_tuple_field_access, [sym_unary_suffix] = sym_unary_suffix, [anon_sym_DOTsplit] = anon_sym_DOTsplit, [anon_sym_DOTslice] = anon_sym_DOTslice, @@ -780,6 +783,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [sym_tuple_field_access] = { + .visible = true, + .named = true, + }, [sym_unary_suffix] = { .visible = true, .named = true, @@ -1452,7 +1459,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [17] = 17, [18] = 18, [19] = 19, - [20] = 12, + [20] = 20, [21] = 21, [22] = 22, [23] = 23, @@ -1461,7 +1468,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [26] = 26, [27] = 27, [28] = 28, - [29] = 29, + [29] = 22, [30] = 30, [31] = 31, [32] = 32, @@ -1746,7 +1753,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [311] = 311, [312] = 312, [313] = 313, - [314] = 101, + [314] = 314, [315] = 315, [316] = 316, [317] = 317, @@ -1756,7 +1763,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [321] = 321, [322] = 322, [323] = 323, - [324] = 324, + [324] = 105, [325] = 325, [326] = 326, [327] = 327, @@ -1833,9 +1840,27 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [398] = 398, [399] = 399, [400] = 400, - [401] = 344, + [401] = 401, [402] = 402, [403] = 403, + [404] = 404, + [405] = 405, + [406] = 406, + [407] = 407, + [408] = 408, + [409] = 409, + [410] = 410, + [411] = 411, + [412] = 412, + [413] = 413, + [414] = 414, + [415] = 415, + [416] = 416, + [417] = 417, + [418] = 418, + [419] = 399, + [420] = 420, + [421] = 421, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -1859,7 +1884,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { '-', 166, '.', 175, '/', 168, - '0', 186, + '0', 187, ':', 151, ';', 137, '<', 162, @@ -1868,17 +1893,17 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { '[', 172, ']', 173, '^', 157, - 'c', 213, - 't', 207, + 'c', 214, + 't', 208, '{', 144, '|', 156, '}', 145, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(0); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(184); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(185); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 1: ADVANCE_MAP( @@ -1901,14 +1926,15 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { '[', 172, ']', 173, '^', 157, + '{', 144, '|', 156, '}', 145, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(1); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(185); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(186); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 2: ADVANCE_MAP( @@ -1919,17 +1945,17 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ')', 150, '-', 166, '/', 8, - '0', 186, + '0', 187, '[', 172, ']', 173, - 't', 208, + 't', 209, '{', 144, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(2); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(187); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(188); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 3: ADVANCE_MAP( @@ -1941,18 +1967,18 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { '-', 166, '.', 174, '/', 8, - '0', 186, + '0', 187, ';', 137, '=', 146, '[', 172, - 't', 207, + 't', 208, '{', 144, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(3); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(187); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(188); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 4: ADVANCE_MAP( @@ -1962,25 +1988,25 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ')', 150, '-', 131, '/', 8, - '0', 186, + '0', 187, ':', 151, '=', 146, '[', 172, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(4); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(187); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(188); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 5: - if (lookahead == '"') ADVANCE(189); + if (lookahead == '"') ADVANCE(190); if (lookahead == '\\') ADVANCE(134); if (lookahead != 0 && lookahead != '\n') ADVANCE(5); END_STATE(); case 6: - if (lookahead == '\'') ADVANCE(189); + if (lookahead == '\'') ADVANCE(190); if (lookahead == '\\') ADVANCE(135); if (lookahead != 0 && lookahead != '\n') ADVANCE(6); @@ -1988,21 +2014,21 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 7: if (lookahead == '(') ADVANCE(148); if (lookahead == '/') ADVANCE(8); - if (lookahead == 'c') ADVANCE(213); + if (lookahead == 'c') ADVANCE(214); if (lookahead == '{') ADVANCE(144); if (lookahead == '}') ADVANCE(145); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(7); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 8: if (lookahead == '*') ADVANCE(10); - if (lookahead == '/') ADVANCE(220); + if (lookahead == '/') ADVANCE(221); END_STATE(); case 9: if (lookahead == '*') ADVANCE(9); - if (lookahead == '/') ADVANCE(219); + if (lookahead == '/') ADVANCE(220); if (lookahead != 0) ADVANCE(10); END_STATE(); case 10: @@ -2045,7 +2071,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '[') ADVANCE(133); END_STATE(); case 21: - if (lookahead == ']') ADVANCE(183); + if (lookahead == ']') ADVANCE(184); if (lookahead != 0 && lookahead != '\n') ADVANCE(21); END_STATE(); @@ -2086,7 +2112,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'c') ADVANCE(102); END_STATE(); case 33: - if (lookahead == 'd') ADVANCE(179); + if (lookahead == 'd') ADVANCE(180); END_STATE(); case 34: if (lookahead == 'd') ADVANCE(45); @@ -2101,25 +2127,25 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'e') ADVANCE(98); END_STATE(); case 38: - if (lookahead == 'e') ADVANCE(178); + if (lookahead == 'e') ADVANCE(179); END_STATE(); case 39: - if (lookahead == 'e') ADVANCE(192); + if (lookahead == 'e') ADVANCE(193); END_STATE(); case 40: - if (lookahead == 'e') ADVANCE(180); + if (lookahead == 'e') ADVANCE(181); END_STATE(); case 41: - if (lookahead == 'e') ADVANCE(191); + if (lookahead == 'e') ADVANCE(192); END_STATE(); case 42: if (lookahead == 'e') ADVANCE(15); END_STATE(); case 43: - if (lookahead == 'e') ADVANCE(200); + if (lookahead == 'e') ADVANCE(201); END_STATE(); case 44: - if (lookahead == 'e') ADVANCE(196); + if (lookahead == 'e') ADVANCE(197); END_STATE(); case 45: if (lookahead == 'e') ADVANCE(127); @@ -2158,13 +2184,13 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'g') ADVANCE(114); END_STATE(); case 57: - if (lookahead == 'h') ADVANCE(176); + if (lookahead == 'h') ADVANCE(177); END_STATE(); case 58: - if (lookahead == 'h') ADVANCE(197); + if (lookahead == 'h') ADVANCE(198); END_STATE(); case 59: - if (lookahead == 'h') ADVANCE(198); + if (lookahead == 'h') ADVANCE(199); END_STATE(); case 60: if (lookahead == 'i') ADVANCE(29); @@ -2241,7 +2267,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'n') ADVANCE(33); END_STATE(); case 82: - if (lookahead == 'n') ADVANCE(199); + if (lookahead == 'n') ADVANCE(200); END_STATE(); case 83: if (lookahead == 'n') ADVANCE(34); @@ -2304,10 +2330,10 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'r') ADVANCE(71); END_STATE(); case 103: - if (lookahead == 's') ADVANCE(182); + if (lookahead == 's') ADVANCE(183); END_STATE(); case 104: - if (lookahead == 's') ADVANCE(181); + if (lookahead == 's') ADVANCE(182); END_STATE(); case 105: if (lookahead == 's') ADVANCE(65); @@ -2319,7 +2345,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 't') ADVANCE(57); END_STATE(); case 108: - if (lookahead == 't') ADVANCE(177); + if (lookahead == 't') ADVANCE(178); END_STATE(); case 109: if (lookahead == 't') ADVANCE(19); @@ -2376,22 +2402,22 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'v') ADVANCE(42); END_STATE(); case 127: - if (lookahead == 'x') ADVANCE(193); + if (lookahead == 'x') ADVANCE(194); END_STATE(); case 128: - if (lookahead == 'x') ADVANCE(195); + if (lookahead == 'x') ADVANCE(196); END_STATE(); case 129: - if (lookahead == 'y') ADVANCE(194); + if (lookahead == 'y') ADVANCE(195); END_STATE(); case 130: if (lookahead == 'z') ADVANCE(44); END_STATE(); case 131: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(187); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(188); END_STATE(); case 132: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(188); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(189); END_STATE(); case 133: if (lookahead != 0 && @@ -2415,7 +2441,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 138: ACCEPT_TOKEN(sym_pragma_value); if (lookahead == '\n') ADVANCE(143); - if (lookahead == ';') ADVANCE(220); + if (lookahead == ';') ADVANCE(221); if (lookahead != 0) ADVANCE(138); END_STATE(); case 139: @@ -2524,7 +2550,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 166: ACCEPT_TOKEN(anon_sym_DASH); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(187); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(188); END_STATE(); case 167: ACCEPT_TOKEN(anon_sym_STAR); @@ -2532,7 +2558,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 168: ACCEPT_TOKEN(anon_sym_SLASH); if (lookahead == '*') ADVANCE(10); - if (lookahead == '/') ADVANCE(220); + if (lookahead == '/') ADVANCE(221); END_STATE(); case 169: ACCEPT_TOKEN(anon_sym_PERCENT); @@ -2559,178 +2585,175 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'l') ADVANCE(35); if (lookahead == 'r') ADVANCE(36); if (lookahead == 's') ADVANCE(73); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(176); END_STATE(); case 176: - ACCEPT_TOKEN(sym_unary_suffix); + ACCEPT_TOKEN(sym_tuple_field_access); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(176); END_STATE(); case 177: - ACCEPT_TOKEN(anon_sym_DOTsplit); + ACCEPT_TOKEN(sym_unary_suffix); END_STATE(); case 178: - ACCEPT_TOKEN(anon_sym_DOTslice); + ACCEPT_TOKEN(anon_sym_DOTsplit); END_STATE(); case 179: - ACCEPT_TOKEN(anon_sym_DOTappend); + ACCEPT_TOKEN(anon_sym_DOTslice); END_STATE(); case 180: - ACCEPT_TOKEN(anon_sym_DOTreverse); + ACCEPT_TOKEN(anon_sym_DOTappend); END_STATE(); case 181: + ACCEPT_TOKEN(anon_sym_DOTreverse); + END_STATE(); + case 182: ACCEPT_TOKEN(sym_output_root); if (lookahead == '.') ADVANCE(77); END_STATE(); - case 182: + case 183: ACCEPT_TOKEN(sym_input_root); if (lookahead == '.') ADVANCE(76); END_STATE(); - case 183: + case 184: ACCEPT_TOKEN(sym_attribute); END_STATE(); - case 184: + case 185: ACCEPT_TOKEN(sym_array_bound); if (lookahead == '_') ADVANCE(131); if (lookahead == 'E' || lookahead == 'e') ADVANCE(132); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(184); - END_STATE(); - case 185: - ACCEPT_TOKEN(sym_array_bound); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(185); END_STATE(); case 186: + ACCEPT_TOKEN(sym_array_bound); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(186); + END_STATE(); + case 187: ACCEPT_TOKEN(sym_number); if (lookahead == '_') ADVANCE(131); if (lookahead == 'E' || lookahead == 'e') ADVANCE(132); if (lookahead == 'X' || - lookahead == 'x') ADVANCE(190); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(187); + lookahead == 'x') ADVANCE(191); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(188); END_STATE(); - case 187: + case 188: ACCEPT_TOKEN(sym_number); if (lookahead == '_') ADVANCE(131); if (lookahead == 'E' || lookahead == 'e') ADVANCE(132); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(187); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(188); END_STATE(); - case 188: + case 189: ACCEPT_TOKEN(sym_number); if (lookahead == '_') ADVANCE(132); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(188); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(189); END_STATE(); - case 189: + case 190: ACCEPT_TOKEN(sym_string_literal); END_STATE(); - case 190: + case 191: ACCEPT_TOKEN(sym_hex_literal); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(190); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(191); END_STATE(); - case 191: + case 192: ACCEPT_TOKEN(anon_sym_this_DOTage); END_STATE(); - case 192: + case 193: ACCEPT_TOKEN(anon_sym_tx_DOTtime); END_STATE(); - case 193: + case 194: ACCEPT_TOKEN(anon_sym_this_DOTactiveInputIndex); END_STATE(); - case 194: + case 195: ACCEPT_TOKEN(anon_sym_this_DOTactiveScriptPubKey); END_STATE(); - case 195: + case 196: ACCEPT_TOKEN(anon_sym_this_DOTscriptSizeDataPrefix); END_STATE(); - case 196: + case 197: ACCEPT_TOKEN(anon_sym_this_DOTscriptSize); if (lookahead == 'D') ADVANCE(25); END_STATE(); - case 197: - ACCEPT_TOKEN(anon_sym_tx_DOTinputs_DOTlength); - END_STATE(); case 198: - ACCEPT_TOKEN(anon_sym_tx_DOToutputs_DOTlength); + ACCEPT_TOKEN(anon_sym_tx_DOTinputs_DOTlength); END_STATE(); case 199: - ACCEPT_TOKEN(anon_sym_tx_DOTversion); + ACCEPT_TOKEN(anon_sym_tx_DOToutputs_DOTlength); END_STATE(); case 200: - ACCEPT_TOKEN(anon_sym_tx_DOTlocktime); + ACCEPT_TOKEN(anon_sym_tx_DOTversion); END_STATE(); case 201: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == '.') ADVANCE(63); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ACCEPT_TOKEN(anon_sym_tx_DOTlocktime); END_STATE(); case 202: ACCEPT_TOKEN(sym_identifier); - if (lookahead == '.') ADVANCE(22); + if (lookahead == '.') ADVANCE(63); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 203: ACCEPT_TOKEN(sym_identifier); - if (lookahead == '.') ADVANCE(64); + if (lookahead == '.') ADVANCE(22); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 204: ACCEPT_TOKEN(sym_identifier); - if (lookahead == '.') ADVANCE(75); + if (lookahead == '.') ADVANCE(64); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 205: ACCEPT_TOKEN(sym_identifier); - if (lookahead == '.') ADVANCE(24); + if (lookahead == '.') ADVANCE(75); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 206: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(204); + if (lookahead == '.') ADVANCE(24); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 207: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'h') ADVANCE(209); - if (lookahead == 'x') ADVANCE(201); + if (lookahead == 'e') ADVANCE(205); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 208: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'h') ADVANCE(210); - if (lookahead == 'x') ADVANCE(203); + if (lookahead == 'x') ADVANCE(202); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 209: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'i') ADVANCE(216); + if (lookahead == 'h') ADVANCE(211); + if (lookahead == 'x') ADVANCE(204); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 210: ACCEPT_TOKEN(sym_identifier); @@ -2738,78 +2761,86 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 211: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(206); + if (lookahead == 'i') ADVANCE(218); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 212: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(215); + if (lookahead == 'l') ADVANCE(207); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 213: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(212); + if (lookahead == 'n') ADVANCE(216); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 214: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(211); + if (lookahead == 'o') ADVANCE(213); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 215: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(214); + if (lookahead == 'o') ADVANCE(212); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 216: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(202); + if (lookahead == 's') ADVANCE(215); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 217: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(205); + if (lookahead == 's') ADVANCE(203); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 218: ACCEPT_TOKEN(sym_identifier); + if (lookahead == 's') ADVANCE(206); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(218); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 219: - ACCEPT_TOKEN(sym_comment); + ACCEPT_TOKEN(sym_identifier); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(219); END_STATE(); case 220: + ACCEPT_TOKEN(sym_comment); + END_STATE(); + case 221: ACCEPT_TOKEN(sym_comment); if (lookahead != 0 && - lookahead != '\n') ADVANCE(220); + lookahead != '\n') ADVANCE(221); END_STATE(); default: return false; @@ -3505,14 +3536,14 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [37] = {.lex_state = 2}, [38] = {.lex_state = 2}, [39] = {.lex_state = 2}, - [40] = {.lex_state = 1}, - [41] = {.lex_state = 1}, - [42] = {.lex_state = 1}, - [43] = {.lex_state = 1}, - [44] = {.lex_state = 7}, - [45] = {.lex_state = 7}, - [46] = {.lex_state = 7}, - [47] = {.lex_state = 7}, + [40] = {.lex_state = 2}, + [41] = {.lex_state = 2}, + [42] = {.lex_state = 2}, + [43] = {.lex_state = 2}, + [44] = {.lex_state = 1}, + [45] = {.lex_state = 1}, + [46] = {.lex_state = 1}, + [47] = {.lex_state = 1}, [48] = {.lex_state = 7}, [49] = {.lex_state = 7}, [50] = {.lex_state = 7}, @@ -3527,13 +3558,13 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [59] = {.lex_state = 7}, [60] = {.lex_state = 7}, [61] = {.lex_state = 7}, - [62] = {.lex_state = 2}, - [63] = {.lex_state = 1}, + [62] = {.lex_state = 7}, + [63] = {.lex_state = 7}, [64] = {.lex_state = 2}, - [65] = {.lex_state = 1}, - [66] = {.lex_state = 1}, + [65] = {.lex_state = 7}, + [66] = {.lex_state = 7}, [67] = {.lex_state = 1}, - [68] = {.lex_state = 1}, + [68] = {.lex_state = 2}, [69] = {.lex_state = 1}, [70] = {.lex_state = 1}, [71] = {.lex_state = 1}, @@ -3581,18 +3612,18 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [113] = {.lex_state = 1}, [114] = {.lex_state = 1}, [115] = {.lex_state = 1}, - [116] = {.lex_state = 7}, - [117] = {.lex_state = 7}, + [116] = {.lex_state = 1}, + [117] = {.lex_state = 1}, [118] = {.lex_state = 1}, - [119] = {.lex_state = 7}, - [120] = {.lex_state = 7}, - [121] = {.lex_state = 1}, + [119] = {.lex_state = 1}, + [120] = {.lex_state = 1}, + [121] = {.lex_state = 7}, [122] = {.lex_state = 7}, [123] = {.lex_state = 7}, [124] = {.lex_state = 7}, - [125] = {.lex_state = 1}, + [125] = {.lex_state = 7}, [126] = {.lex_state = 7}, - [127] = {.lex_state = 7}, + [127] = {.lex_state = 1}, [128] = {.lex_state = 7}, [129] = {.lex_state = 7}, [130] = {.lex_state = 7}, @@ -3603,109 +3634,109 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [135] = {.lex_state = 7}, [136] = {.lex_state = 7}, [137] = {.lex_state = 7}, - [138] = {.lex_state = 7}, + [138] = {.lex_state = 1}, [139] = {.lex_state = 7}, - [140] = {.lex_state = 7}, + [140] = {.lex_state = 1}, [141] = {.lex_state = 7}, [142] = {.lex_state = 7}, [143] = {.lex_state = 7}, [144] = {.lex_state = 7}, - [145] = {.lex_state = 1}, - [146] = {.lex_state = 1}, - [147] = {.lex_state = 1}, - [148] = {.lex_state = 1}, - [149] = {.lex_state = 1}, - [150] = {.lex_state = 1}, - [151] = {.lex_state = 1}, - [152] = {.lex_state = 4}, - [153] = {.lex_state = 4}, + [145] = {.lex_state = 7}, + [146] = {.lex_state = 7}, + [147] = {.lex_state = 7}, + [148] = {.lex_state = 7}, + [149] = {.lex_state = 7}, + [150] = {.lex_state = 7}, + [151] = {.lex_state = 7}, + [152] = {.lex_state = 1}, + [153] = {.lex_state = 1}, [154] = {.lex_state = 1}, - [155] = {.lex_state = 1}, + [155] = {.lex_state = 4}, [156] = {.lex_state = 1}, - [157] = {.lex_state = 1}, + [157] = {.lex_state = 4}, [158] = {.lex_state = 1}, [159] = {.lex_state = 1}, - [160] = {.lex_state = 4}, + [160] = {.lex_state = 1}, [161] = {.lex_state = 1}, [162] = {.lex_state = 1}, [163] = {.lex_state = 1}, [164] = {.lex_state = 1}, - [165] = {.lex_state = 1}, + [165] = {.lex_state = 4}, [166] = {.lex_state = 1}, [167] = {.lex_state = 1}, [168] = {.lex_state = 1}, [169] = {.lex_state = 1}, [170] = {.lex_state = 1}, [171] = {.lex_state = 1}, - [172] = {.lex_state = 4}, + [172] = {.lex_state = 1}, [173] = {.lex_state = 1}, [174] = {.lex_state = 1}, [175] = {.lex_state = 1}, [176] = {.lex_state = 1}, - [177] = {.lex_state = 1}, + [177] = {.lex_state = 4}, [178] = {.lex_state = 1}, - [179] = {.lex_state = 0}, - [180] = {.lex_state = 0}, + [179] = {.lex_state = 1}, + [180] = {.lex_state = 1}, [181] = {.lex_state = 1}, - [182] = {.lex_state = 0}, + [182] = {.lex_state = 1}, [183] = {.lex_state = 1}, [184] = {.lex_state = 1}, - [185] = {.lex_state = 1}, - [186] = {.lex_state = 1}, + [185] = {.lex_state = 0}, + [186] = {.lex_state = 0}, [187] = {.lex_state = 0}, - [188] = {.lex_state = 0}, - [189] = {.lex_state = 0}, + [188] = {.lex_state = 1}, + [189] = {.lex_state = 1}, [190] = {.lex_state = 1}, - [191] = {.lex_state = 0}, - [192] = {.lex_state = 0}, - [193] = {.lex_state = 0}, + [191] = {.lex_state = 1}, + [192] = {.lex_state = 1}, + [193] = {.lex_state = 1}, [194] = {.lex_state = 0}, [195] = {.lex_state = 0}, - [196] = {.lex_state = 1}, - [197] = {.lex_state = 0}, - [198] = {.lex_state = 1}, - [199] = {.lex_state = 0}, - [200] = {.lex_state = 0}, + [196] = {.lex_state = 0}, + [197] = {.lex_state = 1}, + [198] = {.lex_state = 0}, + [199] = {.lex_state = 1}, + [200] = {.lex_state = 1}, [201] = {.lex_state = 1}, - [202] = {.lex_state = 1}, + [202] = {.lex_state = 0}, [203] = {.lex_state = 0}, - [204] = {.lex_state = 0}, - [205] = {.lex_state = 4}, + [204] = {.lex_state = 1}, + [205] = {.lex_state = 0}, [206] = {.lex_state = 0}, - [207] = {.lex_state = 0}, - [208] = {.lex_state = 0}, - [209] = {.lex_state = 1}, + [207] = {.lex_state = 1}, + [208] = {.lex_state = 1}, + [209] = {.lex_state = 0}, [210] = {.lex_state = 0}, - [211] = {.lex_state = 1}, - [212] = {.lex_state = 4}, - [213] = {.lex_state = 1}, + [211] = {.lex_state = 0}, + [212] = {.lex_state = 0}, + [213] = {.lex_state = 0}, [214] = {.lex_state = 1}, - [215] = {.lex_state = 0}, - [216] = {.lex_state = 1}, + [215] = {.lex_state = 1}, + [216] = {.lex_state = 0}, [217] = {.lex_state = 0}, - [218] = {.lex_state = 1}, - [219] = {.lex_state = 1}, + [218] = {.lex_state = 0}, + [219] = {.lex_state = 4}, [220] = {.lex_state = 1}, - [221] = {.lex_state = 1}, + [221] = {.lex_state = 4}, [222] = {.lex_state = 1}, [223] = {.lex_state = 0}, - [224] = {.lex_state = 1}, - [225] = {.lex_state = 0}, + [224] = {.lex_state = 0}, + [225] = {.lex_state = 1}, [226] = {.lex_state = 1}, [227] = {.lex_state = 0}, - [228] = {.lex_state = 0}, - [229] = {.lex_state = 0}, - [230] = {.lex_state = 0}, - [231] = {.lex_state = 0}, + [228] = {.lex_state = 1}, + [229] = {.lex_state = 1}, + [230] = {.lex_state = 1}, + [231] = {.lex_state = 1}, [232] = {.lex_state = 0}, [233] = {.lex_state = 0}, - [234] = {.lex_state = 1}, + [234] = {.lex_state = 0}, [235] = {.lex_state = 0}, [236] = {.lex_state = 0}, - [237] = {.lex_state = 0}, + [237] = {.lex_state = 1}, [238] = {.lex_state = 0}, - [239] = {.lex_state = 3}, - [240] = {.lex_state = 1}, + [239] = {.lex_state = 1}, + [240] = {.lex_state = 0}, [241] = {.lex_state = 0}, [242] = {.lex_state = 0}, [243] = {.lex_state = 0}, @@ -3713,113 +3744,113 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [245] = {.lex_state = 0}, [246] = {.lex_state = 0}, [247] = {.lex_state = 0}, - [248] = {.lex_state = 1}, + [248] = {.lex_state = 0}, [249] = {.lex_state = 0}, [250] = {.lex_state = 0}, [251] = {.lex_state = 0}, - [252] = {.lex_state = 1}, + [252] = {.lex_state = 3}, [253] = {.lex_state = 0}, [254] = {.lex_state = 0}, - [255] = {.lex_state = 0}, + [255] = {.lex_state = 1}, [256] = {.lex_state = 0}, [257] = {.lex_state = 0}, - [258] = {.lex_state = 0}, - [259] = {.lex_state = 1}, + [258] = {.lex_state = 1}, + [259] = {.lex_state = 0}, [260] = {.lex_state = 0}, - [261] = {.lex_state = 0}, + [261] = {.lex_state = 1}, [262] = {.lex_state = 0}, - [263] = {.lex_state = 3}, - [264] = {.lex_state = 3}, + [263] = {.lex_state = 0}, + [264] = {.lex_state = 1}, [265] = {.lex_state = 0}, - [266] = {.lex_state = 3}, + [266] = {.lex_state = 0}, [267] = {.lex_state = 0}, [268] = {.lex_state = 0}, [269] = {.lex_state = 0}, - [270] = {.lex_state = 0}, - [271] = {.lex_state = 0}, - [272] = {.lex_state = 1}, - [273] = {.lex_state = 0}, + [270] = {.lex_state = 3}, + [271] = {.lex_state = 1}, + [272] = {.lex_state = 0}, + [273] = {.lex_state = 3}, [274] = {.lex_state = 0}, [275] = {.lex_state = 0}, [276] = {.lex_state = 0}, [277] = {.lex_state = 0}, - [278] = {.lex_state = 1}, + [278] = {.lex_state = 0}, [279] = {.lex_state = 0}, - [280] = {.lex_state = 0}, + [280] = {.lex_state = 1}, [281] = {.lex_state = 1}, [282] = {.lex_state = 1}, - [283] = {.lex_state = 1}, + [283] = {.lex_state = 0}, [284] = {.lex_state = 0}, [285] = {.lex_state = 0}, - [286] = {.lex_state = 1}, - [287] = {.lex_state = 0}, + [286] = {.lex_state = 0}, + [287] = {.lex_state = 3}, [288] = {.lex_state = 0}, - [289] = {.lex_state = 0}, + [289] = {.lex_state = 1}, [290] = {.lex_state = 1}, - [291] = {.lex_state = 1}, - [292] = {.lex_state = 1}, - [293] = {.lex_state = 0}, - [294] = {.lex_state = 1}, - [295] = {.lex_state = 0}, + [291] = {.lex_state = 0}, + [292] = {.lex_state = 0}, + [293] = {.lex_state = 1}, + [294] = {.lex_state = 0}, + [295] = {.lex_state = 1}, [296] = {.lex_state = 0}, [297] = {.lex_state = 0}, [298] = {.lex_state = 0}, - [299] = {.lex_state = 0}, + [299] = {.lex_state = 1}, [300] = {.lex_state = 0}, [301] = {.lex_state = 0}, - [302] = {.lex_state = 1}, + [302] = {.lex_state = 0}, [303] = {.lex_state = 0}, - [304] = {.lex_state = 0}, + [304] = {.lex_state = 1}, [305] = {.lex_state = 0}, [306] = {.lex_state = 0}, [307] = {.lex_state = 0}, [308] = {.lex_state = 0}, - [309] = {.lex_state = 1}, - [310] = {.lex_state = 1}, - [311] = {.lex_state = 1}, - [312] = {.lex_state = 0}, - [313] = {.lex_state = 0}, - [314] = {.lex_state = 3}, - [315] = {.lex_state = 0}, + [309] = {.lex_state = 0}, + [310] = {.lex_state = 0}, + [311] = {.lex_state = 0}, + [312] = {.lex_state = 1}, + [313] = {.lex_state = 1}, + [314] = {.lex_state = 0}, + [315] = {.lex_state = 1}, [316] = {.lex_state = 0}, [317] = {.lex_state = 0}, [318] = {.lex_state = 0}, [319] = {.lex_state = 0}, - [320] = {.lex_state = 1}, + [320] = {.lex_state = 0}, [321] = {.lex_state = 0}, [322] = {.lex_state = 0}, - [323] = {.lex_state = 3}, - [324] = {.lex_state = 0}, - [325] = {.lex_state = 3}, + [323] = {.lex_state = 0}, + [324] = {.lex_state = 3}, + [325] = {.lex_state = 1}, [326] = {.lex_state = 0}, - [327] = {.lex_state = 0}, + [327] = {.lex_state = 1}, [328] = {.lex_state = 0}, [329] = {.lex_state = 0}, - [330] = {.lex_state = 0}, + [330] = {.lex_state = 1}, [331] = {.lex_state = 0}, - [332] = {.lex_state = 3}, - [333] = {.lex_state = 0}, + [332] = {.lex_state = 0}, + [333] = {.lex_state = 1}, [334] = {.lex_state = 1}, - [335] = {.lex_state = 0}, - [336] = {.lex_state = 3}, - [337] = {.lex_state = 1}, - [338] = {.lex_state = 0}, + [335] = {.lex_state = 1}, + [336] = {.lex_state = 0}, + [337] = {.lex_state = 0}, + [338] = {.lex_state = 3}, [339] = {.lex_state = 0}, - [340] = {.lex_state = 1}, + [340] = {.lex_state = 0}, [341] = {.lex_state = 0}, - [342] = {.lex_state = 1}, - [343] = {.lex_state = 1}, - [344] = {.lex_state = 0}, - [345] = {.lex_state = 0}, + [342] = {.lex_state = 0}, + [343] = {.lex_state = 3}, + [344] = {.lex_state = 1}, + [345] = {.lex_state = 1}, [346] = {.lex_state = 0}, - [347] = {.lex_state = 1}, + [347] = {.lex_state = 0}, [348] = {.lex_state = 0}, - [349] = {.lex_state = 3}, + [349] = {.lex_state = 0}, [350] = {.lex_state = 1}, - [351] = {.lex_state = 3}, - [352] = {.lex_state = 0}, + [351] = {.lex_state = 11}, + [352] = {.lex_state = 1}, [353] = {.lex_state = 0}, - [354] = {.lex_state = 1}, + [354] = {.lex_state = 0}, [355] = {.lex_state = 0}, [356] = {.lex_state = 0}, [357] = {.lex_state = 0}, @@ -3827,48 +3858,66 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [359] = {.lex_state = 3}, [360] = {.lex_state = 0}, [361] = {.lex_state = 0}, - [362] = {.lex_state = 0}, - [363] = {.lex_state = 0}, + [362] = {.lex_state = 1}, + [363] = {.lex_state = 1}, [364] = {.lex_state = 0}, [365] = {.lex_state = 0}, - [366] = {.lex_state = 0}, - [367] = {.lex_state = 3}, - [368] = {.lex_state = 0}, + [366] = {.lex_state = 1}, + [367] = {.lex_state = 1}, + [368] = {.lex_state = 3}, [369] = {.lex_state = 0}, [370] = {.lex_state = 0}, - [371] = {.lex_state = 1}, + [371] = {.lex_state = 0}, [372] = {.lex_state = 0}, - [373] = {.lex_state = 0}, - [374] = {.lex_state = 0}, + [373] = {.lex_state = 3}, + [374] = {.lex_state = 3}, [375] = {.lex_state = 0}, - [376] = {.lex_state = 0}, - [377] = {.lex_state = 1}, - [378] = {.lex_state = 0}, - [379] = {.lex_state = 1}, + [376] = {.lex_state = 1}, + [377] = {.lex_state = 0}, + [378] = {.lex_state = 1}, + [379] = {.lex_state = 0}, [380] = {.lex_state = 0}, [381] = {.lex_state = 0}, [382] = {.lex_state = 0}, [383] = {.lex_state = 0}, - [384] = {.lex_state = 1}, - [385] = {.lex_state = 0}, + [384] = {.lex_state = 0}, + [385] = {.lex_state = 3}, [386] = {.lex_state = 0}, - [387] = {.lex_state = 0}, - [388] = {.lex_state = 1}, + [387] = {.lex_state = 1}, + [388] = {.lex_state = 3}, [389] = {.lex_state = 0}, [390] = {.lex_state = 0}, - [391] = {.lex_state = 3}, + [391] = {.lex_state = 0}, [392] = {.lex_state = 0}, [393] = {.lex_state = 0}, - [394] = {.lex_state = 0}, + [394] = {.lex_state = 3}, [395] = {.lex_state = 0}, [396] = {.lex_state = 0}, - [397] = {.lex_state = 0}, + [397] = {.lex_state = 3}, [398] = {.lex_state = 0}, - [399] = {.lex_state = 11}, + [399] = {.lex_state = 0}, [400] = {.lex_state = 0}, [401] = {.lex_state = 0}, - [402] = {.lex_state = 1}, + [402] = {.lex_state = 0}, [403] = {.lex_state = 0}, + [404] = {.lex_state = 3}, + [405] = {.lex_state = 0}, + [406] = {.lex_state = 0}, + [407] = {.lex_state = 0}, + [408] = {.lex_state = 0}, + [409] = {.lex_state = 0}, + [410] = {.lex_state = 0}, + [411] = {.lex_state = 0}, + [412] = {.lex_state = 0}, + [413] = {.lex_state = 0}, + [414] = {.lex_state = 0}, + [415] = {.lex_state = 0}, + [416] = {.lex_state = 0}, + [417] = {.lex_state = 1}, + [418] = {.lex_state = 0}, + [419] = {.lex_state = 0}, + [420] = {.lex_state = 1}, + [421] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -3916,6 +3965,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LBRACK] = ACTIONS(1), [anon_sym_RBRACK] = ACTIONS(1), [anon_sym_DOT] = ACTIONS(1), + [sym_tuple_field_access] = ACTIONS(1), [sym_unary_suffix] = ACTIONS(1), [anon_sym_DOTsplit] = ACTIONS(1), [anon_sym_DOTslice] = ACTIONS(1), @@ -3965,9 +4015,9 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_comment] = ACTIONS(3), }, [STATE(1)] = { - [sym_source_file] = STATE(331), - [sym_pragma_directive] = STATE(278), - [sym_contract_definition] = STATE(395), + [sym_source_file] = STATE(349), + [sym_pragma_directive] = STATE(289), + [sym_contract_definition] = STATE(317), [anon_sym_pragma] = ACTIONS(5), [anon_sym_contract] = ACTIONS(7), [sym_comment] = ACTIONS(3), @@ -4002,37 +4052,37 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(271), 1, + STATE(302), 1, sym_expression, - STATE(304), 1, + STATE(323), 1, sym_tx_var, - STATE(318), 1, + STATE(386), 1, sym_type_name, ACTIONS(29), 2, anon_sym_true, @@ -4043,10 +4093,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(37), 2, anon_sym_this_DOTage, anon_sym_tx_DOTtime, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -4066,7 +4116,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -4105,35 +4155,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_this_DOTscriptSize, ACTIONS(43), 1, anon_sym_RPAREN, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(254), 1, + STATE(263), 1, sym_expression, - STATE(318), 1, + STATE(386), 1, sym_type_name, ACTIONS(29), 2, anon_sym_true, @@ -4141,10 +4191,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -4164,7 +4214,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -4201,37 +4251,37 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - ACTIONS(45), 1, - anon_sym_RBRACK, - STATE(43), 1, + ACTIONS(43), 1, + anon_sym_RPAREN, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(238), 1, + STATE(243), 1, sym_expression, - STATE(318), 1, + STATE(386), 1, sym_type_name, ACTIONS(29), 2, anon_sym_true, @@ -4239,10 +4289,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -4262,7 +4312,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -4272,15 +4322,13 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [406] = 36, + [406] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, sym_identifier, ACTIONS(11), 1, anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, ACTIONS(15), 1, anon_sym_DASH, ACTIONS(17), 1, @@ -4299,37 +4347,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - ACTIONS(47), 1, - anon_sym_RBRACK, - STATE(43), 1, + ACTIONS(45), 1, + anon_sym_LPAREN, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(236), 1, - sym_expression, - STATE(318), 1, + STATE(386), 1, sym_type_name, ACTIONS(29), 2, anon_sym_true, @@ -4337,10 +4383,13 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(348), 2, + sym_expression, + sym_expression_list, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -4360,7 +4409,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -4370,7 +4419,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [540] = 36, + [538] = 36, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -4397,37 +4446,37 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - ACTIONS(49), 1, + ACTIONS(47), 1, anon_sym_RBRACK, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(236), 1, + STATE(262), 1, sym_expression, - STATE(318), 1, + STATE(386), 1, sym_type_name, ACTIONS(29), 2, anon_sym_true, @@ -4435,10 +4484,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -4458,7 +4507,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -4468,7 +4517,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [674] = 36, + [672] = 36, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -4495,37 +4544,37 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - ACTIONS(51), 1, - anon_sym_RPAREN, - STATE(43), 1, + ACTIONS(49), 1, + anon_sym_RBRACK, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(236), 1, + STATE(251), 1, sym_expression, - STATE(318), 1, + STATE(386), 1, sym_type_name, ACTIONS(29), 2, anon_sym_true, @@ -4533,10 +4582,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -4556,7 +4605,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -4566,7 +4615,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [808] = 36, + [806] = 36, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -4593,37 +4642,37 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - ACTIONS(53), 1, - anon_sym_RPAREN, - STATE(43), 1, + ACTIONS(51), 1, + anon_sym_RBRACK, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(277), 1, + STATE(262), 1, sym_expression, - STATE(318), 1, + STATE(386), 1, sym_type_name, ACTIONS(29), 2, anon_sym_true, @@ -4631,10 +4680,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -4654,7 +4703,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -4664,7 +4713,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [942] = 36, + [940] = 36, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -4691,37 +4740,37 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - ACTIONS(55), 1, + ACTIONS(53), 1, anon_sym_RPAREN, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(236), 1, + STATE(262), 1, sym_expression, - STATE(318), 1, + STATE(386), 1, sym_type_name, ACTIONS(29), 2, anon_sym_true, @@ -4729,10 +4778,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -4752,7 +4801,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -4762,7 +4811,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [1076] = 35, + [1074] = 36, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -4789,35 +4838,37 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + ACTIONS(55), 1, + anon_sym_RPAREN, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, STATE(276), 1, sym_expression, - STATE(318), 1, + STATE(386), 1, sym_type_name, ACTIONS(29), 2, anon_sym_true, @@ -4825,10 +4876,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -4848,7 +4899,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -4858,7 +4909,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [1207] = 35, + [1208] = 36, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -4885,46 +4936,48 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + ACTIONS(57), 1, + anon_sym_RPAREN, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(318), 1, - sym_type_name, - STATE(397), 1, + STATE(262), 1, sym_expression, + STATE(386), 1, + sym_type_name, ACTIONS(29), 2, anon_sym_true, anon_sym_false, ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -4944,7 +4997,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -4954,7 +5007,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [1338] = 35, + [1342] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -4981,35 +5034,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(318), 1, + STATE(386), 1, sym_type_name, - STATE(401), 1, + STATE(413), 1, sym_expression, ACTIONS(29), 2, anon_sym_true, @@ -5017,10 +5070,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -5040,7 +5093,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -5050,7 +5103,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [1469] = 35, + [1473] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -5077,35 +5130,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(318), 1, + STATE(386), 1, sym_type_name, - STATE(385), 1, + STATE(412), 1, sym_expression, ACTIONS(29), 2, anon_sym_true, @@ -5113,10 +5166,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -5136,7 +5189,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -5146,7 +5199,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [1600] = 35, + [1604] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -5173,35 +5226,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(307), 1, + STATE(268), 1, sym_expression, - STATE(318), 1, + STATE(386), 1, sym_type_name, ACTIONS(29), 2, anon_sym_true, @@ -5209,10 +5262,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -5232,7 +5285,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -5242,7 +5295,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [1731] = 35, + [1735] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -5269,46 +5322,46 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(318), 1, - sym_type_name, - STATE(333), 1, + STATE(328), 1, sym_expression, + STATE(386), 1, + sym_type_name, ACTIONS(29), 2, anon_sym_true, anon_sym_false, ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -5328,7 +5381,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -5338,7 +5391,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [1862] = 35, + [1866] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -5365,35 +5418,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(301), 1, + STATE(357), 1, sym_expression, - STATE(318), 1, + STATE(386), 1, sym_type_name, ACTIONS(29), 2, anon_sym_true, @@ -5401,10 +5454,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -5424,7 +5477,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -5434,7 +5487,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [1993] = 35, + [1997] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -5461,46 +5514,46 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(318), 1, - sym_type_name, - STATE(326), 1, + STATE(292), 1, sym_expression, + STATE(386), 1, + sym_type_name, ACTIONS(29), 2, anon_sym_true, anon_sym_false, ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -5520,7 +5573,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -5530,7 +5583,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [2124] = 35, + [2128] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -5557,46 +5610,46 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(318), 1, - sym_type_name, - STATE(328), 1, + STATE(337), 1, sym_expression, + STATE(386), 1, + sym_type_name, ACTIONS(29), 2, anon_sym_true, anon_sym_false, ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -5616,7 +5669,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -5626,7 +5679,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [2255] = 35, + [2259] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -5653,35 +5706,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(308), 1, + STATE(326), 1, sym_expression, - STATE(318), 1, + STATE(386), 1, sym_type_name, ACTIONS(29), 2, anon_sym_true, @@ -5689,10 +5742,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -5712,7 +5765,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -5722,7 +5775,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [2386] = 35, + [2390] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -5749,46 +5802,46 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(318), 1, - sym_type_name, - STATE(344), 1, + STATE(340), 1, sym_expression, + STATE(386), 1, + sym_type_name, ACTIONS(29), 2, anon_sym_true, anon_sym_false, ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -5808,7 +5861,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -5818,7 +5871,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [2517] = 35, + [2521] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -5845,46 +5898,46 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(285), 1, - sym_expression, - STATE(318), 1, + STATE(386), 1, sym_type_name, + STATE(418), 1, + sym_expression, ACTIONS(29), 2, anon_sym_true, anon_sym_false, ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -5904,7 +5957,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -5914,7 +5967,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [2648] = 35, + [2652] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -5941,35 +5994,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(318), 1, + STATE(386), 1, sym_type_name, - STATE(345), 1, + STATE(399), 1, sym_expression, ACTIONS(29), 2, anon_sym_true, @@ -5977,10 +6030,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -6000,7 +6053,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -6010,7 +6063,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [2779] = 35, + [2783] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -6037,46 +6090,46 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(318), 1, - sym_type_name, - STATE(352), 1, + STATE(381), 1, sym_expression, + STATE(386), 1, + sym_type_name, ACTIONS(29), 2, anon_sym_true, anon_sym_false, ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -6096,7 +6149,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -6106,7 +6159,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [2910] = 35, + [2914] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -6133,35 +6186,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(236), 1, + STATE(284), 1, sym_expression, - STATE(318), 1, + STATE(386), 1, sym_type_name, ACTIONS(29), 2, anon_sym_true, @@ -6169,10 +6222,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -6192,7 +6245,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -6202,7 +6255,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [3041] = 35, + [3045] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -6229,35 +6282,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(313), 1, + STATE(353), 1, sym_expression, - STATE(318), 1, + STATE(386), 1, sym_type_name, ACTIONS(29), 2, anon_sym_true, @@ -6265,10 +6318,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -6288,7 +6341,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -6298,7 +6351,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [3172] = 35, + [3176] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -6325,46 +6378,46 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(318), 1, - sym_type_name, - STATE(356), 1, + STATE(360), 1, sym_expression, + STATE(386), 1, + sym_type_name, ACTIONS(29), 2, anon_sym_true, anon_sym_false, ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -6384,7 +6437,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -6394,7 +6447,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [3303] = 35, + [3307] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -6421,46 +6474,46 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(318), 1, - sym_type_name, - STATE(389), 1, + STATE(262), 1, sym_expression, + STATE(386), 1, + sym_type_name, ACTIONS(29), 2, anon_sym_true, anon_sym_false, ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -6480,7 +6533,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -6490,7 +6543,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [3434] = 35, + [3438] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -6517,46 +6570,46 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, - sym_postfix, - STATE(114), 1, + sym_unary, + STATE(115), 1, + sym_postfix, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(318), 1, - sym_type_name, - STATE(390), 1, + STATE(364), 1, sym_expression, + STATE(386), 1, + sym_type_name, ACTIONS(29), 2, anon_sym_true, anon_sym_false, ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -6576,7 +6629,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -6586,7 +6639,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [3565] = 35, + [3569] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -6613,35 +6666,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(204), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(215), 1, + STATE(224), 1, sym_logical_or, - STATE(318), 1, + STATE(386), 1, sym_type_name, - STATE(319), 1, + STATE(419), 1, sym_expression, ACTIONS(29), 2, anon_sym_true, @@ -6649,10 +6702,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -6672,7 +6725,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -6682,7 +6735,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [3696] = 33, + [3700] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -6709,42 +6762,46 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(200), 1, - sym_bit_or, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(210), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, sym_logical_and, - STATE(318), 1, + STATE(224), 1, + sym_logical_or, + STATE(386), 1, sym_type_name, + STATE(400), 1, + sym_expression, ACTIONS(29), 2, anon_sym_true, anon_sym_false, ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -6764,7 +6821,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -6774,7 +6831,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [3821] = 32, + [3831] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -6801,40 +6858,46 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(194), 1, + STATE(203), 1, sym_bit_xor, - STATE(201), 1, - sym_base_type, STATE(208), 1, + sym_base_type, + STATE(212), 1, sym_bit_or, - STATE(318), 1, + STATE(218), 1, + sym_logical_and, + STATE(224), 1, + sym_logical_or, + STATE(386), 1, sym_type_name, + STATE(401), 1, + sym_expression, ACTIONS(29), 2, anon_sym_true, anon_sym_false, ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -6854,7 +6917,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -6864,7 +6927,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [3943] = 31, + [3962] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -6891,38 +6954,46 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, - sym_equality, STATE(187), 1, + sym_equality, + STATE(195), 1, sym_bit_and, - STATE(197), 1, + STATE(203), 1, sym_bit_xor, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(318), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, + sym_logical_and, + STATE(224), 1, + sym_logical_or, + STATE(386), 1, sym_type_name, + STATE(410), 1, + sym_expression, ACTIONS(29), 2, anon_sym_true, anon_sym_false, ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -6942,7 +7013,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -6952,7 +7023,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [4062] = 30, + [4093] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -6979,25 +7050,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(182), 1, + STATE(187), 1, sym_equality, STATE(195), 1, sym_bit_and, - STATE(201), 1, + STATE(203), 1, + sym_bit_xor, + STATE(208), 1, sym_base_type, - STATE(318), 1, + STATE(212), 1, + sym_bit_or, + STATE(218), 1, + sym_logical_and, + STATE(224), 1, + sym_logical_or, + STATE(339), 1, + sym_expression, + STATE(386), 1, sym_type_name, ACTIONS(29), 2, anon_sym_true, @@ -7005,10 +7086,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -7028,7 +7109,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -7038,7 +7119,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [4178] = 29, + [4224] = 33, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -7065,23 +7146,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(150), 1, + STATE(166), 1, sym_comparison, - STATE(189), 1, + STATE(187), 1, sym_equality, - STATE(201), 1, + STATE(195), 1, + sym_bit_and, + STATE(203), 1, + sym_bit_xor, + STATE(208), 1, sym_base_type, - STATE(318), 1, + STATE(212), 1, + sym_bit_or, + STATE(223), 1, + sym_logical_and, + STATE(386), 1, sym_type_name, ACTIONS(29), 2, anon_sym_true, @@ -7089,10 +7178,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -7112,7 +7201,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -7122,7 +7211,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [4291] = 28, + [4349] = 32, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -7149,21 +7238,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(125), 1, + STATE(127), 1, sym_term, - STATE(169), 1, + STATE(166), 1, sym_comparison, - STATE(201), 1, + STATE(187), 1, + sym_equality, + STATE(195), 1, + sym_bit_and, + STATE(203), 1, + sym_bit_xor, + STATE(208), 1, sym_base_type, - STATE(318), 1, + STATE(217), 1, + sym_bit_or, + STATE(386), 1, sym_type_name, ACTIONS(29), 2, anon_sym_true, @@ -7171,10 +7268,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -7194,7 +7291,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -7204,7 +7301,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [4401] = 27, + [4471] = 31, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -7231,19 +7328,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(114), 1, + STATE(119), 1, sym_factor, - STATE(145), 1, + STATE(127), 1, sym_term, - STATE(201), 1, + STATE(166), 1, + sym_comparison, + STATE(187), 1, + sym_equality, + STATE(195), 1, + sym_bit_and, + STATE(208), 1, sym_base_type, - STATE(318), 1, + STATE(211), 1, + sym_bit_xor, + STATE(386), 1, sym_type_name, ACTIONS(29), 2, anon_sym_true, @@ -7251,10 +7356,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -7274,7 +7379,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -7284,7 +7389,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [4508] = 26, + [4590] = 30, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -7311,17 +7416,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(107), 1, - sym_unary, STATE(109), 1, - sym_postfix, + sym_unary, STATE(115), 1, + sym_postfix, + STATE(119), 1, sym_factor, - STATE(201), 1, + STATE(127), 1, + sym_term, + STATE(166), 1, + sym_comparison, + STATE(187), 1, + sym_equality, + STATE(206), 1, + sym_bit_and, + STATE(208), 1, sym_base_type, - STATE(318), 1, + STATE(386), 1, sym_type_name, ACTIONS(29), 2, anon_sym_true, @@ -7329,10 +7442,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -7352,7 +7465,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -7362,7 +7475,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [4612] = 25, + [4706] = 29, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -7389,15 +7502,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, STATE(109), 1, - sym_postfix, - STATE(110), 1, sym_unary, - STATE(201), 1, + STATE(115), 1, + sym_postfix, + STATE(119), 1, + sym_factor, + STATE(127), 1, + sym_term, + STATE(166), 1, + sym_comparison, + STATE(198), 1, + sym_equality, + STATE(208), 1, sym_base_type, - STATE(318), 1, + STATE(386), 1, sym_type_name, ACTIONS(29), 2, anon_sym_true, @@ -7405,10 +7526,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(39), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -7428,7 +7549,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -7438,7 +7559,7 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [4713] = 24, + [4819] = 28, ACTIONS(3), 1, sym_comment, ACTIONS(9), 1, @@ -7465,13 +7586,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_date, ACTIONS(41), 1, anon_sym_this_DOTscriptSize, - STATE(43), 1, + STATE(47), 1, sym_primary, - STATE(111), 1, + STATE(109), 1, + sym_unary, + STATE(115), 1, sym_postfix, - STATE(201), 1, + STATE(119), 1, + sym_factor, + STATE(127), 1, + sym_term, + STATE(178), 1, + sym_comparison, + STATE(208), 1, sym_base_type, - STATE(318), 1, + STATE(386), 1, sym_type_name, ACTIONS(29), 2, anon_sym_true, @@ -7479,10 +7608,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(62), 2, + STATE(43), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, @@ -7502,7 +7631,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(95), 9, + STATE(88), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -7512,134 +7641,394 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [4811] = 5, - ACTIONS(3), 1, - sym_comment, - STATE(67), 1, - sym_number_unit, - ACTIONS(59), 6, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_LT, - anon_sym_GT, - anon_sym_SLASH, - anon_sym_DOT, - ACTIONS(61), 8, - anon_sym_litras, - anon_sym_grains, - anon_sym_kas, - anon_sym_seconds, - anon_sym_minutes, - anon_sym_hours, - anon_sym_days, - anon_sym_weeks, - ACTIONS(57), 22, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_GT_EQ, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_LBRACK, - anon_sym_RBRACK, - sym_unary_suffix, - anon_sym_DOTsplit, - anon_sym_DOTslice, - anon_sym_DOTappend, - anon_sym_DOTreverse, - [4860] = 12, + [4929] = 27, ACTIONS(3), 1, sym_comment, - ACTIONS(67), 1, - anon_sym_LBRACK, - ACTIONS(69), 1, - anon_sym_DOT, - ACTIONS(71), 1, - sym_unary_suffix, - ACTIONS(73), 1, - anon_sym_DOTsplit, - ACTIONS(75), 1, - anon_sym_DOTslice, - ACTIONS(77), 1, - anon_sym_DOTappend, - ACTIONS(79), 1, - anon_sym_DOTreverse, - STATE(42), 2, - sym_postfix_op, - aux_sym_postfix_repeat1, - ACTIONS(65), 5, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_LT, - anon_sym_GT, - anon_sym_SLASH, - STATE(99), 6, - sym_tuple_index, - sym_member_access, - sym_split_call, - sym_slice_call, - sym_append_call, - sym_reverse_call, - ACTIONS(63), 16, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_GT_EQ, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS, + ACTIONS(9), 1, + sym_identifier, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_RBRACK, - [4922] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(85), 1, + ACTIONS(17), 1, + anon_sym_BANG, + ACTIONS(19), 1, anon_sym_LBRACK, - ACTIONS(88), 1, - anon_sym_DOT, - ACTIONS(91), 1, - sym_unary_suffix, - ACTIONS(94), 1, - anon_sym_DOTsplit, - ACTIONS(97), 1, - anon_sym_DOTslice, - ACTIONS(100), 1, - anon_sym_DOTappend, - ACTIONS(103), 1, + ACTIONS(21), 1, + anon_sym_new, + ACTIONS(23), 1, + sym_output_root, + ACTIONS(25), 1, + sym_input_root, + ACTIONS(31), 1, + sym_number, + ACTIONS(35), 1, + anon_sym_date, + ACTIONS(41), 1, + anon_sym_this_DOTscriptSize, + STATE(47), 1, + sym_primary, + STATE(109), 1, + sym_unary, + STATE(115), 1, + sym_postfix, + STATE(119), 1, + sym_factor, + STATE(152), 1, + sym_term, + STATE(208), 1, + sym_base_type, + STATE(386), 1, + sym_type_name, + ACTIONS(29), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(33), 2, + sym_string_literal, + sym_hex_literal, + STATE(43), 2, + sym_unary_op, + aux_sym_unary_repeat1, + STATE(71), 3, + sym_boolean_literal, + sym_number_literal, + sym_date_literal, + ACTIONS(27), 7, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + ACTIONS(39), 7, + anon_sym_this_DOTactiveInputIndex, + anon_sym_this_DOTactiveScriptPubKey, + anon_sym_this_DOTscriptSizeDataPrefix, + anon_sym_tx_DOTinputs_DOTlength, + anon_sym_tx_DOToutputs_DOTlength, + anon_sym_tx_DOTversion, + anon_sym_tx_DOTlocktime, + STATE(88), 9, + sym_parenthesized, + sym_cast, + sym_function_call, + sym_instantiation, + sym_state_object, + sym_introspection, + sym_array, + sym_literal, + sym_nullary_op, + [5036] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9), 1, + sym_identifier, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + anon_sym_DASH, + ACTIONS(17), 1, + anon_sym_BANG, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_new, + ACTIONS(23), 1, + sym_output_root, + ACTIONS(25), 1, + sym_input_root, + ACTIONS(31), 1, + sym_number, + ACTIONS(35), 1, + anon_sym_date, + ACTIONS(41), 1, + anon_sym_this_DOTscriptSize, + STATE(47), 1, + sym_primary, + STATE(109), 1, + sym_unary, + STATE(115), 1, + sym_postfix, + STATE(120), 1, + sym_factor, + STATE(208), 1, + sym_base_type, + STATE(386), 1, + sym_type_name, + ACTIONS(29), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(33), 2, + sym_string_literal, + sym_hex_literal, + STATE(43), 2, + sym_unary_op, + aux_sym_unary_repeat1, + STATE(71), 3, + sym_boolean_literal, + sym_number_literal, + sym_date_literal, + ACTIONS(27), 7, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + ACTIONS(39), 7, + anon_sym_this_DOTactiveInputIndex, + anon_sym_this_DOTactiveScriptPubKey, + anon_sym_this_DOTscriptSizeDataPrefix, + anon_sym_tx_DOTinputs_DOTlength, + anon_sym_tx_DOToutputs_DOTlength, + anon_sym_tx_DOTversion, + anon_sym_tx_DOTlocktime, + STATE(88), 9, + sym_parenthesized, + sym_cast, + sym_function_call, + sym_instantiation, + sym_state_object, + sym_introspection, + sym_array, + sym_literal, + sym_nullary_op, + [5140] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9), 1, + sym_identifier, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + anon_sym_DASH, + ACTIONS(17), 1, + anon_sym_BANG, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_new, + ACTIONS(23), 1, + sym_output_root, + ACTIONS(25), 1, + sym_input_root, + ACTIONS(31), 1, + sym_number, + ACTIONS(35), 1, + anon_sym_date, + ACTIONS(41), 1, + anon_sym_this_DOTscriptSize, + STATE(47), 1, + sym_primary, + STATE(115), 1, + sym_postfix, + STATE(116), 1, + sym_unary, + STATE(208), 1, + sym_base_type, + STATE(386), 1, + sym_type_name, + ACTIONS(29), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(33), 2, + sym_string_literal, + sym_hex_literal, + STATE(43), 2, + sym_unary_op, + aux_sym_unary_repeat1, + STATE(71), 3, + sym_boolean_literal, + sym_number_literal, + sym_date_literal, + ACTIONS(27), 7, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + ACTIONS(39), 7, + anon_sym_this_DOTactiveInputIndex, + anon_sym_this_DOTactiveScriptPubKey, + anon_sym_this_DOTscriptSizeDataPrefix, + anon_sym_tx_DOTinputs_DOTlength, + anon_sym_tx_DOToutputs_DOTlength, + anon_sym_tx_DOTversion, + anon_sym_tx_DOTlocktime, + STATE(88), 9, + sym_parenthesized, + sym_cast, + sym_function_call, + sym_instantiation, + sym_state_object, + sym_introspection, + sym_array, + sym_literal, + sym_nullary_op, + [5241] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9), 1, + sym_identifier, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + anon_sym_DASH, + ACTIONS(17), 1, + anon_sym_BANG, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_new, + ACTIONS(23), 1, + sym_output_root, + ACTIONS(25), 1, + sym_input_root, + ACTIONS(31), 1, + sym_number, + ACTIONS(35), 1, + anon_sym_date, + ACTIONS(41), 1, + anon_sym_this_DOTscriptSize, + STATE(47), 1, + sym_primary, + STATE(114), 1, + sym_postfix, + STATE(208), 1, + sym_base_type, + STATE(386), 1, + sym_type_name, + ACTIONS(29), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(33), 2, + sym_string_literal, + sym_hex_literal, + STATE(64), 2, + sym_unary_op, + aux_sym_unary_repeat1, + STATE(71), 3, + sym_boolean_literal, + sym_number_literal, + sym_date_literal, + ACTIONS(27), 7, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + ACTIONS(39), 7, + anon_sym_this_DOTactiveInputIndex, + anon_sym_this_DOTactiveScriptPubKey, + anon_sym_this_DOTscriptSizeDataPrefix, + anon_sym_tx_DOTinputs_DOTlength, + anon_sym_tx_DOToutputs_DOTlength, + anon_sym_tx_DOTversion, + anon_sym_tx_DOTlocktime, + STATE(88), 9, + sym_parenthesized, + sym_cast, + sym_function_call, + sym_instantiation, + sym_state_object, + sym_introspection, + sym_array, + sym_literal, + sym_nullary_op, + [5339] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(101), 1, + sym_number_unit, + ACTIONS(61), 6, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_DOT, + ACTIONS(63), 8, + anon_sym_litras, + anon_sym_grains, + anon_sym_kas, + anon_sym_seconds, + anon_sym_minutes, + anon_sym_hours, + anon_sym_days, + anon_sym_weeks, + ACTIONS(59), 23, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_GT_EQ, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LBRACK, + anon_sym_RBRACK, + sym_tuple_field_access, + sym_unary_suffix, + anon_sym_DOTsplit, + anon_sym_DOTslice, + anon_sym_DOTappend, + anon_sym_DOTreverse, + [5389] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(69), 1, + anon_sym_LBRACK, + ACTIONS(71), 1, + anon_sym_DOT, + ACTIONS(75), 1, + anon_sym_DOTsplit, + ACTIONS(77), 1, + anon_sym_DOTslice, + ACTIONS(79), 1, + anon_sym_DOTappend, + ACTIONS(81), 1, anon_sym_DOTreverse, - STATE(42), 2, + ACTIONS(73), 2, + sym_tuple_field_access, + sym_unary_suffix, + STATE(46), 2, sym_postfix_op, aux_sym_postfix_repeat1, - ACTIONS(83), 5, + ACTIONS(67), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, - STATE(99), 6, + STATE(96), 6, sym_tuple_index, sym_member_access, sym_split_call, sym_slice_call, sym_append_call, sym_reverse_call, - ACTIONS(81), 16, + ACTIONS(65), 16, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -7656,40 +8045,92 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_RBRACK, - [4984] = 12, + [5452] = 12, ACTIONS(3), 1, sym_comment, - ACTIONS(67), 1, + ACTIONS(87), 1, anon_sym_LBRACK, - ACTIONS(69), 1, + ACTIONS(90), 1, anon_sym_DOT, - ACTIONS(71), 1, - sym_unary_suffix, - ACTIONS(73), 1, + ACTIONS(96), 1, anon_sym_DOTsplit, + ACTIONS(99), 1, + anon_sym_DOTslice, + ACTIONS(102), 1, + anon_sym_DOTappend, + ACTIONS(105), 1, + anon_sym_DOTreverse, + ACTIONS(93), 2, + sym_tuple_field_access, + sym_unary_suffix, + STATE(46), 2, + sym_postfix_op, + aux_sym_postfix_repeat1, + ACTIONS(85), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + STATE(96), 6, + sym_tuple_index, + sym_member_access, + sym_split_call, + sym_slice_call, + sym_append_call, + sym_reverse_call, + ACTIONS(83), 16, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_GT_EQ, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_RBRACK, + [5515] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(69), 1, + anon_sym_LBRACK, + ACTIONS(71), 1, + anon_sym_DOT, ACTIONS(75), 1, - anon_sym_DOTslice, + anon_sym_DOTsplit, ACTIONS(77), 1, - anon_sym_DOTappend, + anon_sym_DOTslice, ACTIONS(79), 1, + anon_sym_DOTappend, + ACTIONS(81), 1, anon_sym_DOTreverse, - STATE(41), 2, + ACTIONS(73), 2, + sym_tuple_field_access, + sym_unary_suffix, + STATE(45), 2, sym_postfix_op, aux_sym_postfix_repeat1, - ACTIONS(108), 5, + ACTIONS(110), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, - STATE(99), 6, + STATE(96), 6, sym_tuple_index, sym_member_access, sym_split_call, sym_slice_call, sym_append_call, sym_reverse_call, - ACTIONS(106), 16, + ACTIONS(108), 16, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -7706,36 +8147,36 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_RBRACK, - [5046] = 17, + [5578] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(110), 1, - sym_identifier, ACTIONS(112), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(114), 1, - anon_sym_RBRACE, + anon_sym_LBRACE, ACTIONS(116), 1, - anon_sym_LPAREN, + anon_sym_RBRACE, ACTIONS(118), 1, - anon_sym_return, + anon_sym_LPAREN, ACTIONS(120), 1, - anon_sym_require, + anon_sym_return, ACTIONS(122), 1, - anon_sym_if, + anon_sym_require, ACTIONS(124), 1, - anon_sym_for, + anon_sym_if, ACTIONS(126), 1, + anon_sym_for, + ACTIONS(128), 1, anon_sym_console_DOTlog, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(222), 1, + STATE(228), 1, sym_type_name, - STATE(231), 1, + STATE(265), 1, sym_state_typed_binding, - STATE(394), 1, + STATE(316), 1, sym_function_call, - STATE(45), 2, + STATE(49), 2, sym_statement, aux_sym_function_definition_repeat2, ACTIONS(27), 7, @@ -7746,7 +8187,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(142), 12, + STATE(122), 12, sym_variable_definition, sym_tuple_assignment, sym_function_call_assignment, @@ -7759,85 +8200,34 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [5116] = 16, + [5648] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(112), 1, + ACTIONS(114), 1, anon_sym_LBRACE, - ACTIONS(116), 1, - anon_sym_LPAREN, ACTIONS(118), 1, - anon_sym_return, - ACTIONS(120), 1, - anon_sym_require, - ACTIONS(122), 1, - anon_sym_if, - ACTIONS(124), 1, - anon_sym_for, - ACTIONS(126), 1, - anon_sym_console_DOTlog, - ACTIONS(128), 1, - sym_identifier, - ACTIONS(130), 1, - anon_sym_RBRACE, - STATE(201), 1, - sym_base_type, - STATE(222), 1, - sym_type_name, - STATE(394), 1, - sym_function_call, - STATE(50), 2, - sym_statement, - aux_sym_function_definition_repeat2, - ACTIONS(27), 7, - anon_sym_int, - anon_sym_bool, - anon_sym_string, - anon_sym_pubkey, - anon_sym_sig, - anon_sym_datasig, - anon_sym_byte, - STATE(142), 12, - sym_variable_definition, - sym_tuple_assignment, - sym_function_call_assignment, - sym_state_function_call_assignment, - sym_call_statement, - sym_return_statement, - sym_assign_statement, - sym_time_op_statement, - sym_require_statement, - sym_if_statement, - sym_for_statement, - sym_console_statement, - [5183] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(112), 1, - anon_sym_LBRACE, - ACTIONS(116), 1, anon_sym_LPAREN, - ACTIONS(118), 1, - anon_sym_return, ACTIONS(120), 1, - anon_sym_require, + anon_sym_return, ACTIONS(122), 1, - anon_sym_if, + anon_sym_require, ACTIONS(124), 1, - anon_sym_for, + anon_sym_if, ACTIONS(126), 1, - anon_sym_console_DOTlog, + anon_sym_for, ACTIONS(128), 1, + anon_sym_console_DOTlog, + ACTIONS(130), 1, sym_identifier, ACTIONS(132), 1, anon_sym_RBRACE, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(222), 1, + STATE(228), 1, sym_type_name, - STATE(394), 1, + STATE(316), 1, sym_function_call, - STATE(50), 2, + STATE(51), 2, sym_statement, aux_sym_function_definition_repeat2, ACTIONS(27), 7, @@ -7848,7 +8238,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(142), 12, + STATE(122), 12, sym_variable_definition, sym_tuple_assignment, sym_function_call_assignment, @@ -7861,34 +8251,34 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [5250] = 16, + [5715] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(112), 1, + ACTIONS(114), 1, anon_sym_LBRACE, - ACTIONS(116), 1, - anon_sym_LPAREN, ACTIONS(118), 1, - anon_sym_return, + anon_sym_LPAREN, ACTIONS(120), 1, - anon_sym_require, + anon_sym_return, ACTIONS(122), 1, - anon_sym_if, + anon_sym_require, ACTIONS(124), 1, - anon_sym_for, + anon_sym_if, ACTIONS(126), 1, - anon_sym_console_DOTlog, + anon_sym_for, ACTIONS(128), 1, + anon_sym_console_DOTlog, + ACTIONS(130), 1, sym_identifier, - ACTIONS(132), 1, + ACTIONS(134), 1, anon_sym_RBRACE, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(222), 1, + STATE(228), 1, sym_type_name, - STATE(394), 1, + STATE(316), 1, sym_function_call, - STATE(54), 2, + STATE(52), 2, sym_statement, aux_sym_function_definition_repeat2, ACTIONS(27), 7, @@ -7899,7 +8289,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(142), 12, + STATE(122), 12, sym_variable_definition, sym_tuple_assignment, sym_function_call_assignment, @@ -7912,37 +8302,37 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [5317] = 16, + [5782] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(112), 1, + ACTIONS(136), 1, + sym_identifier, + ACTIONS(139), 1, anon_sym_LBRACE, - ACTIONS(116), 1, + ACTIONS(142), 1, + anon_sym_RBRACE, + ACTIONS(144), 1, anon_sym_LPAREN, - ACTIONS(118), 1, + ACTIONS(147), 1, anon_sym_return, - ACTIONS(120), 1, + ACTIONS(150), 1, anon_sym_require, - ACTIONS(122), 1, + ACTIONS(153), 1, anon_sym_if, - ACTIONS(124), 1, + ACTIONS(156), 1, anon_sym_for, - ACTIONS(126), 1, + ACTIONS(159), 1, anon_sym_console_DOTlog, - ACTIONS(128), 1, - sym_identifier, - ACTIONS(134), 1, - anon_sym_RBRACE, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(222), 1, + STATE(228), 1, sym_type_name, - STATE(394), 1, + STATE(316), 1, sym_function_call, - STATE(50), 2, + STATE(51), 2, sym_statement, aux_sym_function_definition_repeat2, - ACTIONS(27), 7, + ACTIONS(162), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -7950,7 +8340,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(142), 12, + STATE(122), 12, sym_variable_definition, sym_tuple_assignment, sym_function_call_assignment, @@ -7963,32 +8353,32 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [5384] = 16, + [5849] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(112), 1, + ACTIONS(114), 1, anon_sym_LBRACE, - ACTIONS(116), 1, - anon_sym_LPAREN, ACTIONS(118), 1, - anon_sym_return, + anon_sym_LPAREN, ACTIONS(120), 1, - anon_sym_require, + anon_sym_return, ACTIONS(122), 1, - anon_sym_if, + anon_sym_require, ACTIONS(124), 1, - anon_sym_for, + anon_sym_if, ACTIONS(126), 1, - anon_sym_console_DOTlog, + anon_sym_for, ACTIONS(128), 1, + anon_sym_console_DOTlog, + ACTIONS(130), 1, sym_identifier, - ACTIONS(134), 1, + ACTIONS(165), 1, anon_sym_RBRACE, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(222), 1, + STATE(228), 1, sym_type_name, - STATE(394), 1, + STATE(316), 1, sym_function_call, STATE(51), 2, sym_statement, @@ -8001,58 +8391,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(142), 12, - sym_variable_definition, - sym_tuple_assignment, - sym_function_call_assignment, - sym_state_function_call_assignment, - sym_call_statement, - sym_return_statement, - sym_assign_statement, - sym_time_op_statement, - sym_require_statement, - sym_if_statement, - sym_for_statement, - sym_console_statement, - [5451] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(136), 1, - sym_identifier, - ACTIONS(139), 1, - anon_sym_LBRACE, - ACTIONS(142), 1, - anon_sym_RBRACE, - ACTIONS(144), 1, - anon_sym_LPAREN, - ACTIONS(147), 1, - anon_sym_return, - ACTIONS(150), 1, - anon_sym_require, - ACTIONS(153), 1, - anon_sym_if, - ACTIONS(156), 1, - anon_sym_for, - ACTIONS(159), 1, - anon_sym_console_DOTlog, - STATE(201), 1, - sym_base_type, - STATE(222), 1, - sym_type_name, - STATE(394), 1, - sym_function_call, - STATE(50), 2, - sym_statement, - aux_sym_function_definition_repeat2, - ACTIONS(162), 7, - anon_sym_int, - anon_sym_bool, - anon_sym_string, - anon_sym_pubkey, - anon_sym_sig, - anon_sym_datasig, - anon_sym_byte, - STATE(142), 12, + STATE(122), 12, sym_variable_definition, sym_tuple_assignment, sym_function_call_assignment, @@ -8065,34 +8404,34 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [5518] = 16, + [5916] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(112), 1, + ACTIONS(114), 1, anon_sym_LBRACE, - ACTIONS(116), 1, - anon_sym_LPAREN, ACTIONS(118), 1, - anon_sym_return, + anon_sym_LPAREN, ACTIONS(120), 1, - anon_sym_require, + anon_sym_return, ACTIONS(122), 1, - anon_sym_if, + anon_sym_require, ACTIONS(124), 1, - anon_sym_for, + anon_sym_if, ACTIONS(126), 1, - anon_sym_console_DOTlog, + anon_sym_for, ACTIONS(128), 1, + anon_sym_console_DOTlog, + ACTIONS(130), 1, sym_identifier, - ACTIONS(165), 1, + ACTIONS(167), 1, anon_sym_RBRACE, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(222), 1, + STATE(228), 1, sym_type_name, - STATE(394), 1, + STATE(316), 1, sym_function_call, - STATE(50), 2, + STATE(55), 2, sym_statement, aux_sym_function_definition_repeat2, ACTIONS(27), 7, @@ -8103,7 +8442,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(142), 12, + STATE(122), 12, sym_variable_definition, sym_tuple_assignment, sym_function_call_assignment, @@ -8116,34 +8455,34 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [5585] = 16, + [5983] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(112), 1, + ACTIONS(114), 1, anon_sym_LBRACE, - ACTIONS(116), 1, - anon_sym_LPAREN, ACTIONS(118), 1, - anon_sym_return, + anon_sym_LPAREN, ACTIONS(120), 1, - anon_sym_require, + anon_sym_return, ACTIONS(122), 1, - anon_sym_if, + anon_sym_require, ACTIONS(124), 1, - anon_sym_for, + anon_sym_if, ACTIONS(126), 1, - anon_sym_console_DOTlog, + anon_sym_for, ACTIONS(128), 1, + anon_sym_console_DOTlog, + ACTIONS(130), 1, sym_identifier, - ACTIONS(167), 1, + ACTIONS(169), 1, anon_sym_RBRACE, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(222), 1, + STATE(228), 1, sym_type_name, - STATE(394), 1, + STATE(316), 1, sym_function_call, - STATE(48), 2, + STATE(51), 2, sym_statement, aux_sym_function_definition_repeat2, ACTIONS(27), 7, @@ -8154,7 +8493,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(142), 12, + STATE(122), 12, sym_variable_definition, sym_tuple_assignment, sym_function_call_assignment, @@ -8167,34 +8506,34 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [5652] = 16, + [6050] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(112), 1, + ACTIONS(114), 1, anon_sym_LBRACE, - ACTIONS(116), 1, - anon_sym_LPAREN, ACTIONS(118), 1, - anon_sym_return, + anon_sym_LPAREN, ACTIONS(120), 1, - anon_sym_require, + anon_sym_return, ACTIONS(122), 1, - anon_sym_if, + anon_sym_require, ACTIONS(124), 1, - anon_sym_for, + anon_sym_if, ACTIONS(126), 1, - anon_sym_console_DOTlog, + anon_sym_for, ACTIONS(128), 1, + anon_sym_console_DOTlog, + ACTIONS(130), 1, sym_identifier, - ACTIONS(169), 1, + ACTIONS(171), 1, anon_sym_RBRACE, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(222), 1, + STATE(228), 1, sym_type_name, - STATE(394), 1, + STATE(316), 1, sym_function_call, - STATE(55), 2, + STATE(51), 2, sym_statement, aux_sym_function_definition_repeat2, ACTIONS(27), 7, @@ -8205,7 +8544,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(142), 12, + STATE(122), 12, sym_variable_definition, sym_tuple_assignment, sym_function_call_assignment, @@ -8218,34 +8557,34 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [5719] = 16, + [6117] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(112), 1, + ACTIONS(114), 1, anon_sym_LBRACE, - ACTIONS(116), 1, - anon_sym_LPAREN, ACTIONS(118), 1, - anon_sym_return, + anon_sym_LPAREN, ACTIONS(120), 1, - anon_sym_require, + anon_sym_return, ACTIONS(122), 1, - anon_sym_if, + anon_sym_require, ACTIONS(124), 1, - anon_sym_for, + anon_sym_if, ACTIONS(126), 1, - anon_sym_console_DOTlog, + anon_sym_for, ACTIONS(128), 1, + anon_sym_console_DOTlog, + ACTIONS(130), 1, sym_identifier, ACTIONS(171), 1, anon_sym_RBRACE, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(222), 1, + STATE(228), 1, sym_type_name, - STATE(394), 1, + STATE(316), 1, sym_function_call, - STATE(50), 2, + STATE(58), 2, sym_statement, aux_sym_function_definition_repeat2, ACTIONS(27), 7, @@ -8256,7 +8595,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(142), 12, + STATE(122), 12, sym_variable_definition, sym_tuple_assignment, sym_function_call_assignment, @@ -8269,34 +8608,34 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [5786] = 16, + [6184] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(112), 1, + ACTIONS(114), 1, anon_sym_LBRACE, - ACTIONS(116), 1, - anon_sym_LPAREN, ACTIONS(118), 1, - anon_sym_return, + anon_sym_LPAREN, ACTIONS(120), 1, - anon_sym_require, + anon_sym_return, ACTIONS(122), 1, - anon_sym_if, + anon_sym_require, ACTIONS(124), 1, - anon_sym_for, + anon_sym_if, ACTIONS(126), 1, - anon_sym_console_DOTlog, + anon_sym_for, ACTIONS(128), 1, + anon_sym_console_DOTlog, + ACTIONS(130), 1, sym_identifier, ACTIONS(173), 1, anon_sym_RBRACE, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(222), 1, + STATE(228), 1, sym_type_name, - STATE(394), 1, + STATE(316), 1, sym_function_call, - STATE(50), 2, + STATE(54), 2, sym_statement, aux_sym_function_definition_repeat2, ACTIONS(27), 7, @@ -8307,7 +8646,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(142), 12, + STATE(122), 12, sym_variable_definition, sym_tuple_assignment, sym_function_call_assignment, @@ -8320,34 +8659,34 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [5853] = 16, + [6251] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(112), 1, + ACTIONS(114), 1, anon_sym_LBRACE, - ACTIONS(116), 1, - anon_sym_LPAREN, ACTIONS(118), 1, - anon_sym_return, + anon_sym_LPAREN, ACTIONS(120), 1, - anon_sym_require, + anon_sym_return, ACTIONS(122), 1, - anon_sym_if, + anon_sym_require, ACTIONS(124), 1, - anon_sym_for, + anon_sym_if, ACTIONS(126), 1, - anon_sym_console_DOTlog, + anon_sym_for, ACTIONS(128), 1, + anon_sym_console_DOTlog, + ACTIONS(130), 1, sym_identifier, - ACTIONS(173), 1, + ACTIONS(175), 1, anon_sym_RBRACE, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(222), 1, + STATE(228), 1, sym_type_name, - STATE(394), 1, + STATE(316), 1, sym_function_call, - STATE(57), 2, + STATE(51), 2, sym_statement, aux_sym_function_definition_repeat2, ACTIONS(27), 7, @@ -8358,7 +8697,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(142), 12, + STATE(122), 12, sym_variable_definition, sym_tuple_assignment, sym_function_call_assignment, @@ -8371,34 +8710,34 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [5920] = 16, + [6318] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(112), 1, + ACTIONS(114), 1, anon_sym_LBRACE, - ACTIONS(116), 1, - anon_sym_LPAREN, ACTIONS(118), 1, - anon_sym_return, + anon_sym_LPAREN, ACTIONS(120), 1, - anon_sym_require, + anon_sym_return, ACTIONS(122), 1, - anon_sym_if, + anon_sym_require, ACTIONS(124), 1, - anon_sym_for, + anon_sym_if, ACTIONS(126), 1, - anon_sym_console_DOTlog, + anon_sym_for, ACTIONS(128), 1, + anon_sym_console_DOTlog, + ACTIONS(130), 1, sym_identifier, - ACTIONS(175), 1, + ACTIONS(177), 1, anon_sym_RBRACE, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(222), 1, + STATE(228), 1, sym_type_name, - STATE(394), 1, + STATE(316), 1, sym_function_call, - STATE(50), 2, + STATE(62), 2, sym_statement, aux_sym_function_definition_repeat2, ACTIONS(27), 7, @@ -8409,7 +8748,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(142), 12, + STATE(122), 12, sym_variable_definition, sym_tuple_assignment, sym_function_call_assignment, @@ -8422,34 +8761,34 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [5987] = 16, + [6385] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(112), 1, + ACTIONS(114), 1, anon_sym_LBRACE, - ACTIONS(116), 1, - anon_sym_LPAREN, ACTIONS(118), 1, - anon_sym_return, + anon_sym_LPAREN, ACTIONS(120), 1, - anon_sym_require, + anon_sym_return, ACTIONS(122), 1, - anon_sym_if, + anon_sym_require, ACTIONS(124), 1, - anon_sym_for, + anon_sym_if, ACTIONS(126), 1, - anon_sym_console_DOTlog, + anon_sym_for, ACTIONS(128), 1, + anon_sym_console_DOTlog, + ACTIONS(130), 1, sym_identifier, - ACTIONS(177), 1, + ACTIONS(134), 1, anon_sym_RBRACE, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(222), 1, + STATE(228), 1, sym_type_name, - STATE(394), 1, + STATE(316), 1, sym_function_call, - STATE(46), 2, + STATE(51), 2, sym_statement, aux_sym_function_definition_repeat2, ACTIONS(27), 7, @@ -8460,7 +8799,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(142), 12, + STATE(122), 12, sym_variable_definition, sym_tuple_assignment, sym_function_call_assignment, @@ -8473,35 +8812,36 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [6054] = 16, + [6452] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(116), 1, - anon_sym_LPAREN, + ACTIONS(114), 1, + anon_sym_LBRACE, ACTIONS(118), 1, - anon_sym_return, + anon_sym_LPAREN, ACTIONS(120), 1, - anon_sym_require, + anon_sym_return, ACTIONS(122), 1, - anon_sym_if, + anon_sym_require, ACTIONS(124), 1, - anon_sym_for, + anon_sym_if, ACTIONS(126), 1, - anon_sym_console_DOTlog, + anon_sym_for, ACTIONS(128), 1, + anon_sym_console_DOTlog, + ACTIONS(130), 1, sym_identifier, ACTIONS(179), 1, - anon_sym_LBRACE, - STATE(130), 1, - sym_statement, - STATE(141), 1, - sym_block, - STATE(201), 1, + anon_sym_RBRACE, + STATE(208), 1, sym_base_type, - STATE(222), 1, + STATE(228), 1, sym_type_name, - STATE(394), 1, + STATE(316), 1, sym_function_call, + STATE(60), 2, + sym_statement, + aux_sym_function_definition_repeat2, ACTIONS(27), 7, anon_sym_int, anon_sym_bool, @@ -8510,7 +8850,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(142), 12, + STATE(122), 12, sym_variable_definition, sym_tuple_assignment, sym_function_call_assignment, @@ -8523,35 +8863,36 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [6120] = 16, + [6519] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(116), 1, - anon_sym_LPAREN, + ACTIONS(114), 1, + anon_sym_LBRACE, ACTIONS(118), 1, - anon_sym_return, + anon_sym_LPAREN, ACTIONS(120), 1, - anon_sym_require, + anon_sym_return, ACTIONS(122), 1, - anon_sym_if, + anon_sym_require, ACTIONS(124), 1, - anon_sym_for, + anon_sym_if, ACTIONS(126), 1, - anon_sym_console_DOTlog, + anon_sym_for, ACTIONS(128), 1, + anon_sym_console_DOTlog, + ACTIONS(130), 1, sym_identifier, - ACTIONS(179), 1, - anon_sym_LBRACE, - STATE(129), 1, - sym_block, - STATE(130), 1, - sym_statement, - STATE(201), 1, + ACTIONS(173), 1, + anon_sym_RBRACE, + STATE(208), 1, sym_base_type, - STATE(222), 1, + STATE(228), 1, sym_type_name, - STATE(394), 1, + STATE(316), 1, sym_function_call, + STATE(51), 2, + sym_statement, + aux_sym_function_definition_repeat2, ACTIONS(27), 7, anon_sym_int, anon_sym_bool, @@ -8560,7 +8901,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(142), 12, + STATE(122), 12, sym_variable_definition, sym_tuple_assignment, sym_function_call_assignment, @@ -8573,34 +8914,34 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [6186] = 16, + [6586] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(116), 1, - anon_sym_LPAREN, ACTIONS(118), 1, - anon_sym_return, + anon_sym_LPAREN, ACTIONS(120), 1, - anon_sym_require, + anon_sym_return, ACTIONS(122), 1, - anon_sym_if, + anon_sym_require, ACTIONS(124), 1, - anon_sym_for, + anon_sym_if, ACTIONS(126), 1, - anon_sym_console_DOTlog, + anon_sym_for, ACTIONS(128), 1, + anon_sym_console_DOTlog, + ACTIONS(130), 1, sym_identifier, - ACTIONS(179), 1, + ACTIONS(181), 1, anon_sym_LBRACE, - STATE(124), 1, + STATE(131), 1, sym_block, - STATE(130), 1, + STATE(132), 1, sym_statement, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(222), 1, + STATE(228), 1, sym_type_name, - STATE(394), 1, + STATE(316), 1, sym_function_call, ACTIONS(27), 7, anon_sym_int, @@ -8610,7 +8951,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(142), 12, + STATE(122), 12, sym_variable_definition, sym_tuple_assignment, sym_function_call_assignment, @@ -8623,23 +8964,23 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [6252] = 6, + [6652] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(185), 1, + ACTIONS(187), 1, anon_sym_DASH, - ACTIONS(188), 1, + ACTIONS(190), 1, anon_sym_BANG, - STATE(62), 2, + STATE(64), 2, sym_unary_op, aux_sym_unary_repeat1, - ACTIONS(181), 5, + ACTIONS(183), 5, sym_output_root, sym_input_root, sym_number, anon_sym_this_DOTscriptSize, sym_identifier, - ACTIONS(183), 23, + ACTIONS(185), 23, anon_sym_LBRACE, anon_sym_LPAREN, anon_sym_LBRACK, @@ -8663,23 +9004,123 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - [6298] = 6, + [6698] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(118), 1, + anon_sym_LPAREN, + ACTIONS(120), 1, + anon_sym_return, + ACTIONS(122), 1, + anon_sym_require, + ACTIONS(124), 1, + anon_sym_if, + ACTIONS(126), 1, + anon_sym_for, + ACTIONS(128), 1, + anon_sym_console_DOTlog, + ACTIONS(130), 1, + sym_identifier, + ACTIONS(181), 1, + anon_sym_LBRACE, + STATE(132), 1, + sym_statement, + STATE(145), 1, + sym_block, + STATE(208), 1, + sym_base_type, + STATE(228), 1, + sym_type_name, + STATE(316), 1, + sym_function_call, + ACTIONS(27), 7, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + STATE(122), 12, + sym_variable_definition, + sym_tuple_assignment, + sym_function_call_assignment, + sym_state_function_call_assignment, + sym_call_statement, + sym_return_statement, + sym_assign_statement, + sym_time_op_statement, + sym_require_statement, + sym_if_statement, + sym_for_statement, + sym_console_statement, + [6764] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(118), 1, + anon_sym_LPAREN, + ACTIONS(120), 1, + anon_sym_return, + ACTIONS(122), 1, + anon_sym_require, + ACTIONS(124), 1, + anon_sym_if, + ACTIONS(126), 1, + anon_sym_for, + ACTIONS(128), 1, + anon_sym_console_DOTlog, + ACTIONS(130), 1, + sym_identifier, + ACTIONS(181), 1, + anon_sym_LBRACE, + STATE(132), 1, + sym_statement, + STATE(151), 1, + sym_block, + STATE(208), 1, + sym_base_type, + STATE(228), 1, + sym_type_name, + STATE(316), 1, + sym_function_call, + ACTIONS(27), 7, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + STATE(122), 12, + sym_variable_definition, + sym_tuple_assignment, + sym_function_call_assignment, + sym_state_function_call_assignment, + sym_call_statement, + sym_return_statement, + sym_assign_statement, + sym_time_op_statement, + sym_require_statement, + sym_if_statement, + sym_for_statement, + sym_console_statement, + [6830] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(195), 1, anon_sym_LPAREN, - ACTIONS(198), 1, + ACTIONS(200), 1, anon_sym_LBRACK, - STATE(72), 1, + STATE(85), 1, sym_expression_list, - ACTIONS(196), 6, + ACTIONS(198), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(191), 21, + ACTIONS(193), 22, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -8696,22 +9137,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [6342] = 3, + [6875] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(201), 6, + ACTIONS(203), 6, anon_sym_DASH, sym_output_root, sym_input_root, sym_number, anon_sym_this_DOTscriptSize, sym_identifier, - ACTIONS(203), 24, + ACTIONS(205), 24, anon_sym_LBRACE, anon_sym_LPAREN, anon_sym_BANG, @@ -8736,17 +9178,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - [6380] = 3, + [6913] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(207), 6, + ACTIONS(209), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(205), 22, + ACTIONS(207), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -8764,22 +9206,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [6416] = 3, + [6950] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(211), 6, + ACTIONS(213), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(209), 22, + ACTIONS(211), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -8797,22 +9240,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [6452] = 3, + [6987] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(215), 6, + ACTIONS(217), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(213), 22, + ACTIONS(215), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -8830,22 +9274,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [6488] = 3, + [7024] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(219), 6, + ACTIONS(221), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(217), 22, + ACTIONS(219), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -8863,22 +9308,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [6524] = 3, + [7061] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(223), 6, + ACTIONS(225), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(221), 22, + ACTIONS(223), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -8896,22 +9342,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [6560] = 3, + [7098] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(227), 6, + ACTIONS(229), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(225), 22, + ACTIONS(227), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -8929,22 +9376,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [6596] = 3, + [7135] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(231), 6, + ACTIONS(233), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(229), 22, + ACTIONS(231), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -8962,22 +9410,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [6632] = 3, + [7172] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(235), 6, + ACTIONS(237), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(233), 22, + ACTIONS(235), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -8995,22 +9444,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [6668] = 3, + [7209] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(239), 6, + ACTIONS(241), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(237), 22, + ACTIONS(239), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9028,22 +9478,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [6704] = 3, + [7246] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(243), 6, + ACTIONS(245), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(241), 22, + ACTIONS(243), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9061,22 +9512,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [6740] = 3, + [7283] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(247), 6, + ACTIONS(249), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(245), 22, + ACTIONS(247), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9094,22 +9546,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [6776] = 3, + [7320] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(251), 6, + ACTIONS(253), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(249), 22, + ACTIONS(251), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9127,22 +9580,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [6812] = 3, + [7357] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(255), 6, + ACTIONS(257), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(253), 22, + ACTIONS(255), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9160,22 +9614,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [6848] = 3, + [7394] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(259), 6, + ACTIONS(261), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(257), 22, + ACTIONS(259), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9193,22 +9648,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [6884] = 3, + [7431] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(263), 6, + ACTIONS(265), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(261), 22, + ACTIONS(263), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9226,22 +9682,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [6920] = 3, + [7468] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(267), 6, + ACTIONS(269), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(265), 22, + ACTIONS(267), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9259,22 +9716,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [6956] = 3, + [7505] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(271), 6, + ACTIONS(273), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(269), 22, + ACTIONS(271), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9292,22 +9750,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [6992] = 3, + [7542] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(275), 6, + ACTIONS(277), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(273), 22, + ACTIONS(275), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9325,22 +9784,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [7028] = 3, + [7579] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(279), 6, + ACTIONS(281), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(277), 22, + ACTIONS(279), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9358,22 +9818,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [7064] = 3, + [7616] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(283), 6, + ACTIONS(198), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(281), 22, + ACTIONS(193), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9391,22 +9852,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [7100] = 3, + [7653] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(287), 6, + ACTIONS(285), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(285), 22, + ACTIONS(283), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9424,22 +9886,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [7136] = 3, + [7690] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(291), 6, + ACTIONS(289), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(289), 22, + ACTIONS(287), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9457,22 +9920,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [7172] = 3, + [7727] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(295), 6, + ACTIONS(293), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(293), 22, + ACTIONS(291), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9490,22 +9954,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [7208] = 3, + [7764] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(299), 6, + ACTIONS(297), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(297), 22, + ACTIONS(295), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9523,22 +9988,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [7244] = 3, + [7801] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(303), 6, + ACTIONS(301), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(301), 22, + ACTIONS(299), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9556,22 +10022,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [7280] = 3, + [7838] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(307), 6, + ACTIONS(305), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(305), 22, + ACTIONS(303), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9589,22 +10056,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [7316] = 3, + [7875] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(311), 6, + ACTIONS(309), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(309), 22, + ACTIONS(307), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9622,22 +10090,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [7352] = 3, + [7912] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(315), 6, + ACTIONS(313), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(313), 22, + ACTIONS(311), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9655,22 +10124,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [7388] = 3, + [7949] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(319), 6, + ACTIONS(317), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(317), 22, + ACTIONS(315), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9688,22 +10158,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [7424] = 3, + [7986] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(323), 6, + ACTIONS(321), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(321), 22, + ACTIONS(319), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9721,22 +10192,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [7460] = 3, + [8023] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(196), 6, + ACTIONS(325), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(191), 22, + ACTIONS(323), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9754,22 +10226,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [7496] = 3, + [8060] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(327), 6, + ACTIONS(329), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(325), 22, + ACTIONS(327), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9787,22 +10260,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [7532] = 3, + [8097] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(331), 6, + ACTIONS(333), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(329), 22, + ACTIONS(331), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9820,22 +10294,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [7568] = 3, + [8134] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(335), 6, + ACTIONS(337), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(333), 22, + ACTIONS(335), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9853,22 +10328,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [7604] = 3, + [8171] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(339), 6, + ACTIONS(341), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(337), 22, + ACTIONS(339), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9886,22 +10362,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [7640] = 3, + [8208] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(343), 6, + ACTIONS(345), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(341), 22, + ACTIONS(343), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9919,22 +10396,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [7676] = 3, + [8245] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(347), 6, + ACTIONS(349), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(345), 22, + ACTIONS(347), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9952,22 +10430,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [7712] = 3, + [8282] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 6, + ACTIONS(353), 6, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, - ACTIONS(349), 22, + ACTIONS(351), 23, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -9985,78 +10464,73 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_LBRACK, anon_sym_RBRACK, + sym_tuple_field_access, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTappend, anon_sym_DOTreverse, - [7748] = 13, + [8319] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, - sym_identifier, ACTIONS(355), 1, - anon_sym_RBRACE, - ACTIONS(357), 1, - anon_sym_struct, - ACTIONS(359), 1, - anon_sym_entrypoint, - ACTIONS(361), 1, - anon_sym_function, - ACTIONS(363), 1, - sym_attribute, - STATE(201), 1, - sym_base_type, - STATE(219), 1, - aux_sym_function_definition_repeat1, - STATE(294), 1, - sym_type_name, - STATE(104), 2, - sym_contract_item, - aux_sym_contract_definition_repeat1, - STATE(165), 4, - sym_struct_definition, - sym_function_definition, - sym_constant_definition, - sym_contract_field_definition, - ACTIONS(27), 7, - anon_sym_int, - anon_sym_bool, - anon_sym_string, - anon_sym_pubkey, - anon_sym_sig, - anon_sym_datasig, - anon_sym_byte, - [7798] = 13, + anon_sym_SEMI, + ACTIONS(277), 6, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_DOT, + ACTIONS(275), 18, + anon_sym_GT_EQ, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LBRACK, + sym_tuple_field_access, + sym_unary_suffix, + anon_sym_DOTsplit, + anon_sym_DOTslice, + anon_sym_DOTappend, + anon_sym_DOTreverse, + [8354] = 13, ACTIONS(3), 1, sym_comment, - ACTIONS(365), 1, + ACTIONS(358), 1, sym_identifier, - ACTIONS(368), 1, + ACTIONS(361), 1, anon_sym_RBRACE, - ACTIONS(370), 1, + ACTIONS(363), 1, anon_sym_struct, - ACTIONS(373), 1, + ACTIONS(366), 1, anon_sym_entrypoint, - ACTIONS(376), 1, + ACTIONS(369), 1, anon_sym_function, - ACTIONS(382), 1, + ACTIONS(375), 1, sym_attribute, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(219), 1, + STATE(230), 1, aux_sym_function_definition_repeat1, - STATE(294), 1, + STATE(313), 1, sym_type_name, - STATE(104), 2, + STATE(108), 2, sym_contract_item, aux_sym_contract_definition_repeat1, - STATE(165), 4, + STATE(174), 4, sym_struct_definition, sym_function_definition, sym_constant_definition, sym_contract_field_definition, - ACTIONS(379), 7, + ACTIONS(372), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -10064,22 +10538,52 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [7848] = 6, + [8404] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(384), 1, + anon_sym_SLASH, + STATE(110), 1, + aux_sym_factor_repeat1, + ACTIONS(382), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(380), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + ACTIONS(378), 14, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_GT_EQ, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_RBRACK, + [8440] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(391), 1, + ACTIONS(384), 1, anon_sym_SLASH, - STATE(108), 1, + STATE(112), 1, aux_sym_factor_repeat1, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(387), 4, + ACTIONS(388), 4, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, - ACTIONS(385), 14, + ACTIONS(386), 14, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -10094,31 +10598,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS, anon_sym_DASH, anon_sym_RBRACK, - [7884] = 13, + [8476] = 13, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, + ACTIONS(390), 1, sym_identifier, - ACTIONS(357), 1, + ACTIONS(392), 1, + anon_sym_RBRACE, + ACTIONS(394), 1, anon_sym_struct, - ACTIONS(359), 1, + ACTIONS(396), 1, anon_sym_entrypoint, - ACTIONS(361), 1, + ACTIONS(398), 1, anon_sym_function, - ACTIONS(363), 1, + ACTIONS(400), 1, sym_attribute, - ACTIONS(393), 1, - anon_sym_RBRACE, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(219), 1, + STATE(230), 1, aux_sym_function_definition_repeat1, - STATE(294), 1, + STATE(313), 1, sym_type_name, - STATE(103), 2, + STATE(113), 2, sym_contract_item, aux_sym_contract_definition_repeat1, - STATE(165), 4, + STATE(174), 4, sym_struct_definition, sym_function_definition, sym_constant_definition, @@ -10131,22 +10635,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [7934] = 6, + [8526] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(391), 1, + ACTIONS(409), 1, anon_sym_SLASH, - STATE(105), 1, + STATE(112), 1, aux_sym_factor_repeat1, - ACTIONS(389), 2, + ACTIONS(406), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(397), 4, + ACTIONS(404), 4, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, - ACTIONS(395), 14, + ACTIONS(402), 14, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -10161,46 +10665,53 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS, anon_sym_DASH, anon_sym_RBRACK, - [7970] = 6, + [8562] = 13, ACTIONS(3), 1, sym_comment, - ACTIONS(406), 1, - anon_sym_SLASH, - STATE(108), 1, - aux_sym_factor_repeat1, - ACTIONS(403), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(401), 4, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_LT, - anon_sym_GT, - ACTIONS(399), 14, - anon_sym_SEMI, + ACTIONS(390), 1, + sym_identifier, + ACTIONS(394), 1, + anon_sym_struct, + ACTIONS(396), 1, + anon_sym_entrypoint, + ACTIONS(398), 1, + anon_sym_function, + ACTIONS(400), 1, + sym_attribute, + ACTIONS(412), 1, anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_GT_EQ, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_RBRACK, - [8006] = 3, + STATE(208), 1, + sym_base_type, + STATE(230), 1, + aux_sym_function_definition_repeat1, + STATE(313), 1, + sym_type_name, + STATE(108), 2, + sym_contract_item, + aux_sym_contract_definition_repeat1, + STATE(174), 4, + sym_struct_definition, + sym_function_definition, + sym_constant_definition, + sym_contract_field_definition, + ACTIONS(27), 7, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + [8612] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(411), 5, + ACTIONS(416), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, - ACTIONS(409), 16, + ACTIONS(414), 16, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -10217,16 +10728,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_RBRACK, - [8035] = 3, + [8641] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(401), 5, + ACTIONS(420), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, - ACTIONS(399), 16, + ACTIONS(418), 16, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -10243,16 +10754,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_RBRACK, - [8064] = 3, + [8670] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(415), 5, + ACTIONS(404), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, - ACTIONS(413), 16, + ACTIONS(402), 16, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -10269,20 +10780,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_RBRACK, - [8093] = 5, + [8699] = 5, ACTIONS(3), 1, sym_comment, - STATE(113), 1, + STATE(117), 1, aux_sym_term_repeat1, - ACTIONS(421), 2, + ACTIONS(426), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(419), 4, + ACTIONS(424), 4, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, - ACTIONS(417), 12, + ACTIONS(422), 12, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -10295,20 +10806,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_RBRACK, - [8124] = 5, + [8730] = 5, ACTIONS(3), 1, sym_comment, - STATE(113), 1, + STATE(117), 1, aux_sym_term_repeat1, - ACTIONS(427), 2, + ACTIONS(433), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(425), 4, + ACTIONS(431), 4, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, - ACTIONS(423), 12, + ACTIONS(429), 12, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -10321,20 +10832,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_RBRACK, - [8155] = 5, + [8761] = 5, ACTIONS(3), 1, sym_comment, - STATE(112), 1, + STATE(118), 1, aux_sym_term_repeat1, - ACTIONS(421), 2, + ACTIONS(433), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(432), 4, + ACTIONS(437), 4, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, - ACTIONS(430), 12, + ACTIONS(435), 12, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -10347,15 +10858,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_RBRACK, - [8186] = 3, + [8792] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(425), 4, + ACTIONS(424), 4, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, - ACTIONS(423), 14, + ACTIONS(422), 14, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -10370,12 +10881,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS, anon_sym_DASH, anon_sym_RBRACK, - [8212] = 3, + [8818] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(434), 1, + ACTIONS(439), 1, sym_identifier, - ACTIONS(436), 16, + ACTIONS(441), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10392,12 +10903,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8237] = 3, + [8843] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(438), 1, + ACTIONS(443), 1, sym_identifier, - ACTIONS(440), 16, + ACTIONS(445), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10414,37 +10925,56 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8262] = 6, + [8868] = 3, ACTIONS(3), 1, sym_comment, - STATE(121), 1, - aux_sym_comparison_repeat1, - ACTIONS(444), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(446), 2, - anon_sym_PIPE, - anon_sym_AMP, - ACTIONS(448), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(442), 10, - anon_sym_SEMI, + ACTIONS(447), 1, + sym_identifier, + ACTIONS(449), 16, + anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_RBRACK, - [8293] = 3, + anon_sym_LPAREN, + anon_sym_return, + anon_sym_require, + anon_sym_if, + anon_sym_else, + anon_sym_for, + anon_sym_console_DOTlog, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + [8893] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(451), 1, + sym_identifier, + ACTIONS(453), 16, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_return, + anon_sym_require, + anon_sym_if, + anon_sym_else, + anon_sym_for, + anon_sym_console_DOTlog, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + [8918] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(450), 1, + ACTIONS(455), 1, sym_identifier, - ACTIONS(452), 16, + ACTIONS(457), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10461,12 +10991,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8318] = 3, + [8943] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(454), 1, + ACTIONS(459), 1, sym_identifier, - ACTIONS(456), 16, + ACTIONS(461), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10483,21 +11013,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8343] = 6, + [8968] = 6, ACTIONS(3), 1, sym_comment, - STATE(121), 1, + STATE(140), 1, aux_sym_comparison_repeat1, - ACTIONS(460), 2, + ACTIONS(465), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(463), 2, + ACTIONS(467), 2, anon_sym_PIPE, anon_sym_AMP, - ACTIONS(465), 2, + ACTIONS(469), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(458), 10, + ACTIONS(463), 10, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -10508,12 +11038,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_RBRACK, - [8374] = 3, + [8999] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(468), 1, + ACTIONS(471), 1, sym_identifier, - ACTIONS(470), 16, + ACTIONS(473), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10530,12 +11060,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8399] = 3, + [9024] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(472), 1, + ACTIONS(475), 1, sym_identifier, - ACTIONS(474), 16, + ACTIONS(477), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10552,12 +11082,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8424] = 3, + [9049] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(476), 1, + ACTIONS(479), 1, sym_identifier, - ACTIONS(478), 16, + ACTIONS(481), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10574,44 +11104,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8449] = 6, - ACTIONS(3), 1, - sym_comment, - STATE(118), 1, - aux_sym_comparison_repeat1, - ACTIONS(444), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(448), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(482), 2, - anon_sym_PIPE, - anon_sym_AMP, - ACTIONS(480), 10, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_RBRACK, - [8480] = 3, + [9074] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(484), 1, + ACTIONS(483), 1, sym_identifier, - ACTIONS(486), 16, + ACTIONS(487), 1, + anon_sym_else, + ACTIONS(485), 15, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, anon_sym_return, anon_sym_require, anon_sym_if, - anon_sym_else, anon_sym_for, anon_sym_console_DOTlog, anon_sym_int, @@ -10621,12 +11127,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8505] = 3, + [9101] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(488), 1, + ACTIONS(489), 1, sym_identifier, - ACTIONS(490), 16, + ACTIONS(491), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10643,12 +11149,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8530] = 3, + [9126] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(492), 1, + ACTIONS(493), 1, sym_identifier, - ACTIONS(494), 16, + ACTIONS(495), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10665,20 +11171,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8555] = 4, + [9151] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(496), 1, + ACTIONS(497), 1, sym_identifier, - ACTIONS(500), 1, - anon_sym_else, - ACTIONS(498), 15, + ACTIONS(499), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, anon_sym_return, anon_sym_require, anon_sym_if, + anon_sym_else, anon_sym_for, anon_sym_console_DOTlog, anon_sym_int, @@ -10688,12 +11193,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8582] = 3, + [9176] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(502), 1, + ACTIONS(501), 1, sym_identifier, - ACTIONS(504), 16, + ACTIONS(503), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10710,12 +11215,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8607] = 3, + [9201] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(506), 1, + ACTIONS(505), 1, sym_identifier, - ACTIONS(508), 16, + ACTIONS(507), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10732,12 +11237,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8632] = 3, + [9226] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(510), 1, + ACTIONS(509), 1, sym_identifier, - ACTIONS(512), 16, + ACTIONS(511), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10754,12 +11259,37 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8657] = 3, + [9251] = 6, + ACTIONS(3), 1, + sym_comment, + STATE(138), 1, + aux_sym_comparison_repeat1, + ACTIONS(515), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(518), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(520), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(513), 10, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_RBRACK, + [9282] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(514), 1, + ACTIONS(523), 1, sym_identifier, - ACTIONS(516), 16, + ACTIONS(525), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10776,12 +11306,37 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8682] = 3, + [9307] = 6, + ACTIONS(3), 1, + sym_comment, + STATE(138), 1, + aux_sym_comparison_repeat1, + ACTIONS(465), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(469), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(529), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(527), 10, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_RBRACK, + [9338] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(518), 1, + ACTIONS(531), 1, sym_identifier, - ACTIONS(520), 16, + ACTIONS(533), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10798,12 +11353,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8707] = 3, + [9363] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(522), 1, + ACTIONS(535), 1, sym_identifier, - ACTIONS(524), 16, + ACTIONS(537), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10820,12 +11375,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8732] = 3, + [9388] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(526), 1, + ACTIONS(539), 1, sym_identifier, - ACTIONS(528), 16, + ACTIONS(541), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10842,12 +11397,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8757] = 3, + [9413] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(530), 1, + ACTIONS(543), 1, sym_identifier, - ACTIONS(532), 16, + ACTIONS(545), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10864,12 +11419,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8782] = 3, + [9438] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(534), 1, + ACTIONS(547), 1, sym_identifier, - ACTIONS(536), 16, + ACTIONS(549), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10886,12 +11441,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8807] = 3, + [9463] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(538), 1, + ACTIONS(551), 1, sym_identifier, - ACTIONS(540), 16, + ACTIONS(553), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10908,12 +11463,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8832] = 3, + [9488] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(542), 1, + ACTIONS(555), 1, sym_identifier, - ACTIONS(544), 16, + ACTIONS(557), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10930,12 +11485,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8857] = 3, + [9513] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(546), 1, + ACTIONS(559), 1, sym_identifier, - ACTIONS(548), 16, + ACTIONS(561), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10952,12 +11507,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8882] = 3, + [9538] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(550), 1, + ACTIONS(563), 1, sym_identifier, - ACTIONS(552), 16, + ACTIONS(565), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10974,12 +11529,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8907] = 3, + [9563] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(554), 1, + ACTIONS(567), 1, sym_identifier, - ACTIONS(556), 16, + ACTIONS(569), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10996,12 +11551,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8932] = 3, + [9588] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(558), 1, + ACTIONS(571), 1, sym_identifier, - ACTIONS(560), 16, + ACTIONS(573), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -11018,15 +11573,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8957] = 3, + [9613] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(463), 4, + ACTIONS(518), 4, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT, anon_sym_GT, - ACTIONS(458), 12, + ACTIONS(513), 12, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -11039,30 +11594,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_RBRACK, - [8981] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(562), 1, - sym_identifier, - ACTIONS(564), 12, - anon_sym_RBRACE, - anon_sym_struct, - anon_sym_entrypoint, - anon_sym_function, - anon_sym_int, - anon_sym_bool, - anon_sym_string, - anon_sym_pubkey, - anon_sym_sig, - anon_sym_datasig, - anon_sym_byte, - sym_attribute, - [9002] = 3, + [9637] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(566), 1, + ACTIONS(575), 1, sym_identifier, - ACTIONS(568), 12, + ACTIONS(577), 12, anon_sym_RBRACE, anon_sym_struct, anon_sym_entrypoint, @@ -11075,16 +11612,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_datasig, anon_sym_byte, sym_attribute, - [9023] = 3, + [9658] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(570), 1, + ACTIONS(390), 1, sym_identifier, - ACTIONS(572), 12, + ACTIONS(579), 1, anon_sym_RBRACE, - anon_sym_struct, - anon_sym_entrypoint, - anon_sym_function, + STATE(208), 1, + sym_base_type, + STATE(330), 1, + sym_type_name, + STATE(161), 2, + sym_struct_field_definition, + aux_sym_struct_definition_repeat1, + ACTIONS(27), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11092,51 +11634,37 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - sym_attribute, - [9044] = 3, + [9687] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(574), 1, + ACTIONS(31), 1, + sym_number, + ACTIONS(35), 1, + anon_sym_date, + ACTIONS(581), 1, sym_identifier, - ACTIONS(576), 12, - anon_sym_RBRACE, - anon_sym_struct, - anon_sym_entrypoint, - anon_sym_function, - anon_sym_int, - anon_sym_bool, - anon_sym_string, - anon_sym_pubkey, - anon_sym_sig, - anon_sym_datasig, - anon_sym_byte, - sym_attribute, - [9065] = 5, - ACTIONS(3), 1, - sym_comment, - STATE(168), 1, - aux_sym_equality_repeat1, - ACTIONS(580), 2, - anon_sym_PIPE, - anon_sym_AMP, - ACTIONS(582), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(578), 8, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, + ACTIONS(583), 1, anon_sym_RPAREN, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_RBRACK, - [9090] = 3, + STATE(285), 1, + sym_console_parameter, + STATE(307), 1, + sym_literal, + ACTIONS(29), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(33), 2, + sym_string_literal, + sym_hex_literal, + STATE(71), 3, + sym_boolean_literal, + sym_number_literal, + sym_date_literal, + [9722] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(584), 1, + ACTIONS(585), 1, sym_identifier, - ACTIONS(586), 12, + ACTIONS(587), 12, anon_sym_RBRACE, anon_sym_struct, anon_sym_entrypoint, @@ -11149,62 +11677,37 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_datasig, anon_sym_byte, sym_attribute, - [9111] = 10, + [9743] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(31), 1, sym_number, ACTIONS(35), 1, anon_sym_date, - ACTIONS(588), 1, + ACTIONS(581), 1, sym_identifier, - ACTIONS(590), 1, + ACTIONS(589), 1, anon_sym_RPAREN, - STATE(230), 1, + STATE(285), 1, sym_console_parameter, - STATE(284), 1, - sym_literal, - ACTIONS(29), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(33), 2, - sym_string_literal, - sym_hex_literal, - STATE(80), 3, - sym_boolean_literal, - sym_number_literal, - sym_date_literal, - [9146] = 10, - ACTIONS(3), 1, - sym_comment, - ACTIONS(31), 1, - sym_number, - ACTIONS(35), 1, - anon_sym_date, - ACTIONS(588), 1, - sym_identifier, - ACTIONS(592), 1, - anon_sym_RPAREN, - STATE(284), 1, + STATE(307), 1, sym_literal, - STATE(287), 1, - sym_console_parameter, ACTIONS(29), 2, anon_sym_true, anon_sym_false, ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - [9181] = 3, + [9778] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(594), 1, + ACTIONS(591), 1, sym_identifier, - ACTIONS(596), 12, + ACTIONS(593), 12, anon_sym_RBRACE, anon_sym_struct, anon_sym_entrypoint, @@ -11217,34 +11720,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_datasig, anon_sym_byte, sym_attribute, - [9202] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(598), 1, - sym_identifier, - ACTIONS(601), 1, - anon_sym_RBRACE, - STATE(201), 1, - sym_base_type, - STATE(350), 1, - sym_type_name, - STATE(155), 2, - sym_struct_field_definition, - aux_sym_struct_definition_repeat1, - ACTIONS(603), 7, - anon_sym_int, - anon_sym_bool, - anon_sym_string, - anon_sym_pubkey, - anon_sym_sig, - anon_sym_datasig, - anon_sym_byte, - [9231] = 3, + [9799] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(606), 1, + ACTIONS(595), 1, sym_identifier, - ACTIONS(608), 12, + ACTIONS(597), 12, anon_sym_RBRACE, anon_sym_struct, anon_sym_entrypoint, @@ -11257,12 +11738,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_datasig, anon_sym_byte, sym_attribute, - [9252] = 3, + [9820] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(610), 1, + ACTIONS(599), 1, sym_identifier, - ACTIONS(612), 12, + ACTIONS(601), 12, anon_sym_RBRACE, anon_sym_struct, anon_sym_entrypoint, @@ -11275,18 +11756,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_datasig, anon_sym_byte, sym_attribute, - [9273] = 7, + [9841] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, + ACTIONS(390), 1, sym_identifier, - ACTIONS(614), 1, + ACTIONS(603), 1, anon_sym_RBRACE, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(350), 1, + STATE(330), 1, sym_type_name, - STATE(164), 2, + STATE(170), 2, sym_struct_field_definition, aux_sym_struct_definition_repeat1, ACTIONS(27), 7, @@ -11297,12 +11778,52 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9302] = 3, + [9870] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(162), 1, + aux_sym_equality_repeat1, + ACTIONS(607), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(609), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(605), 8, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_RBRACK, + [9895] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(162), 1, + aux_sym_equality_repeat1, + ACTIONS(614), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(616), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(612), 8, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_RBRACK, + [9920] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(616), 1, + ACTIONS(618), 1, sym_identifier, - ACTIONS(618), 12, + ACTIONS(620), 12, anon_sym_RBRACE, anon_sym_struct, anon_sym_entrypoint, @@ -11315,37 +11836,57 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_datasig, anon_sym_byte, sym_attribute, - [9323] = 10, + [9941] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(31), 1, sym_number, ACTIONS(35), 1, anon_sym_date, - ACTIONS(588), 1, + ACTIONS(581), 1, sym_identifier, - ACTIONS(620), 1, + ACTIONS(622), 1, anon_sym_RPAREN, - STATE(284), 1, - sym_literal, - STATE(287), 1, + STATE(246), 1, sym_console_parameter, + STATE(307), 1, + sym_literal, ACTIONS(29), 2, anon_sym_true, anon_sym_false, ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - [9358] = 3, + [9976] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(622), 1, + STATE(163), 1, + aux_sym_equality_repeat1, + ACTIONS(616), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(626), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(624), 8, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_RBRACK, + [10001] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(628), 1, sym_identifier, - ACTIONS(624), 12, + ACTIONS(630), 12, anon_sym_RBRACE, anon_sym_struct, anon_sym_entrypoint, @@ -11358,12 +11899,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_datasig, anon_sym_byte, sym_attribute, - [9379] = 3, + [10022] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(626), 1, + ACTIONS(632), 1, sym_identifier, - ACTIONS(628), 12, + ACTIONS(634), 12, anon_sym_RBRACE, anon_sym_struct, anon_sym_entrypoint, @@ -11376,12 +11917,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_datasig, anon_sym_byte, sym_attribute, - [9400] = 3, + [10043] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(630), 1, + ACTIONS(636), 1, sym_identifier, - ACTIONS(632), 12, + ACTIONS(638), 12, anon_sym_RBRACE, anon_sym_struct, anon_sym_entrypoint, @@ -11394,21 +11935,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_datasig, anon_sym_byte, sym_attribute, - [9421] = 7, + [10064] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, + ACTIONS(640), 1, sym_identifier, - ACTIONS(634), 1, + ACTIONS(643), 1, anon_sym_RBRACE, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(350), 1, + STATE(330), 1, sym_type_name, - STATE(155), 2, + STATE(170), 2, sym_struct_field_definition, aux_sym_struct_definition_repeat1, - ACTIONS(27), 7, + ACTIONS(645), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11416,12 +11957,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9450] = 3, + [10093] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(636), 1, + ACTIONS(648), 1, sym_identifier, - ACTIONS(638), 12, + ACTIONS(650), 12, anon_sym_RBRACE, anon_sym_struct, anon_sym_entrypoint, @@ -11434,32 +11975,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_datasig, anon_sym_byte, sym_attribute, - [9471] = 5, - ACTIONS(3), 1, - sym_comment, - STATE(166), 1, - aux_sym_equality_repeat1, - ACTIONS(642), 2, - anon_sym_PIPE, - anon_sym_AMP, - ACTIONS(644), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(640), 8, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_RBRACK, - [9496] = 3, + [10114] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(647), 1, + ACTIONS(652), 1, sym_identifier, - ACTIONS(649), 12, + ACTIONS(654), 12, anon_sym_RBRACE, anon_sym_struct, anon_sym_entrypoint, @@ -11472,57 +11993,52 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_datasig, anon_sym_byte, sym_attribute, - [9517] = 5, - ACTIONS(3), 1, - sym_comment, - STATE(166), 1, - aux_sym_equality_repeat1, - ACTIONS(582), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(653), 2, - anon_sym_PIPE, - anon_sym_AMP, - ACTIONS(651), 8, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_RBRACK, - [9542] = 3, + [10135] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(642), 2, - anon_sym_PIPE, - anon_sym_AMP, - ACTIONS(640), 10, - anon_sym_SEMI, + ACTIONS(656), 1, + sym_identifier, + ACTIONS(658), 12, anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_RBRACK, - [9562] = 7, + anon_sym_struct, + anon_sym_entrypoint, + anon_sym_function, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + sym_attribute, + [10156] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, + ACTIONS(660), 1, sym_identifier, - ACTIONS(655), 1, - anon_sym_RPAREN, - STATE(201), 1, - sym_base_type, - STATE(289), 1, - sym_parameter, - STATE(402), 1, - sym_type_name, - ACTIONS(27), 7, + ACTIONS(662), 12, + anon_sym_RBRACE, + anon_sym_struct, + anon_sym_entrypoint, + anon_sym_function, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + sym_attribute, + [10177] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(664), 1, + sym_identifier, + ACTIONS(666), 12, + anon_sym_RBRACE, + anon_sym_struct, + anon_sym_entrypoint, + anon_sym_function, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11530,18 +12046,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9590] = 7, + sym_attribute, + [10198] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, + ACTIONS(390), 1, sym_identifier, - ACTIONS(657), 1, + ACTIONS(668), 1, anon_sym_RPAREN, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(243), 1, - sym_parameter, - STATE(402), 1, + STATE(303), 1, + sym_typed_binding, + STATE(378), 1, sym_type_name, ACTIONS(27), 7, anon_sym_int, @@ -11551,41 +12068,58 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9618] = 9, + [10226] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(31), 1, sym_number, ACTIONS(35), 1, anon_sym_date, - ACTIONS(588), 1, + ACTIONS(581), 1, sym_identifier, - STATE(284), 1, - sym_literal, - STATE(287), 1, + STATE(285), 1, sym_console_parameter, + STATE(307), 1, + sym_literal, ACTIONS(29), 2, anon_sym_true, anon_sym_false, ACTIONS(33), 2, sym_string_literal, sym_hex_literal, - STATE(80), 3, + STATE(71), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - [9650] = 7, + [10258] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(607), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(605), 10, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_RBRACK, + [10278] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, + ACTIONS(390), 1, sym_identifier, - ACTIONS(659), 1, + ACTIONS(670), 1, anon_sym_RPAREN, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(258), 1, - sym_typed_binding, - STATE(371), 1, + STATE(298), 1, + sym_parameter, + STATE(334), 1, sym_type_name, ACTIONS(27), 7, anon_sym_int, @@ -11595,18 +12129,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9678] = 7, + [10306] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, + ACTIONS(390), 1, sym_identifier, - ACTIONS(661), 1, + ACTIONS(672), 1, anon_sym_RPAREN, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(258), 1, - sym_typed_binding, - STATE(371), 1, + STATE(298), 1, + sym_parameter, + STATE(334), 1, sym_type_name, ACTIONS(27), 7, anon_sym_int, @@ -11616,18 +12150,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9706] = 7, + [10334] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, + ACTIONS(390), 1, sym_identifier, - ACTIONS(663), 1, + ACTIONS(674), 1, anon_sym_RPAREN, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(289), 1, - sym_parameter, - STATE(402), 1, + STATE(303), 1, + sym_typed_binding, + STATE(378), 1, sym_type_name, ACTIONS(27), 7, anon_sym_int, @@ -11637,16 +12171,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9734] = 6, + [10362] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, + ACTIONS(390), 1, sym_identifier, - ACTIONS(665), 1, + ACTIONS(676), 1, anon_sym_RPAREN, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(244), 1, + STATE(234), 1, + sym_parameter, + STATE(334), 1, sym_type_name, ACTIONS(27), 7, anon_sym_int, @@ -11656,16 +12192,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9759] = 6, + [10390] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, + ACTIONS(390), 1, sym_identifier, - STATE(201), 1, + ACTIONS(678), 1, + anon_sym_RPAREN, + STATE(208), 1, sym_base_type, STATE(232), 1, - sym_typed_binding, - STATE(371), 1, sym_type_name, ACTIONS(27), 7, anon_sym_int, @@ -11675,16 +12211,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9784] = 6, + [10415] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, + ACTIONS(390), 1, sym_identifier, - ACTIONS(667), 1, + ACTIONS(680), 1, anon_sym_RPAREN, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(268), 1, + STATE(269), 1, sym_type_name, ACTIONS(27), 7, anon_sym_int, @@ -11694,16 +12230,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9809] = 5, + [10440] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(671), 1, + ACTIONS(684), 1, anon_sym_PIPE, - ACTIONS(673), 1, + ACTIONS(686), 1, anon_sym_AMP, - STATE(180), 1, + STATE(185), 1, aux_sym_bit_and_repeat1, - ACTIONS(669), 8, + ACTIONS(682), 8, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -11712,16 +12248,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_AMP, anon_sym_CARET, anon_sym_RBRACK, - [9832] = 5, + [10463] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(677), 1, + ACTIONS(691), 1, anon_sym_PIPE, - ACTIONS(679), 1, + ACTIONS(693), 1, anon_sym_AMP, - STATE(180), 1, + STATE(185), 1, aux_sym_bit_and_repeat1, - ACTIONS(675), 8, + ACTIONS(689), 8, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -11730,35 +12266,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_AMP, anon_sym_CARET, anon_sym_RBRACK, - [9855] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, - sym_identifier, - STATE(201), 1, - sym_base_type, - STATE(258), 1, - sym_typed_binding, - STATE(371), 1, - sym_type_name, - ACTIONS(27), 7, - anon_sym_int, - anon_sym_bool, - anon_sym_string, - anon_sym_pubkey, - anon_sym_sig, - anon_sym_datasig, - anon_sym_byte, - [9880] = 5, + [10486] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(673), 1, + ACTIONS(693), 1, anon_sym_AMP, - ACTIONS(684), 1, + ACTIONS(697), 1, anon_sym_PIPE, - STATE(179), 1, + STATE(186), 1, aux_sym_bit_and_repeat1, - ACTIONS(682), 8, + ACTIONS(695), 8, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -11767,16 +12284,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_AMP, anon_sym_CARET, anon_sym_RBRACK, - [9903] = 6, + [10509] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, + ACTIONS(390), 1, sym_identifier, - ACTIONS(686), 1, + ACTIONS(699), 1, anon_sym_RPAREN, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(268), 1, + STATE(269), 1, sym_type_name, ACTIONS(27), 7, anon_sym_int, @@ -11786,16 +12303,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9928] = 6, + [10534] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, + ACTIONS(390), 1, sym_identifier, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(289), 1, + STATE(298), 1, sym_parameter, - STATE(402), 1, + STATE(334), 1, sym_type_name, ACTIONS(27), 7, anon_sym_int, @@ -11805,14 +12322,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9953] = 5, + [10559] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, + ACTIONS(390), 1, sym_identifier, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(309), 1, + STATE(303), 1, + sym_typed_binding, + STATE(378), 1, sym_type_name, ACTIONS(27), 7, anon_sym_int, @@ -11822,14 +12341,52 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9975] = 5, + [10584] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, + ACTIONS(390), 1, sym_identifier, - STATE(201), 1, + ACTIONS(701), 1, + anon_sym_LPAREN, + STATE(208), 1, sym_base_type, - STATE(268), 1, + STATE(372), 1, + sym_type_name, + ACTIONS(27), 7, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + [10609] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(390), 1, + sym_identifier, + STATE(208), 1, + sym_base_type, + STATE(249), 1, + sym_typed_binding, + STATE(333), 1, + sym_type_name, + ACTIONS(27), 7, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + [10634] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(390), 1, + sym_identifier, + STATE(208), 1, + sym_base_type, + STATE(269), 1, sym_type_name, ACTIONS(27), 7, anon_sym_int, @@ -11839,16 +12396,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9997] = 5, + [10656] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(690), 1, + ACTIONS(705), 1, anon_sym_PIPE, - ACTIONS(692), 1, + ACTIONS(707), 1, anon_sym_CARET, - STATE(191), 1, + STATE(196), 1, aux_sym_bit_xor_repeat1, - ACTIONS(688), 7, + ACTIONS(703), 7, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -11856,16 +12413,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_RBRACK, - [10019] = 5, + [10678] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(696), 1, - anon_sym_PIPE, - ACTIONS(698), 1, + ACTIONS(707), 1, anon_sym_CARET, - STATE(188), 1, + ACTIONS(711), 1, + anon_sym_PIPE, + STATE(194), 1, aux_sym_bit_xor_repeat1, - ACTIONS(694), 7, + ACTIONS(709), 7, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -11873,29 +12430,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_RBRACK, - [10041] = 3, + [10700] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(677), 2, + ACTIONS(715), 1, anon_sym_PIPE, - anon_sym_AMP, - ACTIONS(675), 8, + ACTIONS(717), 1, + anon_sym_CARET, + STATE(196), 1, + aux_sym_bit_xor_repeat1, + ACTIONS(713), 7, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, - anon_sym_CARET, anon_sym_RBRACK, - [10059] = 5, + [10722] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, + ACTIONS(390), 1, sym_identifier, - STATE(201), 1, + STATE(208), 1, sym_base_type, - STATE(347), 1, + STATE(366), 1, sym_type_name, ACTIONS(27), 7, anon_sym_int, @@ -11905,61 +12464,79 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [10081] = 5, + [10744] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(692), 1, - anon_sym_CARET, - ACTIONS(703), 1, + ACTIONS(684), 2, anon_sym_PIPE, - STATE(188), 1, - aux_sym_bit_xor_repeat1, - ACTIONS(701), 7, + anon_sym_AMP, + ACTIONS(682), 8, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, + anon_sym_CARET, anon_sym_RBRACK, - [10103] = 4, + [10762] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(707), 1, - anon_sym_PIPE, - STATE(193), 1, - aux_sym_bit_or_repeat1, - ACTIONS(705), 7, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_RBRACK, - [10122] = 4, + ACTIONS(390), 1, + sym_identifier, + STATE(208), 1, + sym_base_type, + STATE(315), 1, + sym_type_name, + ACTIONS(27), 7, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + [10784] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(711), 1, - anon_sym_PIPE, - STATE(193), 1, - aux_sym_bit_or_repeat1, - ACTIONS(709), 7, - anon_sym_SEMI, - anon_sym_RBRACE, + ACTIONS(390), 1, + sym_identifier, + STATE(208), 1, + sym_base_type, + STATE(345), 1, + sym_type_name, + ACTIONS(27), 7, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + [10806] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(720), 1, + sym_identifier, + ACTIONS(724), 1, + anon_sym_LBRACK, + STATE(201), 2, + sym_array_suffix, + aux_sym_type_name_repeat1, + ACTIONS(722), 5, + anon_sym_LBRACE, + anon_sym_constant, + anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_RBRACK, - [10141] = 4, + [10827] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(707), 1, + ACTIONS(729), 1, anon_sym_PIPE, - STATE(192), 1, + STATE(205), 1, aux_sym_bit_or_repeat1, - ACTIONS(714), 7, + ACTIONS(727), 7, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, @@ -11967,26 +12544,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_RBRACK, - [10160] = 3, + [10846] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(696), 1, + ACTIONS(729), 1, anon_sym_PIPE, - ACTIONS(694), 8, + STATE(202), 1, + aux_sym_bit_or_repeat1, + ACTIONS(731), 7, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, - anon_sym_CARET, anon_sym_RBRACK, - [10177] = 3, + [10865] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(716), 1, + ACTIONS(733), 1, sym_identifier, - ACTIONS(718), 8, + ACTIONS(735), 8, anon_sym_RBRACE, anon_sym_int, anon_sym_bool, @@ -11995,1433 +12573,1503 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [10194] = 3, + [10882] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(720), 1, + ACTIONS(739), 1, anon_sym_PIPE, - ACTIONS(709), 7, + STATE(205), 1, + aux_sym_bit_or_repeat1, + ACTIONS(737), 7, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + [10901] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(715), 1, + anon_sym_PIPE, + ACTIONS(713), 8, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, + anon_sym_CARET, anon_sym_RBRACK, - [10210] = 5, + [10918] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(722), 1, + ACTIONS(742), 1, sym_identifier, - ACTIONS(726), 1, + ACTIONS(746), 1, + anon_sym_LBRACK, + STATE(201), 2, + sym_array_suffix, + aux_sym_type_name_repeat1, + ACTIONS(744), 5, + anon_sym_LBRACE, + anon_sym_constant, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RPAREN, + [10939] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(746), 1, anon_sym_LBRACK, - STATE(202), 2, + ACTIONS(748), 1, + sym_identifier, + STATE(207), 2, sym_array_suffix, aux_sym_type_name_repeat1, - ACTIONS(724), 4, + ACTIONS(750), 5, + anon_sym_LBRACE, anon_sym_constant, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, - [10230] = 4, + [10960] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(730), 1, + ACTIONS(754), 1, anon_sym_AMP_AMP, - STATE(199), 1, + STATE(209), 1, aux_sym_logical_and_repeat1, - ACTIONS(728), 6, + ACTIONS(752), 6, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_RBRACK, - [10248] = 4, + [10978] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(735), 1, + ACTIONS(759), 1, anon_sym_AMP_AMP, - STATE(203), 1, + STATE(209), 1, aux_sym_logical_and_repeat1, - ACTIONS(733), 6, + ACTIONS(757), 6, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_RBRACK, - [10266] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(726), 1, - anon_sym_LBRACK, - ACTIONS(737), 1, - sym_identifier, - STATE(198), 2, - sym_array_suffix, - aux_sym_type_name_repeat1, - ACTIONS(739), 4, - anon_sym_constant, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RPAREN, - [10286] = 5, + [10996] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(741), 1, - sym_identifier, - ACTIONS(745), 1, - anon_sym_LBRACK, - STATE(202), 2, - sym_array_suffix, - aux_sym_type_name_repeat1, - ACTIONS(743), 4, - anon_sym_constant, - anon_sym_LPAREN, + ACTIONS(761), 1, + anon_sym_PIPE, + ACTIONS(737), 7, + anon_sym_SEMI, + anon_sym_RBRACE, anon_sym_COMMA, anon_sym_RPAREN, - [10306] = 4, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + [11012] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(735), 1, + ACTIONS(759), 1, anon_sym_AMP_AMP, - STATE(199), 1, + STATE(210), 1, aux_sym_logical_and_repeat1, - ACTIONS(748), 6, + ACTIONS(763), 6, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_RBRACK, - [10324] = 4, + [11030] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(752), 1, + ACTIONS(767), 1, anon_sym_PIPE_PIPE, - STATE(206), 1, + STATE(213), 1, aux_sym_logical_or_repeat1, - ACTIONS(750), 5, + ACTIONS(765), 5, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_RPAREN, - anon_sym_RBRACK, - [10341] = 7, + anon_sym_RBRACK, + [11047] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(770), 1, + sym_identifier, + ACTIONS(772), 6, + anon_sym_LBRACE, + anon_sym_constant, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + [11062] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(754), 1, + ACTIONS(774), 1, sym_identifier, - ACTIONS(758), 1, - anon_sym_EQ, - ACTIONS(760), 1, - anon_sym_LPAREN, - ACTIONS(762), 1, - anon_sym_COLON, - STATE(72), 1, - sym_expression_list, - ACTIONS(756), 2, + ACTIONS(776), 6, + anon_sym_LBRACE, anon_sym_constant, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_LBRACK, - [10364] = 4, + [11077] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(752), 1, + ACTIONS(780), 1, anon_sym_PIPE_PIPE, - STATE(207), 1, + STATE(213), 1, aux_sym_logical_or_repeat1, - ACTIONS(764), 5, + ACTIONS(778), 5, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, - [10381] = 4, + [11094] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(768), 1, - anon_sym_PIPE_PIPE, - STATE(207), 1, - aux_sym_logical_or_repeat1, - ACTIONS(766), 5, + ACTIONS(752), 7, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, anon_sym_RBRACK, - [10398] = 2, + [11107] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(728), 7, + ACTIONS(780), 1, + anon_sym_PIPE_PIPE, + STATE(216), 1, + aux_sym_logical_or_repeat1, + ACTIONS(782), 5, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_RPAREN, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, anon_sym_RBRACK, - [10411] = 3, + [11124] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(754), 1, + ACTIONS(774), 1, sym_identifier, - ACTIONS(756), 5, - anon_sym_constant, + ACTIONS(784), 1, + anon_sym_EQ, + ACTIONS(786), 1, anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RPAREN, + ACTIONS(788), 1, + anon_sym_COLON, + STATE(85), 1, + sym_expression_list, + ACTIONS(776), 2, + anon_sym_constant, anon_sym_LBRACK, - [10425] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(766), 6, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_PIPE_PIPE, - anon_sym_RBRACK, - [10437] = 3, + [11147] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(771), 1, + ACTIONS(790), 1, sym_identifier, - ACTIONS(773), 5, + ACTIONS(792), 6, + anon_sym_LBRACE, anon_sym_constant, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACK, - [10451] = 6, + [11162] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(754), 1, + ACTIONS(774), 1, sym_identifier, - ACTIONS(758), 1, + ACTIONS(784), 1, anon_sym_EQ, - ACTIONS(760), 1, + ACTIONS(786), 1, anon_sym_LPAREN, - STATE(72), 1, + STATE(85), 1, sym_expression_list, - ACTIONS(756), 2, + ACTIONS(776), 2, anon_sym_constant, anon_sym_LBRACK, - [10471] = 3, + [11182] = 3, ACTIONS(3), 1, sym_comment, - STATE(78), 1, + STATE(81), 1, sym_input_field_name, - ACTIONS(775), 5, + ACTIONS(794), 5, anon_sym_value, anon_sym_scriptPubKey, anon_sym_outpointTransactionHash, anon_sym_outpointIndex, anon_sym_sigScript, - [10485] = 3, + [11196] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(777), 1, - sym_identifier, - ACTIONS(779), 5, - anon_sym_constant, - anon_sym_LPAREN, + ACTIONS(765), 6, + anon_sym_SEMI, + anon_sym_RBRACE, anon_sym_COMMA, anon_sym_RPAREN, - anon_sym_LBRACK, - [10499] = 2, + anon_sym_PIPE_PIPE, + anon_sym_RBRACK, + [11208] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(781), 5, + ACTIONS(796), 5, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, - [10510] = 4, + [11219] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(783), 1, + ACTIONS(798), 1, sym_identifier, - ACTIONS(785), 1, + ACTIONS(800), 1, anon_sym_constant, - STATE(216), 2, + STATE(225), 2, sym_modifier, aux_sym_variable_definition_repeat1, - [10524] = 4, + [11233] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(788), 1, + ACTIONS(805), 1, + sym_attribute, + STATE(226), 1, + aux_sym_function_definition_repeat1, + ACTIONS(803), 2, + anon_sym_entrypoint, + anon_sym_function, + [11247] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(808), 1, anon_sym_COMMA, - STATE(217), 1, + STATE(227), 1, aux_sym_expression_list_repeat1, - ACTIONS(791), 2, + ACTIONS(811), 2, anon_sym_RPAREN, anon_sym_RBRACK, - [10538] = 4, + [11261] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(795), 1, + ACTIONS(813), 1, + sym_identifier, + ACTIONS(815), 1, + anon_sym_constant, + STATE(231), 2, + sym_modifier, + aux_sym_variable_definition_repeat1, + [11275] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(819), 1, anon_sym_RBRACK, - STATE(369), 1, + STATE(398), 1, sym_array_size, - ACTIONS(793), 2, + ACTIONS(817), 2, sym_array_bound, sym_identifier, - [10552] = 5, + [11289] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(797), 1, + ACTIONS(821), 1, anon_sym_entrypoint, - ACTIONS(799), 1, + ACTIONS(823), 1, anon_sym_function, - ACTIONS(801), 1, - sym_attribute, - STATE(221), 1, - aux_sym_function_definition_repeat1, - [10568] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(803), 1, - sym_identifier, - ACTIONS(805), 1, - anon_sym_constant, - STATE(216), 2, - sym_modifier, - aux_sym_variable_definition_repeat1, - [10582] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(809), 1, + ACTIONS(825), 1, sym_attribute, - STATE(221), 1, + STATE(226), 1, aux_sym_function_definition_repeat1, - ACTIONS(807), 2, - anon_sym_entrypoint, - anon_sym_function, - [10596] = 4, + [11305] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(805), 1, + ACTIONS(815), 1, anon_sym_constant, - ACTIONS(812), 1, + ACTIONS(827), 1, sym_identifier, - STATE(220), 2, + STATE(225), 2, sym_modifier, aux_sym_variable_definition_repeat1, - [10610] = 4, + [11319] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(814), 1, + ACTIONS(829), 1, anon_sym_COMMA, - ACTIONS(817), 1, + ACTIONS(831), 1, anon_sym_RPAREN, - STATE(223), 1, - aux_sym_parameter_list_repeat1, - [10623] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(819), 1, - sym_identifier, - ACTIONS(821), 1, - anon_sym_RBRACE, - STATE(228), 1, - sym_state_entry, - [10636] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(823), 1, - anon_sym_LBRACE, - ACTIONS(825), 1, - anon_sym_COLON, - STATE(348), 1, - sym_return_type_list, - [10649] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(827), 1, - sym_identifier, - ACTIONS(829), 1, - anon_sym_RBRACE, - STATE(299), 1, - sym_state_typed_binding, - [10662] = 4, + STATE(253), 1, + aux_sym_return_type_list_repeat1, + [11332] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(829), 1, - anon_sym_RBRACE, - ACTIONS(831), 1, + ACTIONS(668), 1, + anon_sym_RPAREN, + ACTIONS(833), 1, anon_sym_COMMA, STATE(241), 1, - aux_sym_state_function_call_assignment_repeat1, - [10675] = 4, + aux_sym_function_call_assignment_repeat1, + [11345] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(833), 1, - anon_sym_RBRACE, ACTIONS(835), 1, anon_sym_COMMA, - STATE(249), 1, - aux_sym_state_object_repeat1, - [10688] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(661), 1, - anon_sym_RPAREN, ACTIONS(837), 1, - anon_sym_COMMA, - STATE(242), 1, - aux_sym_function_call_assignment_repeat1, - [10701] = 4, + anon_sym_RPAREN, + STATE(238), 1, + aux_sym_parameter_list_repeat1, + [11358] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(839), 1, - anon_sym_COMMA, + anon_sym_LBRACE, ACTIONS(841), 1, - anon_sym_RPAREN, - STATE(245), 1, - aux_sym_console_parameter_list_repeat1, - [10714] = 4, + anon_sym_COLON, + STATE(414), 1, + sym_return_type_list, + [11371] = 4, ACTIONS(3), 1, sym_comment, + ACTIONS(53), 1, + anon_sym_RPAREN, ACTIONS(843), 1, - anon_sym_RBRACE, - ACTIONS(845), 1, anon_sym_COMMA, STATE(227), 1, - aux_sym_state_function_call_assignment_repeat1, - [10727] = 4, + aux_sym_expression_list_repeat1, + [11384] = 4, ACTIONS(3), 1, sym_comment, + ACTIONS(845), 1, + sym_identifier, ACTIONS(847), 1, - anon_sym_COMMA, - ACTIONS(849), 1, - anon_sym_RPAREN, - STATE(229), 1, - aux_sym_function_call_assignment_repeat1, - [10740] = 4, + anon_sym_RBRACE, + STATE(247), 1, + sym_state_entry, + [11397] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(686), 1, + ACTIONS(672), 1, anon_sym_RPAREN, - ACTIONS(851), 1, + ACTIONS(849), 1, anon_sym_COMMA, - STATE(247), 1, - aux_sym_return_type_list_repeat1, - [10753] = 4, + STATE(256), 1, + aux_sym_parameter_list_repeat1, + [11410] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(819), 1, + ACTIONS(851), 1, sym_identifier, ACTIONS(853), 1, anon_sym_RBRACE, - STATE(257), 1, - sym_state_entry, - [10766] = 4, + STATE(300), 1, + sym_state_typed_binding, + [11423] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(855), 1, anon_sym_RBRACE, ACTIONS(857), 1, anon_sym_COMMA, - STATE(235), 1, - aux_sym_state_object_repeat1, - [10779] = 2, + STATE(240), 1, + aux_sym_state_function_call_assignment_repeat1, + [11436] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(791), 3, + ACTIONS(860), 1, anon_sym_COMMA, + ACTIONS(863), 1, anon_sym_RPAREN, - anon_sym_RBRACK, - [10788] = 4, + STATE(241), 1, + aux_sym_function_call_assignment_repeat1, + [11449] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(51), 1, + ACTIONS(583), 1, anon_sym_RPAREN, - ACTIONS(860), 1, + ACTIONS(865), 1, anon_sym_COMMA, - STATE(217), 1, - aux_sym_expression_list_repeat1, - [10801] = 4, + STATE(250), 1, + aux_sym_console_parameter_list_repeat1, + [11462] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(862), 1, + ACTIONS(867), 1, anon_sym_COMMA, - ACTIONS(864), 1, - anon_sym_RBRACK, - STATE(251), 1, + ACTIONS(869), 1, + anon_sym_RPAREN, + STATE(236), 1, aux_sym_expression_list_repeat1, - [10814] = 4, + [11475] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(866), 1, - anon_sym_SEMI, - ACTIONS(868), 1, - anon_sym_EQ, - ACTIONS(870), 1, + ACTIONS(871), 1, anon_sym_COMMA, - [10827] = 4, + ACTIONS(874), 1, + anon_sym_RPAREN, + STATE(244), 1, + aux_sym_return_type_list_repeat1, + [11488] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(827), 1, - sym_identifier, - ACTIONS(872), 1, + ACTIONS(841), 1, + anon_sym_COLON, + ACTIONS(876), 1, + anon_sym_LBRACE, + STATE(355), 1, + sym_return_type_list, + [11501] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(878), 1, + anon_sym_COMMA, + ACTIONS(880), 1, + anon_sym_RPAREN, + STATE(242), 1, + aux_sym_console_parameter_list_repeat1, + [11514] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(882), 1, anon_sym_RBRACE, - STATE(299), 1, - sym_state_typed_binding, - [10840] = 4, + ACTIONS(884), 1, + anon_sym_COMMA, + STATE(259), 1, + aux_sym_state_object_repeat1, + [11527] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(874), 1, + ACTIONS(886), 1, anon_sym_RBRACE, - ACTIONS(876), 1, + ACTIONS(888), 1, anon_sym_COMMA, - STATE(241), 1, + STATE(240), 1, aux_sym_state_function_call_assignment_repeat1, - [10853] = 4, + [11540] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(879), 1, + ACTIONS(890), 1, anon_sym_COMMA, - ACTIONS(882), 1, + ACTIONS(892), 1, anon_sym_RPAREN, - STATE(242), 1, + STATE(233), 1, aux_sym_function_call_assignment_repeat1, - [10866] = 4, + [11553] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(884), 1, + ACTIONS(894), 1, anon_sym_COMMA, - ACTIONS(886), 1, + ACTIONS(897), 1, anon_sym_RPAREN, STATE(250), 1, - aux_sym_parameter_list_repeat1, - [10879] = 4, + aux_sym_console_parameter_list_repeat1, + [11566] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(888), 1, + ACTIONS(899), 1, anon_sym_COMMA, - ACTIONS(890), 1, - anon_sym_RPAREN, - STATE(233), 1, - aux_sym_return_type_list_repeat1, - [10892] = 4, + ACTIONS(901), 1, + anon_sym_RBRACK, + STATE(260), 1, + aux_sym_expression_list_repeat1, + [11579] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(903), 1, + anon_sym_SEMI, + ACTIONS(905), 1, + anon_sym_EQ, + ACTIONS(907), 1, + anon_sym_COMMA, + [11592] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(592), 1, + ACTIONS(699), 1, anon_sym_RPAREN, - ACTIONS(892), 1, + ACTIONS(909), 1, anon_sym_COMMA, - STATE(253), 1, - aux_sym_console_parameter_list_repeat1, - [10905] = 4, + STATE(244), 1, + aux_sym_return_type_list_repeat1, + [11605] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(825), 1, + ACTIONS(841), 1, anon_sym_COLON, - ACTIONS(894), 1, + ACTIONS(911), 1, anon_sym_LBRACE, - STATE(398), 1, + STATE(341), 1, sym_return_type_list, - [10918] = 4, + [11618] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(845), 1, + sym_identifier, + ACTIONS(913), 1, + anon_sym_RBRACE, + STATE(301), 1, + sym_state_entry, + [11631] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(896), 1, + ACTIONS(915), 1, anon_sym_COMMA, - ACTIONS(899), 1, + ACTIONS(918), 1, anon_sym_RPAREN, - STATE(247), 1, - aux_sym_return_type_list_repeat1, - [10931] = 4, + STATE(256), 1, + aux_sym_parameter_list_repeat1, + [11644] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(819), 1, - sym_identifier, - ACTIONS(901), 1, + ACTIONS(920), 1, anon_sym_RBRACE, + ACTIONS(922), 1, + anon_sym_COMMA, STATE(257), 1, - sym_state_entry, - [10944] = 4, + aux_sym_state_object_repeat1, + [11657] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(901), 1, + ACTIONS(845), 1, + sym_identifier, + ACTIONS(925), 1, anon_sym_RBRACE, - ACTIONS(903), 1, - anon_sym_COMMA, - STATE(235), 1, - aux_sym_state_object_repeat1, - [10957] = 4, + STATE(301), 1, + sym_state_entry, + [11670] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(655), 1, - anon_sym_RPAREN, - ACTIONS(905), 1, + ACTIONS(925), 1, + anon_sym_RBRACE, + ACTIONS(927), 1, anon_sym_COMMA, - STATE(223), 1, - aux_sym_parameter_list_repeat1, - [10970] = 4, + STATE(257), 1, + aux_sym_state_object_repeat1, + [11683] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(47), 1, anon_sym_RBRACK, - ACTIONS(907), 1, + ACTIONS(929), 1, anon_sym_COMMA, - STATE(217), 1, + STATE(227), 1, aux_sym_expression_list_repeat1, - [10983] = 3, + [11696] = 3, ACTIONS(3), 1, sym_comment, - STATE(76), 1, + STATE(79), 1, sym_output_field_name, - ACTIONS(909), 2, + ACTIONS(931), 2, anon_sym_value, anon_sym_scriptPubKey, - [10994] = 4, + [11707] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(911), 1, + ACTIONS(811), 3, anon_sym_COMMA, - ACTIONS(914), 1, anon_sym_RPAREN, - STATE(253), 1, - aux_sym_console_parameter_list_repeat1, - [11007] = 4, + anon_sym_RBRACK, + [11716] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(916), 1, + ACTIONS(867), 1, anon_sym_COMMA, - ACTIONS(918), 1, + ACTIONS(933), 1, anon_sym_RPAREN, - STATE(237), 1, + STATE(236), 1, aux_sym_expression_list_repeat1, - [11020] = 4, + [11729] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(825), 1, - anon_sym_COLON, - ACTIONS(920), 1, - anon_sym_LBRACE, - STATE(327), 1, - sym_return_type_list, - [11033] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(922), 1, - sym_string_literal, - STATE(303), 1, - sym_require_message, - [11043] = 2, + ACTIONS(851), 1, + sym_identifier, + ACTIONS(886), 1, + anon_sym_RBRACE, + STATE(300), 1, + sym_state_typed_binding, + [11742] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(855), 2, + ACTIONS(935), 1, anon_sym_RBRACE, + ACTIONS(937), 1, anon_sym_COMMA, - [11051] = 2, + STATE(248), 1, + aux_sym_state_function_call_assignment_repeat1, + [11755] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(882), 2, + ACTIONS(939), 2, anon_sym_COMMA, anon_sym_RPAREN, - [11059] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(924), 1, - sym_identifier, - STATE(335), 1, - sym_function_call, - [11069] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(926), 1, - anon_sym_LBRACK, - STATE(264), 1, - sym_tuple_index, - [11079] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(922), 1, - sym_string_literal, - STATE(339), 1, - sym_require_message, - [11089] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(926), 1, - anon_sym_LBRACK, - STATE(266), 1, - sym_tuple_index, - [11099] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(928), 1, - anon_sym_SEMI, - ACTIONS(930), 1, - anon_sym_EQ, - [11109] = 3, + [11763] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(932), 1, - anon_sym_DOT, - STATE(94), 1, - sym_output_field, - [11119] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(934), 2, + ACTIONS(941), 2, anon_sym_LBRACE, anon_sym_COLON, - [11127] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(936), 1, - anon_sym_DOT, - STATE(94), 1, - sym_input_field, - [11137] = 3, + [11771] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(938), 1, - anon_sym_LPAREN, - STATE(255), 1, - sym_parameter_list, - [11147] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(899), 2, + ACTIONS(943), 1, anon_sym_COMMA, + ACTIONS(945), 1, anon_sym_RPAREN, - [11155] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(940), 2, - anon_sym_LBRACE, - anon_sym_COLON, - [11163] = 2, + [11781] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(942), 2, + ACTIONS(874), 2, anon_sym_COMMA, anon_sym_RPAREN, - [11171] = 3, + [11789] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(944), 1, - anon_sym_COMMA, - ACTIONS(946), 1, - anon_sym_RPAREN, - [11181] = 3, + ACTIONS(947), 1, + anon_sym_DOT, + STATE(99), 1, + sym_input_field, + [11799] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(819), 1, + ACTIONS(845), 1, sym_identifier, - STATE(257), 1, + STATE(301), 1, sym_state_entry, - [11191] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(948), 2, - anon_sym_LBRACE, - anon_sym_COLON, - [11199] = 3, + [11809] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(938), 1, + ACTIONS(786), 1, anon_sym_LPAREN, - STATE(225), 1, - sym_parameter_list, - [11209] = 2, + STATE(95), 1, + sym_expression_list, + [11819] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(950), 2, - anon_sym_LBRACE, - anon_sym_COLON, - [11217] = 3, + ACTIONS(949), 1, + anon_sym_SEMI, + ACTIONS(951), 1, + anon_sym_EQ, + [11829] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(952), 1, + ACTIONS(953), 1, anon_sym_COMMA, - ACTIONS(954), 1, + ACTIONS(956), 1, anon_sym_RPAREN, - [11227] = 3, + [11839] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(956), 1, - anon_sym_COMMA, ACTIONS(958), 1, + anon_sym_LPAREN, + STATE(235), 1, + sym_parameter_list, + [11849] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(960), 1, + anon_sym_COMMA, + ACTIONS(962), 1, anon_sym_RPAREN, - [11237] = 3, + [11859] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(7), 1, - anon_sym_contract, - STATE(329), 1, - sym_contract_definition, - [11247] = 2, + ACTIONS(964), 2, + anon_sym_LBRACE, + anon_sym_COLON, + [11867] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(960), 2, + ACTIONS(966), 2, anon_sym_RBRACE, anon_sym_COMMA, - [11255] = 3, + [11875] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(760), 1, + ACTIONS(786), 1, anon_sym_LPAREN, - STATE(72), 1, + STATE(85), 1, sym_expression_list, - [11265] = 3, + [11885] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(924), 1, + ACTIONS(968), 1, sym_identifier, - STATE(361), 1, + STATE(369), 1, sym_function_call, - [11275] = 3, + [11895] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(827), 1, + ACTIONS(851), 1, sym_identifier, - STATE(299), 1, + STATE(300), 1, sym_state_typed_binding, - [11285] = 3, + [11905] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(924), 1, + ACTIONS(968), 1, sym_identifier, - STATE(363), 1, + STATE(371), 1, sym_function_call, - [11295] = 2, + [11915] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(962), 2, + ACTIONS(956), 2, anon_sym_COMMA, anon_sym_RPAREN, - [11303] = 3, + [11923] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(964), 1, + ACTIONS(970), 1, anon_sym_COMMA, - ACTIONS(966), 1, + ACTIONS(972), 1, anon_sym_RPAREN, - [11313] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(827), 1, - sym_identifier, - STATE(231), 1, - sym_state_typed_binding, - [11323] = 2, + [11933] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(914), 2, + ACTIONS(897), 2, anon_sym_COMMA, anon_sym_RPAREN, - [11331] = 3, + [11941] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(760), 1, + ACTIONS(974), 1, anon_sym_LPAREN, - STATE(88), 1, - sym_expression_list, - [11341] = 2, + STATE(358), 1, + sym_console_parameter_list, + [11951] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(817), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [11349] = 3, + ACTIONS(976), 1, + anon_sym_DOT, + STATE(99), 1, + sym_output_field, + [11961] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(924), 1, - sym_identifier, - STATE(330), 1, - sym_function_call, - [11359] = 3, + ACTIONS(958), 1, + anon_sym_LPAREN, + STATE(384), 1, + sym_parameter_list, + [11971] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(924), 1, - sym_identifier, - STATE(381), 1, - sym_function_call, - [11369] = 3, + ACTIONS(7), 1, + anon_sym_contract, + STATE(382), 1, + sym_contract_definition, + [11981] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(924), 1, + ACTIONS(978), 1, sym_identifier, - STATE(383), 1, - sym_function_call, - [11379] = 3, + ACTIONS(980), 1, + anon_sym_constant, + [11991] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(938), 1, - anon_sym_LPAREN, - STATE(306), 1, - sym_parameter_list, - [11389] = 3, + ACTIONS(982), 2, + anon_sym_LBRACE, + anon_sym_COLON, + [11999] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(984), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + [12007] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(968), 1, sym_identifier, - ACTIONS(970), 1, - anon_sym_constant, - [11399] = 3, + STATE(390), 1, + sym_function_call, + [12017] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(760), 1, - anon_sym_LPAREN, - STATE(387), 1, - sym_expression_list, - [11409] = 3, + ACTIONS(986), 2, + anon_sym_LBRACE, + anon_sym_COLON, + [12025] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(972), 1, - anon_sym_LPAREN, - STATE(324), 1, - sym_console_parameter_list, - [11419] = 3, + ACTIONS(968), 1, + sym_identifier, + STATE(392), 1, + sym_function_call, + [12035] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(760), 1, - anon_sym_LPAREN, - STATE(68), 1, - sym_expression_list, - [11429] = 3, + ACTIONS(988), 1, + anon_sym_COMMA, + ACTIONS(990), 1, + anon_sym_RPAREN, + [12045] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(938), 1, - anon_sym_LPAREN, - STATE(246), 1, - sym_parameter_list, - [11439] = 2, + ACTIONS(992), 1, + sym_string_literal, + STATE(396), 1, + sym_require_message, + [12055] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(874), 2, - anon_sym_RBRACE, + ACTIONS(918), 2, anon_sym_COMMA, - [11447] = 2, + anon_sym_RPAREN, + [12063] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(974), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [11455] = 2, + ACTIONS(968), 1, + sym_identifier, + STATE(336), 1, + sym_function_call, + [12073] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(976), 2, + ACTIONS(855), 2, anon_sym_RBRACE, anon_sym_COMMA, - [11463] = 3, + [12081] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(978), 1, - sym_identifier, - ACTIONS(980), 1, - anon_sym_constant, - [11473] = 2, + ACTIONS(920), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + [12089] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(982), 1, + ACTIONS(994), 1, + anon_sym_COMMA, + ACTIONS(996), 1, anon_sym_RPAREN, - [11480] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(984), 1, - anon_sym_GT_EQ, - [11487] = 2, + [12099] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(986), 1, - anon_sym_SEMI, - [11494] = 2, + ACTIONS(863), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [12107] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(988), 1, - anon_sym_LBRACE, - [11501] = 2, + ACTIONS(968), 1, + sym_identifier, + STATE(342), 1, + sym_function_call, + [12117] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(990), 1, - anon_sym_RPAREN, - [11508] = 2, + ACTIONS(958), 1, + anon_sym_LPAREN, + STATE(245), 1, + sym_parameter_list, + [12127] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(992), 1, - anon_sym_SEMI, - [11515] = 2, + ACTIONS(998), 1, + anon_sym_LBRACK, + STATE(287), 1, + sym_tuple_index, + [12137] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(994), 1, - sym_identifier, - [11522] = 2, + ACTIONS(1000), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [12145] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(996), 1, - anon_sym_contract, - [11529] = 2, + ACTIONS(998), 1, + anon_sym_LBRACK, + STATE(270), 1, + sym_tuple_index, + [12155] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(998), 1, - anon_sym_silverscript, - [11536] = 2, + ACTIONS(992), 1, + sym_string_literal, + STATE(347), 1, + sym_require_message, + [12165] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1000), 1, - anon_sym_LBRACE, - [11543] = 2, + ACTIONS(958), 1, + anon_sym_LPAREN, + STATE(254), 1, + sym_parameter_list, + [12175] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1002), 1, - anon_sym_RPAREN, - [11550] = 2, + ACTIONS(786), 1, + anon_sym_LPAREN, + STATE(70), 1, + sym_expression_list, + [12185] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(345), 1, - anon_sym_DOT, - [11557] = 2, + ACTIONS(851), 1, + sym_identifier, + STATE(265), 1, + sym_state_typed_binding, + [12195] = 3, ACTIONS(3), 1, sym_comment, + ACTIONS(1002), 1, + sym_identifier, ACTIONS(1004), 1, - anon_sym_LPAREN, - [11564] = 2, + anon_sym_constant, + [12205] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(788), 1, + anon_sym_COLON, + [12212] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1006), 1, - anon_sym_COMMA, - [11571] = 2, + sym_identifier, + [12219] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1008), 1, anon_sym_SEMI, - [11578] = 2, + [12226] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1010), 1, - anon_sym_LPAREN, - [11585] = 2, + ts_builtin_sym_end, + [12233] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1012), 1, - anon_sym_SEMI, - [11592] = 2, + anon_sym_LBRACE, + [12240] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1014), 1, - sym_identifier, - [11599] = 2, + anon_sym_GT_EQ, + [12247] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1016), 1, - anon_sym_SEMI, - [11606] = 2, + anon_sym_LPAREN, + [12254] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1018), 1, - ts_builtin_sym_end, - [11613] = 2, + anon_sym_LPAREN, + [12261] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1020), 1, - anon_sym_EQ, - [11620] = 2, + ts_builtin_sym_end, + [12268] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1022), 1, - anon_sym_SEMI, - [11627] = 2, + anon_sym_GT_EQ, + [12275] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(347), 1, + anon_sym_DOT, + [12282] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1024), 1, - anon_sym_EQ, - [11634] = 2, + sym_identifier, + [12289] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1026), 1, - anon_sym_RPAREN, - [11641] = 2, + anon_sym_SEMI, + [12296] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1028), 1, - anon_sym_LBRACE, - [11648] = 2, + sym_identifier, + [12303] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1030), 1, - anon_sym_COMMA, - [11655] = 2, + anon_sym_RPAREN, + [12310] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1032), 1, - ts_builtin_sym_end, - [11662] = 2, + anon_sym_LPAREN, + [12317] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1034), 1, - anon_sym_SEMI, - [11669] = 2, + sym_identifier, + [12324] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1036), 1, - ts_builtin_sym_end, - [11676] = 2, + anon_sym_COMMA, + [12331] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1038), 1, - anon_sym_EQ, - [11683] = 2, + anon_sym_SEMI, + [12338] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1040), 1, - anon_sym_SEMI, - [11690] = 2, + sym_identifier, + [12345] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1042), 1, - anon_sym_function, - [11697] = 2, + sym_identifier, + [12352] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1044), 1, - anon_sym_SEMI, - [11704] = 2, + sym_identifier, + [12359] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1046), 1, - anon_sym_EQ, - [11711] = 2, + anon_sym_SEMI, + [12366] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1048), 1, - sym_identifier, - [11718] = 2, + anon_sym_RPAREN, + [12373] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1050), 1, - anon_sym_RPAREN, - [11725] = 2, + anon_sym_EQ, + [12380] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1052), 1, anon_sym_RPAREN, - [11732] = 2, + [12387] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1054), 1, - sym_identifier, - [11739] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(762), 1, - anon_sym_COLON, - [11746] = 2, + anon_sym_COMMA, + [12394] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1056), 1, - sym_identifier, - [11753] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(799), 1, - anon_sym_function, - [11760] = 2, + anon_sym_LBRACE, + [12401] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1058), 1, - anon_sym_RBRACK, - [11767] = 2, + anon_sym_SEMI, + [12408] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1060), 1, - anon_sym_COMMA, - [11774] = 2, + anon_sym_EQ, + [12415] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(823), 1, + anon_sym_function, + [12422] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1062), 1, - anon_sym_SEMI, - [11781] = 2, + sym_identifier, + [12429] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1064), 1, - sym_identifier, - [11788] = 2, + anon_sym_RPAREN, + [12436] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1066), 1, - anon_sym_LBRACE, - [11795] = 2, + anon_sym_RPAREN, + [12443] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1068), 1, - anon_sym_EQ, - [11802] = 2, + anon_sym_SEMI, + [12450] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1070), 1, - sym_identifier, - [11809] = 2, + ts_builtin_sym_end, + [12457] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1072), 1, - anon_sym_EQ, - [11816] = 2, - ACTIONS(3), 1, - sym_comment, + sym_identifier, + [12464] = 2, ACTIONS(1074), 1, - anon_sym_SEMI, - [11823] = 2, - ACTIONS(3), 1, - sym_comment, + sym_pragma_value, ACTIONS(1076), 1, - anon_sym_LBRACE, - [11830] = 2, + sym_comment, + [12471] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1078), 1, sym_identifier, - [11837] = 2, + [12478] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1080), 1, - anon_sym_SEMI, - [11844] = 2, + anon_sym_COMMA, + [12485] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1082), 1, - anon_sym_RPAREN, - [11851] = 2, + anon_sym_SEMI, + [12492] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1084), 1, - anon_sym_RPAREN, - [11858] = 2, + anon_sym_LBRACE, + [12499] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1086), 1, - sym_string_literal, - [11865] = 2, + ts_builtin_sym_end, + [12506] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1088), 1, - anon_sym_EQ, - [11872] = 2, + anon_sym_SEMI, + [12513] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1090), 1, - anon_sym_COLON, - [11879] = 2, + anon_sym_SEMI, + [12520] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1092), 1, - anon_sym_SEMI, - [11886] = 2, + anon_sym_EQ, + [12527] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1094), 1, - ts_builtin_sym_end, - [11893] = 2, + anon_sym_SEMI, + [12534] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1096), 1, - anon_sym_SEMI, - [11900] = 2, + anon_sym_LBRACE, + [12541] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1098), 1, - anon_sym_RBRACK, - [11907] = 2, + anon_sym_silverscript, + [12548] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1100), 1, - anon_sym_LBRACE, - [11914] = 2, + sym_identifier, + [12555] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1102), 1, - anon_sym_SEMI, - [11921] = 2, + anon_sym_RPAREN, + [12562] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1104), 1, - anon_sym_EQ, - [11928] = 2, + anon_sym_RPAREN, + [12569] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1106), 1, - anon_sym_SEMI, - [11935] = 2, + sym_identifier, + [12576] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1108), 1, - anon_sym_RBRACK, - [11942] = 2, + anon_sym_contract, + [12583] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1110), 1, - anon_sym_RPAREN, - [11949] = 2, + anon_sym_EQ, + [12590] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1112), 1, - sym_identifier, - [11956] = 2, + anon_sym_SEMI, + [12597] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1114), 1, anon_sym_LPAREN, - [11963] = 2, + [12604] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1116), 1, - anon_sym_LPAREN, - [11970] = 2, + anon_sym_SEMI, + [12611] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1118), 1, - anon_sym_SEMI, - [11977] = 2, + anon_sym_LBRACE, + [12618] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1120), 1, - anon_sym_LBRACE, - [11984] = 2, + anon_sym_EQ, + [12625] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1122), 1, - anon_sym_LPAREN, - [11991] = 2, + anon_sym_EQ, + [12632] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1124), 1, - sym_identifier, - [11998] = 2, + anon_sym_SEMI, + [12639] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1126), 1, - anon_sym_LBRACE, - [12005] = 2, + anon_sym_function, + [12646] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1128), 1, - sym_identifier, - [12012] = 2, + anon_sym_SEMI, + [12653] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1130), 1, - anon_sym_LPAREN, - [12019] = 2, + sym_identifier, + [12660] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1132), 1, - anon_sym_SEMI, - [12026] = 2, + anon_sym_LBRACE, + [12667] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1134), 1, - anon_sym_LPAREN, - [12033] = 2, + anon_sym_LBRACE, + [12674] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1136), 1, anon_sym_SEMI, - [12040] = 2, + [12681] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1138), 1, - sym_identifier, - [12047] = 2, + ts_builtin_sym_end, + [12688] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1140), 1, anon_sym_SEMI, - [12054] = 2, + [12695] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1142), 1, - anon_sym_LPAREN, - [12061] = 2, + anon_sym_LBRACE, + [12702] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1144), 1, - anon_sym_SEMI, - [12068] = 2, + anon_sym_EQ, + [12709] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1146), 1, - sym_identifier, - [12075] = 2, + anon_sym_LPAREN, + [12716] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1148), 1, - anon_sym_COMMA, - [12082] = 2, + sym_identifier, + [12723] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1150), 1, - anon_sym_SEMI, - [12089] = 2, + anon_sym_EQ, + [12730] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1152), 1, - anon_sym_EQ, - [12096] = 2, + anon_sym_RBRACK, + [12737] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1154), 1, anon_sym_SEMI, - [12103] = 2, + [12744] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1156), 1, anon_sym_SEMI, - [12110] = 2, + [12751] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1158), 1, anon_sym_SEMI, - [12117] = 2, + [12758] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1160), 1, - ts_builtin_sym_end, - [12124] = 2, + anon_sym_RPAREN, + [12765] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1162), 1, - anon_sym_LPAREN, - [12131] = 2, + anon_sym_EQ, + [12772] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1164), 1, - anon_sym_RPAREN, - [12138] = 2, + anon_sym_SEMI, + [12779] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1166), 1, - anon_sym_LBRACE, - [12145] = 2, + anon_sym_RPAREN, + [12786] = 2, + ACTIONS(3), 1, + sym_comment, ACTIONS(1168), 1, - sym_pragma_value, - ACTIONS(1170), 1, + anon_sym_EQ, + [12793] = 2, + ACTIONS(3), 1, sym_comment, - [12152] = 2, + ACTIONS(1170), 1, + anon_sym_RBRACK, + [12800] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1172), 1, - anon_sym_GT_EQ, - [12159] = 2, + anon_sym_RBRACK, + [12807] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1174), 1, - anon_sym_RBRACK, - [12166] = 2, + anon_sym_COMMA, + [12814] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1176), 1, - sym_identifier, - [12173] = 2, + anon_sym_SEMI, + [12821] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1178), 1, + anon_sym_LPAREN, + [12828] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1180), 1, + anon_sym_SEMI, + [12835] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1182), 1, + anon_sym_EQ, + [12842] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1184), 1, + anon_sym_LPAREN, + [12849] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1186), 1, + anon_sym_SEMI, + [12856] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1188), 1, + anon_sym_RPAREN, + [12863] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1190), 1, + anon_sym_LBRACE, + [12870] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1192), 1, + anon_sym_COLON, + [12877] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym_SEMI, + [12884] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1196), 1, + anon_sym_SEMI, + [12891] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1198), 1, + anon_sym_RPAREN, + [12898] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1200), 1, + anon_sym_SEMI, + [12905] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1202), 1, + anon_sym_LBRACE, + [12912] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1204), 1, anon_sym_RPAREN, + [12919] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_LPAREN, + [12926] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1208), 1, + sym_identifier, + [12933] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1210), 1, + anon_sym_SEMI, + [12940] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1212), 1, + anon_sym_RBRACK, + [12947] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1214), 1, + sym_identifier, + [12954] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1216), 1, + sym_string_literal, }; static const uint32_t ts_small_parse_table_map[] = { @@ -13429,973 +14077,1009 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(3)] = 138, [SMALL_STATE(4)] = 272, [SMALL_STATE(5)] = 406, - [SMALL_STATE(6)] = 540, - [SMALL_STATE(7)] = 674, - [SMALL_STATE(8)] = 808, - [SMALL_STATE(9)] = 942, - [SMALL_STATE(10)] = 1076, - [SMALL_STATE(11)] = 1207, - [SMALL_STATE(12)] = 1338, - [SMALL_STATE(13)] = 1469, - [SMALL_STATE(14)] = 1600, - [SMALL_STATE(15)] = 1731, - [SMALL_STATE(16)] = 1862, - [SMALL_STATE(17)] = 1993, - [SMALL_STATE(18)] = 2124, - [SMALL_STATE(19)] = 2255, - [SMALL_STATE(20)] = 2386, - [SMALL_STATE(21)] = 2517, - [SMALL_STATE(22)] = 2648, - [SMALL_STATE(23)] = 2779, - [SMALL_STATE(24)] = 2910, - [SMALL_STATE(25)] = 3041, - [SMALL_STATE(26)] = 3172, - [SMALL_STATE(27)] = 3303, - [SMALL_STATE(28)] = 3434, - [SMALL_STATE(29)] = 3565, - [SMALL_STATE(30)] = 3696, - [SMALL_STATE(31)] = 3821, - [SMALL_STATE(32)] = 3943, - [SMALL_STATE(33)] = 4062, - [SMALL_STATE(34)] = 4178, - [SMALL_STATE(35)] = 4291, - [SMALL_STATE(36)] = 4401, - [SMALL_STATE(37)] = 4508, - [SMALL_STATE(38)] = 4612, - [SMALL_STATE(39)] = 4713, - [SMALL_STATE(40)] = 4811, - [SMALL_STATE(41)] = 4860, - [SMALL_STATE(42)] = 4922, - [SMALL_STATE(43)] = 4984, - [SMALL_STATE(44)] = 5046, - [SMALL_STATE(45)] = 5116, - [SMALL_STATE(46)] = 5183, - [SMALL_STATE(47)] = 5250, - [SMALL_STATE(48)] = 5317, - [SMALL_STATE(49)] = 5384, - [SMALL_STATE(50)] = 5451, - [SMALL_STATE(51)] = 5518, - [SMALL_STATE(52)] = 5585, - [SMALL_STATE(53)] = 5652, - [SMALL_STATE(54)] = 5719, - [SMALL_STATE(55)] = 5786, - [SMALL_STATE(56)] = 5853, - [SMALL_STATE(57)] = 5920, - [SMALL_STATE(58)] = 5987, - [SMALL_STATE(59)] = 6054, - [SMALL_STATE(60)] = 6120, - [SMALL_STATE(61)] = 6186, - [SMALL_STATE(62)] = 6252, - [SMALL_STATE(63)] = 6298, - [SMALL_STATE(64)] = 6342, - [SMALL_STATE(65)] = 6380, - [SMALL_STATE(66)] = 6416, - [SMALL_STATE(67)] = 6452, - [SMALL_STATE(68)] = 6488, - [SMALL_STATE(69)] = 6524, - [SMALL_STATE(70)] = 6560, - [SMALL_STATE(71)] = 6596, - [SMALL_STATE(72)] = 6632, - [SMALL_STATE(73)] = 6668, - [SMALL_STATE(74)] = 6704, - [SMALL_STATE(75)] = 6740, - [SMALL_STATE(76)] = 6776, - [SMALL_STATE(77)] = 6812, - [SMALL_STATE(78)] = 6848, - [SMALL_STATE(79)] = 6884, - [SMALL_STATE(80)] = 6920, - [SMALL_STATE(81)] = 6956, - [SMALL_STATE(82)] = 6992, - [SMALL_STATE(83)] = 7028, - [SMALL_STATE(84)] = 7064, - [SMALL_STATE(85)] = 7100, - [SMALL_STATE(86)] = 7136, - [SMALL_STATE(87)] = 7172, - [SMALL_STATE(88)] = 7208, - [SMALL_STATE(89)] = 7244, - [SMALL_STATE(90)] = 7280, - [SMALL_STATE(91)] = 7316, - [SMALL_STATE(92)] = 7352, - [SMALL_STATE(93)] = 7388, - [SMALL_STATE(94)] = 7424, - [SMALL_STATE(95)] = 7460, - [SMALL_STATE(96)] = 7496, - [SMALL_STATE(97)] = 7532, - [SMALL_STATE(98)] = 7568, - [SMALL_STATE(99)] = 7604, - [SMALL_STATE(100)] = 7640, - [SMALL_STATE(101)] = 7676, - [SMALL_STATE(102)] = 7712, - [SMALL_STATE(103)] = 7748, - [SMALL_STATE(104)] = 7798, - [SMALL_STATE(105)] = 7848, - [SMALL_STATE(106)] = 7884, - [SMALL_STATE(107)] = 7934, - [SMALL_STATE(108)] = 7970, - [SMALL_STATE(109)] = 8006, - [SMALL_STATE(110)] = 8035, - [SMALL_STATE(111)] = 8064, - [SMALL_STATE(112)] = 8093, - [SMALL_STATE(113)] = 8124, - [SMALL_STATE(114)] = 8155, - [SMALL_STATE(115)] = 8186, - [SMALL_STATE(116)] = 8212, - [SMALL_STATE(117)] = 8237, - [SMALL_STATE(118)] = 8262, - [SMALL_STATE(119)] = 8293, - [SMALL_STATE(120)] = 8318, - [SMALL_STATE(121)] = 8343, - [SMALL_STATE(122)] = 8374, - [SMALL_STATE(123)] = 8399, - [SMALL_STATE(124)] = 8424, - [SMALL_STATE(125)] = 8449, - [SMALL_STATE(126)] = 8480, - [SMALL_STATE(127)] = 8505, - [SMALL_STATE(128)] = 8530, - [SMALL_STATE(129)] = 8555, - [SMALL_STATE(130)] = 8582, - [SMALL_STATE(131)] = 8607, - [SMALL_STATE(132)] = 8632, - [SMALL_STATE(133)] = 8657, - [SMALL_STATE(134)] = 8682, - [SMALL_STATE(135)] = 8707, - [SMALL_STATE(136)] = 8732, - [SMALL_STATE(137)] = 8757, - [SMALL_STATE(138)] = 8782, - [SMALL_STATE(139)] = 8807, - [SMALL_STATE(140)] = 8832, - [SMALL_STATE(141)] = 8857, - [SMALL_STATE(142)] = 8882, - [SMALL_STATE(143)] = 8907, - [SMALL_STATE(144)] = 8932, - [SMALL_STATE(145)] = 8957, - [SMALL_STATE(146)] = 8981, - [SMALL_STATE(147)] = 9002, - [SMALL_STATE(148)] = 9023, - [SMALL_STATE(149)] = 9044, - [SMALL_STATE(150)] = 9065, - [SMALL_STATE(151)] = 9090, - [SMALL_STATE(152)] = 9111, - [SMALL_STATE(153)] = 9146, - [SMALL_STATE(154)] = 9181, - [SMALL_STATE(155)] = 9202, - [SMALL_STATE(156)] = 9231, - [SMALL_STATE(157)] = 9252, - [SMALL_STATE(158)] = 9273, - [SMALL_STATE(159)] = 9302, - [SMALL_STATE(160)] = 9323, - [SMALL_STATE(161)] = 9358, - [SMALL_STATE(162)] = 9379, - [SMALL_STATE(163)] = 9400, - [SMALL_STATE(164)] = 9421, - [SMALL_STATE(165)] = 9450, - [SMALL_STATE(166)] = 9471, - [SMALL_STATE(167)] = 9496, - [SMALL_STATE(168)] = 9517, - [SMALL_STATE(169)] = 9542, - [SMALL_STATE(170)] = 9562, - [SMALL_STATE(171)] = 9590, - [SMALL_STATE(172)] = 9618, - [SMALL_STATE(173)] = 9650, - [SMALL_STATE(174)] = 9678, - [SMALL_STATE(175)] = 9706, - [SMALL_STATE(176)] = 9734, - [SMALL_STATE(177)] = 9759, - [SMALL_STATE(178)] = 9784, - [SMALL_STATE(179)] = 9809, - [SMALL_STATE(180)] = 9832, - [SMALL_STATE(181)] = 9855, - [SMALL_STATE(182)] = 9880, - [SMALL_STATE(183)] = 9903, - [SMALL_STATE(184)] = 9928, - [SMALL_STATE(185)] = 9953, - [SMALL_STATE(186)] = 9975, - [SMALL_STATE(187)] = 9997, - [SMALL_STATE(188)] = 10019, - [SMALL_STATE(189)] = 10041, - [SMALL_STATE(190)] = 10059, - [SMALL_STATE(191)] = 10081, - [SMALL_STATE(192)] = 10103, - [SMALL_STATE(193)] = 10122, - [SMALL_STATE(194)] = 10141, - [SMALL_STATE(195)] = 10160, - [SMALL_STATE(196)] = 10177, - [SMALL_STATE(197)] = 10194, - [SMALL_STATE(198)] = 10210, - [SMALL_STATE(199)] = 10230, - [SMALL_STATE(200)] = 10248, - [SMALL_STATE(201)] = 10266, - [SMALL_STATE(202)] = 10286, - [SMALL_STATE(203)] = 10306, - [SMALL_STATE(204)] = 10324, - [SMALL_STATE(205)] = 10341, - [SMALL_STATE(206)] = 10364, - [SMALL_STATE(207)] = 10381, - [SMALL_STATE(208)] = 10398, - [SMALL_STATE(209)] = 10411, - [SMALL_STATE(210)] = 10425, - [SMALL_STATE(211)] = 10437, - [SMALL_STATE(212)] = 10451, - [SMALL_STATE(213)] = 10471, - [SMALL_STATE(214)] = 10485, - [SMALL_STATE(215)] = 10499, - [SMALL_STATE(216)] = 10510, - [SMALL_STATE(217)] = 10524, - [SMALL_STATE(218)] = 10538, - [SMALL_STATE(219)] = 10552, - [SMALL_STATE(220)] = 10568, - [SMALL_STATE(221)] = 10582, - [SMALL_STATE(222)] = 10596, - [SMALL_STATE(223)] = 10610, - [SMALL_STATE(224)] = 10623, - [SMALL_STATE(225)] = 10636, - [SMALL_STATE(226)] = 10649, - [SMALL_STATE(227)] = 10662, - [SMALL_STATE(228)] = 10675, - [SMALL_STATE(229)] = 10688, - [SMALL_STATE(230)] = 10701, - [SMALL_STATE(231)] = 10714, - [SMALL_STATE(232)] = 10727, - [SMALL_STATE(233)] = 10740, - [SMALL_STATE(234)] = 10753, - [SMALL_STATE(235)] = 10766, - [SMALL_STATE(236)] = 10779, - [SMALL_STATE(237)] = 10788, - [SMALL_STATE(238)] = 10801, - [SMALL_STATE(239)] = 10814, - [SMALL_STATE(240)] = 10827, - [SMALL_STATE(241)] = 10840, - [SMALL_STATE(242)] = 10853, - [SMALL_STATE(243)] = 10866, - [SMALL_STATE(244)] = 10879, - [SMALL_STATE(245)] = 10892, - [SMALL_STATE(246)] = 10905, - [SMALL_STATE(247)] = 10918, - [SMALL_STATE(248)] = 10931, - [SMALL_STATE(249)] = 10944, - [SMALL_STATE(250)] = 10957, - [SMALL_STATE(251)] = 10970, - [SMALL_STATE(252)] = 10983, - [SMALL_STATE(253)] = 10994, - [SMALL_STATE(254)] = 11007, - [SMALL_STATE(255)] = 11020, - [SMALL_STATE(256)] = 11033, - [SMALL_STATE(257)] = 11043, - [SMALL_STATE(258)] = 11051, - [SMALL_STATE(259)] = 11059, - [SMALL_STATE(260)] = 11069, - [SMALL_STATE(261)] = 11079, - [SMALL_STATE(262)] = 11089, - [SMALL_STATE(263)] = 11099, - [SMALL_STATE(264)] = 11109, - [SMALL_STATE(265)] = 11119, - [SMALL_STATE(266)] = 11127, - [SMALL_STATE(267)] = 11137, - [SMALL_STATE(268)] = 11147, - [SMALL_STATE(269)] = 11155, - [SMALL_STATE(270)] = 11163, - [SMALL_STATE(271)] = 11171, - [SMALL_STATE(272)] = 11181, - [SMALL_STATE(273)] = 11191, - [SMALL_STATE(274)] = 11199, - [SMALL_STATE(275)] = 11209, - [SMALL_STATE(276)] = 11217, - [SMALL_STATE(277)] = 11227, - [SMALL_STATE(278)] = 11237, - [SMALL_STATE(279)] = 11247, - [SMALL_STATE(280)] = 11255, - [SMALL_STATE(281)] = 11265, - [SMALL_STATE(282)] = 11275, - [SMALL_STATE(283)] = 11285, - [SMALL_STATE(284)] = 11295, - [SMALL_STATE(285)] = 11303, - [SMALL_STATE(286)] = 11313, - [SMALL_STATE(287)] = 11323, - [SMALL_STATE(288)] = 11331, - [SMALL_STATE(289)] = 11341, - [SMALL_STATE(290)] = 11349, - [SMALL_STATE(291)] = 11359, - [SMALL_STATE(292)] = 11369, - [SMALL_STATE(293)] = 11379, - [SMALL_STATE(294)] = 11389, - [SMALL_STATE(295)] = 11399, - [SMALL_STATE(296)] = 11409, - [SMALL_STATE(297)] = 11419, - [SMALL_STATE(298)] = 11429, - [SMALL_STATE(299)] = 11439, - [SMALL_STATE(300)] = 11447, - [SMALL_STATE(301)] = 11455, - [SMALL_STATE(302)] = 11463, - [SMALL_STATE(303)] = 11473, - [SMALL_STATE(304)] = 11480, - [SMALL_STATE(305)] = 11487, - [SMALL_STATE(306)] = 11494, - [SMALL_STATE(307)] = 11501, - [SMALL_STATE(308)] = 11508, - [SMALL_STATE(309)] = 11515, - [SMALL_STATE(310)] = 11522, - [SMALL_STATE(311)] = 11529, - [SMALL_STATE(312)] = 11536, - [SMALL_STATE(313)] = 11543, - [SMALL_STATE(314)] = 11550, - [SMALL_STATE(315)] = 11557, - [SMALL_STATE(316)] = 11564, - [SMALL_STATE(317)] = 11571, - [SMALL_STATE(318)] = 11578, - [SMALL_STATE(319)] = 11585, - [SMALL_STATE(320)] = 11592, - [SMALL_STATE(321)] = 11599, - [SMALL_STATE(322)] = 11606, - [SMALL_STATE(323)] = 11613, - [SMALL_STATE(324)] = 11620, - [SMALL_STATE(325)] = 11627, - [SMALL_STATE(326)] = 11634, - [SMALL_STATE(327)] = 11641, - [SMALL_STATE(328)] = 11648, - [SMALL_STATE(329)] = 11655, - [SMALL_STATE(330)] = 11662, - [SMALL_STATE(331)] = 11669, - [SMALL_STATE(332)] = 11676, - [SMALL_STATE(333)] = 11683, - [SMALL_STATE(334)] = 11690, - [SMALL_STATE(335)] = 11697, - [SMALL_STATE(336)] = 11704, - [SMALL_STATE(337)] = 11711, - [SMALL_STATE(338)] = 11718, - [SMALL_STATE(339)] = 11725, - [SMALL_STATE(340)] = 11732, - [SMALL_STATE(341)] = 11739, - [SMALL_STATE(342)] = 11746, - [SMALL_STATE(343)] = 11753, - [SMALL_STATE(344)] = 11760, - [SMALL_STATE(345)] = 11767, - [SMALL_STATE(346)] = 11774, - [SMALL_STATE(347)] = 11781, - [SMALL_STATE(348)] = 11788, - [SMALL_STATE(349)] = 11795, - [SMALL_STATE(350)] = 11802, - [SMALL_STATE(351)] = 11809, - [SMALL_STATE(352)] = 11816, - [SMALL_STATE(353)] = 11823, - [SMALL_STATE(354)] = 11830, - [SMALL_STATE(355)] = 11837, - [SMALL_STATE(356)] = 11844, - [SMALL_STATE(357)] = 11851, - [SMALL_STATE(358)] = 11858, - [SMALL_STATE(359)] = 11865, - [SMALL_STATE(360)] = 11872, - [SMALL_STATE(361)] = 11879, - [SMALL_STATE(362)] = 11886, - [SMALL_STATE(363)] = 11893, - [SMALL_STATE(364)] = 11900, - [SMALL_STATE(365)] = 11907, - [SMALL_STATE(366)] = 11914, - [SMALL_STATE(367)] = 11921, - [SMALL_STATE(368)] = 11928, - [SMALL_STATE(369)] = 11935, - [SMALL_STATE(370)] = 11942, - [SMALL_STATE(371)] = 11949, - [SMALL_STATE(372)] = 11956, - [SMALL_STATE(373)] = 11963, - [SMALL_STATE(374)] = 11970, - [SMALL_STATE(375)] = 11977, - [SMALL_STATE(376)] = 11984, - [SMALL_STATE(377)] = 11991, - [SMALL_STATE(378)] = 11998, - [SMALL_STATE(379)] = 12005, - [SMALL_STATE(380)] = 12012, - [SMALL_STATE(381)] = 12019, - [SMALL_STATE(382)] = 12026, - [SMALL_STATE(383)] = 12033, - [SMALL_STATE(384)] = 12040, - [SMALL_STATE(385)] = 12047, - [SMALL_STATE(386)] = 12054, - [SMALL_STATE(387)] = 12061, - [SMALL_STATE(388)] = 12068, - [SMALL_STATE(389)] = 12075, - [SMALL_STATE(390)] = 12082, - [SMALL_STATE(391)] = 12089, - [SMALL_STATE(392)] = 12096, - [SMALL_STATE(393)] = 12103, - [SMALL_STATE(394)] = 12110, - [SMALL_STATE(395)] = 12117, - [SMALL_STATE(396)] = 12124, - [SMALL_STATE(397)] = 12131, - [SMALL_STATE(398)] = 12138, - [SMALL_STATE(399)] = 12145, - [SMALL_STATE(400)] = 12152, - [SMALL_STATE(401)] = 12159, - [SMALL_STATE(402)] = 12166, - [SMALL_STATE(403)] = 12173, + [SMALL_STATE(6)] = 538, + [SMALL_STATE(7)] = 672, + [SMALL_STATE(8)] = 806, + [SMALL_STATE(9)] = 940, + [SMALL_STATE(10)] = 1074, + [SMALL_STATE(11)] = 1208, + [SMALL_STATE(12)] = 1342, + [SMALL_STATE(13)] = 1473, + [SMALL_STATE(14)] = 1604, + [SMALL_STATE(15)] = 1735, + [SMALL_STATE(16)] = 1866, + [SMALL_STATE(17)] = 1997, + [SMALL_STATE(18)] = 2128, + [SMALL_STATE(19)] = 2259, + [SMALL_STATE(20)] = 2390, + [SMALL_STATE(21)] = 2521, + [SMALL_STATE(22)] = 2652, + [SMALL_STATE(23)] = 2783, + [SMALL_STATE(24)] = 2914, + [SMALL_STATE(25)] = 3045, + [SMALL_STATE(26)] = 3176, + [SMALL_STATE(27)] = 3307, + [SMALL_STATE(28)] = 3438, + [SMALL_STATE(29)] = 3569, + [SMALL_STATE(30)] = 3700, + [SMALL_STATE(31)] = 3831, + [SMALL_STATE(32)] = 3962, + [SMALL_STATE(33)] = 4093, + [SMALL_STATE(34)] = 4224, + [SMALL_STATE(35)] = 4349, + [SMALL_STATE(36)] = 4471, + [SMALL_STATE(37)] = 4590, + [SMALL_STATE(38)] = 4706, + [SMALL_STATE(39)] = 4819, + [SMALL_STATE(40)] = 4929, + [SMALL_STATE(41)] = 5036, + [SMALL_STATE(42)] = 5140, + [SMALL_STATE(43)] = 5241, + [SMALL_STATE(44)] = 5339, + [SMALL_STATE(45)] = 5389, + [SMALL_STATE(46)] = 5452, + [SMALL_STATE(47)] = 5515, + [SMALL_STATE(48)] = 5578, + [SMALL_STATE(49)] = 5648, + [SMALL_STATE(50)] = 5715, + [SMALL_STATE(51)] = 5782, + [SMALL_STATE(52)] = 5849, + [SMALL_STATE(53)] = 5916, + [SMALL_STATE(54)] = 5983, + [SMALL_STATE(55)] = 6050, + [SMALL_STATE(56)] = 6117, + [SMALL_STATE(57)] = 6184, + [SMALL_STATE(58)] = 6251, + [SMALL_STATE(59)] = 6318, + [SMALL_STATE(60)] = 6385, + [SMALL_STATE(61)] = 6452, + [SMALL_STATE(62)] = 6519, + [SMALL_STATE(63)] = 6586, + [SMALL_STATE(64)] = 6652, + [SMALL_STATE(65)] = 6698, + [SMALL_STATE(66)] = 6764, + [SMALL_STATE(67)] = 6830, + [SMALL_STATE(68)] = 6875, + [SMALL_STATE(69)] = 6913, + [SMALL_STATE(70)] = 6950, + [SMALL_STATE(71)] = 6987, + [SMALL_STATE(72)] = 7024, + [SMALL_STATE(73)] = 7061, + [SMALL_STATE(74)] = 7098, + [SMALL_STATE(75)] = 7135, + [SMALL_STATE(76)] = 7172, + [SMALL_STATE(77)] = 7209, + [SMALL_STATE(78)] = 7246, + [SMALL_STATE(79)] = 7283, + [SMALL_STATE(80)] = 7320, + [SMALL_STATE(81)] = 7357, + [SMALL_STATE(82)] = 7394, + [SMALL_STATE(83)] = 7431, + [SMALL_STATE(84)] = 7468, + [SMALL_STATE(85)] = 7505, + [SMALL_STATE(86)] = 7542, + [SMALL_STATE(87)] = 7579, + [SMALL_STATE(88)] = 7616, + [SMALL_STATE(89)] = 7653, + [SMALL_STATE(90)] = 7690, + [SMALL_STATE(91)] = 7727, + [SMALL_STATE(92)] = 7764, + [SMALL_STATE(93)] = 7801, + [SMALL_STATE(94)] = 7838, + [SMALL_STATE(95)] = 7875, + [SMALL_STATE(96)] = 7912, + [SMALL_STATE(97)] = 7949, + [SMALL_STATE(98)] = 7986, + [SMALL_STATE(99)] = 8023, + [SMALL_STATE(100)] = 8060, + [SMALL_STATE(101)] = 8097, + [SMALL_STATE(102)] = 8134, + [SMALL_STATE(103)] = 8171, + [SMALL_STATE(104)] = 8208, + [SMALL_STATE(105)] = 8245, + [SMALL_STATE(106)] = 8282, + [SMALL_STATE(107)] = 8319, + [SMALL_STATE(108)] = 8354, + [SMALL_STATE(109)] = 8404, + [SMALL_STATE(110)] = 8440, + [SMALL_STATE(111)] = 8476, + [SMALL_STATE(112)] = 8526, + [SMALL_STATE(113)] = 8562, + [SMALL_STATE(114)] = 8612, + [SMALL_STATE(115)] = 8641, + [SMALL_STATE(116)] = 8670, + [SMALL_STATE(117)] = 8699, + [SMALL_STATE(118)] = 8730, + [SMALL_STATE(119)] = 8761, + [SMALL_STATE(120)] = 8792, + [SMALL_STATE(121)] = 8818, + [SMALL_STATE(122)] = 8843, + [SMALL_STATE(123)] = 8868, + [SMALL_STATE(124)] = 8893, + [SMALL_STATE(125)] = 8918, + [SMALL_STATE(126)] = 8943, + [SMALL_STATE(127)] = 8968, + [SMALL_STATE(128)] = 8999, + [SMALL_STATE(129)] = 9024, + [SMALL_STATE(130)] = 9049, + [SMALL_STATE(131)] = 9074, + [SMALL_STATE(132)] = 9101, + [SMALL_STATE(133)] = 9126, + [SMALL_STATE(134)] = 9151, + [SMALL_STATE(135)] = 9176, + [SMALL_STATE(136)] = 9201, + [SMALL_STATE(137)] = 9226, + [SMALL_STATE(138)] = 9251, + [SMALL_STATE(139)] = 9282, + [SMALL_STATE(140)] = 9307, + [SMALL_STATE(141)] = 9338, + [SMALL_STATE(142)] = 9363, + [SMALL_STATE(143)] = 9388, + [SMALL_STATE(144)] = 9413, + [SMALL_STATE(145)] = 9438, + [SMALL_STATE(146)] = 9463, + [SMALL_STATE(147)] = 9488, + [SMALL_STATE(148)] = 9513, + [SMALL_STATE(149)] = 9538, + [SMALL_STATE(150)] = 9563, + [SMALL_STATE(151)] = 9588, + [SMALL_STATE(152)] = 9613, + [SMALL_STATE(153)] = 9637, + [SMALL_STATE(154)] = 9658, + [SMALL_STATE(155)] = 9687, + [SMALL_STATE(156)] = 9722, + [SMALL_STATE(157)] = 9743, + [SMALL_STATE(158)] = 9778, + [SMALL_STATE(159)] = 9799, + [SMALL_STATE(160)] = 9820, + [SMALL_STATE(161)] = 9841, + [SMALL_STATE(162)] = 9870, + [SMALL_STATE(163)] = 9895, + [SMALL_STATE(164)] = 9920, + [SMALL_STATE(165)] = 9941, + [SMALL_STATE(166)] = 9976, + [SMALL_STATE(167)] = 10001, + [SMALL_STATE(168)] = 10022, + [SMALL_STATE(169)] = 10043, + [SMALL_STATE(170)] = 10064, + [SMALL_STATE(171)] = 10093, + [SMALL_STATE(172)] = 10114, + [SMALL_STATE(173)] = 10135, + [SMALL_STATE(174)] = 10156, + [SMALL_STATE(175)] = 10177, + [SMALL_STATE(176)] = 10198, + [SMALL_STATE(177)] = 10226, + [SMALL_STATE(178)] = 10258, + [SMALL_STATE(179)] = 10278, + [SMALL_STATE(180)] = 10306, + [SMALL_STATE(181)] = 10334, + [SMALL_STATE(182)] = 10362, + [SMALL_STATE(183)] = 10390, + [SMALL_STATE(184)] = 10415, + [SMALL_STATE(185)] = 10440, + [SMALL_STATE(186)] = 10463, + [SMALL_STATE(187)] = 10486, + [SMALL_STATE(188)] = 10509, + [SMALL_STATE(189)] = 10534, + [SMALL_STATE(190)] = 10559, + [SMALL_STATE(191)] = 10584, + [SMALL_STATE(192)] = 10609, + [SMALL_STATE(193)] = 10634, + [SMALL_STATE(194)] = 10656, + [SMALL_STATE(195)] = 10678, + [SMALL_STATE(196)] = 10700, + [SMALL_STATE(197)] = 10722, + [SMALL_STATE(198)] = 10744, + [SMALL_STATE(199)] = 10762, + [SMALL_STATE(200)] = 10784, + [SMALL_STATE(201)] = 10806, + [SMALL_STATE(202)] = 10827, + [SMALL_STATE(203)] = 10846, + [SMALL_STATE(204)] = 10865, + [SMALL_STATE(205)] = 10882, + [SMALL_STATE(206)] = 10901, + [SMALL_STATE(207)] = 10918, + [SMALL_STATE(208)] = 10939, + [SMALL_STATE(209)] = 10960, + [SMALL_STATE(210)] = 10978, + [SMALL_STATE(211)] = 10996, + [SMALL_STATE(212)] = 11012, + [SMALL_STATE(213)] = 11030, + [SMALL_STATE(214)] = 11047, + [SMALL_STATE(215)] = 11062, + [SMALL_STATE(216)] = 11077, + [SMALL_STATE(217)] = 11094, + [SMALL_STATE(218)] = 11107, + [SMALL_STATE(219)] = 11124, + [SMALL_STATE(220)] = 11147, + [SMALL_STATE(221)] = 11162, + [SMALL_STATE(222)] = 11182, + [SMALL_STATE(223)] = 11196, + [SMALL_STATE(224)] = 11208, + [SMALL_STATE(225)] = 11219, + [SMALL_STATE(226)] = 11233, + [SMALL_STATE(227)] = 11247, + [SMALL_STATE(228)] = 11261, + [SMALL_STATE(229)] = 11275, + [SMALL_STATE(230)] = 11289, + [SMALL_STATE(231)] = 11305, + [SMALL_STATE(232)] = 11319, + [SMALL_STATE(233)] = 11332, + [SMALL_STATE(234)] = 11345, + [SMALL_STATE(235)] = 11358, + [SMALL_STATE(236)] = 11371, + [SMALL_STATE(237)] = 11384, + [SMALL_STATE(238)] = 11397, + [SMALL_STATE(239)] = 11410, + [SMALL_STATE(240)] = 11423, + [SMALL_STATE(241)] = 11436, + [SMALL_STATE(242)] = 11449, + [SMALL_STATE(243)] = 11462, + [SMALL_STATE(244)] = 11475, + [SMALL_STATE(245)] = 11488, + [SMALL_STATE(246)] = 11501, + [SMALL_STATE(247)] = 11514, + [SMALL_STATE(248)] = 11527, + [SMALL_STATE(249)] = 11540, + [SMALL_STATE(250)] = 11553, + [SMALL_STATE(251)] = 11566, + [SMALL_STATE(252)] = 11579, + [SMALL_STATE(253)] = 11592, + [SMALL_STATE(254)] = 11605, + [SMALL_STATE(255)] = 11618, + [SMALL_STATE(256)] = 11631, + [SMALL_STATE(257)] = 11644, + [SMALL_STATE(258)] = 11657, + [SMALL_STATE(259)] = 11670, + [SMALL_STATE(260)] = 11683, + [SMALL_STATE(261)] = 11696, + [SMALL_STATE(262)] = 11707, + [SMALL_STATE(263)] = 11716, + [SMALL_STATE(264)] = 11729, + [SMALL_STATE(265)] = 11742, + [SMALL_STATE(266)] = 11755, + [SMALL_STATE(267)] = 11763, + [SMALL_STATE(268)] = 11771, + [SMALL_STATE(269)] = 11781, + [SMALL_STATE(270)] = 11789, + [SMALL_STATE(271)] = 11799, + [SMALL_STATE(272)] = 11809, + [SMALL_STATE(273)] = 11819, + [SMALL_STATE(274)] = 11829, + [SMALL_STATE(275)] = 11839, + [SMALL_STATE(276)] = 11849, + [SMALL_STATE(277)] = 11859, + [SMALL_STATE(278)] = 11867, + [SMALL_STATE(279)] = 11875, + [SMALL_STATE(280)] = 11885, + [SMALL_STATE(281)] = 11895, + [SMALL_STATE(282)] = 11905, + [SMALL_STATE(283)] = 11915, + [SMALL_STATE(284)] = 11923, + [SMALL_STATE(285)] = 11933, + [SMALL_STATE(286)] = 11941, + [SMALL_STATE(287)] = 11951, + [SMALL_STATE(288)] = 11961, + [SMALL_STATE(289)] = 11971, + [SMALL_STATE(290)] = 11981, + [SMALL_STATE(291)] = 11991, + [SMALL_STATE(292)] = 11999, + [SMALL_STATE(293)] = 12007, + [SMALL_STATE(294)] = 12017, + [SMALL_STATE(295)] = 12025, + [SMALL_STATE(296)] = 12035, + [SMALL_STATE(297)] = 12045, + [SMALL_STATE(298)] = 12055, + [SMALL_STATE(299)] = 12063, + [SMALL_STATE(300)] = 12073, + [SMALL_STATE(301)] = 12081, + [SMALL_STATE(302)] = 12089, + [SMALL_STATE(303)] = 12099, + [SMALL_STATE(304)] = 12107, + [SMALL_STATE(305)] = 12117, + [SMALL_STATE(306)] = 12127, + [SMALL_STATE(307)] = 12137, + [SMALL_STATE(308)] = 12145, + [SMALL_STATE(309)] = 12155, + [SMALL_STATE(310)] = 12165, + [SMALL_STATE(311)] = 12175, + [SMALL_STATE(312)] = 12185, + [SMALL_STATE(313)] = 12195, + [SMALL_STATE(314)] = 12205, + [SMALL_STATE(315)] = 12212, + [SMALL_STATE(316)] = 12219, + [SMALL_STATE(317)] = 12226, + [SMALL_STATE(318)] = 12233, + [SMALL_STATE(319)] = 12240, + [SMALL_STATE(320)] = 12247, + [SMALL_STATE(321)] = 12254, + [SMALL_STATE(322)] = 12261, + [SMALL_STATE(323)] = 12268, + [SMALL_STATE(324)] = 12275, + [SMALL_STATE(325)] = 12282, + [SMALL_STATE(326)] = 12289, + [SMALL_STATE(327)] = 12296, + [SMALL_STATE(328)] = 12303, + [SMALL_STATE(329)] = 12310, + [SMALL_STATE(330)] = 12317, + [SMALL_STATE(331)] = 12324, + [SMALL_STATE(332)] = 12331, + [SMALL_STATE(333)] = 12338, + [SMALL_STATE(334)] = 12345, + [SMALL_STATE(335)] = 12352, + [SMALL_STATE(336)] = 12359, + [SMALL_STATE(337)] = 12366, + [SMALL_STATE(338)] = 12373, + [SMALL_STATE(339)] = 12380, + [SMALL_STATE(340)] = 12387, + [SMALL_STATE(341)] = 12394, + [SMALL_STATE(342)] = 12401, + [SMALL_STATE(343)] = 12408, + [SMALL_STATE(344)] = 12415, + [SMALL_STATE(345)] = 12422, + [SMALL_STATE(346)] = 12429, + [SMALL_STATE(347)] = 12436, + [SMALL_STATE(348)] = 12443, + [SMALL_STATE(349)] = 12450, + [SMALL_STATE(350)] = 12457, + [SMALL_STATE(351)] = 12464, + [SMALL_STATE(352)] = 12471, + [SMALL_STATE(353)] = 12478, + [SMALL_STATE(354)] = 12485, + [SMALL_STATE(355)] = 12492, + [SMALL_STATE(356)] = 12499, + [SMALL_STATE(357)] = 12506, + [SMALL_STATE(358)] = 12513, + [SMALL_STATE(359)] = 12520, + [SMALL_STATE(360)] = 12527, + [SMALL_STATE(361)] = 12534, + [SMALL_STATE(362)] = 12541, + [SMALL_STATE(363)] = 12548, + [SMALL_STATE(364)] = 12555, + [SMALL_STATE(365)] = 12562, + [SMALL_STATE(366)] = 12569, + [SMALL_STATE(367)] = 12576, + [SMALL_STATE(368)] = 12583, + [SMALL_STATE(369)] = 12590, + [SMALL_STATE(370)] = 12597, + [SMALL_STATE(371)] = 12604, + [SMALL_STATE(372)] = 12611, + [SMALL_STATE(373)] = 12618, + [SMALL_STATE(374)] = 12625, + [SMALL_STATE(375)] = 12632, + [SMALL_STATE(376)] = 12639, + [SMALL_STATE(377)] = 12646, + [SMALL_STATE(378)] = 12653, + [SMALL_STATE(379)] = 12660, + [SMALL_STATE(380)] = 12667, + [SMALL_STATE(381)] = 12674, + [SMALL_STATE(382)] = 12681, + [SMALL_STATE(383)] = 12688, + [SMALL_STATE(384)] = 12695, + [SMALL_STATE(385)] = 12702, + [SMALL_STATE(386)] = 12709, + [SMALL_STATE(387)] = 12716, + [SMALL_STATE(388)] = 12723, + [SMALL_STATE(389)] = 12730, + [SMALL_STATE(390)] = 12737, + [SMALL_STATE(391)] = 12744, + [SMALL_STATE(392)] = 12751, + [SMALL_STATE(393)] = 12758, + [SMALL_STATE(394)] = 12765, + [SMALL_STATE(395)] = 12772, + [SMALL_STATE(396)] = 12779, + [SMALL_STATE(397)] = 12786, + [SMALL_STATE(398)] = 12793, + [SMALL_STATE(399)] = 12800, + [SMALL_STATE(400)] = 12807, + [SMALL_STATE(401)] = 12814, + [SMALL_STATE(402)] = 12821, + [SMALL_STATE(403)] = 12828, + [SMALL_STATE(404)] = 12835, + [SMALL_STATE(405)] = 12842, + [SMALL_STATE(406)] = 12849, + [SMALL_STATE(407)] = 12856, + [SMALL_STATE(408)] = 12863, + [SMALL_STATE(409)] = 12870, + [SMALL_STATE(410)] = 12877, + [SMALL_STATE(411)] = 12884, + [SMALL_STATE(412)] = 12891, + [SMALL_STATE(413)] = 12898, + [SMALL_STATE(414)] = 12905, + [SMALL_STATE(415)] = 12912, + [SMALL_STATE(416)] = 12919, + [SMALL_STATE(417)] = 12926, + [SMALL_STATE(418)] = 12933, + [SMALL_STATE(419)] = 12940, + [SMALL_STATE(420)] = 12947, + [SMALL_STATE(421)] = 12954, }; 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 = true}}, SHIFT(311), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(260), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(262), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), - [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(83), - [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [57] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_literal, 1, 0, 0), - [59] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_literal, 1, 0, 0), - [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix, 2, 0, 0), - [65] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_postfix, 2, 0, 0), - [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(377), - [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(380), - [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382), - [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297), - [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(386), - [81] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), - [83] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), - [85] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(12), - [88] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(377), - [91] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(99), - [94] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(380), - [97] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(382), - [100] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(297), - [103] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(386), - [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix, 1, 0, 0), - [108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_postfix, 1, 0, 0), - [110] = {.entry = {.count = 1, .reusable = false}}, SHIFT(205), - [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), - [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), - [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), - [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(372), - [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373), - [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(376), - [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), - [128] = {.entry = {.count = 1, .reusable = false}}, SHIFT(212), - [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), - [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), - [136] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(212), - [139] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(286), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(306), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(308), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(44), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), + [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_literal, 1, 0, 0), + [61] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_literal, 1, 0, 0), + [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [65] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix, 2, 0, 0), + [67] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_postfix, 2, 0, 0), + [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(387), + [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), + [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), + [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311), + [81] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), + [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), + [85] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), + [87] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(29), + [90] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(387), + [93] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(96), + [96] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(402), + [99] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(405), + [102] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(311), + [105] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(416), + [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix, 1, 0, 0), + [110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_postfix, 1, 0, 0), + [112] = {.entry = {.count = 1, .reusable = false}}, SHIFT(219), + [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), + [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329), + [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370), + [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), + [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), + [130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(221), + [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [136] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(221), + [139] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(312), [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), - [144] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(177), - [147] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(295), - [150] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(372), - [153] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(373), - [156] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(376), - [159] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(296), - [162] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(209), - [165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), - [167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), - [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), - [171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), - [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), - [175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), - [177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), - [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [181] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_unary_repeat1, 2, 0, 0), - [183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_unary_repeat1, 2, 0, 0), - [185] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_unary_repeat1, 2, 0, 0), SHIFT_REPEAT(64), - [188] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_unary_repeat1, 2, 0, 0), SHIFT_REPEAT(64), - [191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primary, 1, 0, 0), - [193] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_base_type, 1, 0, 0), SHIFT(3), - [196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primary, 1, 0, 0), - [198] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_primary, 1, 0, 0), REDUCE(sym_base_type, 1, 0, 0), - [201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_op, 1, 0, 0), - [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_op, 1, 0, 0), - [205] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice_call, 6, 0, 0), - [207] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_slice_call, 6, 0, 0), - [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_unit, 1, 0, 0), - [211] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_unit, 1, 0, 0), - [213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_literal, 2, 0, 0), - [215] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_literal, 2, 0, 0), - [217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_append_call, 2, 0, 0), - [219] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_append_call, 2, 0, 0), - [221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1, 0, 0), - [223] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_literal, 1, 0, 0), - [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 2, 0, 0), - [227] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 2, 0, 0), - [229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_object, 3, 0, 0), - [231] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_object, 3, 0, 0), - [233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 2, 0, 0), - [235] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 2, 0, 0), - [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_object, 4, 0, 0), - [239] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_object, 4, 0, 0), - [241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 4, 0, 0), - [243] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 4, 0, 0), - [245] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_output_field_name, 1, 0, 0), - [247] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_output_field_name, 1, 0, 0), - [249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_output_field, 2, 0, 1), - [251] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_output_field, 2, 0, 1), - [253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_input_field_name, 1, 0, 0), - [255] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_input_field_name, 1, 0, 0), - [257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_input_field, 2, 0, 1), - [259] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_input_field, 2, 0, 1), - [261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_date_literal, 4, 0, 0), - [263] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_date_literal, 4, 0, 0), - [265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1, 0, 0), - [267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1, 0, 0), - [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 3, 0, 0), - [271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_list, 3, 0, 0), - [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_reverse_call, 3, 0, 0), - [275] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_reverse_call, 3, 0, 0), - [277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nullary_op, 1, 0, 0), - [279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_nullary_op, 1, 0, 0), - [281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast, 4, 0, 0), - [283] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast, 4, 0, 0), - [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized, 3, 0, 0), - [287] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized, 3, 0, 0), - [289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_object, 2, 0, 0), - [291] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_object, 2, 0, 0), - [293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 3, 0, 0), - [295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 3, 0, 0), - [297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instantiation, 3, 0, 0), - [299] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_instantiation, 3, 0, 0), - [301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_object, 5, 0, 0), - [303] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_object, 5, 0, 0), - [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 5, 0, 0), - [307] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 5, 0, 0), - [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 4, 0, 0), - [311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_list, 4, 0, 0), - [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_split_call, 4, 0, 0), - [315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_split_call, 4, 0, 0), - [317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast, 5, 0, 0), - [319] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast, 5, 0, 0), - [321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_introspection, 3, 0, 5), - [323] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_introspection, 3, 0, 5), - [325] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 5, 0, 0), - [327] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_list, 5, 0, 0), - [329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast, 6, 0, 0), - [331] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast, 6, 0, 0), - [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 2, 0, 0), - [335] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_list, 2, 0, 0), - [337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix_op, 1, 0, 0), - [339] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_postfix_op, 1, 0, 0), - [341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast, 7, 0, 0), - [343] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast, 7, 0, 0), - [345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_index, 3, 0, 0), - [347] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_index, 3, 0, 0), - [349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member_access, 2, 0, 1), - [351] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member_access, 2, 0, 1), - [353] = {.entry = {.count = 1, .reusable = false}}, SHIFT(209), - [355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362), - [357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(342), - [359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(343), - [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354), - [363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), - [365] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(209), - [368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), - [370] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(342), - [373] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(343), - [376] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(354), - [379] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(209), - [382] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(219), - [385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_factor, 2, 0, 0), - [387] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_factor, 2, 0, 0), - [389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [391] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), - [393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), - [395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_factor, 1, 0, 0), - [397] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_factor, 1, 0, 0), - [399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_factor_repeat1, 2, 0, 0), - [401] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_factor_repeat1, 2, 0, 0), - [403] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_factor_repeat1, 2, 0, 0), SHIFT_REPEAT(38), - [406] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_factor_repeat1, 2, 0, 0), SHIFT_REPEAT(38), - [409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary, 1, 0, 0), - [411] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary, 1, 0, 0), - [413] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary, 2, 0, 0), - [415] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary, 2, 0, 0), - [417] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_term, 2, 0, 0), - [419] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_term, 2, 0, 0), - [421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), - [425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), - [427] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(37), - [430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_term, 1, 0, 0), - [432] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_term, 1, 0, 0), - [434] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_function_call_assignment, 8, 0, 0), - [436] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_function_call_assignment, 8, 0, 0), - [438] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_time_op_statement, 9, 0, 0), - [440] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_time_op_statement, 9, 0, 0), - [442] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comparison, 2, 0, 0), - [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [446] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comparison, 2, 0, 0), - [448] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), - [450] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_statement, 2, 0, 0), - [452] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_statement, 2, 0, 0), - [454] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition, 3, 0, 1), - [456] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition, 3, 0, 1), - [458] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_comparison_repeat1, 2, 0, 0), - [460] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_repeat1, 2, 0, 0), SHIFT_REPEAT(36), - [463] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_comparison_repeat1, 2, 0, 0), - [465] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_comparison_repeat1, 2, 0, 0), SHIFT_REPEAT(36), - [468] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3, 0, 0), - [470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3, 0, 0), - [472] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_console_statement, 3, 0, 0), - [474] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_statement, 3, 0, 0), - [476] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 11, 0, 0), - [478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 11, 0, 0), - [480] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comparison, 1, 0, 0), - [482] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comparison, 1, 0, 0), - [484] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assign_statement, 4, 0, 7), - [486] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assign_statement, 4, 0, 7), - [488] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_require_statement, 5, 0, 0), - [490] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_require_statement, 5, 0, 0), - [492] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition, 4, 0, 3), - [494] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition, 4, 0, 3), - [496] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, 0, 0), - [498] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, 0, 0), - [500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [502] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 1, 0, 0), - [504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 1, 0, 0), - [506] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition, 5, 0, 2), - [508] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition, 5, 0, 2), - [510] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_function_call_assignment, 6, 0, 0), - [512] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_function_call_assignment, 6, 0, 0), - [514] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_assignment, 6, 0, 0), - [516] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_assignment, 6, 0, 0), - [518] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2, 0, 0), - [520] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2, 0, 0), - [522] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition, 6, 0, 4), - [524] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition, 6, 0, 4), - [526] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_function_call_assignment, 7, 0, 0), - [528] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_function_call_assignment, 7, 0, 0), - [530] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_assignment, 7, 0, 0), - [532] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_assignment, 7, 0, 0), - [534] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_require_statement, 7, 0, 0), - [536] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_require_statement, 7, 0, 0), - [538] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_time_op_statement, 7, 0, 0), - [540] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_time_op_statement, 7, 0, 0), - [542] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, 0, 0), - [544] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, 0, 0), - [546] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 7, 0, 0), - [548] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 7, 0, 0), - [550] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1, 0, 0), - [552] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1, 0, 0), - [554] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_assignment, 8, 0, 0), - [556] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_assignment, 8, 0, 0), - [558] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_assignment, 8, 0, 0), - [560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_assignment, 8, 0, 0), - [562] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 8, 0, 3), - [564] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 8, 0, 3), - [566] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_contract_field_definition, 5, 0, 2), - [568] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_field_definition, 5, 0, 2), - [570] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, 0, 1), - [572] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, 0, 1), - [574] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, 0, 6), - [576] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, 0, 6), - [578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_equality, 1, 0, 0), - [580] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_equality, 1, 0, 0), - [582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [584] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, 0, 3), - [586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, 0, 3), - [588] = {.entry = {.count = 1, .reusable = false}}, SHIFT(284), - [590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317), - [592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346), - [594] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 5, 0, 1), - [596] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 5, 0, 1), - [598] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(209), - [601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 0), - [603] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(209), - [606] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 8, 0, 6), - [608] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 8, 0, 6), - [610] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, 0, 1), - [612] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, 0, 1), - [614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), - [616] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_definition, 6, 0, 4), - [618] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_definition, 6, 0, 4), - [620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(374), - [622] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 4, 0, 1), - [624] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 4, 0, 1), - [626] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 1), - [628] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 1), - [630] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 9, 0, 6), - [632] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 9, 0, 6), - [634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), - [636] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_contract_item, 1, 0, 0), - [638] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_item, 1, 0, 0), - [640] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_equality_repeat1, 2, 0, 0), - [642] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_equality_repeat1, 2, 0, 0), - [644] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_equality_repeat1, 2, 0, 0), SHIFT_REPEAT(35), - [647] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, 0, 3), - [649] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, 0, 3), - [651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_equality, 2, 0, 0), - [653] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_equality, 2, 0, 0), - [655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), - [657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), - [659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336), - [661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367), - [663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), - [665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378), - [667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353), - [669] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_and, 2, 0, 0), - [671] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bit_and, 2, 0, 0), - [673] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), - [675] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_bit_and_repeat1, 2, 0, 0), - [677] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_bit_and_repeat1, 2, 0, 0), - [679] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_bit_and_repeat1, 2, 0, 0), SHIFT_REPEAT(34), - [682] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_and, 1, 0, 0), - [684] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bit_and, 1, 0, 0), - [686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), - [688] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_xor, 1, 0, 0), - [690] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bit_xor, 1, 0, 0), - [692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [694] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_bit_xor_repeat1, 2, 0, 0), - [696] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_bit_xor_repeat1, 2, 0, 0), - [698] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_bit_xor_repeat1, 2, 0, 0), SHIFT_REPEAT(33), - [701] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_xor, 2, 0, 0), - [703] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bit_xor, 2, 0, 0), - [705] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_or, 2, 0, 0), - [707] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), - [709] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_bit_or_repeat1, 2, 0, 0), - [711] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_bit_or_repeat1, 2, 0, 0), SHIFT_REPEAT(32), - [714] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_or, 1, 0, 0), - [716] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_field_definition, 3, 0, 1), - [718] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field_definition, 3, 0, 1), - [720] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_bit_or_repeat1, 2, 0, 0), - [722] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_name, 2, 0, 0), - [724] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_name, 2, 0, 0), - [726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), - [728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_logical_and_repeat1, 2, 0, 0), - [730] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_logical_and_repeat1, 2, 0, 0), SHIFT_REPEAT(31), - [733] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_and, 1, 0, 0), - [735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [737] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_name, 1, 0, 0), - [739] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_name, 1, 0, 0), - [741] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_name_repeat1, 2, 0, 0), - [743] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_name_repeat1, 2, 0, 0), - [745] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_name_repeat1, 2, 0, 0), SHIFT_REPEAT(218), - [748] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_and, 2, 0, 0), - [750] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_or, 1, 0, 0), - [752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [754] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 1, 0, 0), - [756] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 1, 0, 0), - [758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), - [764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_or, 2, 0, 0), - [766] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_logical_or_repeat1, 2, 0, 0), - [768] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_logical_or_repeat1, 2, 0, 0), SHIFT_REPEAT(30), - [771] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_suffix, 3, 0, 0), - [773] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_suffix, 3, 0, 0), - [775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [777] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_suffix, 2, 0, 0), - [779] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_suffix, 2, 0, 0), - [781] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), - [783] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_variable_definition_repeat1, 2, 0, 0), - [785] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_variable_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(302), - [788] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_list_repeat1, 2, 0, 0), SHIFT_REPEAT(24), - [791] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_expression_list_repeat1, 2, 0, 0), - [793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364), - [795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), - [797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(334), - [799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379), - [801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), - [803] = {.entry = {.count = 1, .reusable = false}}, SHIFT(263), - [805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), - [807] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat1, 2, 0, 0), - [809] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(221), - [812] = {.entry = {.count = 1, .reusable = false}}, SHIFT(239), - [814] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(184), - [817] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), - [819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), - [821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(396), - [827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), - [829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349), - [831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), - [833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), - [837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), - [839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), - [841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305), - [843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), - [845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), - [847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), - [849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), - [851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), - [853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [855] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_state_object_repeat1, 2, 0, 0), - [857] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_state_object_repeat1, 2, 0, 0), SHIFT_REPEAT(272), - [860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), - [872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332), - [874] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_state_function_call_assignment_repeat1, 2, 0, 0), - [876] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_state_function_call_assignment_repeat1, 2, 0, 0), SHIFT_REPEAT(282), - [879] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_assignment_repeat1, 2, 0, 0), SHIFT_REPEAT(181), - [882] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_assignment_repeat1, 2, 0, 0), - [884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), - [886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), - [888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), - [890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), - [892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), - [894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [896] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_return_type_list_repeat1, 2, 0, 0), SHIFT_REPEAT(186), - [899] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_return_type_list_repeat1, 2, 0, 0), - [901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), - [905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), - [907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [911] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_console_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(172), - [914] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_console_parameter_list_repeat1, 2, 0, 0), - [916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(338), - [924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), - [926] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [928] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [930] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), - [934] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0), - [936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), - [938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), - [940] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 5, 0, 0), - [942] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typed_binding, 2, 0, 0), - [944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), - [946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392), - [948] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3, 0, 0), - [950] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 4, 0, 0), - [952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357), - [958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [960] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_typed_binding, 4, 0, 0), - [962] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_parameter, 1, 0, 0), - [964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), - [966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), - [968] = {.entry = {.count = 1, .reusable = false}}, SHIFT(391), - [970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(388), - [972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [974] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 2, 0, 0), - [976] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_entry, 3, 0, 0), + [144] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(192), + [147] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(5), + [150] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(329), + [153] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(370), + [156] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(321), + [159] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(286), + [162] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(215), + [165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), + [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [183] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_unary_repeat1, 2, 0, 0), + [185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_unary_repeat1, 2, 0, 0), + [187] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_unary_repeat1, 2, 0, 0), SHIFT_REPEAT(68), + [190] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_unary_repeat1, 2, 0, 0), SHIFT_REPEAT(68), + [193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primary, 1, 0, 0), + [195] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_base_type, 1, 0, 0), SHIFT(3), + [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primary, 1, 0, 0), + [200] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_primary, 1, 0, 0), REDUCE(sym_base_type, 1, 0, 0), + [203] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_op, 1, 0, 0), + [205] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_op, 1, 0, 0), + [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 3, 0, 0), + [209] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_list, 3, 0, 0), + [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_append_call, 2, 0, 0), + [213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_append_call, 2, 0, 0), + [215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1, 0, 0), + [217] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1, 0, 0), + [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_object, 2, 0, 0), + [221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_object, 2, 0, 0), + [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 2, 0, 0), + [225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 2, 0, 0), + [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nullary_op, 1, 0, 0), + [229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_nullary_op, 1, 0, 0), + [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_object, 4, 0, 0), + [233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_object, 4, 0, 0), + [235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 4, 0, 0), + [237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 4, 0, 0), + [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1, 0, 0), + [241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_literal, 1, 0, 0), + [243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_output_field_name, 1, 0, 0), + [245] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_output_field_name, 1, 0, 0), + [247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_output_field, 2, 0, 1), + [249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_output_field, 2, 0, 1), + [251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_input_field_name, 1, 0, 0), + [253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_input_field_name, 1, 0, 0), + [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_input_field, 2, 0, 1), + [257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_input_field, 2, 0, 1), + [259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_date_literal, 4, 0, 0), + [261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_date_literal, 4, 0, 0), + [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_reverse_call, 3, 0, 0), + [265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_reverse_call, 3, 0, 0), + [267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast, 4, 0, 0), + [269] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast, 4, 0, 0), + [271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 2, 0, 0), + [273] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 2, 0, 0), + [275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized, 3, 0, 0), + [277] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized, 3, 0, 0), + [279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_unit, 1, 0, 0), + [281] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_unit, 1, 0, 0), + [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_object, 5, 0, 0), + [285] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_object, 5, 0, 0), + [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 5, 0, 0), + [289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 5, 0, 0), + [291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 4, 0, 0), + [293] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_list, 4, 0, 0), + [295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 3, 0, 0), + [297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 3, 0, 0), + [299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_split_call, 4, 0, 0), + [301] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_split_call, 4, 0, 0), + [303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast, 5, 0, 0), + [305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast, 5, 0, 0), + [307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instantiation, 3, 0, 0), + [309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_instantiation, 3, 0, 0), + [311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix_op, 1, 0, 0), + [313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_postfix_op, 1, 0, 0), + [315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 5, 0, 0), + [317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_list, 5, 0, 0), + [319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast, 6, 0, 0), + [321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast, 6, 0, 0), + [323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_introspection, 3, 0, 5), + [325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_introspection, 3, 0, 5), + [327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 2, 0, 0), + [329] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_list, 2, 0, 0), + [331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_literal, 2, 0, 0), + [333] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_literal, 2, 0, 0), + [335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice_call, 6, 0, 0), + [337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_slice_call, 6, 0, 0), + [339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast, 7, 0, 0), + [341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast, 7, 0, 0), + [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member_access, 2, 0, 1), + [345] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member_access, 2, 0, 1), + [347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_index, 3, 0, 0), + [349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_index, 3, 0, 0), + [351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_object, 3, 0, 0), + [353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_object, 3, 0, 0), + [355] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_parenthesized, 3, 0, 0), REDUCE(sym_expression_list, 3, 0, 0), + [358] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(215), + [361] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), + [363] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(325), + [366] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(344), + [369] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(350), + [372] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(215), + [375] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(230), + [378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_factor, 1, 0, 0), + [380] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_factor, 1, 0, 0), + [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [384] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), + [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_factor, 2, 0, 0), + [388] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_factor, 2, 0, 0), + [390] = {.entry = {.count = 1, .reusable = false}}, SHIFT(215), + [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), + [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), + [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(344), + [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), + [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), + [402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_factor_repeat1, 2, 0, 0), + [404] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_factor_repeat1, 2, 0, 0), + [406] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_factor_repeat1, 2, 0, 0), SHIFT_REPEAT(42), + [409] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_factor_repeat1, 2, 0, 0), SHIFT_REPEAT(42), + [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(356), + [414] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary, 2, 0, 0), + [416] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary, 2, 0, 0), + [418] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary, 1, 0, 0), + [420] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary, 1, 0, 0), + [422] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), + [424] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), + [426] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(41), + [429] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_term, 2, 0, 0), + [431] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_term, 2, 0, 0), + [433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_term, 1, 0, 0), + [437] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_term, 1, 0, 0), + [439] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_function_call_assignment, 7, 0, 0), + [441] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_function_call_assignment, 7, 0, 0), + [443] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1, 0, 0), + [445] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1, 0, 0), + [447] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3, 0, 0), + [449] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3, 0, 0), + [451] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_console_statement, 3, 0, 0), + [453] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_statement, 3, 0, 0), + [455] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition, 3, 0, 1), + [457] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition, 3, 0, 1), + [459] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_statement, 2, 0, 0), + [461] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_statement, 2, 0, 0), + [463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comparison, 1, 0, 0), + [465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [467] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comparison, 1, 0, 0), + [469] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), + [471] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assign_statement, 4, 0, 7), + [473] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assign_statement, 4, 0, 7), + [475] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition, 4, 0, 3), + [477] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition, 4, 0, 3), + [479] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_require_statement, 5, 0, 0), + [481] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_require_statement, 5, 0, 0), + [483] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, 0, 0), + [485] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, 0, 0), + [487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [489] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 1, 0, 0), + [491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 1, 0, 0), + [493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition, 5, 0, 2), + [495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition, 5, 0, 2), + [497] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_function_call_assignment, 6, 0, 0), + [499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_function_call_assignment, 6, 0, 0), + [501] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_assignment, 6, 0, 0), + [503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_assignment, 6, 0, 0), + [505] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2, 0, 0), + [507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2, 0, 0), + [509] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_time_op_statement, 9, 0, 0), + [511] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_time_op_statement, 9, 0, 0), + [513] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_comparison_repeat1, 2, 0, 0), + [515] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_repeat1, 2, 0, 0), SHIFT_REPEAT(40), + [518] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_comparison_repeat1, 2, 0, 0), + [520] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_comparison_repeat1, 2, 0, 0), SHIFT_REPEAT(40), + [523] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition, 6, 0, 4), + [525] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition, 6, 0, 4), + [527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comparison, 2, 0, 0), + [529] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comparison, 2, 0, 0), + [531] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_assignment, 7, 0, 0), + [533] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_assignment, 7, 0, 0), + [535] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_require_statement, 7, 0, 0), + [537] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_require_statement, 7, 0, 0), + [539] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_time_op_statement, 7, 0, 0), + [541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_time_op_statement, 7, 0, 0), + [543] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, 0, 0), + [545] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, 0, 0), + [547] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 7, 0, 0), + [549] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 7, 0, 0), + [551] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_function_call_assignment, 8, 0, 0), + [553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_function_call_assignment, 8, 0, 0), + [555] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_assignment, 8, 0, 0), + [557] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_assignment, 8, 0, 0), + [559] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_assignment, 8, 0, 0), + [561] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_assignment, 8, 0, 0), + [563] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_assignment, 10, 0, 0), + [565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_assignment, 10, 0, 0), + [567] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_assignment, 11, 0, 0), + [569] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_assignment, 11, 0, 0), + [571] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 11, 0, 0), + [573] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 11, 0, 0), + [575] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 8, 0, 6), + [577] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 8, 0, 6), + [579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [581] = {.entry = {.count = 1, .reusable = false}}, SHIFT(307), + [583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354), + [585] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, 0, 1), + [587] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, 0, 1), + [589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), + [591] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 4, 0, 1), + [593] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 4, 0, 1), + [595] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 9, 0, 6), + [597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 9, 0, 6), + [599] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, 0, 3), + [601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, 0, 3), + [603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_equality_repeat1, 2, 0, 0), + [607] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_equality_repeat1, 2, 0, 0), + [609] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_equality_repeat1, 2, 0, 0), SHIFT_REPEAT(39), + [612] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_equality, 2, 0, 0), + [614] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_equality, 2, 0, 0), + [616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [618] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 5, 0, 1), + [620] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 5, 0, 1), + [622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332), + [624] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_equality, 1, 0, 0), + [626] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_equality, 1, 0, 0), + [628] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, 0, 1), + [630] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, 0, 1), + [632] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, 0, 6), + [634] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, 0, 6), + [636] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_contract_field_definition, 5, 0, 2), + [638] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_field_definition, 5, 0, 2), + [640] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(215), + [643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 0), + [645] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(215), + [648] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_definition, 6, 0, 4), + [650] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_definition, 6, 0, 4), + [652] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 1), + [654] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 1), + [656] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 8, 0, 3), + [658] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 8, 0, 3), + [660] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_contract_item, 1, 0, 0), + [662] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_item, 1, 0, 0), + [664] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, 0, 3), + [666] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, 0, 3), + [668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(374), + [670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), + [672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), + [674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(343), + [676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), + [678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(380), + [680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361), + [682] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_bit_and_repeat1, 2, 0, 0), + [684] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_bit_and_repeat1, 2, 0, 0), + [686] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_bit_and_repeat1, 2, 0, 0), SHIFT_REPEAT(38), + [689] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_and, 2, 0, 0), + [691] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bit_and, 2, 0, 0), + [693] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), + [695] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_and, 1, 0, 0), + [697] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bit_and, 1, 0, 0), + [699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), + [701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [703] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_xor, 2, 0, 0), + [705] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bit_xor, 2, 0, 0), + [707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [709] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_xor, 1, 0, 0), + [711] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bit_xor, 1, 0, 0), + [713] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_bit_xor_repeat1, 2, 0, 0), + [715] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_bit_xor_repeat1, 2, 0, 0), + [717] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_bit_xor_repeat1, 2, 0, 0), SHIFT_REPEAT(37), + [720] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_name_repeat1, 2, 0, 0), + [722] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_name_repeat1, 2, 0, 0), + [724] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_name_repeat1, 2, 0, 0), SHIFT_REPEAT(229), + [727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_or, 2, 0, 0), + [729] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), + [731] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_or, 1, 0, 0), + [733] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_field_definition, 3, 0, 1), + [735] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field_definition, 3, 0, 1), + [737] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_bit_or_repeat1, 2, 0, 0), + [739] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_bit_or_repeat1, 2, 0, 0), SHIFT_REPEAT(36), + [742] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_name, 2, 0, 0), + [744] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_name, 2, 0, 0), + [746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), + [748] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_name, 1, 0, 0), + [750] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_name, 1, 0, 0), + [752] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_logical_and_repeat1, 2, 0, 0), + [754] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_logical_and_repeat1, 2, 0, 0), SHIFT_REPEAT(35), + [757] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_and, 2, 0, 0), + [759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [761] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_bit_or_repeat1, 2, 0, 0), + [763] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_and, 1, 0, 0), + [765] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_logical_or_repeat1, 2, 0, 0), + [767] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_logical_or_repeat1, 2, 0, 0), SHIFT_REPEAT(34), + [770] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_suffix, 3, 0, 0), + [772] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_suffix, 3, 0, 0), + [774] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 1, 0, 0), + [776] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 1, 0, 0), + [778] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_or, 2, 0, 0), + [780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [782] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_or, 1, 0, 0), + [784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [790] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_suffix, 2, 0, 0), + [792] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_suffix, 2, 0, 0), + [794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [796] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), + [798] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_variable_definition_repeat1, 2, 0, 0), + [800] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_variable_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(290), + [803] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat1, 2, 0, 0), + [805] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(226), + [808] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_list_repeat1, 2, 0, 0), SHIFT_REPEAT(27), + [811] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_expression_list_repeat1, 2, 0, 0), + [813] = {.entry = {.count = 1, .reusable = false}}, SHIFT(252), + [815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), + [817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389), + [819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), + [821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(376), + [823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), + [825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), + [827] = {.entry = {.count = 1, .reusable = false}}, SHIFT(273), + [829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379), + [833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), + [835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), + [837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), + [839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(409), + [847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), + [853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(338), + [855] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_state_function_call_assignment_repeat1, 2, 0, 0), + [857] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_state_function_call_assignment_repeat1, 2, 0, 0), SHIFT_REPEAT(281), + [860] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_assignment_repeat1, 2, 0, 0), SHIFT_REPEAT(190), + [863] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_assignment_repeat1, 2, 0, 0), + [865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [871] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_return_type_list_repeat1, 2, 0, 0), SHIFT_REPEAT(193), + [874] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_return_type_list_repeat1, 2, 0, 0), + [876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), + [882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), + [886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), + [888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239), + [890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385), + [894] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_console_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(177), + [897] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_console_parameter_list_repeat1, 2, 0, 0), + [899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), + [909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), + [911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [915] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(189), + [918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), + [920] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_state_object_repeat1, 2, 0, 0), + [922] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_state_object_repeat1, 2, 0, 0), SHIFT_REPEAT(271), + [925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), + [929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373), + [937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), + [939] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 2, 0, 0), + [941] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0), + [943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), + [949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [953] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_typed_binding, 2, 0, 0), SHIFT(200), + [956] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typed_binding, 2, 0, 0), + [958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), + [960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), + [962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [964] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 5, 0, 0), + [966] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_typed_binding, 4, 0, 0), + [968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), + [970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297), + [972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377), + [974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), [978] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_modifier, 1, 0, 0), [980] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_modifier, 1, 0, 0), - [982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), - [984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [986] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_parameter_list, 3, 0, 0), - [988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), - [994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351), - [996] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 4, 0, 0), - [998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), - [1000] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type_list, 5, 0, 0), - [1002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [1004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358), - [1006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [1008] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_parameter_list, 2, 0, 0), - [1010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [1012] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), - [1014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316), - [1016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), - [1018] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_definition, 5, 0, 1), - [1020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [1022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [1024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), - [1026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [1028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [1030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [1032] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2, 0, 0), - [1034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [1036] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [1038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), - [1040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [1042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), - [1044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [1046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), - [1048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), - [1050] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_require_message, 1, 0, 0), - [1052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(366), - [1054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288), - [1056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(375), - [1058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), - [1060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [1062] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_parameter_list, 4, 0, 0), - [1064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), - [1066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [1068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), - [1070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), - [1072] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [1074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [1076] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type_list, 6, 0, 0), - [1078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), - [1080] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310), - [1082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [1084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [1086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), - [1088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), - [1090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [1092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [1094] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_definition, 6, 0, 1), - [1096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [1098] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_size, 1, 0, 0), - [1100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type_list, 4, 0, 0), - [1102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), - [1104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), - [1106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), - [1108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), - [1110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [1112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), - [1114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [1116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [1118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_parameter_list, 5, 0, 0), - [1120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), - [1122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), - [1124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [1126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type_list, 3, 0, 0), - [1128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), - [1130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [1132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [1134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [1136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), - [1138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), - [1140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [1142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370), - [1144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [1146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323), - [1148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [1150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), - [1152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [1154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), - [1156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [1158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [1160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), - [1162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), - [1164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [1166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [1168] = {.entry = {.count = 1, .reusable = false}}, SHIFT(355), - [1170] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), - [1172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tx_var, 1, 0, 0), - [1174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [1176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), - [1178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [982] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3, 0, 0), + [984] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_entry, 3, 0, 0), + [986] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 4, 0, 0), + [988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), + [990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(394), + [992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346), + [994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(309), + [996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(391), + [998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [1000] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_parameter, 1, 0, 0), + [1002] = {.entry = {.count = 1, .reusable = false}}, SHIFT(397), + [1004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(420), + [1006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), + [1008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [1010] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [1012] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type_list, 5, 0, 0), + [1014] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tx_var, 1, 0, 0), + [1016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(421), + [1018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352), + [1020] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_definition, 5, 0, 1), + [1022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [1024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408), + [1026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [1028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305), + [1030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [1032] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [1034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), + [1036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [1038] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_parameter_list, 2, 0, 0), + [1040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), + [1042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), + [1044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288), + [1046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [1048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [1050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), + [1052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [1054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [1056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [1058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [1060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [1062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), + [1064] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_require_message, 1, 0, 0), + [1066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(375), + [1068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [1070] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [1072] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310), + [1074] = {.entry = {.count = 1, .reusable = false}}, SHIFT(403), + [1076] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), + [1078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331), + [1080] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [1082] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_parameter_list, 4, 0, 0), + [1084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [1086] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_definition, 6, 0, 1), + [1088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [1090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [1092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [1094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [1096] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type_list, 6, 0, 0), + [1098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351), + [1100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), + [1102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [1104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [1106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [1108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 4, 0, 0), + [1110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), + [1112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [1114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [1116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [1118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type_list, 2, 0, 0), + [1120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299), + [1122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), + [1124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [1126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327), + [1128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [1130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), + [1132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type_list, 4, 0, 0), + [1134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type_list, 3, 0, 0), + [1136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [1138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2, 0, 0), + [1140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_parameter_list, 5, 0, 0), + [1142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [1144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), + [1146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [1148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [1150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [1152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_size, 1, 0, 0), + [1154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [1156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [1158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [1160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), + [1162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [1164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), + [1166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(406), + [1168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [1170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), + [1172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), + [1174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [1176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [1178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [1180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367), + [1182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [1184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [1186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [1188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [1190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [1192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [1194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [1196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_parameter_list, 3, 0, 0), + [1198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [1200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [1202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [1204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [1206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), + [1208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), + [1210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [1212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [1214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(388), + [1216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407), }; #ifdef __cplusplus