From 55dedb6b9acd210c3888a02d750c56408a8e3a1d Mon Sep 17 00:00:00 2001 From: Tim Culverhouse Date: Sun, 18 Dec 2022 14:33:02 -0600 Subject: [PATCH] flatten tree Signed-off-by: Tim Culverhouse --- corpus/declarations.txt | 85 + grammar.js | 209 +- queries/highlights.scm | 117 - queries/indents.scm | 28 +- queries/locals.scm | 38 +- src/grammar.json | 1096 +- src/node-types.json | 5659 +++- src/parser.c | 54433 ++++++++++++++------------------------ 8 files changed, 24578 insertions(+), 37087 deletions(-) create mode 100644 corpus/declarations.txt diff --git a/corpus/declarations.txt b/corpus/declarations.txt new file mode 100644 index 0000000..cbd355b --- /dev/null +++ b/corpus/declarations.txt @@ -0,0 +1,85 @@ +================================================================================ +Global Declarations: let +================================================================================ + +let a: int; +-------------------------------------------------------------------------------- +(unit + (global_declaration + (identifier (name)) + (integer_type))) + +================================================================================ +Global Declarations: const +================================================================================ + +const a: int; +-------------------------------------------------------------------------------- +(unit + (global_declaration + (identifier (name)) + (integer_type))) + +================================================================================ +Global Declarations: let with @threadlocal attr +================================================================================ + +let @threadlocal a: b; +-------------------------------------------------------------------------------- +(unit + (global_declaration + (decl_attr) + (identifier (name)) + (alias_type + (identifier (name))))) + +================================================================================ +Global Declarations: let with @threadlocal attr +================================================================================ + +let @symbol ("foo") a: b; +-------------------------------------------------------------------------------- +(unit + (global_declaration + (decl_attr (string_constant)) + (identifier (name)) + (alias_type + (identifier (name))))) + +================================================================================ +Global Declarations: let with export +================================================================================ + +export let a: int, b: int; +-------------------------------------------------------------------------------- +(unit + (global_declaration + (identifier (name)) + (integer_type) + (identifier (name)) + (integer_type))) + +================================================================================ +Global Declarations: with expression +================================================================================ + +export let a: int = 2; +-------------------------------------------------------------------------------- +(unit + (global_declaration + (identifier (name)) + (integer_type) + (integer_constant))) + +================================================================================ +Global Declarations: with expression +================================================================================ + +export let a: int = -2; +-------------------------------------------------------------------------------- +(unit + (global_declaration + (identifier (name)) + (integer_type) + (integer_constant))) + diff --git a/grammar.js b/grammar.js index 6b82539..2c4c138 100644 --- a/grammar.js +++ b/grammar.js @@ -1,5 +1,5 @@ const PREC = { - ASSIGNMENT: 0, + ASSIGNMENT: 1, LOGICAL_XOR: 1, LOGICAL_OR: 2, LOGICAL_AND: 3, @@ -48,6 +48,7 @@ module.exports = grammar({ conflicts: ($) => [ [$.identifier], // enum + [$.assignment], // enum [$.if_expression], [$.yield_expression], // label "," [$.binding_names, $.identifier], // comma separated in parent list @@ -139,7 +140,13 @@ module.exports = grammar({ ), _constant_binding: ($) => - seq($.identifier, ":", $._type, "=", $._expression), + seq( + field("name", $.identifier), + ":", + field("type", $._type), + "=", + field("value", $._expression), + ), type_declaration: ($) => seq("type", $._type_bindings), @@ -574,8 +581,8 @@ module.exports = grammar({ variadic_expression: ($) => choice( seq("vastart", "(", ")"), - seq("vaarg", "(", $.object_selector, ")"), - seq("vaend", "(", $.object_selector, ")"), + seq("vaarg", "(", $._expression, ")"), + seq("vaend", "(", $._expression, ")"), ), _builtin_expression: ($) => @@ -588,177 +595,20 @@ module.exports = grammar({ $.variadic_expression, ), - _unary_expression: ($) => - prec.left( - PREC.UNARY, + unary_expression: ($) => + prec( + -1, choice( - $._builtin_expression, + $.allocation_expression, + $.assertion_expression, + $.measurement_expression, + $.slice_mutation_expression, + $._postfix_expression, + $.variadic_expression, $.compound_expression, $.match_expression, $.switch_expression, - seq(choice("+", "-", "~", "!", "*", "&"), $._unary_expression), - ), - // prec.right( - // PREC.UNARY, - // seq( - // field("operator", choice("+", "-", "~", "!", "*")), - // field("argument", $._unary_expression), - // ), - // ), - // prec.right( - // PREC.UNARY, - // seq(field("address", "&"), field("argument", $.object_selector)), - // ), - ), - - // TODO these commented out pieces - // unary_operator: ($) => choice("+", "-", "~", "!", "*", "&"), - - _cast_expression: ($) => - choice( - $._unary_expression, - prec.left( - PREC.CAST, - field("type_cast", seq($._cast_expression, ":", $._type)), - ), - prec.left( - PREC.CAST, - field("as_cast", seq($._cast_expression, "as", $._type)), - ), - prec.left( - PREC.CAST, - field("is_cast", seq($._cast_expression, "is", $._type)), - ), - ), - - _multiplicative_expression: ($) => - choice( - $._cast_expression, - prec.left( - PREC.MULTIPLY, - seq($._multiplicative_expression, "*", $._cast_expression), - ), - prec.left( - PREC.MULTIPLY, - seq($._multiplicative_expression, "/", $._cast_expression), - ), - prec.left( - PREC.MULTIPLY, - seq($._multiplicative_expression, "%", $._cast_expression), - ), - ), - - _additive_expression: ($) => - choice( - $._multiplicative_expression, - prec.left( - PREC.ADD, - seq($._additive_expression, "+", $._multiplicative_expression), - ), - prec.left( - PREC.ADD, - seq($._additive_expression, "-", $._multiplicative_expression), - ), - ), - - _shift_expression: ($) => - choice( - $._additive_expression, - prec.left( - PREC.SHIFT, - seq($._multiplicative_expression, "<<", $._cast_expression), - ), - prec.left( - PREC.SHIFT, - seq($._multiplicative_expression, ">>", $._cast_expression), - ), - ), - - _and_expression: ($) => - choice( - $._shift_expression, - prec.left( - PREC.BITWISE_AND, - seq($._and_expression, "&", $._shift_expression), - ), - ), - - _exclusive_or_expression: ($) => - choice( - $._and_expression, - prec.left( - PREC.BITWISE_XOR, - seq($._exclusive_or_expression, "^", $._and_expression), - ), - ), - - _inclusive_or_expression: ($) => - choice( - $._exclusive_or_expression, - prec.left( - PREC.BITWISE_OR, - seq($._inclusive_or_expression, "|", $._exclusive_or_expression), - ), - ), - - _comparison_expression: ($) => - choice( - $._inclusive_or_expression, - prec.left( - PREC.COMPARISON, - seq($._comparison_expression, "<", $._inclusive_or_expression), - ), - prec.left( - PREC.COMPARISON, - seq($._comparison_expression, ">", $._inclusive_or_expression), - ), - prec.left( - PREC.COMPARISON, - seq($._comparison_expression, "<=", $._inclusive_or_expression), - ), - prec.left( - PREC.COMPARISON, - seq($._comparison_expression, ">=", $._inclusive_or_expression), - ), - ), - - _equality_expression: ($) => - choice( - $._comparison_expression, - prec.left( - PREC.EQUALITY, - seq($._equality_expression, "==", $._comparison_expression), - ), - prec.left( - PREC.EQUALITY, - seq($._equality_expression, "!=", $._comparison_expression), - ), - ), - - _logical_and_expression: ($) => - choice( - $._equality_expression, - prec.left( - PREC.LOGICAL_AND, - seq($._logical_and_expression, "&&", $._equality_expression), - ), - ), - - _logical_xor_expression: ($) => - choice( - $._logical_and_expression, - prec.left( - PREC.LOGICAL_XOR, - seq($._logical_xor_expression, "^^", $._logical_and_expression), - ), - ), - - _logical_or_expression: ($) => - choice( - $._logical_xor_expression, - prec.left( - PREC.LOGICAL_OR, - seq($._logical_or_expression, "||", $._logical_xor_expression), + seq(choice("+", "-", "~", "!", "*", "&"), $._expression), ), ), @@ -826,9 +676,9 @@ module.exports = grammar({ prec.left( PREC.ASSIGNMENT, choice( - seq($.object_selector, $.assignment_op, $._expression), - seq("*", $._unary_expression, $.assignment_op, $._expression), - seq($.slicing_expression, "=", $._expression), + seq($._expression, $.assignment_op, $._expression), + seq("*", $._expression, $.assignment_op, $._expression), + // seq($._expression, "=", $._expression), seq("(", $.binding_names, ")", "=", $._expression), ), ), @@ -910,11 +760,16 @@ module.exports = grammar({ _expression: ($) => choice( + $.allocation_expression, + $.assertion_expression, $.assignment, - $._logical_or_expression, - $.if_expression, - $.for_loop, $.control_statement, + $.for_loop, + $.if_expression, + $.measurement_expression, + $._postfix_expression, + $.slice_mutation_expression, + $.unary_expression, ), identifier: ($) => diff --git a/queries/highlights.scm b/queries/highlights.scm index 0662734..e69de29 100644 --- a/queries/highlights.scm +++ b/queries/highlights.scm @@ -1,117 +0,0 @@ -"abort" @keyword -"alloc" @keyword -"append" @keyword -"as" @keyword -"assert" @keyword -"bool" @keyword -"break" @keyword -"char" @keyword -"const" @keyword -"continue" @keyword -"def" @keyword -"defer" @keyword -"delete" @keyword -"else" @keyword -"enum" @keyword -"export" @keyword -"f32" @type -"f64" @type -"false" @constant -"fn" @keyword -"for" @keyword -"free" @keyword -"i16" @type -"i32" @type -"i64" @type -"i8" @type -"if" @keyword -"int" @type -"is" @keyword -"len" @keyword -"let" @keyword -"match" @keyword -"null" @constant -"nullable" @keyword -"offset" @keyword -"return" @keyword -"rune" @type -"size" @keyword -"static" @keyword -"str" @type -"struct" @keyword -"switch" @keyword -"true" @keyword -"type" @keyword -"u16" @type -"u32" @type -"u64" @type -"u8" @type -"uint" @type -"uintptr" @type -"union" @keyword -"use" @keyword -"void" @type -"..." @special - -"." @operator -"!" @operator -"~" @operator -"?" @operator -"*" @operator -"/" @operator -"%" @operator -"+" @operator -"-" @operator -"<<" @operator -">>" @operator -"::" @operator -"<" @operator -"<=" @operator -">" @operator -">=" @operator -"==" @operator -"!=" @operator -"&" @operator -"|" @operator -"^" @operator -"&&" @operator -"||" @operator -"=" @operator -"+=" @operator -"-=" @operator -"*=" @operator -"/=" @operator -"%=" @operator -"&=" @operator -"|=" @operator -"<<=" @operator -">>=" @operator -"^=" @operator - -":" @delimiter -";" @delimiter -"{" @delimiter -"}" @delimiter - -(comment) @comment - -(string_constant) @string -(escape_sequence) @type -(rune_constant) @string -(integer_constant) @number -(floating_constant) @number - -(call_expression - (postfix_expression) @function) - -(function_declaration - name: (identifier) @function) - -(parameter (name) @variable.parameter) - -(field_access_expression - selector: (name) @field) -(decl_attr) @special -(fndec_attrs) @special - -(identifier) @variable diff --git a/queries/indents.scm b/queries/indents.scm index 86ffc47..57ac0bd 100644 --- a/queries/indents.scm +++ b/queries/indents.scm @@ -1,14 +1,14 @@ -[ - (struct_union_fields) - (expression_list) -] @indent - - -[ - "{" - "}" -] @branch - -[ - (comment) -] @ignore +; [ +; (struct_union_fields) +; (expression_list) +; ] @indent +; +; +; [ +; "{" +; "}" +; ] @branch +; +; [ +; (comment) +; ] @ignore diff --git a/queries/locals.scm b/queries/locals.scm index d10a571..3c4d5d7 100644 --- a/queries/locals.scm +++ b/queries/locals.scm @@ -1,19 +1,19 @@ -(unit) @local.scope - -(function_declaration) @local.scope - -(global_binding - (identifier) @local.definition) -(constant_binding - (identifier) @local.definition) -(type_bindings - (identifier) @local.definition) - -(function_declaration - (prototype - (parameter_list - (parameters - (parameter - (name) @local.definition))))) - -(identifier) @local.reference +; (unit) @local.scope +; +; (function_declaration) @local.scope +; +; (global_binding +; (identifier) @local.definition) +; (constant_binding +; (identifier) @local.definition) +; (type_bindings +; (identifier) @local.definition) +; +; (function_declaration +; (prototype +; (parameter_list +; (parameters +; (parameter +; (name) @local.definition))))) +; +; (identifier) @local.reference diff --git a/src/grammar.json b/src/grammar.json index c232f13..0082a69 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -52,8 +52,12 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "identifier" + "type": "FIELD", + "name": "path", + "content": { + "type": "SYMBOL", + "name": "identifier" + } }, { "type": "STRING", @@ -65,16 +69,24 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "name" + "type": "FIELD", + "name": "alias", + "content": { + "type": "SYMBOL", + "name": "name" + } }, { "type": "STRING", "value": "=" }, { - "type": "SYMBOL", - "name": "identifier" + "type": "FIELD", + "name": "path", + "content": { + "type": "SYMBOL", + "name": "identifier" + } }, { "type": "STRING", @@ -86,8 +98,12 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "identifier" + "type": "FIELD", + "name": "path", + "content": { + "type": "SYMBOL", + "name": "identifier" + } }, { "type": "STRING", @@ -98,8 +114,12 @@ "value": "{" }, { - "type": "SYMBOL", - "name": "member_list" + "type": "FIELD", + "name": "members", + "content": { + "type": "SYMBOL", + "name": "member_list" + } }, { "type": "STRING", @@ -115,8 +135,12 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "name" + "type": "FIELD", + "name": "alias", + "content": { + "type": "SYMBOL", + "name": "name" + } }, { "type": "STRING", @@ -152,8 +176,12 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "identifier" + "type": "FIELD", + "name": "path", + "content": { + "type": "SYMBOL", + "name": "identifier" + } }, { "type": "STRING", @@ -362,16 +390,24 @@ ] }, { - "type": "SYMBOL", - "name": "identifier" + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } }, { "type": "STRING", "value": ":" }, { - "type": "SYMBOL", - "name": "type" + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "_type" + } }, { "type": "CHOICE", @@ -384,8 +420,12 @@ "value": "=" }, { - "type": "SYMBOL", - "name": "expression" + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_expression" + } } ] }, @@ -480,24 +520,36 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "identifier" + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } }, { "type": "STRING", "value": ":" }, { - "type": "SYMBOL", - "name": "type" + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "_type" + } }, { "type": "STRING", "value": "=" }, { - "type": "SYMBOL", - "name": "expression" + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_expression" + } } ] }, @@ -567,7 +619,7 @@ }, { "type": "SYMBOL", - "name": "type" + "name": "_type" } ] }, @@ -632,7 +684,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" } ] }, @@ -677,7 +729,7 @@ } ] }, - "type": { + "_type": { "type": "SEQ", "members": [ { @@ -706,16 +758,16 @@ }, { "type": "SYMBOL", - "name": "storage_class" + "name": "_storage_class" } ] }, - "storage_class": { + "_storage_class": { "type": "CHOICE", "members": [ { "type": "SYMBOL", - "name": "scalar_type" + "name": "_scalar_type" }, { "type": "SYMBOL", @@ -751,7 +803,7 @@ } ] }, - "scalar_type": { + "_scalar_type": { "type": "CHOICE", "members": [ { @@ -987,7 +1039,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" } ] } @@ -1005,7 +1057,7 @@ }, { "type": "SYMBOL", - "name": "type" + "name": "_type" } ] }, @@ -1022,7 +1074,7 @@ }, { "type": "SYMBOL", - "name": "type" + "name": "_type" } ] } @@ -1138,7 +1190,7 @@ }, { "type": "SYMBOL", - "name": "type" + "name": "_type" } ] }, @@ -1171,7 +1223,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "STRING", @@ -1201,7 +1253,7 @@ "members": [ { "type": "SYMBOL", - "name": "type" + "name": "_type" }, { "type": "STRING", @@ -1209,7 +1261,7 @@ }, { "type": "SYMBOL", - "name": "type" + "name": "_type" }, { "type": "REPEAT", @@ -1222,7 +1274,7 @@ }, { "type": "SYMBOL", - "name": "type" + "name": "_type" } ] } @@ -1263,7 +1315,7 @@ "members": [ { "type": "SYMBOL", - "name": "type" + "name": "_type" }, { "type": "STRING", @@ -1271,7 +1323,7 @@ }, { "type": "SYMBOL", - "name": "type" + "name": "_type" }, { "type": "REPEAT", @@ -1284,7 +1336,7 @@ }, { "type": "SYMBOL", - "name": "type" + "name": "_type" } ] } @@ -1319,7 +1371,7 @@ }, { "type": "SYMBOL", - "name": "type" + "name": "_type" } ] }, @@ -1332,7 +1384,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "STRING", @@ -1340,7 +1392,7 @@ }, { "type": "SYMBOL", - "name": "type" + "name": "_type" } ] }, @@ -1361,7 +1413,7 @@ }, { "type": "SYMBOL", - "name": "type" + "name": "_type" } ] }, @@ -1382,7 +1434,7 @@ }, { "type": "SYMBOL", - "name": "type" + "name": "_type" } ] } @@ -1438,7 +1490,7 @@ }, { "type": "SYMBOL", - "name": "type" + "name": "_type" } ] }, @@ -1519,7 +1571,7 @@ }, { "type": "SYMBOL", - "name": "type" + "name": "_type" } ] }, @@ -1536,7 +1588,7 @@ }, { "type": "SYMBOL", - "name": "type" + "name": "_type" } ] } @@ -1559,7 +1611,7 @@ } ] }, - "constant": { + "_constant": { "type": "CHOICE", "members": [ { @@ -2637,7 +2689,7 @@ "members": [ { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "REPEAT", @@ -2650,7 +2702,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" } ] } @@ -2820,7 +2872,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" } ] }, @@ -2837,7 +2889,7 @@ }, { "type": "SYMBOL", - "name": "type" + "name": "_type" }, { "type": "STRING", @@ -2845,7 +2897,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" } ] }, @@ -2855,7 +2907,7 @@ } ] }, - "plain_expression": { + "_plain_expression": { "type": "CHOICE", "members": [ { @@ -2864,7 +2916,7 @@ }, { "type": "SYMBOL", - "name": "constant" + "name": "_constant" }, { "type": "SYMBOL", @@ -2876,12 +2928,12 @@ } ] }, - "nested_expression": { + "_nested_expression": { "type": "CHOICE", "members": [ { "type": "SYMBOL", - "name": "plain_expression" + "name": "_plain_expression" }, { "type": "SEQ", @@ -2892,7 +2944,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "STRING", @@ -2924,7 +2976,7 @@ "members": [ { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "REPEAT1", @@ -2937,7 +2989,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" } ] } @@ -2972,7 +3024,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "STRING", @@ -2993,7 +3045,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "STRING", @@ -3018,7 +3070,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "STRING", @@ -3026,7 +3078,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "STRING", @@ -3047,7 +3099,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "STRING", @@ -3065,7 +3117,7 @@ "members": [ { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "CHOICE", @@ -3090,7 +3142,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "CHOICE", @@ -3111,7 +3163,7 @@ "members": [ { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "STRING", @@ -3156,7 +3208,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "STRING", @@ -3177,7 +3229,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "STRING", @@ -3231,7 +3283,7 @@ "members": [ { "type": "SYMBOL", - "name": "postfix_expression" + "name": "_postfix_expression" }, { "type": "STRING", @@ -3260,7 +3312,7 @@ "members": [ { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "REPEAT", @@ -3273,7 +3325,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" } ] } @@ -3334,7 +3386,7 @@ }, { "type": "SYMBOL", - "name": "type" + "name": "_type" }, { "type": "STRING", @@ -3355,7 +3407,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "STRING", @@ -3389,7 +3441,7 @@ "members": [ { "type": "SYMBOL", - "name": "postfix_expression" + "name": "_postfix_expression" }, { "type": "STRING", @@ -3419,7 +3471,7 @@ "members": [ { "type": "SYMBOL", - "name": "postfix_expression" + "name": "_postfix_expression" }, { "type": "STRING", @@ -3427,7 +3479,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "STRING", @@ -3440,7 +3492,7 @@ "members": [ { "type": "SYMBOL", - "name": "postfix_expression" + "name": "_postfix_expression" }, { "type": "STRING", @@ -3451,7 +3503,7 @@ "members": [ { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "BLANK" @@ -3467,7 +3519,7 @@ "members": [ { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "BLANK" @@ -3536,7 +3588,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "STRING", @@ -3565,7 +3617,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "STRING", @@ -3598,7 +3650,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "STRING", @@ -3606,7 +3658,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "STRING", @@ -3651,7 +3703,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "CHOICE", @@ -3718,7 +3770,7 @@ "members": [ { "type": "SYMBOL", - "name": "postfix_expression" + "name": "_postfix_expression" }, { "type": "CHOICE", @@ -3735,12 +3787,12 @@ } ] }, - "postfix_expression": { + "_postfix_expression": { "type": "CHOICE", "members": [ { "type": "SYMBOL", - "name": "nested_expression" + "name": "_nested_expression" }, { "type": "SYMBOL", @@ -3814,7 +3866,7 @@ }, { "type": "SYMBOL", - "name": "object_selector" + "name": "_expression" }, { "type": "STRING", @@ -3835,7 +3887,7 @@ }, { "type": "SYMBOL", - "name": "object_selector" + "name": "_expression" }, { "type": "STRING", @@ -3845,7 +3897,7 @@ } ] }, - "builtin_expression": { + "_builtin_expression": { "type": "CHOICE", "members": [ { @@ -3866,7 +3918,7 @@ }, { "type": "SYMBOL", - "name": "postfix_expression" + "name": "_postfix_expression" }, { "type": "SYMBOL", @@ -3875,14 +3927,34 @@ ] }, "unary_expression": { - "type": "PREC_LEFT", - "value": 13, + "type": "PREC", + "value": -1, "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", - "name": "builtin_expression" + "name": "allocation_expression" + }, + { + "type": "SYMBOL", + "name": "assertion_expression" + }, + { + "type": "SYMBOL", + "name": "measurement_expression" + }, + { + "type": "SYMBOL", + "name": "slice_mutation_expression" + }, + { + "type": "SYMBOL", + "name": "_postfix_expression" + }, + { + "type": "SYMBOL", + "name": "variadic_expression" }, { "type": "SYMBOL", @@ -3930,686 +4002,104 @@ }, { "type": "SYMBOL", - "name": "unary_expression" + "name": "_expression" } ] } ] } }, - "cast_expression": { + "if_expression": { "type": "CHOICE", "members": [ { - "type": "SYMBOL", - "name": "unary_expression" + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "if" + }, + { + "type": "SYMBOL", + "name": "conditional_branch" + } + ] }, { - "type": "PREC_LEFT", - "value": 12, - "content": { - "type": "FIELD", - "name": "type_cast", - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "cast_expression" - }, - { - "type": "STRING", - "value": ":" - }, - { - "type": "SYMBOL", - "name": "type" - } - ] + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "if" + }, + { + "type": "SYMBOL", + "name": "conditional_branch" + }, + { + "type": "STRING", + "value": "else" + }, + { + "type": "SYMBOL", + "name": "_expression" } - } + ] + } + ] + }, + "conditional_branch": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" }, { - "type": "PREC_LEFT", - "value": 12, - "content": { - "type": "FIELD", - "name": "as_cast", - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "cast_expression" - }, - { - "type": "STRING", - "value": "as" - }, - { - "type": "SYMBOL", - "name": "type" - } - ] - } - } + "type": "SYMBOL", + "name": "_expression" }, { - "type": "PREC_LEFT", - "value": 12, - "content": { - "type": "FIELD", - "name": "is_cast", - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "cast_expression" - }, - { - "type": "STRING", - "value": "is" - }, - { - "type": "SYMBOL", - "name": "type" - } - ] - } - } + "type": "STRING", + "value": ")" + }, + { + "type": "SYMBOL", + "name": "_expression" } ] }, - "multiplicative_expression": { - "type": "CHOICE", + "for_loop": { + "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "cast_expression" + "type": "STRING", + "value": "for" }, { - "type": "PREC_LEFT", - "value": 11, - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "multiplicative_expression" - }, - { - "type": "STRING", - "value": "*" - }, - { - "type": "SYMBOL", - "name": "cast_expression" - } - ] - } + "type": "STRING", + "value": "(" }, { - "type": "PREC_LEFT", - "value": 11, - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "multiplicative_expression" - }, - { - "type": "STRING", - "value": "/" - }, - { - "type": "SYMBOL", - "name": "cast_expression" - } - ] - } + "type": "SYMBOL", + "name": "for_predicate" }, { - "type": "PREC_LEFT", - "value": 11, - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "multiplicative_expression" - }, - { - "type": "STRING", - "value": "%" - }, - { - "type": "SYMBOL", - "name": "cast_expression" - } - ] - } + "type": "STRING", + "value": ")" + }, + { + "type": "SYMBOL", + "name": "_expression" } ] }, - "additive_expression": { + "for_predicate": { "type": "CHOICE", "members": [ { "type": "SYMBOL", - "name": "multiplicative_expression" - }, - { - "type": "PREC_LEFT", - "value": 10, - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "additive_expression" - }, - { - "type": "STRING", - "value": "+" - }, - { - "type": "SYMBOL", - "name": "multiplicative_expression" - } - ] - } - }, - { - "type": "PREC_LEFT", - "value": 10, - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "additive_expression" - }, - { - "type": "STRING", - "value": "-" - }, - { - "type": "SYMBOL", - "name": "multiplicative_expression" - } - ] - } - } - ] - }, - "shift_expression": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "additive_expression" - }, - { - "type": "PREC_LEFT", - "value": 9, - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "multiplicative_expression" - }, - { - "type": "STRING", - "value": "<<" - }, - { - "type": "SYMBOL", - "name": "cast_expression" - } - ] - } - }, - { - "type": "PREC_LEFT", - "value": 9, - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "multiplicative_expression" - }, - { - "type": "STRING", - "value": ">>" - }, - { - "type": "SYMBOL", - "name": "cast_expression" - } - ] - } - } - ] - }, - "and_expression": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "shift_expression" - }, - { - "type": "PREC_LEFT", - "value": 6, - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "and_expression" - }, - { - "type": "STRING", - "value": "&" - }, - { - "type": "SYMBOL", - "name": "shift_expression" - } - ] - } - } - ] - }, - "exclusive_or_expression": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "and_expression" - }, - { - "type": "PREC_LEFT", - "value": 5, - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "exclusive_or_expression" - }, - { - "type": "STRING", - "value": "^" - }, - { - "type": "SYMBOL", - "name": "and_expression" - } - ] - } - } - ] - }, - "inclusive_or_expression": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "exclusive_or_expression" - }, - { - "type": "PREC_LEFT", - "value": 4, - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "inclusive_or_expression" - }, - { - "type": "STRING", - "value": "|" - }, - { - "type": "SYMBOL", - "name": "exclusive_or_expression" - } - ] - } - } - ] - }, - "comparison_expression": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "inclusive_or_expression" - }, - { - "type": "PREC_LEFT", - "value": 8, - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "comparison_expression" - }, - { - "type": "STRING", - "value": "<" - }, - { - "type": "SYMBOL", - "name": "inclusive_or_expression" - } - ] - } - }, - { - "type": "PREC_LEFT", - "value": 8, - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "comparison_expression" - }, - { - "type": "STRING", - "value": ">" - }, - { - "type": "SYMBOL", - "name": "inclusive_or_expression" - } - ] - } - }, - { - "type": "PREC_LEFT", - "value": 8, - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "comparison_expression" - }, - { - "type": "STRING", - "value": "<=" - }, - { - "type": "SYMBOL", - "name": "inclusive_or_expression" - } - ] - } - }, - { - "type": "PREC_LEFT", - "value": 8, - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "comparison_expression" - }, - { - "type": "STRING", - "value": ">=" - }, - { - "type": "SYMBOL", - "name": "inclusive_or_expression" - } - ] - } - } - ] - }, - "equality_expression": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "comparison_expression" - }, - { - "type": "PREC_LEFT", - "value": 7, - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "equality_expression" - }, - { - "type": "STRING", - "value": "==" - }, - { - "type": "SYMBOL", - "name": "comparison_expression" - } - ] - } - }, - { - "type": "PREC_LEFT", - "value": 7, - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "equality_expression" - }, - { - "type": "STRING", - "value": "!=" - }, - { - "type": "SYMBOL", - "name": "comparison_expression" - } - ] - } - } - ] - }, - "logical_and_expression": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "equality_expression" - }, - { - "type": "PREC_LEFT", - "value": 3, - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "logical_and_expression" - }, - { - "type": "STRING", - "value": "&&" - }, - { - "type": "SYMBOL", - "name": "equality_expression" - } - ] - } - } - ] - }, - "logical_xor_expression": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "logical_and_expression" - }, - { - "type": "PREC_LEFT", - "value": 1, - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "logical_xor_expression" - }, - { - "type": "STRING", - "value": "^^" - }, - { - "type": "SYMBOL", - "name": "logical_and_expression" - } - ] - } - } - ] - }, - "logical_or_expression": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "logical_xor_expression" - }, - { - "type": "PREC_LEFT", - "value": 2, - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "logical_or_expression" - }, - { - "type": "STRING", - "value": "||" - }, - { - "type": "SYMBOL", - "name": "logical_xor_expression" - } - ] - } - } - ] - }, - "if_expression": { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "if" - }, - { - "type": "SYMBOL", - "name": "conditional_branch" - } - ] - }, - { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "if" - }, - { - "type": "SYMBOL", - "name": "conditional_branch" - }, - { - "type": "STRING", - "value": "else" - }, - { - "type": "SYMBOL", - "name": "expression" - } - ] - } - ] - }, - "conditional_branch": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "(" - }, - { - "type": "SYMBOL", - "name": "expression" - }, - { - "type": "STRING", - "value": ")" - }, - { - "type": "SYMBOL", - "name": "expression" - } - ] - }, - "for_loop": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "for" - }, - { - "type": "STRING", - "value": "(" - }, - { - "type": "SYMBOL", - "name": "for_predicate" - }, - { - "type": "STRING", - "value": ")" - }, - { - "type": "SYMBOL", - "name": "expression" - } - ] - }, - "for_predicate": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "SEQ", @@ -4624,7 +4114,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" } ] }, @@ -4633,7 +4123,7 @@ "members": [ { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "STRING", @@ -4641,7 +4131,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" } ] }, @@ -4658,7 +4148,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "STRING", @@ -4666,7 +4156,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" } ] } @@ -4685,7 +4175,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "STRING", @@ -4755,7 +4245,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" } ] }, @@ -4764,7 +4254,7 @@ "members": [ { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "REPEAT", @@ -4777,7 +4267,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" } ] } @@ -4809,7 +4299,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "STRING", @@ -4863,7 +4353,7 @@ }, { "type": "SYMBOL", - "name": "type" + "name": "_type" }, { "type": "STRING", @@ -4900,7 +4390,7 @@ }, { "type": "SYMBOL", - "name": "type" + "name": "_type" }, { "type": "STRING", @@ -4917,7 +4407,7 @@ "members": [ { "type": "SYMBOL", - "name": "type" + "name": "_type" }, { "type": "STRING", @@ -4925,7 +4415,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" } ] }, @@ -4938,7 +4428,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" } ] } @@ -4948,7 +4438,7 @@ }, "assignment": { "type": "PREC_LEFT", - "value": 0, + "value": 1, "content": { "type": "CHOICE", "members": [ @@ -4957,7 +4447,7 @@ "members": [ { "type": "SYMBOL", - "name": "object_selector" + "name": "_expression" }, { "type": "SYMBOL", @@ -4965,7 +4455,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" } ] }, @@ -4978,7 +4468,7 @@ }, { "type": "SYMBOL", - "name": "unary_expression" + "name": "_expression" }, { "type": "SYMBOL", @@ -4986,24 +4476,7 @@ }, { "type": "SYMBOL", - "name": "expression" - } - ] - }, - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "slicing_expression" - }, - { - "type": "STRING", - "value": "=" - }, - { - "type": "SYMBOL", - "name": "expression" + "name": "_expression" } ] }, @@ -5028,7 +4501,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" } ] } @@ -5204,7 +4677,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" } ] }, @@ -5221,7 +4694,7 @@ }, { "type": "SYMBOL", - "name": "type" + "name": "_type" }, { "type": "STRING", @@ -5229,7 +4702,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" } ] }, @@ -5254,7 +4727,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" } ] }, @@ -5279,7 +4752,7 @@ }, { "type": "SYMBOL", - "name": "type" + "name": "_type" }, { "type": "STRING", @@ -5287,7 +4760,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" } ] } @@ -5327,7 +4800,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" } ] }, @@ -5341,7 +4814,7 @@ "members": [ { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "STRING", @@ -5477,7 +4950,7 @@ "members": [ { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "BLANK" @@ -5504,7 +4977,7 @@ "members": [ { "type": "SYMBOL", - "name": "expression" + "name": "_expression" }, { "type": "SYMBOL", @@ -5523,7 +4996,7 @@ }, { "type": "SYMBOL", - "name": "expression" + "name": "_expression" } ] } @@ -5531,16 +5004,28 @@ } ] }, - "expression": { + "_expression": { "type": "CHOICE", "members": [ + { + "type": "SYMBOL", + "name": "allocation_expression" + }, + { + "type": "SYMBOL", + "name": "assertion_expression" + }, { "type": "SYMBOL", "name": "assignment" }, { "type": "SYMBOL", - "name": "logical_or_expression" + "name": "control_statement" + }, + { + "type": "SYMBOL", + "name": "for_loop" }, { "type": "SYMBOL", @@ -5548,11 +5033,19 @@ }, { "type": "SYMBOL", - "name": "for_loop" + "name": "measurement_expression" }, { "type": "SYMBOL", - "name": "control_statement" + "name": "_postfix_expression" + }, + { + "type": "SYMBOL", + "name": "slice_mutation_expression" + }, + { + "type": "SYMBOL", + "name": "unary_expression" } ] }, @@ -5616,6 +5109,9 @@ [ "identifier" ], + [ + "assignment" + ], [ "if_expression" ], diff --git a/src/node-types.json b/src/node-types.json index 1812591..2c022bf 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -1,23 +1,4 @@ [ - { - "type": "additive_expression", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ - { - "type": "additive_expression", - "named": true - }, - { - "type": "multiplicative_expression", - "named": true - } - ] - } - }, { "type": "alias_type", "named": true, @@ -39,164 +20,92 @@ "fields": {}, "children": { "multiple": true, - "required": true, + "required": false, "types": [ { - "type": "expression", + "type": "allocation_expression", "named": true - } - ] - } - }, - { - "type": "and_expression", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "and_expression", + "type": "array_literal", "named": true }, { - "type": "shift_expression", + "type": "assertion_expression", "named": true - } - ] - } - }, - { - "type": "append_expression", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "expression", + "type": "assignment", "named": true }, { - "type": "object_selector", + "type": "call_expression", "named": true - } - ] - } - }, - { - "type": "append_values", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "append_values", + "type": "control_statement", "named": true }, { - "type": "expression", + "type": "error_propagation", "named": true - } - ] - } - }, - { - "type": "argument_list", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "expression", + "type": "field_access_expression", "named": true - } - ] - } - }, - { - "type": "array_literal", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": false, - "types": [ + }, { - "type": "array_members", + "type": "floating_constant", "named": true - } - ] - } - }, - { - "type": "array_members", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "expression", + "type": "for_loop", "named": true - } - ] - } - }, - { - "type": "assertion_expression", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": false, - "types": [ + }, { - "type": "expression", + "type": "identifier", "named": true }, { - "type": "string_constant", + "type": "if_expression", "named": true - } - ] - } - }, - { - "type": "assignment", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "assignment_op", + "type": "indexing_expression", "named": true }, { - "type": "binding_names", + "type": "integer_constant", "named": true }, { - "type": "expression", + "type": "measurement_expression", "named": true }, { - "type": "object_selector", + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", "named": true }, { "type": "slicing_expression", "named": true }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, { "type": "unary_expression", "named": true @@ -205,12 +114,7 @@ } }, { - "type": "assignment_op", - "named": true, - "fields": {} - }, - { - "type": "binding", + "type": "append_expression", "named": true, "fields": {}, "children": { @@ -218,125 +122,3408 @@ "required": true, "types": [ { - "type": "binding_names", + "type": "allocation_expression", "named": true }, { - "type": "expression", + "type": "array_literal", "named": true }, { - "type": "name", + "type": "assertion_expression", "named": true }, { - "type": "type", + "type": "assignment", "named": true - } - ] - } - }, - { - "type": "binding_list", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ + }, { - "type": "bindings", + "type": "call_expression", "named": true - } - ] - } - }, - { - "type": "binding_names", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "name", + "type": "control_statement", "named": true - } - ] - } - }, - { - "type": "bindings", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "binding", + "type": "error_propagation", "named": true - } - ] - } - }, - { - "type": "builtin_expression", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ + }, { - "type": "allocation_expression", + "type": "field_access_expression", "named": true }, { - "type": "assertion_expression", + "type": "floating_constant", "named": true }, { - "type": "measurement_expression", + "type": "for_loop", "named": true }, { - "type": "postfix_expression", + "type": "identifier", "named": true }, { - "type": "slice_mutation_expression", + "type": "if_expression", "named": true }, { - "type": "variadic_expression", + "type": "indexing_expression", "named": true - } - ] - } - }, - { - "type": "call_expression", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "argument_list", + "type": "integer_constant", "named": true }, { - "type": "postfix_expression", + "type": "measurement_expression", + "named": true + }, + { + "type": "object_selector", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + { + "type": "append_values", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "allocation_expression", + "named": true + }, + { + "type": "append_values", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + { + "type": "argument_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + { + "type": "array_literal", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "array_members", + "named": true + } + ] + } + }, + { + "type": "array_members", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + { + "type": "assertion_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + { + "type": "assignment", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "assignment_op", + "named": true + }, + { + "type": "binding_names", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + { + "type": "assignment_op", + "named": true, + "fields": {} + }, + { + "type": "binding", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "alias_type", + "named": true + }, + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "binding_names", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "floating_type", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "function_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "integer_type", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "name", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_array_type", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "struct_type", + "named": true + }, + { + "type": "tagged_union_type", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "tuple_type", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, + { + "type": "union_type", + "named": true + }, + { + "type": "unwrapped_alias", + "named": true + } + ] + } + }, + { + "type": "binding_list", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "bindings", + "named": true + } + ] + } + }, + { + "type": "binding_names", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "name", + "named": true + } + ] + } + }, + { + "type": "bindings", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "binding", + "named": true + } + ] + } + }, + { + "type": "call_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "allocation_expression", + "named": true + }, + { + "type": "argument_list", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + { + "type": "case_options", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + { + "type": "compound_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression_list", + "named": true + }, + { + "type": "label", + "named": true + } + ] + } + }, + { + "type": "conditional_branch", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + { + "type": "constant_declaration", + "named": true, + "fields": { + "name": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "type": { + "multiple": true, + "required": true, + "types": [ + { + "type": "!", + "named": false + }, + { + "type": "alias_type", + "named": true + }, + { + "type": "bool", + "named": false + }, + { + "type": "const", + "named": false + }, + { + "type": "floating_type", + "named": true + }, + { + "type": "function_type", + "named": true + }, + { + "type": "integer_type", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "rune", + "named": false + }, + { + "type": "slice_array_type", + "named": true + }, + { + "type": "str", + "named": false + }, + { + "type": "struct_type", + "named": true + }, + { + "type": "tagged_union_type", + "named": true + }, + { + "type": "tuple_type", + "named": true + }, + { + "type": "union_type", + "named": true + }, + { + "type": "unwrapped_alias", + "named": true + }, + { + "type": "void", + "named": false + } + ] + }, + "value": { + "multiple": true, + "required": true, + "types": [ + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "false", + "named": false + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "null", + "named": false + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "true", + "named": false + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, + { + "type": "void", + "named": false + } + ] + } + } + }, + { + "type": "control_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "label", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, + { + "type": "yield_expression", + "named": true + } + ] + } + }, + { + "type": "decl_attr", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "string_constant", + "named": true + } + ] + } + }, + { + "type": "defer_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + { + "type": "delete_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "indexing_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + } + ] + } + }, + { + "type": "enum_type", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "enum_values", + "named": true + }, + { + "type": "integer_type", + "named": true + } + ] + } + }, + { + "type": "enum_value", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "name", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + { + "type": "enum_values", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "enum_value", + "named": true + } + ] + } + }, + { + "type": "error_propagation", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + { + "type": "expression_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "binding_list", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "defer_expression", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + { + "type": "field_access_expression", + "named": true, + "fields": { + "selector": { + "multiple": false, + "required": true, + "types": [ + { + "type": "integer_constant", + "named": true + }, + { + "type": "name", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + { + "type": "field_value", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "alias_type", + "named": true + }, + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "floating_type", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "function_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "integer_type", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "name", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_array_type", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "struct_type", + "named": true + }, + { + "type": "tagged_union_type", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "tuple_type", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, + { + "type": "union_type", + "named": true + }, + { + "type": "unwrapped_alias", + "named": true + } + ] + } + }, + { + "type": "field_values", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "field_value", + "named": true + } + ] + } + }, + { + "type": "floating_constant", + "named": true, + "fields": {} + }, + { + "type": "floating_type", + "named": true, + "fields": {} + }, + { + "type": "fndec_attr", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "decl_attr", + "named": true + }, + { + "type": "fntype_attr", + "named": true + } + ] + } + }, + { + "type": "fntype_attr", + "named": true, + "fields": {} + }, + { + "type": "for_loop", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "for_predicate", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + { + "type": "for_predicate", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "binding_list", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + { + "type": "function_declaration", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "prototype", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "fndec_attr", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + { + "type": "function_type", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "fntype_attr", + "named": true + }, + { + "type": "prototype", + "named": true + } + ] + } + }, + { + "type": "global_declaration", + "named": true, + "fields": { + "name": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "type": { + "multiple": true, + "required": true, + "types": [ + { + "type": "!", + "named": false + }, + { + "type": "alias_type", + "named": true + }, + { + "type": "bool", + "named": false + }, + { + "type": "const", + "named": false + }, + { + "type": "floating_type", + "named": true + }, + { + "type": "function_type", + "named": true + }, + { + "type": "integer_type", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "rune", + "named": false + }, + { + "type": "slice_array_type", + "named": true + }, + { + "type": "str", + "named": false + }, + { + "type": "struct_type", + "named": true + }, + { + "type": "tagged_union_type", + "named": true + }, + { + "type": "tuple_type", + "named": true + }, + { + "type": "union_type", + "named": true + }, + { + "type": "unwrapped_alias", + "named": true + }, + { + "type": "void", + "named": false + } + ] + }, + "value": { + "multiple": true, + "required": false, + "types": [ + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "false", + "named": false + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "null", + "named": false + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "true", + "named": false + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, + { + "type": "void", + "named": false + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "decl_attr", + "named": true + } + ] + } + }, + { + "type": "identifier", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "name", + "named": true + } + ] + } + }, + { + "type": "if_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "conditional_branch", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + { + "type": "indexing_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + { + "type": "insert_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + { + "type": "integer_constant", + "named": true, + "fields": {} + }, + { + "type": "integer_type", + "named": true, + "fields": {} + }, + { + "type": "label", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "name", + "named": true + } + ] + } + }, + { + "type": "length_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + { + "type": "match_case", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "alias_type", + "named": true + }, + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "binding_names", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "expression_list", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "floating_type", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "function_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "integer_type", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "name", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_array_type", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "struct_type", + "named": true + }, + { + "type": "tagged_union_type", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "tuple_type", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, + { + "type": "union_type", + "named": true + }, + { + "type": "unwrapped_alias", "named": true } ] } }, { - "type": "case_options", + "type": "match_cases", "named": true, "fields": {}, "children": { @@ -344,75 +3531,108 @@ "required": true, "types": [ { - "type": "expression", + "type": "match_case", "named": true } ] } }, { - "type": "cast_expression", + "type": "match_expression", "named": true, - "fields": { - "as_cast": { - "multiple": true, - "required": false, - "types": [ - { - "type": "as", - "named": false - }, - { - "type": "cast_expression", - "named": true - }, - { - "type": "type", - "named": true - } - ] - }, - "is_cast": { - "multiple": true, - "required": false, - "types": [ - { - "type": "cast_expression", - "named": true - }, - { - "type": "is", - "named": false - }, - { - "type": "type", - "named": true - } - ] - }, - "type_cast": { - "multiple": true, - "required": false, - "types": [ - { - "type": ":", - "named": false - }, - { - "type": "cast_expression", - "named": true - }, - { - "type": "type", - "named": true - } - ] - } - }, + "fields": {}, "children": { - "multiple": false, - "required": false, + "multiple": true, + "required": true, "types": [ + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "match_cases", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, { "type": "unary_expression", "named": true @@ -421,26 +3641,30 @@ } }, { - "type": "comparison_expression", + "type": "measurement_expression", "named": true, "fields": {}, "children": { - "multiple": true, + "multiple": false, "required": true, "types": [ { - "type": "comparison_expression", + "type": "length_expression", + "named": true + }, + { + "type": "offset_expression", "named": true }, { - "type": "inclusive_or_expression", + "type": "size_expression", "named": true } ] } }, { - "type": "compound_expression", + "type": "member_list", "named": true, "fields": {}, "children": { @@ -448,60 +3672,151 @@ "required": true, "types": [ { - "type": "expression_list", + "type": "name", + "named": true + } + ] + } + }, + { + "type": "object_selector", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "field_access_expression", "named": true }, { - "type": "label", + "type": "identifier", + "named": true + }, + { + "type": "indexing_expression", "named": true } ] } }, { - "type": "conditional_branch", + "type": "offset_expression", "named": true, "fields": {}, "children": { - "multiple": true, + "multiple": false, "required": true, "types": [ { - "type": "expression", + "type": "field_access_expression", "named": true } ] } }, { - "type": "constant", + "type": "offset_specifier", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ + { + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, { "type": "floating_constant", "named": true }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, { "type": "integer_constant", "named": true }, + { + "type": "measurement_expression", + "named": true + }, { "type": "rune_constant", "named": true }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, { "type": "string_constant", "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true } ] } }, { - "type": "constant_declaration", + "type": "parameter", "named": true, "fields": {}, "children": { @@ -509,22 +3824,73 @@ "required": false, "types": [ { - "type": "expression", + "type": "alias_type", + "named": true + }, + { + "type": "floating_type", "named": true }, { - "type": "identifier", + "type": "function_type", + "named": true + }, + { + "type": "integer_type", + "named": true + }, + { + "type": "name", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "slice_array_type", + "named": true + }, + { + "type": "struct_type", + "named": true + }, + { + "type": "tagged_union_type", + "named": true + }, + { + "type": "tuple_type", + "named": true + }, + { + "type": "union_type", "named": true }, { - "type": "type", + "type": "unwrapped_alias", "named": true } ] } }, { - "type": "control_statement", + "type": "parameter_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "parameter", + "named": true + } + ] + } + }, + { + "type": "pointer_type", "named": true, "fields": {}, "children": { @@ -532,273 +3898,287 @@ "required": false, "types": [ { - "type": "expression", + "type": "alias_type", "named": true }, { - "type": "label", + "type": "floating_type", "named": true }, { - "type": "yield_expression", + "type": "function_type", + "named": true + }, + { + "type": "integer_type", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "slice_array_type", + "named": true + }, + { + "type": "struct_type", + "named": true + }, + { + "type": "tagged_union_type", + "named": true + }, + { + "type": "tuple_type", + "named": true + }, + { + "type": "union_type", + "named": true + }, + { + "type": "unwrapped_alias", "named": true } ] } }, { - "type": "decl_attr", + "type": "prototype", "named": true, "fields": {}, "children": { - "multiple": false, + "multiple": true, "required": false, "types": [ { - "type": "string_constant", + "type": "alias_type", + "named": true + }, + { + "type": "floating_type", + "named": true + }, + { + "type": "function_type", + "named": true + }, + { + "type": "integer_type", + "named": true + }, + { + "type": "parameter_list", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "slice_array_type", + "named": true + }, + { + "type": "struct_type", + "named": true + }, + { + "type": "tagged_union_type", + "named": true + }, + { + "type": "tuple_type", + "named": true + }, + { + "type": "union_type", + "named": true + }, + { + "type": "unwrapped_alias", "named": true } ] } }, { - "type": "defer_expression", + "type": "rune_constant", "named": true, "fields": {}, "children": { "multiple": false, - "required": true, + "required": false, "types": [ { - "type": "expression", + "type": "escape_sequence", "named": true } ] } }, { - "type": "delete_expression", + "type": "size_expression", "named": true, "fields": {}, "children": { "multiple": false, - "required": true, + "required": false, "types": [ { - "type": "indexing_expression", + "type": "alias_type", "named": true }, { - "type": "slicing_expression", + "type": "floating_type", "named": true - } - ] - } - }, - { - "type": "enum_type", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "enum_values", + "type": "function_type", "named": true }, { "type": "integer_type", "named": true - } - ] - } - }, - { - "type": "enum_value", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "expression", + "type": "pointer_type", "named": true }, { - "type": "name", + "type": "slice_array_type", "named": true - } - ] - } - }, - { - "type": "enum_values", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "enum_value", + "type": "struct_type", "named": true - } - ] - } - }, - { - "type": "equality_expression", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, + { + "type": "tagged_union_type", + "named": true + }, { - "type": "comparison_expression", + "type": "tuple_type", "named": true }, { - "type": "equality_expression", + "type": "union_type", "named": true - } - ] - } - }, - { - "type": "error_propagation", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ + }, { - "type": "postfix_expression", + "type": "unwrapped_alias", "named": true } ] } }, { - "type": "exclusive_or_expression", + "type": "slice_array_type", "named": true, "fields": {}, "children": { "multiple": true, - "required": true, + "required": false, "types": [ { - "type": "and_expression", + "type": "alias_type", "named": true }, { - "type": "exclusive_or_expression", + "type": "allocation_expression", "named": true - } - ] - } - }, - { - "type": "expression", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, { "type": "assignment", "named": true }, + { + "type": "call_expression", + "named": true + }, { "type": "control_statement", "named": true }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "floating_type", + "named": true + }, { "type": "for_loop", "named": true }, + { + "type": "function_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, { "type": "if_expression", "named": true }, { - "type": "logical_or_expression", + "type": "indexing_expression", "named": true - } - ] - } - }, - { - "type": "expression_list", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "binding_list", + "type": "integer_constant", "named": true }, { - "type": "defer_expression", + "type": "integer_type", "named": true }, { - "type": "expression", + "type": "measurement_expression", "named": true - } - ] - } - }, - { - "type": "field_access_expression", - "named": true, - "fields": { - "selector": { - "multiple": false, - "required": true, - "types": [ - { - "type": "integer_constant", - "named": true - }, - { - "type": "name", - "named": true - } - ] - } - }, - "children": { - "multiple": false, - "required": true, - "types": [ + }, { - "type": "postfix_expression", + "type": "pointer_type", "named": true - } - ] - } - }, - { - "type": "field_value", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "expression", + "type": "rune_constant", "named": true }, { - "type": "name", + "type": "slice_array_type", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", "named": true }, { @@ -806,172 +4186,105 @@ "named": true }, { - "type": "type", + "type": "struct_type", "named": true - } - ] - } - }, - { - "type": "field_values", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, + { + "type": "tagged_union_type", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "tuple_type", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, { - "type": "field_value", + "type": "union_type", + "named": true + }, + { + "type": "unwrapped_alias", "named": true } ] } }, { - "type": "floating_constant", - "named": true, - "fields": {} - }, - { - "type": "floating_type", - "named": true, - "fields": {} - }, - { - "type": "fndec_attr", + "type": "slice_mutation_expression", "named": true, "fields": {}, "children": { "multiple": false, - "required": false, + "required": true, "types": [ { - "type": "decl_attr", + "type": "append_expression", "named": true }, { - "type": "fntype_attr", + "type": "delete_expression", + "named": true + }, + { + "type": "insert_expression", "named": true } ] } }, { - "type": "fntype_attr", - "named": true, - "fields": {} - }, - { - "type": "for_loop", + "type": "slicing_expression", "named": true, "fields": {}, "children": { "multiple": true, - "required": true, + "required": false, "types": [ { - "type": "expression", + "type": "allocation_expression", "named": true }, { - "type": "for_predicate", + "type": "array_literal", "named": true - } - ] - } - }, - { - "type": "for_predicate", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "binding_list", + "type": "assertion_expression", "named": true }, { - "type": "expression", + "type": "assignment", "named": true - } - ] - } - }, - { - "type": "function_declaration", - "named": true, - "fields": { - "name": { - "multiple": false, - "required": true, - "types": [ - { - "type": "identifier", - "named": true - } - ] - }, - "type": { - "multiple": false, - "required": true, - "types": [ - { - "type": "prototype", - "named": true - } - ] - } - }, - "children": { - "multiple": true, - "required": false, - "types": [ + }, { - "type": "expression", + "type": "call_expression", "named": true }, { - "type": "fndec_attr", + "type": "control_statement", "named": true - } - ] - } - }, - { - "type": "function_type", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "fntype_attr", + "type": "error_propagation", "named": true }, { - "type": "prototype", + "type": "field_access_expression", "named": true - } - ] - } - }, - { - "type": "global_declaration", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": false, - "types": [ + }, { - "type": "decl_attr", + "type": "floating_constant", "named": true }, { - "type": "expression", + "type": "for_loop", "named": true }, { @@ -979,48 +4292,88 @@ "named": true }, { - "type": "type", + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", "named": true } ] } }, { - "type": "identifier", + "type": "string_constant", "named": true, "fields": {}, "children": { "multiple": true, - "required": true, + "required": false, "types": [ { - "type": "name", + "type": "escape_sequence", "named": true } ] } }, { - "type": "if_expression", + "type": "struct_initializer", "named": true, "fields": {}, "children": { "multiple": true, - "required": true, + "required": false, "types": [ { - "type": "conditional_branch", + "type": "field_value", "named": true }, { - "type": "expression", + "type": "field_values", "named": true } ] } }, { - "type": "inclusive_or_expression", + "type": "struct_literal", "named": true, "fields": {}, "children": { @@ -1028,37 +4381,37 @@ "required": true, "types": [ { - "type": "exclusive_or_expression", + "type": "field_values", + "named": true + }, + { + "type": "identifier", "named": true }, { - "type": "inclusive_or_expression", + "type": "struct_initializer", "named": true } ] } }, { - "type": "indexing_expression", + "type": "struct_type", "named": true, "fields": {}, "children": { - "multiple": true, + "multiple": false, "required": true, "types": [ { - "type": "expression", - "named": true - }, - { - "type": "postfix_expression", + "type": "struct_union_fields", "named": true } ] } }, { - "type": "insert_expression", + "type": "struct_union_field", "named": true, "fields": {}, "children": { @@ -1066,203 +4419,184 @@ "required": true, "types": [ { - "type": "expression", + "type": "alias_type", "named": true }, { - "type": "indexing_expression", + "type": "floating_type", "named": true - } - ] - } - }, - { - "type": "integer_constant", - "named": true, - "fields": {} - }, - { - "type": "integer_type", - "named": true, - "fields": {} - }, - { - "type": "label", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ + }, + { + "type": "function_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "integer_type", + "named": true + }, + { + "type": "name", + "named": true + }, + { + "type": "offset_specifier", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "slice_array_type", + "named": true + }, + { + "type": "struct_type", + "named": true + }, { - "type": "name", + "type": "tagged_union_type", + "named": true + }, + { + "type": "tuple_type", + "named": true + }, + { + "type": "union_type", + "named": true + }, + { + "type": "unwrapped_alias", "named": true } ] } }, { - "type": "length_expression", + "type": "struct_union_fields", "named": true, "fields": {}, "children": { - "multiple": false, + "multiple": true, "required": true, "types": [ { - "type": "expression", + "type": "struct_union_field", "named": true } ] } }, { - "type": "logical_and_expression", + "type": "switch_case", "named": true, "fields": {}, "children": { "multiple": true, - "required": true, + "required": false, "types": [ { - "type": "equality_expression", + "type": "allocation_expression", "named": true }, { - "type": "logical_and_expression", + "type": "array_literal", "named": true - } - ] - } - }, - { - "type": "logical_or_expression", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "logical_or_expression", + "type": "assertion_expression", "named": true }, { - "type": "logical_xor_expression", + "type": "assignment", "named": true - } - ] - } - }, - { - "type": "logical_xor_expression", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "logical_and_expression", + "type": "call_expression", "named": true }, { - "type": "logical_xor_expression", + "type": "case_options", "named": true - } - ] - } - }, - { - "type": "match_case", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "binding_names", + "type": "control_statement", "named": true }, { - "type": "expression", + "type": "error_propagation", "named": true }, { - "type": "expression_list", + "type": "field_access_expression", "named": true }, { - "type": "name", + "type": "floating_constant", "named": true }, { - "type": "type", + "type": "for_loop", "named": true - } - ] - } - }, - { - "type": "match_cases", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "match_case", + "type": "identifier", "named": true - } - ] - } - }, - { - "type": "match_expression", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "expression", + "type": "if_expression", "named": true }, { - "type": "match_cases", + "type": "indexing_expression", "named": true - } - ] - } - }, - { - "type": "measurement_expression", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ + }, { - "type": "length_expression", + "type": "integer_constant", "named": true }, { - "type": "offset_expression", + "type": "measurement_expression", "named": true }, { - "type": "size_expression", + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", "named": true } ] } }, { - "type": "member_list", + "type": "switch_cases", "named": true, "fields": {}, "children": { @@ -1270,14 +4604,14 @@ "required": true, "types": [ { - "type": "name", + "type": "switch_case", "named": true } ] } }, { - "type": "multiplicative_expression", + "type": "switch_expression", "named": true, "fields": {}, "children": { @@ -1285,155 +4619,157 @@ "required": true, "types": [ { - "type": "cast_expression", + "type": "allocation_expression", "named": true }, { - "type": "multiplicative_expression", + "type": "array_literal", "named": true - } - ] - } - }, - { - "type": "nested_expression", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ + }, { - "type": "expression", + "type": "assertion_expression", "named": true }, { - "type": "plain_expression", + "type": "assignment", "named": true }, { - "type": "tuple_items", + "type": "call_expression", "named": true - } - ] - } - }, - { - "type": "object_selector", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, { "type": "field_access_expression", "named": true }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, { "type": "identifier", "named": true }, + { + "type": "if_expression", + "named": true + }, { "type": "indexing_expression", "named": true - } - ] - } - }, - { - "type": "offset_expression", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ + }, { - "type": "field_access_expression", + "type": "integer_constant", "named": true - } - ] - } - }, - { - "type": "offset_specifier", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "switch_cases", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, { - "type": "expression", + "type": "unary_expression", "named": true } ] } }, { - "type": "parameter", + "type": "tagged_types", "named": true, "fields": {}, "children": { "multiple": true, - "required": true, + "required": false, "types": [ { - "type": "name", + "type": "alias_type", "named": true }, { - "type": "type", + "type": "floating_type", "named": true - } - ] - } - }, - { - "type": "parameter_list", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "parameter", + "type": "function_type", "named": true - } - ] - } - }, - { - "type": "plain_expression", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ + }, { - "type": "array_literal", + "type": "integer_type", "named": true }, { - "type": "constant", + "type": "pointer_type", "named": true }, { - "type": "identifier", + "type": "slice_array_type", "named": true }, { - "type": "struct_literal", + "type": "struct_type", + "named": true + }, + { + "type": "tagged_union_type", + "named": true + }, + { + "type": "tuple_type", + "named": true + }, + { + "type": "union_type", + "named": true + }, + { + "type": "unwrapped_alias", "named": true } ] } }, { - "type": "pointer_type", + "type": "tagged_union_type", "named": true, "fields": {}, "children": { @@ -1441,221 +4777,152 @@ "required": true, "types": [ { - "type": "type", + "type": "tagged_types", "named": true } ] } }, { - "type": "postfix_expression", + "type": "tuple_items", "named": true, "fields": {}, "children": { - "multiple": false, - "required": true, + "multiple": true, + "required": false, "types": [ { - "type": "call_expression", + "type": "allocation_expression", "named": true }, { - "type": "error_propagation", + "type": "array_literal", "named": true }, { - "type": "field_access_expression", + "type": "assertion_expression", "named": true }, { - "type": "indexing_expression", + "type": "assignment", "named": true }, { - "type": "nested_expression", + "type": "call_expression", "named": true }, { - "type": "slicing_expression", + "type": "control_statement", "named": true - } - ] - } - }, - { - "type": "prototype", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "parameter_list", + "type": "error_propagation", "named": true }, { - "type": "type", + "type": "field_access_expression", "named": true - } - ] - } - }, - { - "type": "rune_constant", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": false, - "types": [ + }, { - "type": "escape_sequence", + "type": "floating_constant", "named": true - } - ] - } - }, - { - "type": "scalar_type", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": false, - "types": [ + }, { - "type": "floating_type", + "type": "for_loop", "named": true }, { - "type": "integer_type", + "type": "identifier", "named": true }, { - "type": "pointer_type", + "type": "if_expression", "named": true - } - ] - } - }, - { - "type": "shift_expression", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "additive_expression", + "type": "indexing_expression", "named": true }, { - "type": "cast_expression", + "type": "integer_constant", "named": true }, { - "type": "multiplicative_expression", + "type": "measurement_expression", "named": true - } - ] - } - }, - { - "type": "size_expression", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ + }, { - "type": "type", + "type": "rune_constant", "named": true - } - ] - } - }, - { - "type": "slice_array_type", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "expression", + "type": "slice_mutation_expression", "named": true }, { - "type": "type", + "type": "slicing_expression", "named": true - } - ] - } - }, - { - "type": "slice_mutation_expression", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ + }, { - "type": "append_expression", + "type": "string_constant", "named": true }, { - "type": "delete_expression", + "type": "struct_literal", "named": true }, { - "type": "insert_expression", + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", "named": true } ] } }, { - "type": "slicing_expression", + "type": "tuple_type", "named": true, "fields": {}, "children": { - "multiple": true, + "multiple": false, "required": true, "types": [ { - "type": "expression", - "named": true - }, - { - "type": "postfix_expression", + "type": "tuple_types", "named": true } ] } }, { - "type": "storage_class", + "type": "tuple_types", "named": true, "fields": {}, "children": { - "multiple": false, - "required": true, + "multiple": true, + "required": false, "types": [ { "type": "alias_type", "named": true }, + { + "type": "floating_type", + "named": true + }, { "type": "function_type", "named": true }, { - "type": "scalar_type", + "type": "integer_type", + "named": true + }, + { + "type": "pointer_type", "named": true }, { @@ -1686,280 +4953,118 @@ } }, { - "type": "string_constant", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": false, - "types": [ - { - "type": "escape_sequence", - "named": true - } - ] - } - }, - { - "type": "struct_initializer", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": false, - "types": [ - { - "type": "field_value", - "named": true - }, - { - "type": "field_values", - "named": true - } - ] - } - }, - { - "type": "struct_literal", + "type": "type_declaration", "named": true, "fields": {}, "children": { "multiple": true, - "required": true, + "required": false, "types": [ { - "type": "field_values", + "type": "alias_type", "named": true }, { - "type": "identifier", + "type": "enum_type", "named": true }, { - "type": "struct_initializer", + "type": "floating_type", "named": true - } - ] - } - }, - { - "type": "struct_type", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ + }, { - "type": "struct_union_fields", + "type": "function_type", "named": true - } - ] - } - }, - { - "type": "struct_union_field", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { "type": "identifier", "named": true }, { - "type": "name", + "type": "integer_type", "named": true }, { - "type": "offset_specifier", + "type": "pointer_type", "named": true }, { - "type": "struct_type", + "type": "slice_array_type", "named": true }, { - "type": "type", + "type": "struct_type", "named": true }, { - "type": "union_type", + "type": "tagged_union_type", "named": true - } - ] - } - }, - { - "type": "struct_union_fields", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "struct_union_field", + "type": "tuple_type", "named": true - } - ] - } - }, - { - "type": "switch_case", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "case_options", + "type": "union_type", "named": true }, { - "type": "expression", + "type": "unwrapped_alias", "named": true } ] } }, { - "type": "switch_cases", + "type": "unary_expression", "named": true, "fields": {}, "children": { - "multiple": true, - "required": true, + "multiple": false, + "required": false, "types": [ { - "type": "switch_case", + "type": "allocation_expression", "named": true - } - ] - } - }, - { - "type": "switch_expression", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "expression", + "type": "array_literal", "named": true }, { - "type": "switch_cases", + "type": "assertion_expression", "named": true - } - ] - } - }, - { - "type": "tagged_types", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "type", + "type": "assignment", "named": true - } - ] - } - }, - { - "type": "tagged_union_type", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ + }, { - "type": "tagged_types", + "type": "call_expression", "named": true - } - ] - } - }, - { - "type": "tuple_items", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "expression", + "type": "compound_expression", "named": true - } - ] - } - }, - { - "type": "tuple_type", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ + }, { - "type": "tuple_types", + "type": "control_statement", "named": true - } - ] - } - }, - { - "type": "tuple_types", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ + }, { - "type": "type", + "type": "error_propagation", "named": true - } - ] - } - }, - { - "type": "type", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ + }, { - "type": "storage_class", + "type": "field_access_expression", "named": true - } - ] - } - }, - { - "type": "type_declaration", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": false, - "types": [ + }, { - "type": "enum_type", + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", "named": true }, { @@ -1967,39 +5072,60 @@ "named": true }, { - "type": "type", + "type": "if_expression", "named": true - } - ] - } - }, - { - "type": "unary_expression", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ + }, { - "type": "builtin_expression", + "type": "indexing_expression", "named": true }, { - "type": "compound_expression", + "type": "integer_constant", "named": true }, { "type": "match_expression", "named": true }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, { "type": "switch_expression", "named": true }, + { + "type": "tuple_items", + "named": true + }, { "type": "unary_expression", "named": true + }, + { + "type": "variadic_expression", + "named": true } ] } @@ -2068,10 +5194,41 @@ { "type": "use_statement", "named": true, - "fields": {}, + "fields": { + "alias": { + "multiple": false, + "required": false, + "types": [ + { + "type": "name", + "named": true + } + ] + }, + "members": { + "multiple": false, + "required": false, + "types": [ + { + "type": "member_list", + "named": true + } + ] + }, + "path": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, "children": { "multiple": true, - "required": true, + "required": false, "types": [ { "type": "identifier", @@ -2080,10 +5237,6 @@ { "type": "member_list", "named": true - }, - { - "type": "name", - "named": true } ] } @@ -2097,7 +5250,91 @@ "required": false, "types": [ { - "type": "object_selector", + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", + "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", "named": true } ] @@ -2109,15 +5346,99 @@ "fields": {}, "children": { "multiple": true, - "required": true, + "required": false, "types": [ { - "type": "expression", + "type": "allocation_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "assertion_expression", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "control_statement", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "field_access_expression", + "named": true + }, + { + "type": "floating_constant", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "indexing_expression", + "named": true + }, + { + "type": "integer_constant", "named": true }, { "type": "label", "named": true + }, + { + "type": "measurement_expression", + "named": true + }, + { + "type": "rune_constant", + "named": true + }, + { + "type": "slice_mutation_expression", + "named": true + }, + { + "type": "slicing_expression", + "named": true + }, + { + "type": "string_constant", + "named": true + }, + { + "type": "struct_literal", + "named": true + }, + { + "type": "tuple_items", + "named": true + }, + { + "type": "unary_expression", + "named": true } ] } @@ -2126,18 +5447,10 @@ "type": "!", "named": false }, - { - "type": "!=", - "named": false - }, { "type": "\"", "named": false }, - { - "type": "%", - "named": false - }, { "type": "%=", "named": false @@ -2146,10 +5459,6 @@ "type": "&", "named": false }, - { - "type": "&&", - "named": false - }, { "type": "&&=", "named": false @@ -2210,10 +5519,6 @@ "type": "...", "named": false }, - { - "type": "/", - "named": false - }, { "type": "/=", "named": false @@ -2230,46 +5535,18 @@ "type": ";", "named": false }, - { - "type": "<", - "named": false - }, - { - "type": "<<", - "named": false - }, { "type": "<<=", "named": false }, - { - "type": "<=", - "named": false - }, { "type": "=", "named": false }, - { - "type": "==", - "named": false - }, { "type": "=>", "named": false }, - { - "type": ">", - "named": false - }, - { - "type": ">=", - "named": false - }, - { - "type": ">>", - "named": false - }, { "type": ">>=", "named": false @@ -2318,18 +5595,10 @@ "type": "]", "named": false }, - { - "type": "^", - "named": false - }, { "type": "^=", "named": false }, - { - "type": "^^", - "named": false - }, { "type": "^^=", "named": false @@ -2350,10 +5619,6 @@ "type": "append", "named": false }, - { - "type": "as", - "named": false - }, { "type": "assert", "named": false @@ -2470,10 +5735,6 @@ "type": "int", "named": false }, - { - "type": "is", - "named": false - }, { "type": "len", "named": false @@ -2602,10 +5863,6 @@ "type": "|=", "named": false }, - { - "type": "||", - "named": false - }, { "type": "||=", "named": false diff --git a/src/parser.c b/src/parser.c index 617b6ac..c0f59cd 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,15 +6,15 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 1049 -#define LARGE_STATE_COUNT 151 -#define SYMBOL_COUNT 270 +#define STATE_COUNT 694 +#define LARGE_STATE_COUNT 112 +#define SYMBOL_COUNT 241 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 133 +#define TOKEN_COUNT 117 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 6 +#define FIELD_COUNT 7 #define MAX_ALIAS_SEQUENCE_LENGTH 10 -#define PRODUCTION_ID_COUNT 7 +#define PRODUCTION_ID_COUNT 16 enum { sym_name = 1, @@ -107,185 +107,156 @@ enum { anon_sym_vaend = 88, anon_sym_TILDE = 89, anon_sym_AMP = 90, - anon_sym_as = 91, - anon_sym_is = 92, - anon_sym_SLASH = 93, - anon_sym_PERCENT = 94, - anon_sym_LT_LT = 95, - anon_sym_GT_GT = 96, - anon_sym_CARET = 97, - anon_sym_LT = 98, - anon_sym_GT = 99, - anon_sym_LT_EQ = 100, - anon_sym_GT_EQ = 101, - anon_sym_EQ_EQ = 102, - anon_sym_BANG_EQ = 103, - anon_sym_AMP_AMP = 104, - anon_sym_CARET_CARET = 105, - anon_sym_PIPE_PIPE = 106, - anon_sym_if = 107, - anon_sym_else = 108, - anon_sym_for = 109, - anon_sym_switch = 110, - anon_sym_case = 111, - anon_sym_EQ_GT = 112, - anon_sym_match = 113, - anon_sym_PLUS_EQ = 114, - anon_sym_DASH_EQ = 115, - anon_sym_STAR_EQ = 116, - anon_sym_SLASH_EQ = 117, - anon_sym_PERCENT_EQ = 118, - anon_sym_LT_LT_EQ = 119, - anon_sym_GT_GT_EQ = 120, - anon_sym_AMP_EQ = 121, - anon_sym_PIPE_EQ = 122, - anon_sym_CARET_EQ = 123, - anon_sym_AMP_AMP_EQ = 124, - anon_sym_PIPE_PIPE_EQ = 125, - anon_sym_CARET_CARET_EQ = 126, - anon_sym_defer = 127, - anon_sym_break = 128, - anon_sym_continue = 129, - anon_sym_return = 130, - anon_sym_yield = 131, - sym_comment = 132, - sym_unit = 133, - aux_sym__imports = 134, - sym_use_statement = 135, - sym_member_list = 136, - sym__member = 137, - aux_sym__declarations = 138, - sym__declaration = 139, - sym_global_declaration = 140, - sym__global_bindings = 141, - sym__global_binding = 142, - sym_decl_attr = 143, - sym_constant_declaration = 144, - sym__constant_bindings = 145, - sym__constant_binding = 146, - sym_type_declaration = 147, - sym__type_bindings = 148, - sym__type_binding = 149, - sym_function_declaration = 150, - sym_fndec_attr = 151, - sym_fntype_attr = 152, - sym_type = 153, - sym_storage_class = 154, - sym_scalar_type = 155, - sym_integer_type = 156, - sym_floating_type = 157, - sym_enum_type = 158, - sym_enum_values = 159, - sym_enum_value = 160, - sym_pointer_type = 161, - sym_struct_type = 162, - sym_union_type = 163, - sym_struct_union_fields = 164, - sym_struct_union_field = 165, - sym_offset_specifier = 166, - sym_tuple_type = 167, - sym_tuple_types = 168, - sym_tagged_union_type = 169, - sym_tagged_types = 170, - sym_slice_array_type = 171, - sym_function_type = 172, - sym_prototype = 173, - sym_parameter_list = 174, - sym_parameter = 175, - sym_alias_type = 176, - sym_unwrapped_alias = 177, - sym_constant = 178, - sym_integer_constant = 179, - sym_floating_constant = 180, - sym_rune_constant = 181, - sym_string_constant = 182, - sym_array_literal = 183, - sym_array_members = 184, - sym_struct_literal = 185, - sym_struct_initializer = 186, - sym_field_values = 187, - sym_field_value = 188, - sym_plain_expression = 189, - sym_nested_expression = 190, - sym_tuple_items = 191, - sym_allocation_expression = 192, - sym_assertion_expression = 193, - sym_call_expression = 194, - sym_argument_list = 195, - sym_measurement_expression = 196, - sym_size_expression = 197, - sym_length_expression = 198, - sym_offset_expression = 199, - sym_field_access_expression = 200, - sym_indexing_expression = 201, - sym_slicing_expression = 202, - sym_slice_mutation_expression = 203, - sym_append_expression = 204, - sym_insert_expression = 205, - sym_delete_expression = 206, - sym_error_propagation = 207, - sym_postfix_expression = 208, - sym_object_selector = 209, - sym_variadic_expression = 210, - sym_builtin_expression = 211, - sym_unary_expression = 212, - sym_cast_expression = 213, - sym_multiplicative_expression = 214, - sym_additive_expression = 215, - sym_shift_expression = 216, - sym_and_expression = 217, - sym_exclusive_or_expression = 218, - sym_inclusive_or_expression = 219, - sym_comparison_expression = 220, - sym_equality_expression = 221, - sym_logical_and_expression = 222, - sym_logical_xor_expression = 223, - sym_logical_or_expression = 224, - sym_if_expression = 225, - sym_conditional_branch = 226, - sym_for_loop = 227, - sym_for_predicate = 228, - sym_switch_expression = 229, - sym_switch_cases = 230, - sym_switch_case = 231, - sym_case_options = 232, - sym_match_expression = 233, - sym_match_cases = 234, - sym_match_case = 235, - sym_assignment = 236, - sym_assignment_op = 237, - sym_binding_list = 238, - sym_bindings = 239, - sym_binding = 240, - sym_binding_names = 241, - sym_defer_expression = 242, - sym_expression_list = 243, - sym_compound_expression = 244, - sym_label = 245, - sym_control_statement = 246, - sym_yield_expression = 247, - sym_expression = 248, - sym_identifier = 249, - aux_sym_member_list_repeat1 = 250, - aux_sym__constant_bindings_repeat1 = 251, - aux_sym__type_bindings_repeat1 = 252, - aux_sym_function_declaration_repeat1 = 253, - aux_sym_enum_values_repeat1 = 254, - aux_sym_struct_union_fields_repeat1 = 255, - aux_sym_tuple_types_repeat1 = 256, - aux_sym_tagged_types_repeat1 = 257, - aux_sym_parameter_list_repeat1 = 258, - aux_sym_floating_constant_repeat1 = 259, - aux_sym_string_constant_repeat1 = 260, - aux_sym_string_constant_repeat2 = 261, - aux_sym_array_members_repeat1 = 262, - aux_sym_struct_initializer_repeat1 = 263, - aux_sym_switch_cases_repeat1 = 264, - aux_sym_match_cases_repeat1 = 265, - aux_sym_bindings_repeat1 = 266, - aux_sym_binding_names_repeat1 = 267, - aux_sym_expression_list_repeat1 = 268, - aux_sym_identifier_repeat1 = 269, + anon_sym_if = 91, + anon_sym_else = 92, + anon_sym_for = 93, + anon_sym_switch = 94, + anon_sym_case = 95, + anon_sym_EQ_GT = 96, + anon_sym_match = 97, + anon_sym_PLUS_EQ = 98, + anon_sym_DASH_EQ = 99, + anon_sym_STAR_EQ = 100, + anon_sym_SLASH_EQ = 101, + anon_sym_PERCENT_EQ = 102, + anon_sym_LT_LT_EQ = 103, + anon_sym_GT_GT_EQ = 104, + anon_sym_AMP_EQ = 105, + anon_sym_PIPE_EQ = 106, + anon_sym_CARET_EQ = 107, + anon_sym_AMP_AMP_EQ = 108, + anon_sym_PIPE_PIPE_EQ = 109, + anon_sym_CARET_CARET_EQ = 110, + anon_sym_defer = 111, + anon_sym_break = 112, + anon_sym_continue = 113, + anon_sym_return = 114, + anon_sym_yield = 115, + sym_comment = 116, + sym_unit = 117, + aux_sym__imports = 118, + sym_use_statement = 119, + sym_member_list = 120, + sym__member = 121, + aux_sym__declarations = 122, + sym__declaration = 123, + sym_global_declaration = 124, + sym__global_bindings = 125, + sym__global_binding = 126, + sym_decl_attr = 127, + sym_constant_declaration = 128, + sym__constant_bindings = 129, + sym__constant_binding = 130, + sym_type_declaration = 131, + sym__type_bindings = 132, + sym__type_binding = 133, + sym_function_declaration = 134, + sym_fndec_attr = 135, + sym_fntype_attr = 136, + sym__type = 137, + sym__storage_class = 138, + sym__scalar_type = 139, + sym_integer_type = 140, + sym_floating_type = 141, + sym_enum_type = 142, + sym_enum_values = 143, + sym_enum_value = 144, + sym_pointer_type = 145, + sym_struct_type = 146, + sym_union_type = 147, + sym_struct_union_fields = 148, + sym_struct_union_field = 149, + sym_offset_specifier = 150, + sym_tuple_type = 151, + sym_tuple_types = 152, + sym_tagged_union_type = 153, + sym_tagged_types = 154, + sym_slice_array_type = 155, + sym_function_type = 156, + sym_prototype = 157, + sym_parameter_list = 158, + sym_parameter = 159, + sym_alias_type = 160, + sym_unwrapped_alias = 161, + sym__constant = 162, + sym_integer_constant = 163, + sym_floating_constant = 164, + sym_rune_constant = 165, + sym_string_constant = 166, + sym_array_literal = 167, + sym_array_members = 168, + sym_struct_literal = 169, + sym_struct_initializer = 170, + sym_field_values = 171, + sym_field_value = 172, + sym__plain_expression = 173, + sym__nested_expression = 174, + sym_tuple_items = 175, + sym_allocation_expression = 176, + sym_assertion_expression = 177, + sym_call_expression = 178, + sym_argument_list = 179, + sym_measurement_expression = 180, + sym_size_expression = 181, + sym_length_expression = 182, + sym_offset_expression = 183, + sym_field_access_expression = 184, + sym_indexing_expression = 185, + sym_slicing_expression = 186, + sym_slice_mutation_expression = 187, + sym_append_expression = 188, + sym_insert_expression = 189, + sym_delete_expression = 190, + sym_error_propagation = 191, + sym__postfix_expression = 192, + sym_object_selector = 193, + sym_variadic_expression = 194, + sym_unary_expression = 195, + sym_if_expression = 196, + sym_conditional_branch = 197, + sym_for_loop = 198, + sym_for_predicate = 199, + sym_switch_expression = 200, + sym_switch_cases = 201, + sym_switch_case = 202, + sym_case_options = 203, + sym_match_expression = 204, + sym_match_cases = 205, + sym_match_case = 206, + sym_assignment = 207, + sym_assignment_op = 208, + sym_binding_list = 209, + sym_bindings = 210, + sym_binding = 211, + sym_binding_names = 212, + sym_defer_expression = 213, + sym_expression_list = 214, + sym_compound_expression = 215, + sym_label = 216, + sym_control_statement = 217, + sym_yield_expression = 218, + sym__expression = 219, + sym_identifier = 220, + aux_sym_member_list_repeat1 = 221, + aux_sym__constant_bindings_repeat1 = 222, + aux_sym__type_bindings_repeat1 = 223, + aux_sym_function_declaration_repeat1 = 224, + aux_sym_enum_values_repeat1 = 225, + aux_sym_struct_union_fields_repeat1 = 226, + aux_sym_tuple_types_repeat1 = 227, + aux_sym_tagged_types_repeat1 = 228, + aux_sym_parameter_list_repeat1 = 229, + aux_sym_floating_constant_repeat1 = 230, + aux_sym_string_constant_repeat1 = 231, + aux_sym_string_constant_repeat2 = 232, + aux_sym_array_members_repeat1 = 233, + aux_sym_struct_initializer_repeat1 = 234, + aux_sym_switch_cases_repeat1 = 235, + aux_sym_match_cases_repeat1 = 236, + aux_sym_bindings_repeat1 = 237, + aux_sym_binding_names_repeat1 = 238, + aux_sym_expression_list_repeat1 = 239, + aux_sym_identifier_repeat1 = 240, }; static const char * const ts_symbol_names[] = { @@ -380,22 +351,6 @@ static const char * const ts_symbol_names[] = { [anon_sym_vaend] = "vaend", [anon_sym_TILDE] = "~", [anon_sym_AMP] = "&", - [anon_sym_as] = "as", - [anon_sym_is] = "is", - [anon_sym_SLASH] = "/", - [anon_sym_PERCENT] = "%", - [anon_sym_LT_LT] = "<<", - [anon_sym_GT_GT] = ">>", - [anon_sym_CARET] = "^", - [anon_sym_LT] = "<", - [anon_sym_GT] = ">", - [anon_sym_LT_EQ] = "<=", - [anon_sym_GT_EQ] = ">=", - [anon_sym_EQ_EQ] = "==", - [anon_sym_BANG_EQ] = "!=", - [anon_sym_AMP_AMP] = "&&", - [anon_sym_CARET_CARET] = "^^", - [anon_sym_PIPE_PIPE] = "||", [anon_sym_if] = "if", [anon_sym_else] = "else", [anon_sym_for] = "for", @@ -442,9 +397,9 @@ static const char * const ts_symbol_names[] = { [sym_function_declaration] = "function_declaration", [sym_fndec_attr] = "fndec_attr", [sym_fntype_attr] = "fntype_attr", - [sym_type] = "type", - [sym_storage_class] = "storage_class", - [sym_scalar_type] = "scalar_type", + [sym__type] = "_type", + [sym__storage_class] = "_storage_class", + [sym__scalar_type] = "_scalar_type", [sym_integer_type] = "integer_type", [sym_floating_type] = "floating_type", [sym_enum_type] = "enum_type", @@ -467,7 +422,7 @@ static const char * const ts_symbol_names[] = { [sym_parameter] = "parameter", [sym_alias_type] = "alias_type", [sym_unwrapped_alias] = "unwrapped_alias", - [sym_constant] = "constant", + [sym__constant] = "_constant", [sym_integer_constant] = "integer_constant", [sym_floating_constant] = "floating_constant", [sym_rune_constant] = "rune_constant", @@ -478,8 +433,8 @@ static const char * const ts_symbol_names[] = { [sym_struct_initializer] = "struct_initializer", [sym_field_values] = "field_values", [sym_field_value] = "field_value", - [sym_plain_expression] = "plain_expression", - [sym_nested_expression] = "nested_expression", + [sym__plain_expression] = "_plain_expression", + [sym__nested_expression] = "_nested_expression", [sym_tuple_items] = "tuple_items", [sym_allocation_expression] = "allocation_expression", [sym_assertion_expression] = "assertion_expression", @@ -497,23 +452,10 @@ static const char * const ts_symbol_names[] = { [sym_insert_expression] = "insert_expression", [sym_delete_expression] = "delete_expression", [sym_error_propagation] = "error_propagation", - [sym_postfix_expression] = "postfix_expression", + [sym__postfix_expression] = "_postfix_expression", [sym_object_selector] = "object_selector", [sym_variadic_expression] = "variadic_expression", - [sym_builtin_expression] = "builtin_expression", [sym_unary_expression] = "unary_expression", - [sym_cast_expression] = "cast_expression", - [sym_multiplicative_expression] = "multiplicative_expression", - [sym_additive_expression] = "additive_expression", - [sym_shift_expression] = "shift_expression", - [sym_and_expression] = "and_expression", - [sym_exclusive_or_expression] = "exclusive_or_expression", - [sym_inclusive_or_expression] = "inclusive_or_expression", - [sym_comparison_expression] = "comparison_expression", - [sym_equality_expression] = "equality_expression", - [sym_logical_and_expression] = "logical_and_expression", - [sym_logical_xor_expression] = "logical_xor_expression", - [sym_logical_or_expression] = "logical_or_expression", [sym_if_expression] = "if_expression", [sym_conditional_branch] = "conditional_branch", [sym_for_loop] = "for_loop", @@ -537,7 +479,7 @@ static const char * const ts_symbol_names[] = { [sym_label] = "label", [sym_control_statement] = "control_statement", [sym_yield_expression] = "yield_expression", - [sym_expression] = "expression", + [sym__expression] = "_expression", [sym_identifier] = "identifier", [aux_sym_member_list_repeat1] = "member_list_repeat1", [aux_sym__constant_bindings_repeat1] = "_constant_bindings_repeat1", @@ -653,22 +595,6 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_vaend] = anon_sym_vaend, [anon_sym_TILDE] = anon_sym_TILDE, [anon_sym_AMP] = anon_sym_AMP, - [anon_sym_as] = anon_sym_as, - [anon_sym_is] = anon_sym_is, - [anon_sym_SLASH] = anon_sym_SLASH, - [anon_sym_PERCENT] = anon_sym_PERCENT, - [anon_sym_LT_LT] = anon_sym_LT_LT, - [anon_sym_GT_GT] = anon_sym_GT_GT, - [anon_sym_CARET] = anon_sym_CARET, - [anon_sym_LT] = anon_sym_LT, - [anon_sym_GT] = anon_sym_GT, - [anon_sym_LT_EQ] = anon_sym_LT_EQ, - [anon_sym_GT_EQ] = anon_sym_GT_EQ, - [anon_sym_EQ_EQ] = anon_sym_EQ_EQ, - [anon_sym_BANG_EQ] = anon_sym_BANG_EQ, - [anon_sym_AMP_AMP] = anon_sym_AMP_AMP, - [anon_sym_CARET_CARET] = anon_sym_CARET_CARET, - [anon_sym_PIPE_PIPE] = anon_sym_PIPE_PIPE, [anon_sym_if] = anon_sym_if, [anon_sym_else] = anon_sym_else, [anon_sym_for] = anon_sym_for, @@ -715,9 +641,9 @@ static const TSSymbol ts_symbol_map[] = { [sym_function_declaration] = sym_function_declaration, [sym_fndec_attr] = sym_fndec_attr, [sym_fntype_attr] = sym_fntype_attr, - [sym_type] = sym_type, - [sym_storage_class] = sym_storage_class, - [sym_scalar_type] = sym_scalar_type, + [sym__type] = sym__type, + [sym__storage_class] = sym__storage_class, + [sym__scalar_type] = sym__scalar_type, [sym_integer_type] = sym_integer_type, [sym_floating_type] = sym_floating_type, [sym_enum_type] = sym_enum_type, @@ -740,7 +666,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_parameter] = sym_parameter, [sym_alias_type] = sym_alias_type, [sym_unwrapped_alias] = sym_unwrapped_alias, - [sym_constant] = sym_constant, + [sym__constant] = sym__constant, [sym_integer_constant] = sym_integer_constant, [sym_floating_constant] = sym_floating_constant, [sym_rune_constant] = sym_rune_constant, @@ -751,8 +677,8 @@ static const TSSymbol ts_symbol_map[] = { [sym_struct_initializer] = sym_struct_initializer, [sym_field_values] = sym_field_values, [sym_field_value] = sym_field_value, - [sym_plain_expression] = sym_plain_expression, - [sym_nested_expression] = sym_nested_expression, + [sym__plain_expression] = sym__plain_expression, + [sym__nested_expression] = sym__nested_expression, [sym_tuple_items] = sym_tuple_items, [sym_allocation_expression] = sym_allocation_expression, [sym_assertion_expression] = sym_assertion_expression, @@ -770,23 +696,10 @@ static const TSSymbol ts_symbol_map[] = { [sym_insert_expression] = sym_insert_expression, [sym_delete_expression] = sym_delete_expression, [sym_error_propagation] = sym_error_propagation, - [sym_postfix_expression] = sym_postfix_expression, + [sym__postfix_expression] = sym__postfix_expression, [sym_object_selector] = sym_object_selector, [sym_variadic_expression] = sym_variadic_expression, - [sym_builtin_expression] = sym_builtin_expression, [sym_unary_expression] = sym_unary_expression, - [sym_cast_expression] = sym_cast_expression, - [sym_multiplicative_expression] = sym_multiplicative_expression, - [sym_additive_expression] = sym_additive_expression, - [sym_shift_expression] = sym_shift_expression, - [sym_and_expression] = sym_and_expression, - [sym_exclusive_or_expression] = sym_exclusive_or_expression, - [sym_inclusive_or_expression] = sym_inclusive_or_expression, - [sym_comparison_expression] = sym_comparison_expression, - [sym_equality_expression] = sym_equality_expression, - [sym_logical_and_expression] = sym_logical_and_expression, - [sym_logical_xor_expression] = sym_logical_xor_expression, - [sym_logical_or_expression] = sym_logical_or_expression, [sym_if_expression] = sym_if_expression, [sym_conditional_branch] = sym_conditional_branch, [sym_for_loop] = sym_for_loop, @@ -810,7 +723,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_label] = sym_label, [sym_control_statement] = sym_control_statement, [sym_yield_expression] = sym_yield_expression, - [sym_expression] = sym_expression, + [sym__expression] = sym__expression, [sym_identifier] = sym_identifier, [aux_sym_member_list_repeat1] = aux_sym_member_list_repeat1, [aux_sym__constant_bindings_repeat1] = aux_sym__constant_bindings_repeat1, @@ -1199,70 +1112,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_as] = { - .visible = true, - .named = false, - }, - [anon_sym_is] = { - .visible = true, - .named = false, - }, - [anon_sym_SLASH] = { - .visible = true, - .named = false, - }, - [anon_sym_PERCENT] = { - .visible = true, - .named = false, - }, - [anon_sym_LT_LT] = { - .visible = true, - .named = false, - }, - [anon_sym_GT_GT] = { - .visible = true, - .named = false, - }, - [anon_sym_CARET] = { - .visible = true, - .named = false, - }, - [anon_sym_LT] = { - .visible = true, - .named = false, - }, - [anon_sym_GT] = { - .visible = true, - .named = false, - }, - [anon_sym_LT_EQ] = { - .visible = true, - .named = false, - }, - [anon_sym_GT_EQ] = { - .visible = true, - .named = false, - }, - [anon_sym_EQ_EQ] = { - .visible = true, - .named = false, - }, - [anon_sym_BANG_EQ] = { - .visible = true, - .named = false, - }, - [anon_sym_AMP_AMP] = { - .visible = true, - .named = false, - }, - [anon_sym_CARET_CARET] = { - .visible = true, - .named = false, - }, - [anon_sym_PIPE_PIPE] = { - .visible = true, - .named = false, - }, [anon_sym_if] = { .visible = true, .named = false, @@ -1447,16 +1296,16 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_type] = { - .visible = true, + [sym__type] = { + .visible = false, .named = true, }, - [sym_storage_class] = { - .visible = true, + [sym__storage_class] = { + .visible = false, .named = true, }, - [sym_scalar_type] = { - .visible = true, + [sym__scalar_type] = { + .visible = false, .named = true, }, [sym_integer_type] = { @@ -1547,8 +1396,8 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_constant] = { - .visible = true, + [sym__constant] = { + .visible = false, .named = true, }, [sym_integer_constant] = { @@ -1591,12 +1440,12 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_plain_expression] = { - .visible = true, + [sym__plain_expression] = { + .visible = false, .named = true, }, - [sym_nested_expression] = { - .visible = true, + [sym__nested_expression] = { + .visible = false, .named = true, }, [sym_tuple_items] = { @@ -1667,8 +1516,8 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_postfix_expression] = { - .visible = true, + [sym__postfix_expression] = { + .visible = false, .named = true, }, [sym_object_selector] = { @@ -1679,62 +1528,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_builtin_expression] = { - .visible = true, - .named = true, - }, [sym_unary_expression] = { .visible = true, .named = true, }, - [sym_cast_expression] = { - .visible = true, - .named = true, - }, - [sym_multiplicative_expression] = { - .visible = true, - .named = true, - }, - [sym_additive_expression] = { - .visible = true, - .named = true, - }, - [sym_shift_expression] = { - .visible = true, - .named = true, - }, - [sym_and_expression] = { - .visible = true, - .named = true, - }, - [sym_exclusive_or_expression] = { - .visible = true, - .named = true, - }, - [sym_inclusive_or_expression] = { - .visible = true, - .named = true, - }, - [sym_comparison_expression] = { - .visible = true, - .named = true, - }, - [sym_equality_expression] = { - .visible = true, - .named = true, - }, - [sym_logical_and_expression] = { - .visible = true, - .named = true, - }, - [sym_logical_xor_expression] = { - .visible = true, - .named = true, - }, - [sym_logical_or_expression] = { - .visible = true, - .named = true, - }, [sym_if_expression] = { .visible = true, .named = true, @@ -1827,8 +1624,8 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_expression] = { - .visible = true, + [sym__expression] = { + .visible = false, .named = true, }, [sym_identifier] = { @@ -1918,54 +1715,99 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { }; enum { - field_as_cast = 1, - field_is_cast = 2, + field_alias = 1, + field_members = 2, field_name = 3, - field_selector = 4, - field_type = 5, - field_type_cast = 6, + field_path = 4, + field_selector = 5, + field_type = 6, + field_value = 7, }; static const char * const ts_field_names[] = { [0] = NULL, - [field_as_cast] = "as_cast", - [field_is_cast] = "is_cast", + [field_alias] = "alias", + [field_members] = "members", [field_name] = "name", + [field_path] = "path", [field_selector] = "selector", [field_type] = "type", - [field_type_cast] = "type_cast", + [field_value] = "value", }; static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { - [1] = {.index = 0, .length = 2}, - [2] = {.index = 2, .length = 2}, - [3] = {.index = 4, .length = 1}, - [4] = {.index = 5, .length = 3}, - [5] = {.index = 8, .length = 3}, - [6] = {.index = 11, .length = 3}, + [1] = {.index = 0, .length = 3}, + [2] = {.index = 3, .length = 3}, + [3] = {.index = 6, .length = 1}, + [4] = {.index = 7, .length = 6}, + [5] = {.index = 13, .length = 2}, + [6] = {.index = 15, .length = 6}, + [7] = {.index = 21, .length = 2}, + [8] = {.index = 23, .length = 2}, + [9] = {.index = 25, .length = 2}, + [10] = {.index = 27, .length = 2}, + [11] = {.index = 29, .length = 3}, + [12] = {.index = 32, .length = 2}, + [13] = {.index = 34, .length = 3}, + [14] = {.index = 37, .length = 1}, + [15] = {.index = 38, .length = 1}, }; static const TSFieldMapEntry ts_field_map_entries[] = { [0] = + {field_name, 1, .inherited = true}, + {field_type, 1, .inherited = true}, + {field_value, 1, .inherited = true}, + [3] = + {field_name, 0, .inherited = true}, + {field_type, 0, .inherited = true}, + {field_value, 0, .inherited = true}, + [6] = + {field_path, 1}, + [7] = + {field_name, 0, .inherited = true}, + {field_name, 1, .inherited = true}, + {field_type, 0, .inherited = true}, + {field_type, 1, .inherited = true}, + {field_value, 0, .inherited = true}, + {field_value, 1, .inherited = true}, + [13] = {field_name, 1}, {field_type, 2}, - [2] = + [15] = + {field_name, 0, .inherited = true}, + {field_name, 2, .inherited = true}, + {field_type, 0, .inherited = true}, + {field_type, 2, .inherited = true}, + {field_value, 0, .inherited = true}, + {field_value, 2, .inherited = true}, + [21] = + {field_name, 0}, + {field_type, 2}, + [23] = {field_name, 2}, {field_type, 3}, - [4] = + [25] = + {field_alias, 1}, + {field_path, 3}, + [27] = + {field_name, 1}, + {field_type, 3}, + [29] = + {field_name, 0}, + {field_type, 2}, + {field_value, 4}, + [32] = + {field_members, 4}, + {field_path, 1}, + [34] = + {field_name, 1}, + {field_type, 3}, + {field_value, 5}, + [37] = {field_selector, 2}, - [5] = - {field_type_cast, 0}, - {field_type_cast, 1}, - {field_type_cast, 2}, - [8] = - {field_as_cast, 0}, - {field_as_cast, 1}, - {field_as_cast, 2}, - [11] = - {field_is_cast, 0}, - {field_is_cast, 1}, - {field_is_cast, 2}, + [38] = + {field_alias, 1}, }; static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { @@ -1980,58 +1822,58 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [0] = 0, [1] = 1, [2] = 2, - [3] = 3, + [3] = 2, [4] = 2, - [5] = 5, + [5] = 2, [6] = 6, - [7] = 6, - [8] = 2, - [9] = 2, + [7] = 7, + [8] = 8, + [9] = 9, [10] = 10, - [11] = 10, + [11] = 11, [12] = 12, - [13] = 13, - [14] = 14, - [15] = 14, - [16] = 14, - [17] = 14, - [18] = 18, - [19] = 19, + [13] = 12, + [14] = 12, + [15] = 12, + [16] = 16, + [17] = 17, + [18] = 16, + [19] = 16, [20] = 20, [21] = 21, - [22] = 19, - [23] = 21, - [24] = 20, + [22] = 22, + [23] = 16, + [24] = 24, [25] = 25, - [26] = 20, - [27] = 19, - [28] = 21, - [29] = 21, - [30] = 18, + [26] = 26, + [27] = 27, + [28] = 28, + [29] = 29, + [30] = 30, [31] = 31, [32] = 32, [33] = 33, - [34] = 32, - [35] = 33, + [34] = 34, + [35] = 35, [36] = 36, [37] = 37, - [38] = 32, - [39] = 33, + [38] = 38, + [39] = 39, [40] = 40, - [41] = 33, + [41] = 41, [42] = 42, [43] = 43, - [44] = 36, - [45] = 36, + [44] = 44, + [45] = 45, [46] = 46, - [47] = 40, - [48] = 40, + [47] = 47, + [48] = 48, [49] = 49, [50] = 50, [51] = 51, [52] = 52, [53] = 53, - [54] = 54, + [54] = 36, [55] = 55, [56] = 56, [57] = 57, @@ -2041,74 +1883,74 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [61] = 61, [62] = 62, [63] = 63, - [64] = 64, - [65] = 65, + [64] = 39, + [65] = 49, [66] = 66, [67] = 67, [68] = 68, - [69] = 60, - [70] = 67, - [71] = 71, + [69] = 36, + [70] = 70, + [71] = 51, [72] = 72, [73] = 73, - [74] = 74, + [74] = 46, [75] = 75, - [76] = 54, - [77] = 77, + [76] = 46, + [77] = 59, [78] = 78, - [79] = 79, - [80] = 80, + [79] = 70, + [80] = 56, [81] = 81, - [82] = 56, - [83] = 83, - [84] = 84, - [85] = 85, - [86] = 62, + [82] = 51, + [83] = 63, + [84] = 59, + [85] = 42, + [86] = 86, [87] = 87, [88] = 63, - [89] = 89, - [90] = 90, - [91] = 73, - [92] = 89, - [93] = 87, - [94] = 94, - [95] = 95, - [96] = 96, - [97] = 83, - [98] = 80, - [99] = 64, - [100] = 85, - [101] = 84, - [102] = 66, - [103] = 89, - [104] = 83, + [89] = 39, + [90] = 49, + [91] = 70, + [92] = 46, + [93] = 56, + [94] = 36, + [95] = 70, + [96] = 57, + [97] = 97, + [98] = 98, + [99] = 99, + [100] = 56, + [101] = 51, + [102] = 102, + [103] = 59, + [104] = 104, [105] = 105, - [106] = 80, - [107] = 90, - [108] = 64, - [109] = 85, - [110] = 74, - [111] = 84, - [112] = 65, - [113] = 66, - [114] = 89, + [106] = 106, + [107] = 63, + [108] = 108, + [109] = 49, + [110] = 110, + [111] = 39, + [112] = 112, + [113] = 113, + [114] = 114, [115] = 115, - [116] = 66, + [116] = 116, [117] = 117, - [118] = 83, - [119] = 80, - [120] = 64, + [118] = 118, + [119] = 119, + [120] = 120, [121] = 121, - [122] = 75, - [123] = 85, + [122] = 122, + [123] = 123, [124] = 124, - [125] = 78, + [125] = 125, [126] = 126, - [127] = 58, - [128] = 84, + [127] = 127, + [128] = 128, [129] = 129, - [130] = 57, - [131] = 95, + [130] = 130, + [131] = 131, [132] = 132, [133] = 133, [134] = 134, @@ -2119,15 +1961,15 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [139] = 139, [140] = 140, [141] = 141, - [142] = 141, + [142] = 142, [143] = 143, [144] = 144, [145] = 145, - [146] = 145, + [146] = 146, [147] = 147, - [148] = 145, - [149] = 145, - [150] = 147, + [148] = 148, + [149] = 149, + [150] = 150, [151] = 151, [152] = 152, [153] = 153, @@ -2205,117 +2047,117 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [225] = 225, [226] = 226, [227] = 227, - [228] = 224, + [228] = 228, [229] = 229, [230] = 230, [231] = 231, - [232] = 226, + [232] = 232, [233] = 233, - [234] = 211, - [235] = 213, - [236] = 218, + [234] = 234, + [235] = 235, + [236] = 236, [237] = 237, - [238] = 214, + [238] = 238, [239] = 239, [240] = 240, - [241] = 216, + [241] = 241, [242] = 242, [243] = 243, [244] = 244, [245] = 245, [246] = 246, - [247] = 247, - [248] = 248, + [247] = 245, + [248] = 220, [249] = 249, - [250] = 250, - [251] = 251, - [252] = 252, - [253] = 253, - [254] = 254, - [255] = 255, - [256] = 256, - [257] = 257, - [258] = 258, - [259] = 259, - [260] = 260, - [261] = 261, - [262] = 262, - [263] = 263, - [264] = 264, + [250] = 235, + [251] = 249, + [252] = 236, + [253] = 237, + [254] = 240, + [255] = 246, + [256] = 241, + [257] = 220, + [258] = 242, + [259] = 243, + [260] = 234, + [261] = 242, + [262] = 240, + [263] = 242, + [264] = 241, [265] = 265, - [266] = 266, - [267] = 267, - [268] = 268, - [269] = 269, - [270] = 270, - [271] = 271, - [272] = 272, - [273] = 273, - [274] = 274, - [275] = 275, - [276] = 275, - [277] = 277, - [278] = 274, - [279] = 279, - [280] = 155, - [281] = 281, - [282] = 152, - [283] = 151, - [284] = 279, - [285] = 153, - [286] = 275, - [287] = 281, - [288] = 154, - [289] = 275, - [290] = 156, - [291] = 163, - [292] = 159, - [293] = 160, - [294] = 161, - [295] = 164, - [296] = 157, - [297] = 162, - [298] = 158, - [299] = 166, - [300] = 165, - [301] = 167, - [302] = 168, - [303] = 195, - [304] = 170, - [305] = 188, - [306] = 199, - [307] = 177, - [308] = 198, - [309] = 175, - [310] = 174, - [311] = 176, - [312] = 201, - [313] = 186, - [314] = 178, - [315] = 185, - [316] = 180, - [317] = 181, - [318] = 183, - [319] = 193, - [320] = 200, - [321] = 187, - [322] = 184, - [323] = 191, - [324] = 182, - [325] = 189, - [326] = 175, - [327] = 197, - [328] = 173, - [329] = 192, - [330] = 194, - [331] = 172, - [332] = 196, - [333] = 171, - [334] = 179, + [266] = 249, + [267] = 265, + [268] = 237, + [269] = 234, + [270] = 243, + [271] = 246, + [272] = 265, + [273] = 235, + [274] = 236, + [275] = 220, + [276] = 246, + [277] = 241, + [278] = 237, + [279] = 236, + [280] = 265, + [281] = 249, + [282] = 234, + [283] = 235, + [284] = 240, + [285] = 243, + [286] = 286, + [287] = 287, + [288] = 288, + [289] = 289, + [290] = 290, + [291] = 291, + [292] = 292, + [293] = 293, + [294] = 294, + [295] = 295, + [296] = 296, + [297] = 297, + [298] = 298, + [299] = 299, + [300] = 300, + [301] = 301, + [302] = 302, + [303] = 303, + [304] = 304, + [305] = 305, + [306] = 306, + [307] = 307, + [308] = 308, + [309] = 309, + [310] = 310, + [311] = 311, + [312] = 312, + [313] = 313, + [314] = 314, + [315] = 315, + [316] = 316, + [317] = 317, + [318] = 318, + [319] = 319, + [320] = 320, + [321] = 321, + [322] = 322, + [323] = 323, + [324] = 324, + [325] = 325, + [326] = 326, + [327] = 327, + [328] = 328, + [329] = 329, + [330] = 318, + [331] = 331, + [332] = 332, + [333] = 333, + [334] = 334, [335] = 335, - [336] = 335, - [337] = 335, - [338] = 335, + [336] = 336, + [337] = 337, + [338] = 338, [339] = 339, [340] = 340, [341] = 341, @@ -2337,59 +2179,59 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [357] = 357, [358] = 358, [359] = 359, - [360] = 265, + [360] = 360, [361] = 361, - [362] = 266, - [363] = 248, + [362] = 362, + [363] = 363, [364] = 364, - [365] = 243, - [366] = 258, + [365] = 365, + [366] = 366, [367] = 367, [368] = 368, - [369] = 364, - [370] = 272, - [371] = 269, - [372] = 244, - [373] = 252, - [374] = 261, - [375] = 255, - [376] = 262, - [377] = 361, - [378] = 247, - [379] = 251, + [369] = 369, + [370] = 370, + [371] = 371, + [372] = 372, + [373] = 373, + [374] = 374, + [375] = 375, + [376] = 376, + [377] = 377, + [378] = 378, + [379] = 379, [380] = 380, - [381] = 245, - [382] = 256, - [383] = 270, - [384] = 267, - [385] = 264, - [386] = 268, - [387] = 257, - [388] = 260, - [389] = 250, - [390] = 263, - [391] = 249, - [392] = 273, - [393] = 271, - [394] = 259, + [381] = 381, + [382] = 382, + [383] = 383, + [384] = 384, + [385] = 385, + [386] = 386, + [387] = 387, + [388] = 388, + [389] = 389, + [390] = 390, + [391] = 391, + [392] = 392, + [393] = 393, + [394] = 394, [395] = 395, [396] = 396, [397] = 397, [398] = 398, - [399] = 253, - [400] = 254, - [401] = 246, - [402] = 380, + [399] = 399, + [400] = 400, + [401] = 401, + [402] = 402, [403] = 403, [404] = 404, [405] = 405, [406] = 406, - [407] = 403, - [408] = 404, - [409] = 405, + [407] = 407, + [408] = 408, + [409] = 409, [410] = 410, - [411] = 406, - [412] = 410, + [411] = 411, + [412] = 412, [413] = 413, [414] = 414, [415] = 415, @@ -2413,33 +2255,33 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [433] = 433, [434] = 434, [435] = 435, - [436] = 435, + [436] = 436, [437] = 437, - [438] = 435, - [439] = 435, + [438] = 438, + [439] = 439, [440] = 440, [441] = 441, [442] = 442, [443] = 443, [444] = 444, - [445] = 445, + [445] = 158, [446] = 446, [447] = 447, - [448] = 151, + [448] = 448, [449] = 449, [450] = 450, - [451] = 153, - [452] = 152, - [453] = 154, - [454] = 155, + [451] = 451, + [452] = 452, + [453] = 453, + [454] = 454, [455] = 455, - [456] = 156, + [456] = 456, [457] = 457, [458] = 458, [459] = 459, [460] = 460, - [461] = 161, - [462] = 163, + [461] = 461, + [462] = 462, [463] = 463, [464] = 464, [465] = 465, @@ -2447,134 +2289,134 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [467] = 467, [468] = 468, [469] = 469, - [470] = 165, + [470] = 470, [471] = 471, [472] = 472, [473] = 473, [474] = 474, - [475] = 166, + [475] = 475, [476] = 476, - [477] = 167, - [478] = 162, + [477] = 477, + [478] = 478, [479] = 479, - [480] = 157, - [481] = 164, + [480] = 480, + [481] = 481, [482] = 482, - [483] = 160, + [483] = 483, [484] = 484, - [485] = 158, + [485] = 485, [486] = 486, - [487] = 159, - [488] = 463, - [489] = 463, + [487] = 487, + [488] = 488, + [489] = 489, [490] = 490, - [491] = 168, - [492] = 492, + [491] = 491, + [492] = 157, [493] = 493, - [494] = 169, - [495] = 493, - [496] = 463, + [494] = 494, + [495] = 495, + [496] = 496, [497] = 497, - [498] = 493, - [499] = 492, + [498] = 498, + [499] = 499, [500] = 500, - [501] = 500, - [502] = 500, + [501] = 501, + [502] = 502, [503] = 503, - [504] = 493, - [505] = 497, - [506] = 492, + [504] = 504, + [505] = 505, + [506] = 506, [507] = 507, - [508] = 497, - [509] = 190, + [508] = 508, + [509] = 509, [510] = 510, - [511] = 187, - [512] = 198, + [511] = 511, + [512] = 512, [513] = 513, - [514] = 173, + [514] = 514, [515] = 515, [516] = 516, [517] = 517, [518] = 518, - [519] = 519, + [519] = 508, [520] = 520, [521] = 521, [522] = 522, [523] = 523, - [524] = 170, + [524] = 524, [525] = 525, - [526] = 525, + [526] = 526, [527] = 527, - [528] = 518, + [528] = 528, [529] = 529, - [530] = 188, - [531] = 527, - [532] = 519, - [533] = 199, - [534] = 195, - [535] = 522, + [530] = 530, + [531] = 531, + [532] = 532, + [533] = 533, + [534] = 534, + [535] = 535, [536] = 536, - [537] = 522, + [537] = 537, [538] = 538, - [539] = 539, - [540] = 538, - [541] = 525, + [539] = 508, + [540] = 540, + [541] = 541, [542] = 542, - [543] = 539, - [544] = 193, + [543] = 543, + [544] = 544, [545] = 545, - [546] = 546, - [547] = 171, - [548] = 189, + [546] = 508, + [547] = 547, + [548] = 548, [549] = 549, [550] = 550, [551] = 551, - [552] = 183, - [553] = 177, - [554] = 180, - [555] = 179, - [556] = 182, + [552] = 552, + [553] = 553, + [554] = 554, + [555] = 555, + [556] = 556, [557] = 557, [558] = 558, [559] = 559, [560] = 560, - [561] = 184, + [561] = 561, [562] = 562, [563] = 563, - [564] = 201, - [565] = 194, - [566] = 174, - [567] = 559, + [564] = 564, + [565] = 565, + [566] = 566, + [567] = 567, [568] = 568, - [569] = 185, - [570] = 558, - [571] = 181, - [572] = 551, - [573] = 186, - [574] = 176, - [575] = 172, - [576] = 560, - [577] = 545, + [569] = 569, + [570] = 570, + [571] = 571, + [572] = 572, + [573] = 573, + [574] = 574, + [575] = 575, + [576] = 576, + [577] = 577, [578] = 578, - [579] = 192, - [580] = 568, - [581] = 200, - [582] = 563, - [583] = 191, - [584] = 178, - [585] = 197, - [586] = 560, + [579] = 579, + [580] = 580, + [581] = 581, + [582] = 582, + [583] = 583, + [584] = 584, + [585] = 585, + [586] = 586, [587] = 587, [588] = 588, - [589] = 551, - [590] = 562, - [591] = 562, - [592] = 563, - [593] = 196, - [594] = 549, - [595] = 559, - [596] = 545, - [597] = 558, + [589] = 589, + [590] = 590, + [591] = 591, + [592] = 592, + [593] = 593, + [594] = 594, + [595] = 595, + [596] = 596, + [597] = 597, [598] = 598, [599] = 599, [600] = 600, @@ -2587,11 +2429,11 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [607] = 607, [608] = 608, [609] = 609, - [610] = 606, + [610] = 610, [611] = 611, [612] = 612, - [613] = 609, - [614] = 611, + [613] = 613, + [614] = 614, [615] = 615, [616] = 616, [617] = 617, @@ -2600,12 +2442,12 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [620] = 620, [621] = 621, [622] = 622, - [623] = 608, + [623] = 623, [624] = 624, [625] = 625, - [626] = 608, - [627] = 615, - [628] = 615, + [626] = 626, + [627] = 627, + [628] = 628, [629] = 629, [630] = 630, [631] = 631, @@ -2614,7 +2456,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [634] = 634, [635] = 635, [636] = 636, - [637] = 166, + [637] = 637, [638] = 638, [639] = 639, [640] = 640, @@ -2622,23 +2464,23 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [642] = 642, [643] = 643, [644] = 644, - [645] = 633, + [645] = 645, [646] = 646, [647] = 647, [648] = 648, [649] = 649, - [650] = 167, + [650] = 650, [651] = 651, [652] = 652, [653] = 653, [654] = 654, - [655] = 642, + [655] = 655, [656] = 656, - [657] = 657, - [658] = 658, + [657] = 634, + [658] = 623, [659] = 659, [660] = 660, - [661] = 660, + [661] = 661, [662] = 662, [663] = 663, [664] = 664, @@ -2646,386 +2488,31 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [666] = 666, [667] = 667, [668] = 668, - [669] = 646, - [670] = 670, - [671] = 671, + [669] = 669, + [670] = 634, + [671] = 623, [672] = 672, [673] = 673, [674] = 674, [675] = 675, [676] = 676, - [677] = 677, - [678] = 678, + [677] = 634, + [678] = 623, [679] = 679, - [680] = 680, - [681] = 648, + [680] = 605, + [681] = 681, [682] = 682, - [683] = 660, + [683] = 605, [684] = 684, - [685] = 652, - [686] = 646, - [687] = 667, - [688] = 688, + [685] = 605, + [686] = 686, + [687] = 687, + [688] = 584, [689] = 689, [690] = 690, - [691] = 690, + [691] = 584, [692] = 692, - [693] = 647, - [694] = 694, - [695] = 633, - [696] = 696, - [697] = 664, - [698] = 643, - [699] = 699, - [700] = 643, - [701] = 701, - [702] = 702, - [703] = 703, - [704] = 704, - [705] = 704, - [706] = 652, - [707] = 707, - [708] = 688, - [709] = 709, - [710] = 710, - [711] = 667, - [712] = 712, - [713] = 713, - [714] = 714, - [715] = 715, - [716] = 716, - [717] = 717, - [718] = 718, - [719] = 719, - [720] = 720, - [721] = 721, - [722] = 648, - [723] = 723, - [724] = 724, - [725] = 725, - [726] = 726, - [727] = 727, - [728] = 728, - [729] = 729, - [730] = 730, - [731] = 731, - [732] = 732, - [733] = 733, - [734] = 734, - [735] = 735, - [736] = 736, - [737] = 737, - [738] = 738, - [739] = 739, - [740] = 740, - [741] = 741, - [742] = 739, - [743] = 743, - [744] = 744, - [745] = 745, - [746] = 739, - [747] = 747, - [748] = 748, - [749] = 749, - [750] = 750, - [751] = 751, - [752] = 752, - [753] = 753, - [754] = 754, - [755] = 755, - [756] = 756, - [757] = 757, - [758] = 758, - [759] = 759, - [760] = 760, - [761] = 761, - [762] = 762, - [763] = 763, - [764] = 764, - [765] = 765, - [766] = 766, - [767] = 767, - [768] = 768, - [769] = 769, - [770] = 770, - [771] = 771, - [772] = 772, - [773] = 773, - [774] = 774, - [775] = 769, - [776] = 776, - [777] = 777, - [778] = 778, - [779] = 779, - [780] = 780, - [781] = 781, - [782] = 782, - [783] = 783, - [784] = 784, - [785] = 785, - [786] = 757, - [787] = 757, - [788] = 788, - [789] = 789, - [790] = 790, - [791] = 791, - [792] = 792, - [793] = 793, - [794] = 794, - [795] = 795, - [796] = 790, - [797] = 797, - [798] = 766, - [799] = 768, - [800] = 800, - [801] = 757, - [802] = 802, - [803] = 803, - [804] = 804, - [805] = 736, - [806] = 806, - [807] = 807, - [808] = 808, - [809] = 739, - [810] = 810, - [811] = 811, - [812] = 804, - [813] = 735, - [814] = 814, - [815] = 815, - [816] = 816, - [817] = 817, - [818] = 818, - [819] = 819, - [820] = 820, - [821] = 821, - [822] = 822, - [823] = 823, - [824] = 824, - [825] = 825, - [826] = 826, - [827] = 827, - [828] = 828, - [829] = 829, - [830] = 830, - [831] = 831, - [832] = 832, - [833] = 833, - [834] = 834, - [835] = 835, - [836] = 836, - [837] = 828, - [838] = 833, - [839] = 839, - [840] = 840, - [841] = 841, - [842] = 842, - [843] = 840, - [844] = 844, - [845] = 845, - [846] = 846, - [847] = 847, - [848] = 848, - [849] = 849, - [850] = 841, - [851] = 851, - [852] = 852, - [853] = 853, - [854] = 854, - [855] = 855, - [856] = 856, - [857] = 857, - [858] = 858, - [859] = 859, - [860] = 860, - [861] = 844, - [862] = 862, - [863] = 863, - [864] = 864, - [865] = 865, - [866] = 852, - [867] = 867, - [868] = 868, - [869] = 869, - [870] = 870, - [871] = 871, - [872] = 872, - [873] = 873, - [874] = 874, - [875] = 871, - [876] = 868, - [877] = 851, - [878] = 849, - [879] = 842, - [880] = 819, - [881] = 881, - [882] = 882, - [883] = 883, - [884] = 874, - [885] = 881, - [886] = 873, - [887] = 887, - [888] = 823, - [889] = 889, - [890] = 825, - [891] = 826, - [892] = 827, - [893] = 835, - [894] = 829, - [895] = 834, - [896] = 896, - [897] = 816, - [898] = 835, - [899] = 870, - [900] = 828, - [901] = 901, - [902] = 902, - [903] = 847, - [904] = 847, - [905] = 905, - [906] = 867, - [907] = 907, - [908] = 848, - [909] = 909, - [910] = 910, - [911] = 856, - [912] = 912, - [913] = 858, - [914] = 914, - [915] = 915, - [916] = 916, - [917] = 852, - [918] = 867, - [919] = 919, - [920] = 920, - [921] = 851, - [922] = 922, - [923] = 923, - [924] = 924, - [925] = 925, - [926] = 926, - [927] = 927, - [928] = 815, - [929] = 929, - [930] = 929, - [931] = 818, - [932] = 932, - [933] = 831, - [934] = 934, - [935] = 935, - [936] = 865, - [937] = 937, - [938] = 938, - [939] = 939, - [940] = 863, - [941] = 941, - [942] = 942, - [943] = 943, - [944] = 944, - [945] = 945, - [946] = 946, - [947] = 947, - [948] = 948, - [949] = 862, - [950] = 950, - [951] = 858, - [952] = 952, - [953] = 953, - [954] = 905, - [955] = 824, - [956] = 956, - [957] = 957, - [958] = 958, - [959] = 882, - [960] = 960, - [961] = 961, - [962] = 962, - [963] = 963, - [964] = 964, - [965] = 965, - [966] = 943, - [967] = 967, - [968] = 829, - [969] = 827, - [970] = 826, - [971] = 825, - [972] = 881, - [973] = 973, - [974] = 974, - [975] = 823, - [976] = 822, - [977] = 977, - [978] = 978, - [979] = 979, - [980] = 932, - [981] = 981, - [982] = 982, - [983] = 856, - [984] = 984, - [985] = 985, - [986] = 905, - [987] = 824, - [988] = 988, - [989] = 882, - [990] = 961, - [991] = 991, - [992] = 992, - [993] = 993, - [994] = 994, - [995] = 905, - [996] = 882, - [997] = 821, - [998] = 820, - [999] = 956, - [1000] = 907, - [1001] = 854, - [1002] = 924, - [1003] = 942, - [1004] = 945, - [1005] = 978, - [1006] = 982, - [1007] = 1007, - [1008] = 1008, - [1009] = 1009, - [1010] = 973, - [1011] = 967, - [1012] = 960, - [1013] = 1013, - [1014] = 896, - [1015] = 1008, - [1016] = 869, - [1017] = 993, - [1018] = 853, - [1019] = 991, - [1020] = 988, - [1021] = 820, - [1022] = 1022, - [1023] = 973, - [1024] = 1024, - [1025] = 1025, - [1026] = 973, - [1027] = 961, - [1028] = 1028, - [1029] = 985, - [1030] = 1030, - [1031] = 1031, - [1032] = 1032, - [1033] = 1033, - [1034] = 1034, - [1035] = 889, - [1036] = 948, - [1037] = 1037, - [1038] = 985, - [1039] = 1039, - [1040] = 985, - [1041] = 946, - [1042] = 977, - [1043] = 963, - [1044] = 962, - [1045] = 1045, - [1046] = 1046, - [1047] = 1007, - [1048] = 1009, + [693] = 584, }; static inline bool sym_escape_sequence_character_set_1(int32_t c) { @@ -3049,1116 +2536,979 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(104); - if (lookahead == '!') ADVANCE(124); - if (lookahead == '"') ADVANCE(158); - if (lookahead == '%') ADVANCE(175); - if (lookahead == '&') ADVANCE(170); - if (lookahead == '\'') ADVANCE(153); - if (lookahead == '(') ADVANCE(116); - if (lookahead == ')') ADVANCE(117); - if (lookahead == '*') ADVANCE(111); - if (lookahead == '+') ADVANCE(150); - if (lookahead == ',') ADVANCE(112); - if (lookahead == '-') ADVANCE(152); - if (lookahead == '.') ADVANCE(147); - if (lookahead == '/') ADVANCE(173); - if (lookahead == '0') ADVANCE(143); - if (lookahead == ':') ADVANCE(114); - if (lookahead == ';') ADVANCE(105); - if (lookahead == '<') ADVANCE(182); - if (lookahead == '=') ADVANCE(106); - if (lookahead == '>') ADVANCE(184); - if (lookahead == '?') ADVANCE(167); - if (lookahead == '@') ADVANCE(61); - if (lookahead == '[') ADVANCE(128); + if (eof) ADVANCE(111); + if (lookahead == '!') ADVANCE(131); + if (lookahead == '"') ADVANCE(163); + if (lookahead == '%') ADVANCE(46); + if (lookahead == '&') ADVANCE(175); + if (lookahead == '\'') ADVANCE(158); + if (lookahead == '(') ADVANCE(124); + if (lookahead == ')') ADVANCE(125); + if (lookahead == '*') ADVANCE(119); + if (lookahead == '+') ADVANCE(155); + if (lookahead == ',') ADVANCE(120); + if (lookahead == '-') ADVANCE(157); + if (lookahead == '.') ADVANCE(153); + if (lookahead == '/') ADVANCE(32); + if (lookahead == '0') ADVANCE(150); + if (lookahead == ':') ADVANCE(122); + if (lookahead == ';') ADVANCE(112); + if (lookahead == '<') ADVANCE(45); + if (lookahead == '=') ADVANCE(114); + if (lookahead == '>') ADVANCE(58); + if (lookahead == '?') ADVANCE(172); + if (lookahead == '@') ADVANCE(68); + if (lookahead == '[') ADVANCE(135); if (lookahead == '\\') ADVANCE(2); - if (lookahead == ']') ADVANCE(129); - if (lookahead == '^') ADVANCE(180); - if (lookahead == '{') ADVANCE(108); - if (lookahead == '|') ADVANCE(126); - if (lookahead == '}') ADVANCE(109); - if (lookahead == '~') ADVANCE(168); + if (lookahead == ']') ADVANCE(136); + if (lookahead == '^') ADVANCE(50); + if (lookahead == '{') ADVANCE(116); + if (lookahead == '|') ADVANCE(134); + if (lookahead == '}') ADVANCE(117); + if (lookahead == '~') ADVANCE(173); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(0) - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(144); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(151); if (('A' <= lookahead && lookahead <= '_') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(190); END_STATE(); case 1: - if (lookahead == '\n') SKIP(21) + if (lookahead == '\n') SKIP(17) END_STATE(); case 2: - if (lookahead == '\n') SKIP(21) + if (lookahead == '\n') SKIP(17) if (lookahead == '\r') SKIP(1) - if (sym_escape_sequence_character_set_1(lookahead)) ADVANCE(157); - if (lookahead == 'U') ADVANCE(102); - if (lookahead == 'u') ADVANCE(98); - if (lookahead == 'x') ADVANCE(96); + if (sym_escape_sequence_character_set_1(lookahead)) ADVANCE(162); + if (lookahead == 'U') ADVANCE(109); + if (lookahead == 'u') ADVANCE(105); + if (lookahead == 'x') ADVANCE(103); END_STATE(); case 3: - if (lookahead == '\n') SKIP(25) + if (lookahead == '\n') SKIP(18) END_STATE(); case 4: - if (lookahead == '\n') SKIP(25) + if (lookahead == '\n') SKIP(18) if (lookahead == '\r') SKIP(3) END_STATE(); case 5: - if (lookahead == '\n') SKIP(26) + if (lookahead == '\n') SKIP(19) END_STATE(); case 6: - if (lookahead == '\n') SKIP(26) + if (lookahead == '\n') SKIP(19) if (lookahead == '\r') SKIP(5) END_STATE(); case 7: - if (lookahead == '\n') SKIP(27) + if (lookahead == '\n') SKIP(20) END_STATE(); case 8: - if (lookahead == '\n') SKIP(27) + if (lookahead == '\n') SKIP(20) if (lookahead == '\r') SKIP(7) END_STATE(); case 9: - if (lookahead == '\n') SKIP(22) + if (lookahead == '\n') SKIP(21) END_STATE(); case 10: - if (lookahead == '\n') SKIP(22) + if (lookahead == '\n') SKIP(21) if (lookahead == '\r') SKIP(9) END_STATE(); case 11: - if (lookahead == '\n') SKIP(29) + if (lookahead == '\n') SKIP(23) END_STATE(); case 12: - if (lookahead == '\n') SKIP(29) + if (lookahead == '\n') SKIP(23) if (lookahead == '\r') SKIP(11) END_STATE(); case 13: - if (lookahead == '\n') SKIP(23) + if (lookahead == '\n') SKIP(27) END_STATE(); case 14: - if (lookahead == '\n') SKIP(23) + if (lookahead == '\n') SKIP(27) if (lookahead == '\r') SKIP(13) END_STATE(); case 15: - if (lookahead == '\n') SKIP(24) + if (lookahead == '\n') SKIP(22) END_STATE(); case 16: - if (lookahead == '\n') SKIP(24) + if (lookahead == '\n') SKIP(22) if (lookahead == '\r') SKIP(15) + if (sym_escape_sequence_character_set_1(lookahead)) ADVANCE(162); + if (lookahead == 'U') ADVANCE(109); + if (lookahead == 'u') ADVANCE(105); + if (lookahead == 'x') ADVANCE(103); END_STATE(); case 17: - if (lookahead == '\n') SKIP(28) + if (lookahead == '!') ADVANCE(131); + if (lookahead == '"') ADVANCE(163); + if (lookahead == '%') ADVANCE(46); + if (lookahead == '&') ADVANCE(175); + if (lookahead == '\'') ADVANCE(158); + if (lookahead == '(') ADVANCE(124); + if (lookahead == ')') ADVANCE(125); + if (lookahead == '*') ADVANCE(119); + if (lookahead == '+') ADVANCE(155); + if (lookahead == ',') ADVANCE(120); + if (lookahead == '-') ADVANCE(157); + if (lookahead == '.') ADVANCE(153); + if (lookahead == '/') ADVANCE(32); + if (lookahead == '0') ADVANCE(150); + if (lookahead == ':') ADVANCE(122); + if (lookahead == ';') ADVANCE(112); + if (lookahead == '<') ADVANCE(45); + if (lookahead == '=') ADVANCE(114); + if (lookahead == '>') ADVANCE(58); + if (lookahead == '?') ADVANCE(172); + if (lookahead == '@') ADVANCE(68); + if (lookahead == '[') ADVANCE(135); + if (lookahead == '\\') ADVANCE(2); + if (lookahead == ']') ADVANCE(136); + if (lookahead == '^') ADVANCE(50); + if (lookahead == '{') ADVANCE(116); + if (lookahead == '|') ADVANCE(134); + if (lookahead == '}') ADVANCE(117); + if (lookahead == '~') ADVANCE(173); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(17) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(151); + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(190); END_STATE(); case 18: - if (lookahead == '\n') SKIP(28) - if (lookahead == '\r') SKIP(17) + if (lookahead == '!') ADVANCE(131); + if (lookahead == '"') ADVANCE(163); + if (lookahead == '%') ADVANCE(46); + if (lookahead == '&') ADVANCE(175); + if (lookahead == '\'') ADVANCE(158); + if (lookahead == '(') ADVANCE(124); + if (lookahead == ')') ADVANCE(125); + if (lookahead == '*') ADVANCE(119); + if (lookahead == '+') ADVANCE(155); + if (lookahead == ',') ADVANCE(120); + if (lookahead == '-') ADVANCE(157); + if (lookahead == '.') ADVANCE(153); + if (lookahead == '/') ADVANCE(32); + if (lookahead == '0') ADVANCE(150); + if (lookahead == ':') ADVANCE(122); + if (lookahead == ';') ADVANCE(112); + if (lookahead == '<') ADVANCE(45); + if (lookahead == '=') ADVANCE(114); + if (lookahead == '>') ADVANCE(58); + if (lookahead == '?') ADVANCE(172); + if (lookahead == '[') ADVANCE(135); + if (lookahead == '\\') SKIP(4) + if (lookahead == ']') ADVANCE(136); + if (lookahead == '^') ADVANCE(50); + if (lookahead == '{') ADVANCE(116); + if (lookahead == '|') ADVANCE(51); + if (lookahead == '}') ADVANCE(117); + if (lookahead == '~') ADVANCE(173); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(18) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(151); + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(190); END_STATE(); case 19: - if (lookahead == '\n') SKIP(30) + if (lookahead == '!') ADVANCE(131); + if (lookahead == '"') ADVANCE(163); + if (lookahead == '%') ADVANCE(46); + if (lookahead == '&') ADVANCE(175); + if (lookahead == '\'') ADVANCE(158); + if (lookahead == '(') ADVANCE(124); + if (lookahead == ')') ADVANCE(125); + if (lookahead == '*') ADVANCE(119); + if (lookahead == '+') ADVANCE(155); + if (lookahead == ',') ADVANCE(120); + if (lookahead == '-') ADVANCE(157); + if (lookahead == '.') ADVANCE(30); + if (lookahead == '/') ADVANCE(32); + if (lookahead == '0') ADVANCE(150); + if (lookahead == ':') ADVANCE(121); + if (lookahead == ';') ADVANCE(112); + if (lookahead == '<') ADVANCE(45); + if (lookahead == '=') ADVANCE(114); + if (lookahead == '>') ADVANCE(58); + if (lookahead == '@') ADVANCE(78); + if (lookahead == '[') ADVANCE(135); + if (lookahead == '\\') SKIP(6) + if (lookahead == ']') ADVANCE(136); + if (lookahead == '^') ADVANCE(50); + if (lookahead == '{') ADVANCE(116); + if (lookahead == '|') ADVANCE(51); + if (lookahead == '}') ADVANCE(117); + if (lookahead == '~') ADVANCE(173); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(19) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(151); + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(190); END_STATE(); case 20: - if (lookahead == '\n') SKIP(30) - if (lookahead == '\r') SKIP(19) - if (sym_escape_sequence_character_set_1(lookahead)) ADVANCE(157); - if (lookahead == 'U') ADVANCE(102); - if (lookahead == 'u') ADVANCE(98); - if (lookahead == 'x') ADVANCE(96); + if (lookahead == '!') ADVANCE(131); + if (lookahead == '"') ADVANCE(163); + if (lookahead == '&') ADVANCE(174); + if (lookahead == '\'') ADVANCE(158); + if (lookahead == '(') ADVANCE(124); + if (lookahead == ')') ADVANCE(125); + if (lookahead == '*') ADVANCE(118); + if (lookahead == '+') ADVANCE(154); + if (lookahead == ',') ADVANCE(120); + if (lookahead == '-') ADVANCE(156); + if (lookahead == '.') ADVANCE(29); + if (lookahead == '/') ADVANCE(31); + if (lookahead == '0') ADVANCE(150); + if (lookahead == ':') ADVANCE(121); + if (lookahead == '=') ADVANCE(57); + if (lookahead == '[') ADVANCE(135); + if (lookahead == '\\') SKIP(8) + if (lookahead == ']') ADVANCE(136); + if (lookahead == '{') ADVANCE(116); + if (lookahead == '|') ADVANCE(133); + if (lookahead == '}') ADVANCE(117); + if (lookahead == '~') ADVANCE(173); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(20) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(151); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(190); END_STATE(); case 21: - if (lookahead == '!') ADVANCE(124); - if (lookahead == '"') ADVANCE(158); - if (lookahead == '%') ADVANCE(175); - if (lookahead == '&') ADVANCE(170); - if (lookahead == '\'') ADVANCE(153); - if (lookahead == '(') ADVANCE(116); - if (lookahead == ')') ADVANCE(117); - if (lookahead == '*') ADVANCE(111); - if (lookahead == '+') ADVANCE(150); - if (lookahead == ',') ADVANCE(112); - if (lookahead == '-') ADVANCE(152); - if (lookahead == '.') ADVANCE(147); - if (lookahead == '/') ADVANCE(173); - if (lookahead == '0') ADVANCE(143); - if (lookahead == ':') ADVANCE(114); - if (lookahead == ';') ADVANCE(105); - if (lookahead == '<') ADVANCE(182); - if (lookahead == '=') ADVANCE(106); - if (lookahead == '>') ADVANCE(184); - if (lookahead == '?') ADVANCE(167); - if (lookahead == '@') ADVANCE(61); - if (lookahead == '[') ADVANCE(128); - if (lookahead == '\\') ADVANCE(2); - if (lookahead == ']') ADVANCE(129); - if (lookahead == '^') ADVANCE(180); - if (lookahead == '{') ADVANCE(108); - if (lookahead == '|') ADVANCE(126); - if (lookahead == '}') ADVANCE(109); - if (lookahead == '~') ADVANCE(168); + if (lookahead == '!') ADVANCE(131); + if (lookahead == '%') ADVANCE(46); + if (lookahead == '&') ADVANCE(24); + if (lookahead == '(') ADVANCE(124); + if (lookahead == ')') ADVANCE(125); + if (lookahead == '*') ADVANCE(47); + if (lookahead == '+') ADVANCE(155); + if (lookahead == ',') ADVANCE(120); + if (lookahead == '-') ADVANCE(157); + if (lookahead == '.') ADVANCE(153); + if (lookahead == '/') ADVANCE(32); + if (lookahead == ';') ADVANCE(112); + if (lookahead == '<') ADVANCE(45); + if (lookahead == '=') ADVANCE(114); + if (lookahead == '>') ADVANCE(58); + if (lookahead == '?') ADVANCE(172); + if (lookahead == '[') ADVANCE(135); + if (lookahead == '\\') SKIP(10) + if (lookahead == ']') ADVANCE(136); + if (lookahead == '^') ADVANCE(50); + if (lookahead == '|') ADVANCE(51); + if (lookahead == '}') ADVANCE(117); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(21) - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(144); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(152); if (('A' <= lookahead && lookahead <= '_') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(190); END_STATE(); case 22: - if (lookahead == '!') ADVANCE(124); - if (lookahead == '%') ADVANCE(175); - if (lookahead == '&') ADVANCE(170); - if (lookahead == '(') ADVANCE(116); - if (lookahead == ')') ADVANCE(117); - if (lookahead == '*') ADVANCE(111); - if (lookahead == '+') ADVANCE(150); - if (lookahead == ',') ADVANCE(112); - if (lookahead == '-') ADVANCE(152); - if (lookahead == '.') ADVANCE(147); - if (lookahead == '/') ADVANCE(173); - if (lookahead == ':') ADVANCE(113); - if (lookahead == ';') ADVANCE(105); - if (lookahead == '<') ADVANCE(182); - if (lookahead == '=') ADVANCE(106); - if (lookahead == '>') ADVANCE(184); - if (lookahead == '?') ADVANCE(167); - if (lookahead == '[') ADVANCE(128); - if (lookahead == '\\') SKIP(10) - if (lookahead == ']') ADVANCE(129); - if (lookahead == '^') ADVANCE(180); - if (lookahead == '|') ADVANCE(126); - if (lookahead == '}') ADVANCE(109); + if (lookahead == '"') ADVANCE(163); + if (lookahead == '/') ADVANCE(165); + if (lookahead == '\\') ADVANCE(16); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(22) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(145); - if (('A' <= lookahead && lookahead <= '_') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + lookahead == ' ') ADVANCE(166); + if (lookahead != 0) ADVANCE(164); END_STATE(); case 23: - if (lookahead == '!') ADVANCE(124); - if (lookahead == '%') ADVANCE(174); - if (lookahead == '&') ADVANCE(171); - if (lookahead == '(') ADVANCE(116); - if (lookahead == ')') ADVANCE(117); - if (lookahead == '*') ADVANCE(110); - if (lookahead == '+') ADVANCE(149); - if (lookahead == ',') ADVANCE(112); - if (lookahead == '-') ADVANCE(151); - if (lookahead == '.') ADVANCE(147); - if (lookahead == '/') ADVANCE(172); - if (lookahead == ':') ADVANCE(114); - if (lookahead == ';') ADVANCE(105); - if (lookahead == '<') ADVANCE(183); - if (lookahead == '=') ADVANCE(106); - if (lookahead == '>') ADVANCE(185); - if (lookahead == '?') ADVANCE(167); - if (lookahead == '[') ADVANCE(128); - if (lookahead == '\\') SKIP(14) - if (lookahead == ']') ADVANCE(129); - if (lookahead == '^') ADVANCE(181); - if (lookahead == '{') ADVANCE(108); - if (lookahead == '|') ADVANCE(127); - if (lookahead == '}') ADVANCE(109); + if (lookahead == '%') ADVANCE(46); + if (lookahead == '&') ADVANCE(24); + if (lookahead == '*') ADVANCE(47); + if (lookahead == '+') ADVANCE(48); + if (lookahead == '-') ADVANCE(49); + if (lookahead == '.') ADVANCE(29); + if (lookahead == '/') ADVANCE(32); + if (lookahead == '<') ADVANCE(45); + if (lookahead == '=') ADVANCE(113); + if (lookahead == '>') ADVANCE(58); + if (lookahead == '\\') SKIP(12) + if (lookahead == ']') ADVANCE(136); + if (lookahead == '^') ADVANCE(50); + if (lookahead == '|') ADVANCE(51); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(23) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(145); - if (('A' <= lookahead && lookahead <= '_') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); END_STATE(); case 24: - if (lookahead == '!') ADVANCE(124); - if (lookahead == '%') ADVANCE(174); - if (lookahead == '&') ADVANCE(171); - if (lookahead == '(') ADVANCE(116); - if (lookahead == ')') ADVANCE(117); - if (lookahead == '*') ADVANCE(110); - if (lookahead == '+') ADVANCE(149); - if (lookahead == ',') ADVANCE(112); - if (lookahead == '-') ADVANCE(151); - if (lookahead == '.') ADVANCE(148); - if (lookahead == '/') ADVANCE(172); - if (lookahead == ':') ADVANCE(113); - if (lookahead == ';') ADVANCE(105); - if (lookahead == '<') ADVANCE(183); - if (lookahead == '=') ADVANCE(106); - if (lookahead == '>') ADVANCE(185); - if (lookahead == '?') ADVANCE(167); - if (lookahead == '[') ADVANCE(128); - if (lookahead == '\\') SKIP(16) - if (lookahead == ']') ADVANCE(129); - if (lookahead == '^') ADVANCE(181); - if (lookahead == '|') ADVANCE(127); - if (lookahead == '}') ADVANCE(109); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(24) - if (('A' <= lookahead && lookahead <= '_') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + if (lookahead == '&') ADVANCE(52); + if (lookahead == '=') ADVANCE(184); END_STATE(); case 25: - if (lookahead == '!') ADVANCE(123); - if (lookahead == '"') ADVANCE(158); - if (lookahead == '&') ADVANCE(169); - if (lookahead == '\'') ADVANCE(153); - if (lookahead == '(') ADVANCE(116); - if (lookahead == ')') ADVANCE(117); - if (lookahead == '*') ADVANCE(110); - if (lookahead == '+') ADVANCE(149); - if (lookahead == ',') ADVANCE(112); - if (lookahead == '-') ADVANCE(151); - if (lookahead == '.') ADVANCE(148); - if (lookahead == '/') ADVANCE(37); - if (lookahead == '0') ADVANCE(143); - if (lookahead == ':') ADVANCE(114); - if (lookahead == ';') ADVANCE(105); - if (lookahead == '=') ADVANCE(51); - if (lookahead == '?') ADVANCE(167); - if (lookahead == '@') ADVANCE(71); - if (lookahead == '[') ADVANCE(128); - if (lookahead == '\\') SKIP(4) - if (lookahead == ']') ADVANCE(129); - if (lookahead == '{') ADVANCE(108); - if (lookahead == '}') ADVANCE(109); - if (lookahead == '~') ADVANCE(168); + if (lookahead == '\'') ADVANCE(158); + if (lookahead == '/') ADVANCE(160); + if (lookahead == '\\') ADVANCE(167); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(25) - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(144); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + lookahead == ' ') ADVANCE(161); + if (lookahead != 0) ADVANCE(159); END_STATE(); case 26: - if (lookahead == '!') ADVANCE(123); - if (lookahead == '"') ADVANCE(158); - if (lookahead == '&') ADVANCE(169); - if (lookahead == '\'') ADVANCE(153); - if (lookahead == '(') ADVANCE(116); - if (lookahead == ')') ADVANCE(117); - if (lookahead == '*') ADVANCE(110); - if (lookahead == '+') ADVANCE(149); - if (lookahead == '-') ADVANCE(151); - if (lookahead == '.') ADVANCE(33); - if (lookahead == '/') ADVANCE(37); - if (lookahead == '0') ADVANCE(143); - if (lookahead == ':') ADVANCE(113); - if (lookahead == ';') ADVANCE(105); - if (lookahead == '[') ADVANCE(128); - if (lookahead == '\\') SKIP(6) - if (lookahead == ']') ADVANCE(129); - if (lookahead == '{') ADVANCE(108); - if (lookahead == '}') ADVANCE(109); - if (lookahead == '~') ADVANCE(168); + if (lookahead == '\'') ADVANCE(158); + if (lookahead == '/') ADVANCE(168); + if (lookahead == '\\') ADVANCE(167); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(26) - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(144); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + lookahead == ' ') ADVANCE(169); + if (lookahead != 0) ADVANCE(167); END_STATE(); case 27: - if (lookahead == '!') ADVANCE(123); - if (lookahead == '"') ADVANCE(158); - if (lookahead == '&') ADVANCE(169); - if (lookahead == '\'') ADVANCE(153); - if (lookahead == '(') ADVANCE(116); - if (lookahead == '*') ADVANCE(110); - if (lookahead == '+') ADVANCE(149); - if (lookahead == '-') ADVANCE(151); - if (lookahead == '.') ADVANCE(36); - if (lookahead == '/') ADVANCE(37); - if (lookahead == '0') ADVANCE(143); - if (lookahead == ':') ADVANCE(113); - if (lookahead == '[') ADVANCE(128); - if (lookahead == '\\') SKIP(8) - if (lookahead == ']') ADVANCE(129); - if (lookahead == '{') ADVANCE(108); - if (lookahead == '~') ADVANCE(168); + if (lookahead == ')') ADVANCE(125); + if (lookahead == ',') ADVANCE(120); + if (lookahead == '.') ADVANCE(30); + if (lookahead == '/') ADVANCE(31); + if (lookahead == ';') ADVANCE(112); + if (lookahead == '=') ADVANCE(114); + if (lookahead == '\\') SKIP(14) + if (lookahead == '{') ADVANCE(116); + if (lookahead == '|') ADVANCE(133); + if (lookahead == '}') ADVANCE(117); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(27) - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(144); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); END_STATE(); case 28: - if (lookahead == '!') ADVANCE(123); - if (lookahead == '(') ADVANCE(116); - if (lookahead == '.') ADVANCE(146); - if (lookahead == '/') ADVANCE(37); - if (lookahead == '?') ADVANCE(167); - if (lookahead == '[') ADVANCE(128); - if (lookahead == '\\') SKIP(18) - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(28) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(145); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + if (lookahead == '.') ADVANCE(137); END_STATE(); case 29: - if (lookahead == '!') ADVANCE(50); - if (lookahead == '%') ADVANCE(175); - if (lookahead == '&') ADVANCE(170); - if (lookahead == ')') ADVANCE(117); - if (lookahead == '*') ADVANCE(111); - if (lookahead == '+') ADVANCE(150); - if (lookahead == ',') ADVANCE(112); - if (lookahead == '-') ADVANCE(152); - if (lookahead == '.') ADVANCE(35); - if (lookahead == '/') ADVANCE(173); - if (lookahead == ':') ADVANCE(113); - if (lookahead == ';') ADVANCE(105); - if (lookahead == '<') ADVANCE(182); - if (lookahead == '=') ADVANCE(106); - if (lookahead == '>') ADVANCE(184); - if (lookahead == '\\') SKIP(12) - if (lookahead == ']') ADVANCE(129); - if (lookahead == '^') ADVANCE(180); - if (lookahead == '|') ADVANCE(126); - if (lookahead == '}') ADVANCE(109); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(29) - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + if (lookahead == '.') ADVANCE(170); END_STATE(); case 30: - if (lookahead == '"') ADVANCE(158); - if (lookahead == '/') ADVANCE(160); - if (lookahead == '\\') ADVANCE(20); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') ADVANCE(161); - if (lookahead != 0) ADVANCE(159); + if (lookahead == '.') ADVANCE(28); END_STATE(); case 31: - if (lookahead == '\'') ADVANCE(153); - if (lookahead == '/') ADVANCE(155); - if (lookahead == '\\') ADVANCE(162); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') ADVANCE(156); - if (lookahead != 0) ADVANCE(154); + if (lookahead == '/') ADVANCE(191); END_STATE(); case 32: - if (lookahead == '\'') ADVANCE(153); - if (lookahead == '/') ADVANCE(163); - if (lookahead == '\\') ADVANCE(162); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') ADVANCE(164); - if (lookahead != 0) ADVANCE(162); + if (lookahead == '/') ADVANCE(191); + if (lookahead == '=') ADVANCE(180); END_STATE(); case 33: - if (lookahead == '.') ADVANCE(166); + if (lookahead == '2') ADVANCE(147); END_STATE(); case 34: - if (lookahead == '.') ADVANCE(130); + if (lookahead == '2') ADVANCE(144); END_STATE(); case 35: - if (lookahead == '.') ADVANCE(34); + if (lookahead == '2') ADVANCE(141); END_STATE(); case 36: - if (lookahead == '.') ADVANCE(165); + if (lookahead == '2') ADVANCE(138); END_STATE(); case 37: - if (lookahead == '/') ADVANCE(211); + if (lookahead == '4') ADVANCE(147); END_STATE(); case 38: - if (lookahead == '2') ADVANCE(140); + if (lookahead == '4') ADVANCE(144); END_STATE(); case 39: - if (lookahead == '2') ADVANCE(137); + if (lookahead == '4') ADVANCE(141); END_STATE(); case 40: - if (lookahead == '2') ADVANCE(134); + if (lookahead == '4') ADVANCE(138); END_STATE(); case 41: - if (lookahead == '2') ADVANCE(131); + if (lookahead == '6') ADVANCE(147); END_STATE(); case 42: - if (lookahead == '4') ADVANCE(140); + if (lookahead == '6') ADVANCE(144); END_STATE(); case 43: - if (lookahead == '4') ADVANCE(137); + if (lookahead == '6') ADVANCE(141); END_STATE(); case 44: - if (lookahead == '4') ADVANCE(134); + if (lookahead == '6') ADVANCE(138); END_STATE(); case 45: - if (lookahead == '4') ADVANCE(131); + if (lookahead == '<') ADVANCE(53); END_STATE(); case 46: - if (lookahead == '6') ADVANCE(140); + if (lookahead == '=') ADVANCE(181); END_STATE(); case 47: - if (lookahead == '6') ADVANCE(137); + if (lookahead == '=') ADVANCE(179); END_STATE(); case 48: - if (lookahead == '6') ADVANCE(134); + if (lookahead == '=') ADVANCE(177); END_STATE(); case 49: - if (lookahead == '6') ADVANCE(131); + if (lookahead == '=') ADVANCE(178); END_STATE(); case 50: - if (lookahead == '=') ADVANCE(189); + if (lookahead == '=') ADVANCE(186); + if (lookahead == '^') ADVANCE(55); END_STATE(); case 51: - if (lookahead == '>') ADVANCE(196); + if (lookahead == '=') ADVANCE(185); + if (lookahead == '|') ADVANCE(56); END_STATE(); case 52: - if (lookahead == 'a') ADVANCE(56); + if (lookahead == '=') ADVANCE(187); END_STATE(); case 53: - if (lookahead == 'a') ADVANCE(68); + if (lookahead == '=') ADVANCE(182); END_STATE(); case 54: - if (lookahead == 'b') ADVANCE(76); + if (lookahead == '=') ADVANCE(183); END_STATE(); case 55: - if (lookahead == 'c') ADVANCE(53); + if (lookahead == '=') ADVANCE(189); END_STATE(); case 56: - if (lookahead == 'd') ADVANCE(69); + if (lookahead == '=') ADVANCE(188); END_STATE(); case 57: - if (lookahead == 'e') ADVANCE(81); - if (lookahead == 'h') ADVANCE(80); + if (lookahead == '>') ADVANCE(176); END_STATE(); case 58: - if (lookahead == 'e') ADVANCE(52); + if (lookahead == '>') ADVANCE(54); END_STATE(); case 59: - if (lookahead == 'e') ADVANCE(85); + if (lookahead == 'a') ADVANCE(63); END_STATE(); case 60: - if (lookahead == 'e') ADVANCE(86); + if (lookahead == 'a') ADVANCE(75); END_STATE(); case 61: - if (lookahead == 'f') ADVANCE(66); - if (lookahead == 'i') ADVANCE(73); - if (lookahead == 'n') ADVANCE(75); - if (lookahead == 'o') ADVANCE(62); - if (lookahead == 's') ADVANCE(88); - if (lookahead == 't') ADVANCE(57); + if (lookahead == 'b') ADVANCE(83); END_STATE(); case 62: - if (lookahead == 'f') ADVANCE(63); + if (lookahead == 'c') ADVANCE(60); END_STATE(); case 63: - if (lookahead == 'f') ADVANCE(82); + if (lookahead == 'd') ADVANCE(76); END_STATE(); case 64: - if (lookahead == 'i') ADVANCE(83); + if (lookahead == 'e') ADVANCE(88); + if (lookahead == 'h') ADVANCE(87); END_STATE(); case 65: - if (lookahead == 'i') ADVANCE(119); + if (lookahead == 'e') ADVANCE(59); END_STATE(); case 66: - if (lookahead == 'i') ADVANCE(74); + if (lookahead == 'e') ADVANCE(92); END_STATE(); case 67: - if (lookahead == 'l') ADVANCE(115); + if (lookahead == 'e') ADVANCE(93); END_STATE(); case 68: - if (lookahead == 'l') ADVANCE(118); + if (lookahead == 'f') ADVANCE(73); + if (lookahead == 'i') ADVANCE(80); + if (lookahead == 'n') ADVANCE(82); + if (lookahead == 'o') ADVANCE(69); + if (lookahead == 's') ADVANCE(95); + if (lookahead == 't') ADVANCE(64); END_STATE(); case 69: - if (lookahead == 'l') ADVANCE(77); + if (lookahead == 'f') ADVANCE(70); END_STATE(); case 70: - if (lookahead == 'm') ADVANCE(54); + if (lookahead == 'f') ADVANCE(89); END_STATE(); case 71: - if (lookahead == 'n') ADVANCE(75); + if (lookahead == 'i') ADVANCE(90); END_STATE(); case 72: - if (lookahead == 'n') ADVANCE(122); + if (lookahead == 'i') ADVANCE(127); END_STATE(); case 73: - if (lookahead == 'n') ADVANCE(64); + if (lookahead == 'i') ADVANCE(81); END_STATE(); case 74: - if (lookahead == 'n') ADVANCE(65); + if (lookahead == 'l') ADVANCE(123); END_STATE(); case 75: - if (lookahead == 'o') ADVANCE(78); + if (lookahead == 'l') ADVANCE(126); END_STATE(); case 76: - if (lookahead == 'o') ADVANCE(67); + if (lookahead == 'l') ADVANCE(84); END_STATE(); case 77: - if (lookahead == 'o') ADVANCE(55); + if (lookahead == 'm') ADVANCE(61); END_STATE(); case 78: - if (lookahead == 'r') ADVANCE(59); + if (lookahead == 'n') ADVANCE(82); END_STATE(); case 79: - if (lookahead == 'r') ADVANCE(72); + if (lookahead == 'n') ADVANCE(130); END_STATE(); case 80: - if (lookahead == 'r') ADVANCE(58); + if (lookahead == 'n') ADVANCE(71); END_STATE(); case 81: - if (lookahead == 's') ADVANCE(84); + if (lookahead == 'n') ADVANCE(72); END_STATE(); case 82: - if (lookahead == 's') ADVANCE(60); + if (lookahead == 'o') ADVANCE(85); END_STATE(); case 83: - if (lookahead == 't') ADVANCE(120); + if (lookahead == 'o') ADVANCE(74); END_STATE(); case 84: - if (lookahead == 't') ADVANCE(121); + if (lookahead == 'o') ADVANCE(62); END_STATE(); case 85: - if (lookahead == 't') ADVANCE(87); + if (lookahead == 'r') ADVANCE(66); END_STATE(); case 86: - if (lookahead == 't') ADVANCE(125); + if (lookahead == 'r') ADVANCE(79); END_STATE(); case 87: - if (lookahead == 'u') ADVANCE(79); + if (lookahead == 'r') ADVANCE(65); END_STATE(); case 88: - if (lookahead == 'y') ADVANCE(70); + if (lookahead == 's') ADVANCE(91); END_STATE(); case 89: - if (lookahead == '+' || - lookahead == '-') ADVANCE(93); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(142); + if (lookahead == 's') ADVANCE(67); END_STATE(); case 90: - if (lookahead == '0' || - lookahead == '1') ADVANCE(139); + if (lookahead == 't') ADVANCE(128); END_STATE(); case 91: - if (('0' <= lookahead && lookahead <= '7')) ADVANCE(136); + if (lookahead == 't') ADVANCE(129); END_STATE(); case 92: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(144); + if (lookahead == 't') ADVANCE(94); END_STATE(); case 93: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(142); + if (lookahead == 't') ADVANCE(132); END_STATE(); case 94: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(157); + if (lookahead == 'u') ADVANCE(86); END_STATE(); case 95: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(133); + if (lookahead == 'y') ADVANCE(77); END_STATE(); case 96: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(94); + if (lookahead == '+' || + lookahead == '-') ADVANCE(100); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(149); END_STATE(); case 97: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(96); + if (lookahead == '0' || + lookahead == '1') ADVANCE(146); END_STATE(); case 98: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(97); + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(143); END_STATE(); case 99: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(98); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(151); END_STATE(); case 100: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(99); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(149); END_STATE(); case 101: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(100); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(162); END_STATE(); case 102: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(101); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(140); END_STATE(); case 103: - if (lookahead != 0 && - lookahead != '\r') ADVANCE(211); - if (lookahead == '\r') ADVANCE(212); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(101); END_STATE(); case 104: - ACCEPT_TOKEN(ts_builtin_sym_end); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(103); END_STATE(); case 105: - ACCEPT_TOKEN(anon_sym_SEMI); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(104); END_STATE(); case 106: - ACCEPT_TOKEN(anon_sym_EQ); - if (lookahead == '=') ADVANCE(188); - if (lookahead == '>') ADVANCE(196); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(105); END_STATE(); case 107: - ACCEPT_TOKEN(anon_sym_COLON_COLON); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(106); END_STATE(); case 108: - ACCEPT_TOKEN(anon_sym_LBRACE); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(107); END_STATE(); case 109: - ACCEPT_TOKEN(anon_sym_RBRACE); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(108); END_STATE(); case 110: - ACCEPT_TOKEN(anon_sym_STAR); + if (lookahead != 0 && + lookahead != '\r') ADVANCE(191); + if (lookahead == '\r') ADVANCE(192); END_STATE(); case 111: - ACCEPT_TOKEN(anon_sym_STAR); - if (lookahead == '=') ADVANCE(199); + ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 112: - ACCEPT_TOKEN(anon_sym_COMMA); + ACCEPT_TOKEN(anon_sym_SEMI); END_STATE(); case 113: - ACCEPT_TOKEN(anon_sym_COLON); + ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); case 114: - ACCEPT_TOKEN(anon_sym_COLON); - if (lookahead == ':') ADVANCE(107); + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '>') ADVANCE(176); END_STATE(); case 115: - ACCEPT_TOKEN(anon_sym_ATsymbol); + ACCEPT_TOKEN(anon_sym_COLON_COLON); END_STATE(); case 116: - ACCEPT_TOKEN(anon_sym_LPAREN); + ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 117: - ACCEPT_TOKEN(anon_sym_RPAREN); + ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 118: - ACCEPT_TOKEN(anon_sym_ATthreadlocal); + ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); case 119: - ACCEPT_TOKEN(anon_sym_ATfini); + ACCEPT_TOKEN(anon_sym_STAR); + if (lookahead == '=') ADVANCE(179); END_STATE(); case 120: - ACCEPT_TOKEN(anon_sym_ATinit); + ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); case 121: - ACCEPT_TOKEN(anon_sym_ATtest); + ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); case 122: - ACCEPT_TOKEN(anon_sym_ATnoreturn); + ACCEPT_TOKEN(anon_sym_COLON); + if (lookahead == ':') ADVANCE(115); END_STATE(); case 123: - ACCEPT_TOKEN(anon_sym_BANG); + ACCEPT_TOKEN(anon_sym_ATsymbol); END_STATE(); case 124: - ACCEPT_TOKEN(anon_sym_BANG); - if (lookahead == '=') ADVANCE(189); + ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); case 125: - ACCEPT_TOKEN(anon_sym_AToffset); + ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); case 126: - ACCEPT_TOKEN(anon_sym_PIPE); - if (lookahead == '=') ADVANCE(205); - if (lookahead == '|') ADVANCE(195); + ACCEPT_TOKEN(anon_sym_ATthreadlocal); END_STATE(); case 127: - ACCEPT_TOKEN(anon_sym_PIPE); - if (lookahead == '|') ADVANCE(194); + ACCEPT_TOKEN(anon_sym_ATfini); END_STATE(); case 128: - ACCEPT_TOKEN(anon_sym_LBRACK); + ACCEPT_TOKEN(anon_sym_ATinit); END_STATE(); case 129: - ACCEPT_TOKEN(anon_sym_RBRACK); + ACCEPT_TOKEN(anon_sym_ATtest); END_STATE(); case 130: - ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); + ACCEPT_TOKEN(anon_sym_ATnoreturn); END_STATE(); case 131: - ACCEPT_TOKEN(aux_sym_integer_constant_token1); + ACCEPT_TOKEN(anon_sym_BANG); END_STATE(); case 132: - ACCEPT_TOKEN(aux_sym_integer_constant_token1); - if (lookahead == '1') ADVANCE(49); - if (lookahead == '3') ADVANCE(41); - if (lookahead == '6') ADVANCE(45); - if (lookahead == '8') ADVANCE(131); + ACCEPT_TOKEN(anon_sym_AToffset); END_STATE(); case 133: - ACCEPT_TOKEN(aux_sym_integer_constant_token1); - if (lookahead == 'i') ADVANCE(132); - if (lookahead == 'u') ADVANCE(132); - if (lookahead == 'z') ADVANCE(131); + ACCEPT_TOKEN(anon_sym_PIPE); END_STATE(); case 134: - ACCEPT_TOKEN(aux_sym_integer_constant_token2); + ACCEPT_TOKEN(anon_sym_PIPE); + if (lookahead == '=') ADVANCE(185); + if (lookahead == '|') ADVANCE(56); END_STATE(); case 135: - ACCEPT_TOKEN(aux_sym_integer_constant_token2); - if (lookahead == '1') ADVANCE(48); - if (lookahead == '3') ADVANCE(40); - if (lookahead == '6') ADVANCE(44); - if (lookahead == '8') ADVANCE(134); + ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); case 136: - ACCEPT_TOKEN(aux_sym_integer_constant_token2); - if (lookahead == '_') ADVANCE(91); - if (lookahead == 'i') ADVANCE(135); - if (lookahead == 'u') ADVANCE(135); - if (lookahead == 'z') ADVANCE(134); - if (('0' <= lookahead && lookahead <= '7')) ADVANCE(136); + ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); case 137: - ACCEPT_TOKEN(aux_sym_integer_constant_token3); + ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); END_STATE(); case 138: - ACCEPT_TOKEN(aux_sym_integer_constant_token3); - if (lookahead == '1') ADVANCE(47); - if (lookahead == '3') ADVANCE(39); - if (lookahead == '6') ADVANCE(43); - if (lookahead == '8') ADVANCE(137); + ACCEPT_TOKEN(aux_sym_integer_constant_token1); END_STATE(); case 139: - ACCEPT_TOKEN(aux_sym_integer_constant_token3); - if (lookahead == '_') ADVANCE(90); - if (lookahead == 'i') ADVANCE(138); - if (lookahead == 'u') ADVANCE(138); - if (lookahead == 'z') ADVANCE(137); - if (lookahead == '0' || - lookahead == '1') ADVANCE(139); + ACCEPT_TOKEN(aux_sym_integer_constant_token1); + if (lookahead == '1') ADVANCE(44); + if (lookahead == '3') ADVANCE(36); + if (lookahead == '6') ADVANCE(40); + if (lookahead == '8') ADVANCE(138); END_STATE(); case 140: - ACCEPT_TOKEN(aux_sym_integer_constant_token4); + ACCEPT_TOKEN(aux_sym_integer_constant_token1); + if (lookahead == 'i') ADVANCE(139); + if (lookahead == 'u') ADVANCE(139); + if (lookahead == 'z') ADVANCE(138); END_STATE(); case 141: - ACCEPT_TOKEN(aux_sym_integer_constant_token4); - if (lookahead == '1') ADVANCE(46); - if (lookahead == '3') ADVANCE(38); - if (lookahead == '6') ADVANCE(42); - if (lookahead == '8') ADVANCE(140); + ACCEPT_TOKEN(aux_sym_integer_constant_token2); END_STATE(); case 142: - ACCEPT_TOKEN(aux_sym_integer_constant_token4); - if (lookahead == '_') ADVANCE(93); - if (lookahead == 'i') ADVANCE(141); - if (lookahead == 'u') ADVANCE(141); - if (lookahead == 'z') ADVANCE(140); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(142); + ACCEPT_TOKEN(aux_sym_integer_constant_token2); + if (lookahead == '1') ADVANCE(43); + if (lookahead == '3') ADVANCE(35); + if (lookahead == '6') ADVANCE(39); + if (lookahead == '8') ADVANCE(141); END_STATE(); case 143: - ACCEPT_TOKEN(aux_sym_integer_constant_token4); - if (lookahead == 'E' || - lookahead == 'e') ADVANCE(89); - if (lookahead == '_') ADVANCE(92); - if (lookahead == 'b') ADVANCE(90); - if (lookahead == 'i') ADVANCE(141); - if (lookahead == 'o') ADVANCE(91); - if (lookahead == 'u') ADVANCE(141); - if (lookahead == 'x') ADVANCE(95); - if (lookahead == 'z') ADVANCE(140); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(144); + ACCEPT_TOKEN(aux_sym_integer_constant_token2); + if (lookahead == '_') ADVANCE(98); + if (lookahead == 'i') ADVANCE(142); + if (lookahead == 'u') ADVANCE(142); + if (lookahead == 'z') ADVANCE(141); + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(143); END_STATE(); case 144: - ACCEPT_TOKEN(aux_sym_integer_constant_token4); - if (lookahead == 'E' || - lookahead == 'e') ADVANCE(89); - if (lookahead == '_') ADVANCE(92); - if (lookahead == 'i') ADVANCE(141); - if (lookahead == 'u') ADVANCE(141); - if (lookahead == 'z') ADVANCE(140); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(144); + ACCEPT_TOKEN(aux_sym_integer_constant_token3); END_STATE(); case 145: - ACCEPT_TOKEN(aux_sym_floating_constant_token1); + ACCEPT_TOKEN(aux_sym_integer_constant_token3); + if (lookahead == '1') ADVANCE(42); + if (lookahead == '3') ADVANCE(34); + if (lookahead == '6') ADVANCE(38); + if (lookahead == '8') ADVANCE(144); END_STATE(); case 146: - ACCEPT_TOKEN(anon_sym_DOT); + ACCEPT_TOKEN(aux_sym_integer_constant_token3); + if (lookahead == '_') ADVANCE(97); + if (lookahead == 'i') ADVANCE(145); + if (lookahead == 'u') ADVANCE(145); + if (lookahead == 'z') ADVANCE(144); + if (lookahead == '0' || + lookahead == '1') ADVANCE(146); END_STATE(); case 147: - ACCEPT_TOKEN(anon_sym_DOT); - if (lookahead == '.') ADVANCE(166); + ACCEPT_TOKEN(aux_sym_integer_constant_token4); END_STATE(); case 148: - ACCEPT_TOKEN(anon_sym_DOT); - if (lookahead == '.') ADVANCE(34); + ACCEPT_TOKEN(aux_sym_integer_constant_token4); + if (lookahead == '1') ADVANCE(41); + if (lookahead == '3') ADVANCE(33); + if (lookahead == '6') ADVANCE(37); + if (lookahead == '8') ADVANCE(147); END_STATE(); case 149: - ACCEPT_TOKEN(anon_sym_PLUS); + ACCEPT_TOKEN(aux_sym_integer_constant_token4); + if (lookahead == '_') ADVANCE(100); + if (lookahead == 'i') ADVANCE(148); + if (lookahead == 'u') ADVANCE(148); + if (lookahead == 'z') ADVANCE(147); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(149); END_STATE(); case 150: - ACCEPT_TOKEN(anon_sym_PLUS); - if (lookahead == '=') ADVANCE(197); + ACCEPT_TOKEN(aux_sym_integer_constant_token4); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(96); + if (lookahead == '_') ADVANCE(99); + if (lookahead == 'b') ADVANCE(97); + if (lookahead == 'i') ADVANCE(148); + if (lookahead == 'o') ADVANCE(98); + if (lookahead == 'u') ADVANCE(148); + if (lookahead == 'x') ADVANCE(102); + if (lookahead == 'z') ADVANCE(147); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(151); END_STATE(); case 151: - ACCEPT_TOKEN(anon_sym_DASH); + ACCEPT_TOKEN(aux_sym_integer_constant_token4); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(96); + if (lookahead == '_') ADVANCE(99); + if (lookahead == 'i') ADVANCE(148); + if (lookahead == 'u') ADVANCE(148); + if (lookahead == 'z') ADVANCE(147); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(151); END_STATE(); case 152: - ACCEPT_TOKEN(anon_sym_DASH); - if (lookahead == '=') ADVANCE(198); + ACCEPT_TOKEN(aux_sym_floating_constant_token1); END_STATE(); case 153: - ACCEPT_TOKEN(anon_sym_SQUOTE); + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(171); END_STATE(); case 154: - ACCEPT_TOKEN(aux_sym_rune_constant_token1); + ACCEPT_TOKEN(anon_sym_PLUS); END_STATE(); case 155: - ACCEPT_TOKEN(aux_sym_rune_constant_token1); - if (lookahead == '/') ADVANCE(211); + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '=') ADVANCE(177); END_STATE(); case 156: - ACCEPT_TOKEN(aux_sym_rune_constant_token1); - if (lookahead == '/') ADVANCE(155); - if (lookahead == '\\') ADVANCE(162); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') ADVANCE(156); - if (lookahead != 0 && - lookahead != '\'') ADVANCE(154); + ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); case 157: - ACCEPT_TOKEN(sym_escape_sequence); + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '=') ADVANCE(178); END_STATE(); case 158: - ACCEPT_TOKEN(anon_sym_DQUOTE); + ACCEPT_TOKEN(anon_sym_SQUOTE); END_STATE(); case 159: - ACCEPT_TOKEN(aux_sym_string_constant_token1); + ACCEPT_TOKEN(aux_sym_rune_constant_token1); END_STATE(); case 160: - ACCEPT_TOKEN(aux_sym_string_constant_token1); - if (lookahead == '/') ADVANCE(211); + ACCEPT_TOKEN(aux_sym_rune_constant_token1); + if (lookahead == '/') ADVANCE(191); END_STATE(); case 161: - ACCEPT_TOKEN(aux_sym_string_constant_token1); + ACCEPT_TOKEN(aux_sym_rune_constant_token1); if (lookahead == '/') ADVANCE(160); - if (lookahead == '\\') ADVANCE(20); + if (lookahead == '\\') ADVANCE(167); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') ADVANCE(161); if (lookahead != 0 && - lookahead != '"') ADVANCE(159); + lookahead != '\'') ADVANCE(159); END_STATE(); case 162: - ACCEPT_TOKEN(aux_sym_string_constant_token2); + ACCEPT_TOKEN(sym_escape_sequence); END_STATE(); case 163: - ACCEPT_TOKEN(aux_sym_string_constant_token2); - if (lookahead == '/') ADVANCE(211); + ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); case 164: - ACCEPT_TOKEN(aux_sym_string_constant_token2); - if (lookahead == '/') ADVANCE(163); - if (lookahead == '\\') ADVANCE(162); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') ADVANCE(164); - if (lookahead != 0 && - lookahead != '\'') ADVANCE(162); + ACCEPT_TOKEN(aux_sym_string_constant_token1); END_STATE(); case 165: - ACCEPT_TOKEN(anon_sym_DOT_DOT); + ACCEPT_TOKEN(aux_sym_string_constant_token1); + if (lookahead == '/') ADVANCE(191); END_STATE(); case 166: - ACCEPT_TOKEN(anon_sym_DOT_DOT); - if (lookahead == '.') ADVANCE(130); + ACCEPT_TOKEN(aux_sym_string_constant_token1); + if (lookahead == '/') ADVANCE(165); + if (lookahead == '\\') ADVANCE(16); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(166); + if (lookahead != 0 && + lookahead != '"') ADVANCE(164); END_STATE(); case 167: - ACCEPT_TOKEN(anon_sym_QMARK); + ACCEPT_TOKEN(aux_sym_string_constant_token2); END_STATE(); case 168: - ACCEPT_TOKEN(anon_sym_TILDE); + ACCEPT_TOKEN(aux_sym_string_constant_token2); + if (lookahead == '/') ADVANCE(191); END_STATE(); case 169: - ACCEPT_TOKEN(anon_sym_AMP); + ACCEPT_TOKEN(aux_sym_string_constant_token2); + if (lookahead == '/') ADVANCE(168); + if (lookahead == '\\') ADVANCE(167); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(169); + if (lookahead != 0 && + lookahead != '\'') ADVANCE(167); END_STATE(); case 170: - ACCEPT_TOKEN(anon_sym_AMP); - if (lookahead == '&') ADVANCE(191); - if (lookahead == '=') ADVANCE(204); + ACCEPT_TOKEN(anon_sym_DOT_DOT); END_STATE(); case 171: - ACCEPT_TOKEN(anon_sym_AMP); - if (lookahead == '&') ADVANCE(190); + ACCEPT_TOKEN(anon_sym_DOT_DOT); + if (lookahead == '.') ADVANCE(137); END_STATE(); case 172: - ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '/') ADVANCE(211); + ACCEPT_TOKEN(anon_sym_QMARK); END_STATE(); case 173: - ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '/') ADVANCE(211); - if (lookahead == '=') ADVANCE(200); + ACCEPT_TOKEN(anon_sym_TILDE); END_STATE(); case 174: - ACCEPT_TOKEN(anon_sym_PERCENT); + ACCEPT_TOKEN(anon_sym_AMP); END_STATE(); case 175: - ACCEPT_TOKEN(anon_sym_PERCENT); - if (lookahead == '=') ADVANCE(201); + ACCEPT_TOKEN(anon_sym_AMP); + if (lookahead == '&') ADVANCE(52); + if (lookahead == '=') ADVANCE(184); END_STATE(); case 176: - ACCEPT_TOKEN(anon_sym_LT_LT); - END_STATE(); - case 177: - ACCEPT_TOKEN(anon_sym_LT_LT); - if (lookahead == '=') ADVANCE(202); - END_STATE(); - case 178: - ACCEPT_TOKEN(anon_sym_GT_GT); - END_STATE(); - case 179: - ACCEPT_TOKEN(anon_sym_GT_GT); - if (lookahead == '=') ADVANCE(203); - END_STATE(); - case 180: - ACCEPT_TOKEN(anon_sym_CARET); - if (lookahead == '=') ADVANCE(206); - if (lookahead == '^') ADVANCE(193); - END_STATE(); - case 181: - ACCEPT_TOKEN(anon_sym_CARET); - if (lookahead == '^') ADVANCE(192); - END_STATE(); - case 182: - ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '<') ADVANCE(177); - if (lookahead == '=') ADVANCE(186); - END_STATE(); - case 183: - ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '<') ADVANCE(176); - if (lookahead == '=') ADVANCE(186); - END_STATE(); - case 184: - ACCEPT_TOKEN(anon_sym_GT); - if (lookahead == '=') ADVANCE(187); - if (lookahead == '>') ADVANCE(179); - END_STATE(); - case 185: - ACCEPT_TOKEN(anon_sym_GT); - if (lookahead == '=') ADVANCE(187); - if (lookahead == '>') ADVANCE(178); - END_STATE(); - case 186: - ACCEPT_TOKEN(anon_sym_LT_EQ); - END_STATE(); - case 187: - ACCEPT_TOKEN(anon_sym_GT_EQ); - END_STATE(); - case 188: - ACCEPT_TOKEN(anon_sym_EQ_EQ); - END_STATE(); - case 189: - ACCEPT_TOKEN(anon_sym_BANG_EQ); - END_STATE(); - case 190: - ACCEPT_TOKEN(anon_sym_AMP_AMP); - END_STATE(); - case 191: - ACCEPT_TOKEN(anon_sym_AMP_AMP); - if (lookahead == '=') ADVANCE(207); - END_STATE(); - case 192: - ACCEPT_TOKEN(anon_sym_CARET_CARET); - END_STATE(); - case 193: - ACCEPT_TOKEN(anon_sym_CARET_CARET); - if (lookahead == '=') ADVANCE(209); - END_STATE(); - case 194: - ACCEPT_TOKEN(anon_sym_PIPE_PIPE); - END_STATE(); - case 195: - ACCEPT_TOKEN(anon_sym_PIPE_PIPE); - if (lookahead == '=') ADVANCE(208); - END_STATE(); - case 196: ACCEPT_TOKEN(anon_sym_EQ_GT); END_STATE(); - case 197: + case 177: ACCEPT_TOKEN(anon_sym_PLUS_EQ); END_STATE(); - case 198: + case 178: ACCEPT_TOKEN(anon_sym_DASH_EQ); END_STATE(); - case 199: + case 179: ACCEPT_TOKEN(anon_sym_STAR_EQ); END_STATE(); - case 200: + case 180: ACCEPT_TOKEN(anon_sym_SLASH_EQ); END_STATE(); - case 201: + case 181: ACCEPT_TOKEN(anon_sym_PERCENT_EQ); END_STATE(); - case 202: + case 182: ACCEPT_TOKEN(anon_sym_LT_LT_EQ); END_STATE(); - case 203: + case 183: ACCEPT_TOKEN(anon_sym_GT_GT_EQ); END_STATE(); - case 204: + case 184: ACCEPT_TOKEN(anon_sym_AMP_EQ); END_STATE(); - case 205: + case 185: ACCEPT_TOKEN(anon_sym_PIPE_EQ); END_STATE(); - case 206: + case 186: ACCEPT_TOKEN(anon_sym_CARET_EQ); END_STATE(); - case 207: + case 187: ACCEPT_TOKEN(anon_sym_AMP_AMP_EQ); END_STATE(); - case 208: + case 188: ACCEPT_TOKEN(anon_sym_PIPE_PIPE_EQ); END_STATE(); - case 209: + case 189: ACCEPT_TOKEN(anon_sym_CARET_CARET_EQ); END_STATE(); - case 210: + case 190: ACCEPT_TOKEN(sym_name); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(190); END_STATE(); - case 211: + case 191: ACCEPT_TOKEN(sym_comment); - if (lookahead == '\\') ADVANCE(103); + if (lookahead == '\\') ADVANCE(110); if (lookahead != 0 && - lookahead != '\n') ADVANCE(211); + lookahead != '\n') ADVANCE(191); END_STATE(); - case 212: + case 192: ACCEPT_TOKEN(sym_comment); if (lookahead != 0 && - lookahead != '\\') ADVANCE(211); - if (lookahead == '\\') ADVANCE(103); + lookahead != '\\') ADVANCE(191); + if (lookahead == '\\') ADVANCE(110); END_STATE(); default: return false; @@ -4244,119 +3594,117 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { if (lookahead == '8') ADVANCE(44); if (lookahead == 'f') ADVANCE(45); if (lookahead == 'n') ADVANCE(46); - if (lookahead == 's') ADVANCE(47); END_STATE(); case 11: - if (lookahead == 'e') ADVANCE(48); + if (lookahead == 'e') ADVANCE(47); END_STATE(); case 12: - if (lookahead == 'a') ADVANCE(49); + if (lookahead == 'a') ADVANCE(48); END_STATE(); case 13: - if (lookahead == 'u') ADVANCE(50); + if (lookahead == 'u') ADVANCE(49); END_STATE(); case 14: - if (lookahead == 'f') ADVANCE(51); + if (lookahead == 'f') ADVANCE(50); END_STATE(); case 15: - if (lookahead == 'e') ADVANCE(52); - if (lookahead == 'u') ADVANCE(53); + if (lookahead == 'e') ADVANCE(51); + if (lookahead == 'u') ADVANCE(52); END_STATE(); case 16: - if (lookahead == 'i') ADVANCE(54); - if (lookahead == 't') ADVANCE(55); - if (lookahead == 'w') ADVANCE(56); + if (lookahead == 'i') ADVANCE(53); + if (lookahead == 't') ADVANCE(54); + if (lookahead == 'w') ADVANCE(55); END_STATE(); case 17: - if (lookahead == 'r') ADVANCE(57); - if (lookahead == 'y') ADVANCE(58); + if (lookahead == 'r') ADVANCE(56); + if (lookahead == 'y') ADVANCE(57); END_STATE(); case 18: - if (lookahead == '1') ADVANCE(59); - if (lookahead == '3') ADVANCE(60); - if (lookahead == '6') ADVANCE(61); - if (lookahead == '8') ADVANCE(62); - if (lookahead == 'i') ADVANCE(63); - if (lookahead == 'n') ADVANCE(64); - if (lookahead == 's') ADVANCE(65); + if (lookahead == '1') ADVANCE(58); + if (lookahead == '3') ADVANCE(59); + if (lookahead == '6') ADVANCE(60); + if (lookahead == '8') ADVANCE(61); + if (lookahead == 'i') ADVANCE(62); + if (lookahead == 'n') ADVANCE(63); + if (lookahead == 's') ADVANCE(64); END_STATE(); case 19: - if (lookahead == 'a') ADVANCE(66); - if (lookahead == 'o') ADVANCE(67); + if (lookahead == 'a') ADVANCE(65); + if (lookahead == 'o') ADVANCE(66); END_STATE(); case 20: - if (lookahead == 'i') ADVANCE(68); + if (lookahead == 'i') ADVANCE(67); END_STATE(); case 21: if (lookahead == '\n') SKIP(0) END_STATE(); case 22: - if (lookahead == 'o') ADVANCE(69); + if (lookahead == 'o') ADVANCE(68); END_STATE(); case 23: - if (lookahead == 'l') ADVANCE(70); + if (lookahead == 'l') ADVANCE(69); END_STATE(); case 24: - if (lookahead == 'p') ADVANCE(71); + if (lookahead == 'p') ADVANCE(70); END_STATE(); case 25: - ACCEPT_TOKEN(anon_sym_as); - if (lookahead == 's') ADVANCE(72); + if (lookahead == 's') ADVANCE(71); END_STATE(); case 26: - if (lookahead == 'o') ADVANCE(73); + if (lookahead == 'o') ADVANCE(72); END_STATE(); case 27: - if (lookahead == 'e') ADVANCE(74); + if (lookahead == 'e') ADVANCE(73); END_STATE(); case 28: - if (lookahead == 's') ADVANCE(75); + if (lookahead == 's') ADVANCE(74); END_STATE(); case 29: - if (lookahead == 'a') ADVANCE(76); + if (lookahead == 'a') ADVANCE(75); END_STATE(); case 30: - if (lookahead == 'n') ADVANCE(77); + if (lookahead == 'n') ADVANCE(76); END_STATE(); case 31: - if (lookahead == 'f') ADVANCE(78); - if (lookahead == 'l') ADVANCE(79); + if (lookahead == 'f') ADVANCE(77); + if (lookahead == 'l') ADVANCE(78); END_STATE(); case 32: - if (lookahead == 's') ADVANCE(80); + if (lookahead == 's') ADVANCE(79); END_STATE(); case 33: - if (lookahead == 'u') ADVANCE(81); + if (lookahead == 'u') ADVANCE(80); END_STATE(); case 34: - if (lookahead == 'p') ADVANCE(82); + if (lookahead == 'p') ADVANCE(81); END_STATE(); case 35: - if (lookahead == '2') ADVANCE(83); + if (lookahead == '2') ADVANCE(82); END_STATE(); case 36: - if (lookahead == '4') ADVANCE(84); + if (lookahead == '4') ADVANCE(83); END_STATE(); case 37: - if (lookahead == 'l') ADVANCE(85); + if (lookahead == 'l') ADVANCE(84); END_STATE(); case 38: ACCEPT_TOKEN(anon_sym_fn); END_STATE(); case 39: - if (lookahead == 'r') ADVANCE(86); + if (lookahead == 'r') ADVANCE(85); END_STATE(); case 40: - if (lookahead == 'e') ADVANCE(87); + if (lookahead == 'e') ADVANCE(86); END_STATE(); case 41: - if (lookahead == '6') ADVANCE(88); + if (lookahead == '6') ADVANCE(87); END_STATE(); case 42: - if (lookahead == '2') ADVANCE(89); + if (lookahead == '2') ADVANCE(88); END_STATE(); case 43: - if (lookahead == '4') ADVANCE(90); + if (lookahead == '4') ADVANCE(89); END_STATE(); case 44: ACCEPT_TOKEN(anon_sym_i8); @@ -4365,469 +3713,466 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { ACCEPT_TOKEN(anon_sym_if); END_STATE(); case 46: - if (lookahead == 's') ADVANCE(91); - if (lookahead == 't') ADVANCE(92); + if (lookahead == 's') ADVANCE(90); + if (lookahead == 't') ADVANCE(91); END_STATE(); case 47: - ACCEPT_TOKEN(anon_sym_is); + if (lookahead == 'n') ADVANCE(92); + if (lookahead == 't') ADVANCE(93); END_STATE(); case 48: - if (lookahead == 'n') ADVANCE(93); if (lookahead == 't') ADVANCE(94); END_STATE(); case 49: - if (lookahead == 't') ADVANCE(95); + if (lookahead == 'l') ADVANCE(95); END_STATE(); case 50: - if (lookahead == 'l') ADVANCE(96); + if (lookahead == 'f') ADVANCE(96); END_STATE(); case 51: - if (lookahead == 'f') ADVANCE(97); + if (lookahead == 't') ADVANCE(97); END_STATE(); case 52: - if (lookahead == 't') ADVANCE(98); + if (lookahead == 'n') ADVANCE(98); END_STATE(); case 53: - if (lookahead == 'n') ADVANCE(99); + if (lookahead == 'z') ADVANCE(99); END_STATE(); case 54: - if (lookahead == 'z') ADVANCE(100); + if (lookahead == 'a') ADVANCE(100); + if (lookahead == 'r') ADVANCE(101); END_STATE(); case 55: - if (lookahead == 'a') ADVANCE(101); - if (lookahead == 'r') ADVANCE(102); + if (lookahead == 'i') ADVANCE(102); END_STATE(); case 56: - if (lookahead == 'i') ADVANCE(103); + if (lookahead == 'u') ADVANCE(103); END_STATE(); case 57: - if (lookahead == 'u') ADVANCE(104); + if (lookahead == 'p') ADVANCE(104); END_STATE(); case 58: - if (lookahead == 'p') ADVANCE(105); + if (lookahead == '6') ADVANCE(105); END_STATE(); case 59: - if (lookahead == '6') ADVANCE(106); + if (lookahead == '2') ADVANCE(106); END_STATE(); case 60: - if (lookahead == '2') ADVANCE(107); + if (lookahead == '4') ADVANCE(107); END_STATE(); case 61: - if (lookahead == '4') ADVANCE(108); + ACCEPT_TOKEN(anon_sym_u8); END_STATE(); case 62: - ACCEPT_TOKEN(anon_sym_u8); + if (lookahead == 'n') ADVANCE(108); END_STATE(); case 63: - if (lookahead == 'n') ADVANCE(109); + if (lookahead == 'i') ADVANCE(109); END_STATE(); case 64: - if (lookahead == 'i') ADVANCE(110); + if (lookahead == 'e') ADVANCE(110); END_STATE(); case 65: - if (lookahead == 'e') ADVANCE(111); + if (lookahead == 'a') ADVANCE(111); + if (lookahead == 'e') ADVANCE(112); + if (lookahead == 's') ADVANCE(113); END_STATE(); case 66: - if (lookahead == 'a') ADVANCE(112); - if (lookahead == 'e') ADVANCE(113); - if (lookahead == 's') ADVANCE(114); + if (lookahead == 'i') ADVANCE(114); END_STATE(); case 67: - if (lookahead == 'i') ADVANCE(115); + if (lookahead == 'e') ADVANCE(115); END_STATE(); case 68: - if (lookahead == 'e') ADVANCE(116); + if (lookahead == 'r') ADVANCE(116); END_STATE(); case 69: - if (lookahead == 'r') ADVANCE(117); + if (lookahead == 'o') ADVANCE(117); END_STATE(); case 70: - if (lookahead == 'o') ADVANCE(118); + if (lookahead == 'e') ADVANCE(118); END_STATE(); case 71: if (lookahead == 'e') ADVANCE(119); END_STATE(); case 72: - if (lookahead == 'e') ADVANCE(120); + if (lookahead == 'l') ADVANCE(120); END_STATE(); case 73: - if (lookahead == 'l') ADVANCE(121); + if (lookahead == 'a') ADVANCE(121); END_STATE(); case 74: - if (lookahead == 'a') ADVANCE(122); + if (lookahead == 'e') ADVANCE(122); END_STATE(); case 75: - if (lookahead == 'e') ADVANCE(123); + if (lookahead == 'r') ADVANCE(123); END_STATE(); case 76: - if (lookahead == 'r') ADVANCE(124); + if (lookahead == 's') ADVANCE(124); + if (lookahead == 't') ADVANCE(125); END_STATE(); case 77: - if (lookahead == 's') ADVANCE(125); - if (lookahead == 't') ADVANCE(126); + ACCEPT_TOKEN(anon_sym_def); + if (lookahead == 'e') ADVANCE(126); END_STATE(); case 78: - ACCEPT_TOKEN(anon_sym_def); if (lookahead == 'e') ADVANCE(127); END_STATE(); case 79: if (lookahead == 'e') ADVANCE(128); END_STATE(); case 80: - if (lookahead == 'e') ADVANCE(129); + if (lookahead == 'm') ADVANCE(129); END_STATE(); case 81: - if (lookahead == 'm') ADVANCE(130); + if (lookahead == 'o') ADVANCE(130); END_STATE(); case 82: - if (lookahead == 'o') ADVANCE(131); + ACCEPT_TOKEN(anon_sym_f32); END_STATE(); case 83: - ACCEPT_TOKEN(anon_sym_f32); + ACCEPT_TOKEN(anon_sym_f64); END_STATE(); case 84: - ACCEPT_TOKEN(anon_sym_f64); + if (lookahead == 's') ADVANCE(131); END_STATE(); case 85: - if (lookahead == 's') ADVANCE(132); + ACCEPT_TOKEN(anon_sym_for); END_STATE(); case 86: - ACCEPT_TOKEN(anon_sym_for); + if (lookahead == 'e') ADVANCE(132); END_STATE(); case 87: - if (lookahead == 'e') ADVANCE(133); + ACCEPT_TOKEN(anon_sym_i16); END_STATE(); case 88: - ACCEPT_TOKEN(anon_sym_i16); + ACCEPT_TOKEN(anon_sym_i32); END_STATE(); case 89: - ACCEPT_TOKEN(anon_sym_i32); + ACCEPT_TOKEN(anon_sym_i64); END_STATE(); case 90: - ACCEPT_TOKEN(anon_sym_i64); + if (lookahead == 'e') ADVANCE(133); END_STATE(); case 91: - if (lookahead == 'e') ADVANCE(134); + ACCEPT_TOKEN(anon_sym_int); END_STATE(); case 92: - ACCEPT_TOKEN(anon_sym_int); + ACCEPT_TOKEN(anon_sym_len); END_STATE(); case 93: - ACCEPT_TOKEN(anon_sym_len); + ACCEPT_TOKEN(anon_sym_let); END_STATE(); case 94: - ACCEPT_TOKEN(anon_sym_let); + if (lookahead == 'c') ADVANCE(134); END_STATE(); case 95: - if (lookahead == 'c') ADVANCE(135); + if (lookahead == 'l') ADVANCE(135); END_STATE(); case 96: - if (lookahead == 'l') ADVANCE(136); + if (lookahead == 's') ADVANCE(136); END_STATE(); case 97: - if (lookahead == 's') ADVANCE(137); + if (lookahead == 'u') ADVANCE(137); END_STATE(); case 98: - if (lookahead == 'u') ADVANCE(138); + if (lookahead == 'e') ADVANCE(138); END_STATE(); case 99: if (lookahead == 'e') ADVANCE(139); END_STATE(); case 100: - if (lookahead == 'e') ADVANCE(140); + if (lookahead == 't') ADVANCE(140); END_STATE(); case 101: - if (lookahead == 't') ADVANCE(141); + ACCEPT_TOKEN(anon_sym_str); + if (lookahead == 'u') ADVANCE(141); END_STATE(); case 102: - ACCEPT_TOKEN(anon_sym_str); - if (lookahead == 'u') ADVANCE(142); + if (lookahead == 't') ADVANCE(142); END_STATE(); case 103: - if (lookahead == 't') ADVANCE(143); + if (lookahead == 'e') ADVANCE(143); END_STATE(); case 104: if (lookahead == 'e') ADVANCE(144); END_STATE(); case 105: - if (lookahead == 'e') ADVANCE(145); + ACCEPT_TOKEN(anon_sym_u16); END_STATE(); case 106: - ACCEPT_TOKEN(anon_sym_u16); + ACCEPT_TOKEN(anon_sym_u32); END_STATE(); case 107: - ACCEPT_TOKEN(anon_sym_u32); + ACCEPT_TOKEN(anon_sym_u64); END_STATE(); case 108: - ACCEPT_TOKEN(anon_sym_u64); + if (lookahead == 't') ADVANCE(145); END_STATE(); case 109: - if (lookahead == 't') ADVANCE(146); + if (lookahead == 'o') ADVANCE(146); END_STATE(); case 110: - if (lookahead == 'o') ADVANCE(147); + ACCEPT_TOKEN(anon_sym_use); END_STATE(); case 111: - ACCEPT_TOKEN(anon_sym_use); + if (lookahead == 'r') ADVANCE(147); END_STATE(); case 112: - if (lookahead == 'r') ADVANCE(148); + if (lookahead == 'n') ADVANCE(148); END_STATE(); case 113: - if (lookahead == 'n') ADVANCE(149); + if (lookahead == 't') ADVANCE(149); END_STATE(); case 114: - if (lookahead == 't') ADVANCE(150); + if (lookahead == 'd') ADVANCE(150); END_STATE(); case 115: - if (lookahead == 'd') ADVANCE(151); + if (lookahead == 'l') ADVANCE(151); END_STATE(); case 116: - if (lookahead == 'l') ADVANCE(152); + if (lookahead == 't') ADVANCE(152); END_STATE(); case 117: - if (lookahead == 't') ADVANCE(153); + if (lookahead == 'c') ADVANCE(153); END_STATE(); case 118: - if (lookahead == 'c') ADVANCE(154); + if (lookahead == 'n') ADVANCE(154); END_STATE(); case 119: - if (lookahead == 'n') ADVANCE(155); + if (lookahead == 'r') ADVANCE(155); END_STATE(); case 120: - if (lookahead == 'r') ADVANCE(156); + ACCEPT_TOKEN(anon_sym_bool); END_STATE(); case 121: - ACCEPT_TOKEN(anon_sym_bool); + if (lookahead == 'k') ADVANCE(156); END_STATE(); case 122: - if (lookahead == 'k') ADVANCE(157); + ACCEPT_TOKEN(anon_sym_case); END_STATE(); case 123: - ACCEPT_TOKEN(anon_sym_case); + ACCEPT_TOKEN(anon_sym_char); END_STATE(); case 124: - ACCEPT_TOKEN(anon_sym_char); + if (lookahead == 't') ADVANCE(157); END_STATE(); case 125: - if (lookahead == 't') ADVANCE(158); + if (lookahead == 'i') ADVANCE(158); END_STATE(); case 126: - if (lookahead == 'i') ADVANCE(159); + if (lookahead == 'r') ADVANCE(159); END_STATE(); case 127: - if (lookahead == 'r') ADVANCE(160); + if (lookahead == 't') ADVANCE(160); END_STATE(); case 128: - if (lookahead == 't') ADVANCE(161); + ACCEPT_TOKEN(anon_sym_else); END_STATE(); case 129: - ACCEPT_TOKEN(anon_sym_else); + ACCEPT_TOKEN(anon_sym_enum); END_STATE(); case 130: - ACCEPT_TOKEN(anon_sym_enum); + if (lookahead == 'r') ADVANCE(161); END_STATE(); case 131: - if (lookahead == 'r') ADVANCE(162); + if (lookahead == 'e') ADVANCE(162); END_STATE(); case 132: - if (lookahead == 'e') ADVANCE(163); + ACCEPT_TOKEN(anon_sym_free); END_STATE(); case 133: - ACCEPT_TOKEN(anon_sym_free); + if (lookahead == 'r') ADVANCE(163); END_STATE(); case 134: - if (lookahead == 'r') ADVANCE(164); + if (lookahead == 'h') ADVANCE(164); END_STATE(); case 135: - if (lookahead == 'h') ADVANCE(165); + ACCEPT_TOKEN(anon_sym_null); + if (lookahead == 'a') ADVANCE(165); END_STATE(); case 136: - ACCEPT_TOKEN(anon_sym_null); - if (lookahead == 'a') ADVANCE(166); + if (lookahead == 'e') ADVANCE(166); END_STATE(); case 137: - if (lookahead == 'e') ADVANCE(167); + if (lookahead == 'r') ADVANCE(167); END_STATE(); case 138: - if (lookahead == 'r') ADVANCE(168); + ACCEPT_TOKEN(anon_sym_rune); END_STATE(); case 139: - ACCEPT_TOKEN(anon_sym_rune); + ACCEPT_TOKEN(anon_sym_size); END_STATE(); case 140: - ACCEPT_TOKEN(anon_sym_size); + if (lookahead == 'i') ADVANCE(168); END_STATE(); case 141: - if (lookahead == 'i') ADVANCE(169); + if (lookahead == 'c') ADVANCE(169); END_STATE(); case 142: if (lookahead == 'c') ADVANCE(170); END_STATE(); case 143: - if (lookahead == 'c') ADVANCE(171); + ACCEPT_TOKEN(anon_sym_true); END_STATE(); case 144: - ACCEPT_TOKEN(anon_sym_true); + ACCEPT_TOKEN(anon_sym_type); END_STATE(); case 145: - ACCEPT_TOKEN(anon_sym_type); + ACCEPT_TOKEN(anon_sym_uint); + if (lookahead == 'p') ADVANCE(171); END_STATE(); case 146: - ACCEPT_TOKEN(anon_sym_uint); - if (lookahead == 'p') ADVANCE(172); + if (lookahead == 'n') ADVANCE(172); END_STATE(); case 147: - if (lookahead == 'n') ADVANCE(173); + if (lookahead == 'g') ADVANCE(173); END_STATE(); case 148: - if (lookahead == 'g') ADVANCE(174); + if (lookahead == 'd') ADVANCE(174); END_STATE(); case 149: - if (lookahead == 'd') ADVANCE(175); + if (lookahead == 'a') ADVANCE(175); END_STATE(); case 150: - if (lookahead == 'a') ADVANCE(176); + ACCEPT_TOKEN(anon_sym_void); END_STATE(); case 151: - ACCEPT_TOKEN(anon_sym_void); + if (lookahead == 'd') ADVANCE(176); END_STATE(); case 152: - if (lookahead == 'd') ADVANCE(177); + ACCEPT_TOKEN(anon_sym_abort); END_STATE(); case 153: - ACCEPT_TOKEN(anon_sym_abort); + ACCEPT_TOKEN(anon_sym_alloc); END_STATE(); case 154: - ACCEPT_TOKEN(anon_sym_alloc); + if (lookahead == 'd') ADVANCE(177); END_STATE(); case 155: - if (lookahead == 'd') ADVANCE(178); + if (lookahead == 't') ADVANCE(178); END_STATE(); case 156: - if (lookahead == 't') ADVANCE(179); + ACCEPT_TOKEN(anon_sym_break); END_STATE(); case 157: - ACCEPT_TOKEN(anon_sym_break); + ACCEPT_TOKEN(anon_sym_const); END_STATE(); case 158: - ACCEPT_TOKEN(anon_sym_const); + if (lookahead == 'n') ADVANCE(179); END_STATE(); case 159: - if (lookahead == 'n') ADVANCE(180); + ACCEPT_TOKEN(anon_sym_defer); END_STATE(); case 160: - ACCEPT_TOKEN(anon_sym_defer); + if (lookahead == 'e') ADVANCE(180); END_STATE(); case 161: - if (lookahead == 'e') ADVANCE(181); + if (lookahead == 't') ADVANCE(181); END_STATE(); case 162: - if (lookahead == 't') ADVANCE(182); + ACCEPT_TOKEN(anon_sym_false); END_STATE(); case 163: - ACCEPT_TOKEN(anon_sym_false); + if (lookahead == 't') ADVANCE(182); END_STATE(); case 164: - if (lookahead == 't') ADVANCE(183); + ACCEPT_TOKEN(anon_sym_match); END_STATE(); case 165: - ACCEPT_TOKEN(anon_sym_match); + if (lookahead == 'b') ADVANCE(183); END_STATE(); case 166: - if (lookahead == 'b') ADVANCE(184); + if (lookahead == 't') ADVANCE(184); END_STATE(); case 167: - if (lookahead == 't') ADVANCE(185); + if (lookahead == 'n') ADVANCE(185); END_STATE(); case 168: - if (lookahead == 'n') ADVANCE(186); + if (lookahead == 'c') ADVANCE(186); END_STATE(); case 169: - if (lookahead == 'c') ADVANCE(187); + if (lookahead == 't') ADVANCE(187); END_STATE(); case 170: - if (lookahead == 't') ADVANCE(188); + if (lookahead == 'h') ADVANCE(188); END_STATE(); case 171: - if (lookahead == 'h') ADVANCE(189); + if (lookahead == 't') ADVANCE(189); END_STATE(); case 172: - if (lookahead == 't') ADVANCE(190); + ACCEPT_TOKEN(anon_sym_union); END_STATE(); case 173: - ACCEPT_TOKEN(anon_sym_union); + ACCEPT_TOKEN(anon_sym_vaarg); END_STATE(); case 174: - ACCEPT_TOKEN(anon_sym_vaarg); + ACCEPT_TOKEN(anon_sym_vaend); END_STATE(); case 175: - ACCEPT_TOKEN(anon_sym_vaend); + if (lookahead == 'r') ADVANCE(190); END_STATE(); case 176: - if (lookahead == 'r') ADVANCE(191); + ACCEPT_TOKEN(anon_sym_yield); END_STATE(); case 177: - ACCEPT_TOKEN(anon_sym_yield); + ACCEPT_TOKEN(anon_sym_append); END_STATE(); case 178: - ACCEPT_TOKEN(anon_sym_append); + ACCEPT_TOKEN(anon_sym_assert); END_STATE(); case 179: - ACCEPT_TOKEN(anon_sym_assert); + if (lookahead == 'u') ADVANCE(191); END_STATE(); case 180: - if (lookahead == 'u') ADVANCE(192); + ACCEPT_TOKEN(anon_sym_delete); END_STATE(); case 181: - ACCEPT_TOKEN(anon_sym_delete); + ACCEPT_TOKEN(anon_sym_export); END_STATE(); case 182: - ACCEPT_TOKEN(anon_sym_export); + ACCEPT_TOKEN(anon_sym_insert); END_STATE(); case 183: - ACCEPT_TOKEN(anon_sym_insert); + if (lookahead == 'l') ADVANCE(192); END_STATE(); case 184: - if (lookahead == 'l') ADVANCE(193); + ACCEPT_TOKEN(anon_sym_offset); END_STATE(); case 185: - ACCEPT_TOKEN(anon_sym_offset); + ACCEPT_TOKEN(anon_sym_return); END_STATE(); case 186: - ACCEPT_TOKEN(anon_sym_return); + ACCEPT_TOKEN(anon_sym_static); END_STATE(); case 187: - ACCEPT_TOKEN(anon_sym_static); + ACCEPT_TOKEN(anon_sym_struct); END_STATE(); case 188: - ACCEPT_TOKEN(anon_sym_struct); + ACCEPT_TOKEN(anon_sym_switch); END_STATE(); case 189: - ACCEPT_TOKEN(anon_sym_switch); + if (lookahead == 'r') ADVANCE(193); END_STATE(); case 190: - if (lookahead == 'r') ADVANCE(194); + if (lookahead == 't') ADVANCE(194); END_STATE(); case 191: - if (lookahead == 't') ADVANCE(195); + if (lookahead == 'e') ADVANCE(195); END_STATE(); case 192: if (lookahead == 'e') ADVANCE(196); END_STATE(); case 193: - if (lookahead == 'e') ADVANCE(197); - END_STATE(); - case 194: ACCEPT_TOKEN(anon_sym_uintptr); END_STATE(); - case 195: + case 194: ACCEPT_TOKEN(anon_sym_vastart); END_STATE(); - case 196: + case 195: ACCEPT_TOKEN(anon_sym_continue); END_STATE(); - case 197: + case 196: ACCEPT_TOKEN(anon_sym_nullable); END_STATE(); default: @@ -4838,440 +4183,440 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, [1] = {.lex_state = 0}, - [2] = {.lex_state = 25}, - [3] = {.lex_state = 25}, - [4] = {.lex_state = 26}, - [5] = {.lex_state = 25}, - [6] = {.lex_state = 25}, - [7] = {.lex_state = 25}, - [8] = {.lex_state = 26}, - [9] = {.lex_state = 25}, - [10] = {.lex_state = 25}, - [11] = {.lex_state = 25}, - [12] = {.lex_state = 25}, - [13] = {.lex_state = 25}, - [14] = {.lex_state = 25}, - [15] = {.lex_state = 25}, - [16] = {.lex_state = 25}, - [17] = {.lex_state = 25}, - [18] = {.lex_state = 25}, - [19] = {.lex_state = 25}, - [20] = {.lex_state = 25}, - [21] = {.lex_state = 25}, - [22] = {.lex_state = 25}, - [23] = {.lex_state = 25}, - [24] = {.lex_state = 25}, - [25] = {.lex_state = 25}, - [26] = {.lex_state = 25}, - [27] = {.lex_state = 25}, - [28] = {.lex_state = 25}, - [29] = {.lex_state = 25}, - [30] = {.lex_state = 25}, - [31] = {.lex_state = 25}, - [32] = {.lex_state = 25}, - [33] = {.lex_state = 27}, - [34] = {.lex_state = 25}, - [35] = {.lex_state = 27}, - [36] = {.lex_state = 25}, - [37] = {.lex_state = 25}, - [38] = {.lex_state = 25}, - [39] = {.lex_state = 27}, - [40] = {.lex_state = 25}, - [41] = {.lex_state = 27}, - [42] = {.lex_state = 25}, - [43] = {.lex_state = 25}, - [44] = {.lex_state = 25}, - [45] = {.lex_state = 25}, - [46] = {.lex_state = 25}, - [47] = {.lex_state = 25}, - [48] = {.lex_state = 25}, - [49] = {.lex_state = 25}, - [50] = {.lex_state = 25}, - [51] = {.lex_state = 25}, - [52] = {.lex_state = 25}, - [53] = {.lex_state = 25}, - [54] = {.lex_state = 25}, - [55] = {.lex_state = 25}, - [56] = {.lex_state = 25}, - [57] = {.lex_state = 25}, - [58] = {.lex_state = 25}, - [59] = {.lex_state = 25}, - [60] = {.lex_state = 25}, - [61] = {.lex_state = 25}, - [62] = {.lex_state = 25}, - [63] = {.lex_state = 25}, - [64] = {.lex_state = 25}, - [65] = {.lex_state = 25}, - [66] = {.lex_state = 25}, - [67] = {.lex_state = 25}, - [68] = {.lex_state = 25}, - [69] = {.lex_state = 25}, - [70] = {.lex_state = 25}, - [71] = {.lex_state = 25}, - [72] = {.lex_state = 25}, - [73] = {.lex_state = 25}, - [74] = {.lex_state = 25}, - [75] = {.lex_state = 25}, - [76] = {.lex_state = 25}, - [77] = {.lex_state = 25}, - [78] = {.lex_state = 25}, - [79] = {.lex_state = 25}, - [80] = {.lex_state = 25}, - [81] = {.lex_state = 25}, - [82] = {.lex_state = 25}, - [83] = {.lex_state = 25}, - [84] = {.lex_state = 25}, - [85] = {.lex_state = 25}, - [86] = {.lex_state = 25}, - [87] = {.lex_state = 25}, - [88] = {.lex_state = 25}, - [89] = {.lex_state = 25}, - [90] = {.lex_state = 25}, - [91] = {.lex_state = 25}, - [92] = {.lex_state = 25}, - [93] = {.lex_state = 25}, - [94] = {.lex_state = 25}, - [95] = {.lex_state = 25}, - [96] = {.lex_state = 25}, - [97] = {.lex_state = 25}, - [98] = {.lex_state = 25}, - [99] = {.lex_state = 25}, - [100] = {.lex_state = 25}, - [101] = {.lex_state = 25}, - [102] = {.lex_state = 25}, - [103] = {.lex_state = 25}, - [104] = {.lex_state = 25}, - [105] = {.lex_state = 25}, - [106] = {.lex_state = 25}, - [107] = {.lex_state = 25}, - [108] = {.lex_state = 25}, - [109] = {.lex_state = 25}, - [110] = {.lex_state = 25}, - [111] = {.lex_state = 25}, - [112] = {.lex_state = 25}, - [113] = {.lex_state = 25}, - [114] = {.lex_state = 25}, - [115] = {.lex_state = 25}, - [116] = {.lex_state = 25}, - [117] = {.lex_state = 25}, - [118] = {.lex_state = 25}, - [119] = {.lex_state = 25}, - [120] = {.lex_state = 25}, - [121] = {.lex_state = 25}, - [122] = {.lex_state = 25}, - [123] = {.lex_state = 25}, - [124] = {.lex_state = 25}, - [125] = {.lex_state = 25}, - [126] = {.lex_state = 25}, - [127] = {.lex_state = 25}, - [128] = {.lex_state = 25}, - [129] = {.lex_state = 25}, - [130] = {.lex_state = 25}, - [131] = {.lex_state = 25}, - [132] = {.lex_state = 25}, - [133] = {.lex_state = 25}, - [134] = {.lex_state = 25}, - [135] = {.lex_state = 25}, - [136] = {.lex_state = 25}, - [137] = {.lex_state = 25}, - [138] = {.lex_state = 25}, - [139] = {.lex_state = 25}, - [140] = {.lex_state = 25}, - [141] = {.lex_state = 25}, - [142] = {.lex_state = 25}, - [143] = {.lex_state = 25}, - [144] = {.lex_state = 25}, - [145] = {.lex_state = 25}, - [146] = {.lex_state = 25}, - [147] = {.lex_state = 25}, - [148] = {.lex_state = 25}, - [149] = {.lex_state = 25}, - [150] = {.lex_state = 25}, - [151] = {.lex_state = 22}, - [152] = {.lex_state = 22}, - [153] = {.lex_state = 22}, - [154] = {.lex_state = 22}, - [155] = {.lex_state = 22}, - [156] = {.lex_state = 22}, - [157] = {.lex_state = 22}, - [158] = {.lex_state = 22}, - [159] = {.lex_state = 22}, - [160] = {.lex_state = 22}, - [161] = {.lex_state = 22}, - [162] = {.lex_state = 22}, - [163] = {.lex_state = 22}, - [164] = {.lex_state = 22}, + [2] = {.lex_state = 18}, + [3] = {.lex_state = 19}, + [4] = {.lex_state = 19}, + [5] = {.lex_state = 18}, + [6] = {.lex_state = 20}, + [7] = {.lex_state = 20}, + [8] = {.lex_state = 20}, + [9] = {.lex_state = 20}, + [10] = {.lex_state = 20}, + [11] = {.lex_state = 20}, + [12] = {.lex_state = 20}, + [13] = {.lex_state = 20}, + [14] = {.lex_state = 20}, + [15] = {.lex_state = 20}, + [16] = {.lex_state = 20}, + [17] = {.lex_state = 20}, + [18] = {.lex_state = 20}, + [19] = {.lex_state = 20}, + [20] = {.lex_state = 20}, + [21] = {.lex_state = 20}, + [22] = {.lex_state = 20}, + [23] = {.lex_state = 20}, + [24] = {.lex_state = 20}, + [25] = {.lex_state = 20}, + [26] = {.lex_state = 20}, + [27] = {.lex_state = 20}, + [28] = {.lex_state = 20}, + [29] = {.lex_state = 20}, + [30] = {.lex_state = 20}, + [31] = {.lex_state = 20}, + [32] = {.lex_state = 20}, + [33] = {.lex_state = 20}, + [34] = {.lex_state = 20}, + [35] = {.lex_state = 20}, + [36] = {.lex_state = 20}, + [37] = {.lex_state = 20}, + [38] = {.lex_state = 20}, + [39] = {.lex_state = 20}, + [40] = {.lex_state = 20}, + [41] = {.lex_state = 20}, + [42] = {.lex_state = 20}, + [43] = {.lex_state = 20}, + [44] = {.lex_state = 20}, + [45] = {.lex_state = 20}, + [46] = {.lex_state = 20}, + [47] = {.lex_state = 20}, + [48] = {.lex_state = 20}, + [49] = {.lex_state = 20}, + [50] = {.lex_state = 20}, + [51] = {.lex_state = 20}, + [52] = {.lex_state = 20}, + [53] = {.lex_state = 20}, + [54] = {.lex_state = 20}, + [55] = {.lex_state = 20}, + [56] = {.lex_state = 20}, + [57] = {.lex_state = 20}, + [58] = {.lex_state = 20}, + [59] = {.lex_state = 20}, + [60] = {.lex_state = 20}, + [61] = {.lex_state = 20}, + [62] = {.lex_state = 20}, + [63] = {.lex_state = 20}, + [64] = {.lex_state = 20}, + [65] = {.lex_state = 20}, + [66] = {.lex_state = 20}, + [67] = {.lex_state = 20}, + [68] = {.lex_state = 20}, + [69] = {.lex_state = 20}, + [70] = {.lex_state = 20}, + [71] = {.lex_state = 20}, + [72] = {.lex_state = 20}, + [73] = {.lex_state = 20}, + [74] = {.lex_state = 20}, + [75] = {.lex_state = 20}, + [76] = {.lex_state = 20}, + [77] = {.lex_state = 20}, + [78] = {.lex_state = 20}, + [79] = {.lex_state = 20}, + [80] = {.lex_state = 20}, + [81] = {.lex_state = 20}, + [82] = {.lex_state = 20}, + [83] = {.lex_state = 20}, + [84] = {.lex_state = 20}, + [85] = {.lex_state = 20}, + [86] = {.lex_state = 20}, + [87] = {.lex_state = 20}, + [88] = {.lex_state = 20}, + [89] = {.lex_state = 20}, + [90] = {.lex_state = 20}, + [91] = {.lex_state = 20}, + [92] = {.lex_state = 20}, + [93] = {.lex_state = 20}, + [94] = {.lex_state = 20}, + [95] = {.lex_state = 20}, + [96] = {.lex_state = 20}, + [97] = {.lex_state = 20}, + [98] = {.lex_state = 20}, + [99] = {.lex_state = 20}, + [100] = {.lex_state = 20}, + [101] = {.lex_state = 20}, + [102] = {.lex_state = 20}, + [103] = {.lex_state = 20}, + [104] = {.lex_state = 20}, + [105] = {.lex_state = 20}, + [106] = {.lex_state = 20}, + [107] = {.lex_state = 20}, + [108] = {.lex_state = 20}, + [109] = {.lex_state = 20}, + [110] = {.lex_state = 20}, + [111] = {.lex_state = 20}, + [112] = {.lex_state = 20}, + [113] = {.lex_state = 19}, + [114] = {.lex_state = 19}, + [115] = {.lex_state = 19}, + [116] = {.lex_state = 19}, + [117] = {.lex_state = 19}, + [118] = {.lex_state = 19}, + [119] = {.lex_state = 19}, + [120] = {.lex_state = 19}, + [121] = {.lex_state = 19}, + [122] = {.lex_state = 19}, + [123] = {.lex_state = 19}, + [124] = {.lex_state = 19}, + [125] = {.lex_state = 19}, + [126] = {.lex_state = 19}, + [127] = {.lex_state = 19}, + [128] = {.lex_state = 19}, + [129] = {.lex_state = 19}, + [130] = {.lex_state = 19}, + [131] = {.lex_state = 19}, + [132] = {.lex_state = 19}, + [133] = {.lex_state = 19}, + [134] = {.lex_state = 19}, + [135] = {.lex_state = 19}, + [136] = {.lex_state = 19}, + [137] = {.lex_state = 19}, + [138] = {.lex_state = 19}, + [139] = {.lex_state = 19}, + [140] = {.lex_state = 19}, + [141] = {.lex_state = 19}, + [142] = {.lex_state = 19}, + [143] = {.lex_state = 20}, + [144] = {.lex_state = 19}, + [145] = {.lex_state = 19}, + [146] = {.lex_state = 21}, + [147] = {.lex_state = 21}, + [148] = {.lex_state = 21}, + [149] = {.lex_state = 21}, + [150] = {.lex_state = 21}, + [151] = {.lex_state = 21}, + [152] = {.lex_state = 21}, + [153] = {.lex_state = 21}, + [154] = {.lex_state = 21}, + [155] = {.lex_state = 21}, + [156] = {.lex_state = 21}, + [157] = {.lex_state = 0}, + [158] = {.lex_state = 0}, + [159] = {.lex_state = 0}, + [160] = {.lex_state = 21}, + [161] = {.lex_state = 21}, + [162] = {.lex_state = 21}, + [163] = {.lex_state = 0}, + [164] = {.lex_state = 0}, [165] = {.lex_state = 0}, [166] = {.lex_state = 0}, [167] = {.lex_state = 0}, [168] = {.lex_state = 0}, [169] = {.lex_state = 0}, [170] = {.lex_state = 0}, - [171] = {.lex_state = 0}, - [172] = {.lex_state = 0}, - [173] = {.lex_state = 0}, - [174] = {.lex_state = 0}, - [175] = {.lex_state = 0}, - [176] = {.lex_state = 0}, - [177] = {.lex_state = 0}, - [178] = {.lex_state = 0}, - [179] = {.lex_state = 0}, - [180] = {.lex_state = 0}, - [181] = {.lex_state = 0}, - [182] = {.lex_state = 0}, - [183] = {.lex_state = 0}, - [184] = {.lex_state = 0}, - [185] = {.lex_state = 0}, - [186] = {.lex_state = 0}, - [187] = {.lex_state = 0}, - [188] = {.lex_state = 0}, - [189] = {.lex_state = 0}, - [190] = {.lex_state = 0}, - [191] = {.lex_state = 0}, - [192] = {.lex_state = 0}, - [193] = {.lex_state = 0}, - [194] = {.lex_state = 0}, - [195] = {.lex_state = 0}, - [196] = {.lex_state = 0}, - [197] = {.lex_state = 0}, - [198] = {.lex_state = 0}, + [171] = {.lex_state = 18}, + [172] = {.lex_state = 18}, + [173] = {.lex_state = 18}, + [174] = {.lex_state = 18}, + [175] = {.lex_state = 18}, + [176] = {.lex_state = 18}, + [177] = {.lex_state = 18}, + [178] = {.lex_state = 18}, + [179] = {.lex_state = 18}, + [180] = {.lex_state = 18}, + [181] = {.lex_state = 18}, + [182] = {.lex_state = 18}, + [183] = {.lex_state = 18}, + [184] = {.lex_state = 18}, + [185] = {.lex_state = 18}, + [186] = {.lex_state = 18}, + [187] = {.lex_state = 18}, + [188] = {.lex_state = 18}, + [189] = {.lex_state = 18}, + [190] = {.lex_state = 18}, + [191] = {.lex_state = 18}, + [192] = {.lex_state = 18}, + [193] = {.lex_state = 18}, + [194] = {.lex_state = 18}, + [195] = {.lex_state = 18}, + [196] = {.lex_state = 18}, + [197] = {.lex_state = 18}, + [198] = {.lex_state = 18}, [199] = {.lex_state = 0}, - [200] = {.lex_state = 0}, - [201] = {.lex_state = 0}, - [202] = {.lex_state = 25}, - [203] = {.lex_state = 25}, - [204] = {.lex_state = 25}, - [205] = {.lex_state = 25}, - [206] = {.lex_state = 25}, - [207] = {.lex_state = 25}, - [208] = {.lex_state = 25}, - [209] = {.lex_state = 25}, - [210] = {.lex_state = 25}, - [211] = {.lex_state = 25}, - [212] = {.lex_state = 25}, - [213] = {.lex_state = 25}, - [214] = {.lex_state = 25}, - [215] = {.lex_state = 25}, - [216] = {.lex_state = 25}, - [217] = {.lex_state = 25}, - [218] = {.lex_state = 25}, - [219] = {.lex_state = 25}, - [220] = {.lex_state = 25}, - [221] = {.lex_state = 25}, - [222] = {.lex_state = 25}, - [223] = {.lex_state = 25}, - [224] = {.lex_state = 25}, - [225] = {.lex_state = 25}, - [226] = {.lex_state = 25}, - [227] = {.lex_state = 25}, - [228] = {.lex_state = 25}, - [229] = {.lex_state = 25}, - [230] = {.lex_state = 25}, - [231] = {.lex_state = 0}, - [232] = {.lex_state = 25}, - [233] = {.lex_state = 25}, - [234] = {.lex_state = 25}, - [235] = {.lex_state = 25}, - [236] = {.lex_state = 25}, - [237] = {.lex_state = 25}, - [238] = {.lex_state = 25}, - [239] = {.lex_state = 25}, - [240] = {.lex_state = 25}, - [241] = {.lex_state = 25}, - [242] = {.lex_state = 25}, - [243] = {.lex_state = 0}, + [200] = {.lex_state = 18}, + [201] = {.lex_state = 18}, + [202] = {.lex_state = 18}, + [203] = {.lex_state = 18}, + [204] = {.lex_state = 18}, + [205] = {.lex_state = 18}, + [206] = {.lex_state = 18}, + [207] = {.lex_state = 18}, + [208] = {.lex_state = 18}, + [209] = {.lex_state = 18}, + [210] = {.lex_state = 18}, + [211] = {.lex_state = 18}, + [212] = {.lex_state = 18}, + [213] = {.lex_state = 18}, + [214] = {.lex_state = 18}, + [215] = {.lex_state = 18}, + [216] = {.lex_state = 18}, + [217] = {.lex_state = 18}, + [218] = {.lex_state = 18}, + [219] = {.lex_state = 18}, + [220] = {.lex_state = 18}, + [221] = {.lex_state = 18}, + [222] = {.lex_state = 18}, + [223] = {.lex_state = 18}, + [224] = {.lex_state = 18}, + [225] = {.lex_state = 18}, + [226] = {.lex_state = 18}, + [227] = {.lex_state = 18}, + [228] = {.lex_state = 18}, + [229] = {.lex_state = 18}, + [230] = {.lex_state = 18}, + [231] = {.lex_state = 18}, + [232] = {.lex_state = 18}, + [233] = {.lex_state = 18}, + [234] = {.lex_state = 19}, + [235] = {.lex_state = 19}, + [236] = {.lex_state = 19}, + [237] = {.lex_state = 19}, + [238] = {.lex_state = 0}, + [239] = {.lex_state = 0}, + [240] = {.lex_state = 19}, + [241] = {.lex_state = 19}, + [242] = {.lex_state = 19}, + [243] = {.lex_state = 19}, [244] = {.lex_state = 0}, - [245] = {.lex_state = 0}, - [246] = {.lex_state = 0}, - [247] = {.lex_state = 0}, - [248] = {.lex_state = 0}, - [249] = {.lex_state = 0}, - [250] = {.lex_state = 0}, - [251] = {.lex_state = 0}, - [252] = {.lex_state = 0}, - [253] = {.lex_state = 0}, - [254] = {.lex_state = 0}, - [255] = {.lex_state = 0}, - [256] = {.lex_state = 0}, - [257] = {.lex_state = 0}, - [258] = {.lex_state = 0}, - [259] = {.lex_state = 0}, - [260] = {.lex_state = 0}, - [261] = {.lex_state = 0}, - [262] = {.lex_state = 0}, - [263] = {.lex_state = 0}, - [264] = {.lex_state = 0}, - [265] = {.lex_state = 0}, - [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 = 0}, - [273] = {.lex_state = 0}, - [274] = {.lex_state = 25}, - [275] = {.lex_state = 29}, - [276] = {.lex_state = 0}, - [277] = {.lex_state = 25}, - [278] = {.lex_state = 25}, - [279] = {.lex_state = 25}, - [280] = {.lex_state = 23}, - [281] = {.lex_state = 25}, - [282] = {.lex_state = 23}, - [283] = {.lex_state = 23}, - [284] = {.lex_state = 25}, - [285] = {.lex_state = 23}, - [286] = {.lex_state = 29}, - [287] = {.lex_state = 25}, - [288] = {.lex_state = 23}, - [289] = {.lex_state = 0}, - [290] = {.lex_state = 23}, - [291] = {.lex_state = 23}, - [292] = {.lex_state = 23}, - [293] = {.lex_state = 23}, - [294] = {.lex_state = 23}, - [295] = {.lex_state = 23}, - [296] = {.lex_state = 23}, - [297] = {.lex_state = 23}, - [298] = {.lex_state = 23}, - [299] = {.lex_state = 23}, - [300] = {.lex_state = 23}, - [301] = {.lex_state = 23}, - [302] = {.lex_state = 23}, - [303] = {.lex_state = 23}, - [304] = {.lex_state = 23}, - [305] = {.lex_state = 23}, - [306] = {.lex_state = 23}, - [307] = {.lex_state = 23}, - [308] = {.lex_state = 23}, - [309] = {.lex_state = 23}, - [310] = {.lex_state = 23}, - [311] = {.lex_state = 23}, - [312] = {.lex_state = 23}, + [245] = {.lex_state = 19}, + [246] = {.lex_state = 19}, + [247] = {.lex_state = 18}, + [248] = {.lex_state = 19}, + [249] = {.lex_state = 19}, + [250] = {.lex_state = 18}, + [251] = {.lex_state = 18}, + [252] = {.lex_state = 18}, + [253] = {.lex_state = 18}, + [254] = {.lex_state = 18}, + [255] = {.lex_state = 18}, + [256] = {.lex_state = 18}, + [257] = {.lex_state = 18}, + [258] = {.lex_state = 18}, + [259] = {.lex_state = 18}, + [260] = {.lex_state = 18}, + [261] = {.lex_state = 18}, + [262] = {.lex_state = 18}, + [263] = {.lex_state = 19}, + [264] = {.lex_state = 18}, + [265] = {.lex_state = 18}, + [266] = {.lex_state = 18}, + [267] = {.lex_state = 19}, + [268] = {.lex_state = 18}, + [269] = {.lex_state = 19}, + [270] = {.lex_state = 18}, + [271] = {.lex_state = 18}, + [272] = {.lex_state = 18}, + [273] = {.lex_state = 18}, + [274] = {.lex_state = 19}, + [275] = {.lex_state = 19}, + [276] = {.lex_state = 19}, + [277] = {.lex_state = 19}, + [278] = {.lex_state = 19}, + [279] = {.lex_state = 18}, + [280] = {.lex_state = 19}, + [281] = {.lex_state = 19}, + [282] = {.lex_state = 18}, + [283] = {.lex_state = 19}, + [284] = {.lex_state = 19}, + [285] = {.lex_state = 19}, + [286] = {.lex_state = 0}, + [287] = {.lex_state = 19}, + [288] = {.lex_state = 19}, + [289] = {.lex_state = 19}, + [290] = {.lex_state = 19}, + [291] = {.lex_state = 18}, + [292] = {.lex_state = 18}, + [293] = {.lex_state = 19}, + [294] = {.lex_state = 19}, + [295] = {.lex_state = 18}, + [296] = {.lex_state = 18}, + [297] = {.lex_state = 19}, + [298] = {.lex_state = 18}, + [299] = {.lex_state = 18}, + [300] = {.lex_state = 19}, + [301] = {.lex_state = 18}, + [302] = {.lex_state = 18}, + [303] = {.lex_state = 18}, + [304] = {.lex_state = 18}, + [305] = {.lex_state = 18}, + [306] = {.lex_state = 18}, + [307] = {.lex_state = 18}, + [308] = {.lex_state = 18}, + [309] = {.lex_state = 18}, + [310] = {.lex_state = 18}, + [311] = {.lex_state = 18}, + [312] = {.lex_state = 18}, [313] = {.lex_state = 23}, - [314] = {.lex_state = 23}, - [315] = {.lex_state = 23}, - [316] = {.lex_state = 23}, - [317] = {.lex_state = 23}, - [318] = {.lex_state = 23}, - [319] = {.lex_state = 23}, - [320] = {.lex_state = 23}, - [321] = {.lex_state = 23}, - [322] = {.lex_state = 23}, - [323] = {.lex_state = 23}, - [324] = {.lex_state = 23}, - [325] = {.lex_state = 23}, - [326] = {.lex_state = 23}, - [327] = {.lex_state = 23}, - [328] = {.lex_state = 23}, - [329] = {.lex_state = 23}, - [330] = {.lex_state = 23}, - [331] = {.lex_state = 23}, - [332] = {.lex_state = 23}, - [333] = {.lex_state = 23}, - [334] = {.lex_state = 23}, - [335] = {.lex_state = 23}, - [336] = {.lex_state = 24}, - [337] = {.lex_state = 23}, - [338] = {.lex_state = 24}, - [339] = {.lex_state = 23}, - [340] = {.lex_state = 23}, - [341] = {.lex_state = 23}, - [342] = {.lex_state = 23}, - [343] = {.lex_state = 23}, - [344] = {.lex_state = 23}, - [345] = {.lex_state = 23}, - [346] = {.lex_state = 23}, - [347] = {.lex_state = 23}, - [348] = {.lex_state = 23}, - [349] = {.lex_state = 23}, - [350] = {.lex_state = 23}, - [351] = {.lex_state = 23}, - [352] = {.lex_state = 23}, - [353] = {.lex_state = 23}, - [354] = {.lex_state = 23}, - [355] = {.lex_state = 23}, - [356] = {.lex_state = 23}, - [357] = {.lex_state = 23}, - [358] = {.lex_state = 23}, - [359] = {.lex_state = 23}, - [360] = {.lex_state = 23}, - [361] = {.lex_state = 0}, - [362] = {.lex_state = 23}, - [363] = {.lex_state = 23}, - [364] = {.lex_state = 0}, - [365] = {.lex_state = 23}, - [366] = {.lex_state = 23}, - [367] = {.lex_state = 23}, - [368] = {.lex_state = 23}, + [314] = {.lex_state = 18}, + [315] = {.lex_state = 18}, + [316] = {.lex_state = 18}, + [317] = {.lex_state = 18}, + [318] = {.lex_state = 18}, + [319] = {.lex_state = 18}, + [320] = {.lex_state = 18}, + [321] = {.lex_state = 18}, + [322] = {.lex_state = 0}, + [323] = {.lex_state = 18}, + [324] = {.lex_state = 18}, + [325] = {.lex_state = 18}, + [326] = {.lex_state = 18}, + [327] = {.lex_state = 18}, + [328] = {.lex_state = 18}, + [329] = {.lex_state = 0}, + [330] = {.lex_state = 18}, + [331] = {.lex_state = 18}, + [332] = {.lex_state = 18}, + [333] = {.lex_state = 18}, + [334] = {.lex_state = 18}, + [335] = {.lex_state = 18}, + [336] = {.lex_state = 18}, + [337] = {.lex_state = 0}, + [338] = {.lex_state = 0}, + [339] = {.lex_state = 0}, + [340] = {.lex_state = 0}, + [341] = {.lex_state = 0}, + [342] = {.lex_state = 0}, + [343] = {.lex_state = 0}, + [344] = {.lex_state = 0}, + [345] = {.lex_state = 0}, + [346] = {.lex_state = 0}, + [347] = {.lex_state = 0}, + [348] = {.lex_state = 0}, + [349] = {.lex_state = 0}, + [350] = {.lex_state = 27}, + [351] = {.lex_state = 0}, + [352] = {.lex_state = 21}, + [353] = {.lex_state = 27}, + [354] = {.lex_state = 27}, + [355] = {.lex_state = 27}, + [356] = {.lex_state = 27}, + [357] = {.lex_state = 27}, + [358] = {.lex_state = 0}, + [359] = {.lex_state = 27}, + [360] = {.lex_state = 27}, + [361] = {.lex_state = 27}, + [362] = {.lex_state = 27}, + [363] = {.lex_state = 27}, + [364] = {.lex_state = 27}, + [365] = {.lex_state = 19}, + [366] = {.lex_state = 27}, + [367] = {.lex_state = 27}, + [368] = {.lex_state = 27}, [369] = {.lex_state = 0}, - [370] = {.lex_state = 23}, - [371] = {.lex_state = 23}, - [372] = {.lex_state = 23}, - [373] = {.lex_state = 23}, - [374] = {.lex_state = 23}, - [375] = {.lex_state = 23}, - [376] = {.lex_state = 23}, + [370] = {.lex_state = 27}, + [371] = {.lex_state = 27}, + [372] = {.lex_state = 27}, + [373] = {.lex_state = 21}, + [374] = {.lex_state = 0}, + [375] = {.lex_state = 0}, + [376] = {.lex_state = 0}, [377] = {.lex_state = 0}, - [378] = {.lex_state = 23}, - [379] = {.lex_state = 23}, - [380] = {.lex_state = 0}, - [381] = {.lex_state = 23}, - [382] = {.lex_state = 23}, - [383] = {.lex_state = 23}, - [384] = {.lex_state = 23}, - [385] = {.lex_state = 23}, - [386] = {.lex_state = 23}, - [387] = {.lex_state = 23}, - [388] = {.lex_state = 23}, - [389] = {.lex_state = 23}, - [390] = {.lex_state = 23}, - [391] = {.lex_state = 23}, - [392] = {.lex_state = 23}, - [393] = {.lex_state = 23}, - [394] = {.lex_state = 23}, - [395] = {.lex_state = 23}, - [396] = {.lex_state = 23}, - [397] = {.lex_state = 23}, - [398] = {.lex_state = 23}, - [399] = {.lex_state = 23}, - [400] = {.lex_state = 23}, - [401] = {.lex_state = 23}, + [378] = {.lex_state = 0}, + [379] = {.lex_state = 0}, + [380] = {.lex_state = 19}, + [381] = {.lex_state = 0}, + [382] = {.lex_state = 0}, + [383] = {.lex_state = 0}, + [384] = {.lex_state = 19}, + [385] = {.lex_state = 19}, + [386] = {.lex_state = 0}, + [387] = {.lex_state = 0}, + [388] = {.lex_state = 0}, + [389] = {.lex_state = 0}, + [390] = {.lex_state = 19}, + [391] = {.lex_state = 0}, + [392] = {.lex_state = 19}, + [393] = {.lex_state = 0}, + [394] = {.lex_state = 21}, + [395] = {.lex_state = 0}, + [396] = {.lex_state = 0}, + [397] = {.lex_state = 21}, + [398] = {.lex_state = 21}, + [399] = {.lex_state = 0}, + [400] = {.lex_state = 0}, + [401] = {.lex_state = 25}, [402] = {.lex_state = 0}, - [403] = {.lex_state = 0}, + [403] = {.lex_state = 21}, [404] = {.lex_state = 0}, [405] = {.lex_state = 0}, - [406] = {.lex_state = 0}, - [407] = {.lex_state = 0}, + [406] = {.lex_state = 21}, + [407] = {.lex_state = 21}, [408] = {.lex_state = 0}, [409] = {.lex_state = 0}, - [410] = {.lex_state = 0}, + [410] = {.lex_state = 19}, [411] = {.lex_state = 0}, [412] = {.lex_state = 0}, - [413] = {.lex_state = 23}, - [414] = {.lex_state = 23}, - [415] = {.lex_state = 0}, - [416] = {.lex_state = 23}, - [417] = {.lex_state = 23}, + [413] = {.lex_state = 19}, + [414] = {.lex_state = 0}, + [415] = {.lex_state = 22}, + [416] = {.lex_state = 0}, + [417] = {.lex_state = 0}, [418] = {.lex_state = 0}, [419] = {.lex_state = 0}, [420] = {.lex_state = 0}, - [421] = {.lex_state = 23}, - [422] = {.lex_state = 23}, - [423] = {.lex_state = 23}, - [424] = {.lex_state = 23}, - [425] = {.lex_state = 0}, - [426] = {.lex_state = 0}, - [427] = {.lex_state = 0}, + [421] = {.lex_state = 0}, + [422] = {.lex_state = 0}, + [423] = {.lex_state = 0}, + [424] = {.lex_state = 0}, + [425] = {.lex_state = 19}, + [426] = {.lex_state = 19}, + [427] = {.lex_state = 19}, [428] = {.lex_state = 0}, - [429] = {.lex_state = 0}, - [430] = {.lex_state = 0}, + [429] = {.lex_state = 22}, + [430] = {.lex_state = 22}, [431] = {.lex_state = 0}, [432] = {.lex_state = 0}, [433] = {.lex_state = 0}, [434] = {.lex_state = 0}, - [435] = {.lex_state = 0}, + [435] = {.lex_state = 26}, [436] = {.lex_state = 0}, [437] = {.lex_state = 0}, [438] = {.lex_state = 0}, @@ -5282,23 +4627,23 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [443] = {.lex_state = 0}, [444] = {.lex_state = 0}, [445] = {.lex_state = 0}, - [446] = {.lex_state = 0}, + [446] = {.lex_state = 21}, [447] = {.lex_state = 0}, - [448] = {.lex_state = 28}, + [448] = {.lex_state = 0}, [449] = {.lex_state = 0}, [450] = {.lex_state = 0}, - [451] = {.lex_state = 28}, - [452] = {.lex_state = 28}, - [453] = {.lex_state = 28}, - [454] = {.lex_state = 28}, + [451] = {.lex_state = 26}, + [452] = {.lex_state = 0}, + [453] = {.lex_state = 0}, + [454] = {.lex_state = 0}, [455] = {.lex_state = 0}, - [456] = {.lex_state = 28}, + [456] = {.lex_state = 0}, [457] = {.lex_state = 0}, [458] = {.lex_state = 0}, [459] = {.lex_state = 0}, [460] = {.lex_state = 0}, - [461] = {.lex_state = 28}, - [462] = {.lex_state = 28}, + [461] = {.lex_state = 20}, + [462] = {.lex_state = 0}, [463] = {.lex_state = 0}, [464] = {.lex_state = 0}, [465] = {.lex_state = 0}, @@ -5306,170 +4651,170 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [467] = {.lex_state = 0}, [468] = {.lex_state = 0}, [469] = {.lex_state = 0}, - [470] = {.lex_state = 25}, + [470] = {.lex_state = 0}, [471] = {.lex_state = 0}, [472] = {.lex_state = 0}, [473] = {.lex_state = 0}, [474] = {.lex_state = 0}, - [475] = {.lex_state = 25}, + [475] = {.lex_state = 0}, [476] = {.lex_state = 0}, - [477] = {.lex_state = 25}, - [478] = {.lex_state = 28}, + [477] = {.lex_state = 21}, + [478] = {.lex_state = 19}, [479] = {.lex_state = 0}, - [480] = {.lex_state = 28}, - [481] = {.lex_state = 28}, + [480] = {.lex_state = 21}, + [481] = {.lex_state = 0}, [482] = {.lex_state = 0}, - [483] = {.lex_state = 28}, - [484] = {.lex_state = 0}, - [485] = {.lex_state = 28}, + [483] = {.lex_state = 0}, + [484] = {.lex_state = 20}, + [485] = {.lex_state = 0}, [486] = {.lex_state = 0}, - [487] = {.lex_state = 28}, + [487] = {.lex_state = 0}, [488] = {.lex_state = 0}, - [489] = {.lex_state = 25}, - [490] = {.lex_state = 0}, - [491] = {.lex_state = 25}, - [492] = {.lex_state = 22}, + [489] = {.lex_state = 26}, + [490] = {.lex_state = 21}, + [491] = {.lex_state = 19}, + [492] = {.lex_state = 0}, [493] = {.lex_state = 0}, - [494] = {.lex_state = 25}, + [494] = {.lex_state = 20}, [495] = {.lex_state = 0}, - [496] = {.lex_state = 25}, - [497] = {.lex_state = 25}, - [498] = {.lex_state = 25}, - [499] = {.lex_state = 22}, - [500] = {.lex_state = 22}, - [501] = {.lex_state = 22}, - [502] = {.lex_state = 22}, + [496] = {.lex_state = 0}, + [497] = {.lex_state = 0}, + [498] = {.lex_state = 0}, + [499] = {.lex_state = 21}, + [500] = {.lex_state = 0}, + [501] = {.lex_state = 0}, + [502] = {.lex_state = 0}, [503] = {.lex_state = 0}, - [504] = {.lex_state = 25}, - [505] = {.lex_state = 25}, - [506] = {.lex_state = 22}, + [504] = {.lex_state = 0}, + [505] = {.lex_state = 0}, + [506] = {.lex_state = 0}, [507] = {.lex_state = 0}, - [508] = {.lex_state = 25}, - [509] = {.lex_state = 25}, + [508] = {.lex_state = 0}, + [509] = {.lex_state = 0}, [510] = {.lex_state = 0}, - [511] = {.lex_state = 25}, - [512] = {.lex_state = 25}, + [511] = {.lex_state = 0}, + [512] = {.lex_state = 0}, [513] = {.lex_state = 0}, - [514] = {.lex_state = 25}, + [514] = {.lex_state = 0}, [515] = {.lex_state = 0}, [516] = {.lex_state = 0}, [517] = {.lex_state = 0}, - [518] = {.lex_state = 25}, - [519] = {.lex_state = 25}, - [520] = {.lex_state = 25}, + [518] = {.lex_state = 0}, + [519] = {.lex_state = 0}, + [520] = {.lex_state = 0}, [521] = {.lex_state = 0}, [522] = {.lex_state = 0}, - [523] = {.lex_state = 25}, - [524] = {.lex_state = 25}, + [523] = {.lex_state = 0}, + [524] = {.lex_state = 0}, [525] = {.lex_state = 0}, [526] = {.lex_state = 0}, - [527] = {.lex_state = 25}, - [528] = {.lex_state = 25}, - [529] = {.lex_state = 25}, - [530] = {.lex_state = 25}, - [531] = {.lex_state = 25}, - [532] = {.lex_state = 25}, - [533] = {.lex_state = 25}, - [534] = {.lex_state = 25}, + [527] = {.lex_state = 0}, + [528] = {.lex_state = 0}, + [529] = {.lex_state = 0}, + [530] = {.lex_state = 0}, + [531] = {.lex_state = 0}, + [532] = {.lex_state = 0}, + [533] = {.lex_state = 0}, + [534] = {.lex_state = 0}, [535] = {.lex_state = 0}, - [536] = {.lex_state = 25}, + [536] = {.lex_state = 0}, [537] = {.lex_state = 0}, - [538] = {.lex_state = 25}, - [539] = {.lex_state = 25}, - [540] = {.lex_state = 25}, + [538] = {.lex_state = 20}, + [539] = {.lex_state = 0}, + [540] = {.lex_state = 0}, [541] = {.lex_state = 0}, - [542] = {.lex_state = 25}, - [543] = {.lex_state = 25}, - [544] = {.lex_state = 25}, - [545] = {.lex_state = 22}, + [542] = {.lex_state = 0}, + [543] = {.lex_state = 0}, + [544] = {.lex_state = 0}, + [545] = {.lex_state = 0}, [546] = {.lex_state = 0}, - [547] = {.lex_state = 25}, - [548] = {.lex_state = 25}, + [547] = {.lex_state = 0}, + [548] = {.lex_state = 0}, [549] = {.lex_state = 0}, - [550] = {.lex_state = 25}, - [551] = {.lex_state = 31}, - [552] = {.lex_state = 25}, - [553] = {.lex_state = 25}, - [554] = {.lex_state = 25}, - [555] = {.lex_state = 25}, - [556] = {.lex_state = 25}, + [550] = {.lex_state = 0}, + [551] = {.lex_state = 0}, + [552] = {.lex_state = 0}, + [553] = {.lex_state = 20}, + [554] = {.lex_state = 0}, + [555] = {.lex_state = 0}, + [556] = {.lex_state = 0}, [557] = {.lex_state = 0}, - [558] = {.lex_state = 22}, - [559] = {.lex_state = 22}, - [560] = {.lex_state = 22}, - [561] = {.lex_state = 25}, - [562] = {.lex_state = 22}, - [563] = {.lex_state = 22}, - [564] = {.lex_state = 25}, - [565] = {.lex_state = 25}, - [566] = {.lex_state = 25}, - [567] = {.lex_state = 22}, + [558] = {.lex_state = 0}, + [559] = {.lex_state = 0}, + [560] = {.lex_state = 0}, + [561] = {.lex_state = 0}, + [562] = {.lex_state = 0}, + [563] = {.lex_state = 21}, + [564] = {.lex_state = 0}, + [565] = {.lex_state = 0}, + [566] = {.lex_state = 0}, + [567] = {.lex_state = 0}, [568] = {.lex_state = 0}, - [569] = {.lex_state = 25}, - [570] = {.lex_state = 22}, - [571] = {.lex_state = 25}, - [572] = {.lex_state = 31}, - [573] = {.lex_state = 25}, - [574] = {.lex_state = 25}, - [575] = {.lex_state = 25}, - [576] = {.lex_state = 22}, - [577] = {.lex_state = 22}, + [569] = {.lex_state = 0}, + [570] = {.lex_state = 0}, + [571] = {.lex_state = 0}, + [572] = {.lex_state = 0}, + [573] = {.lex_state = 0}, + [574] = {.lex_state = 0}, + [575] = {.lex_state = 0}, + [576] = {.lex_state = 0}, + [577] = {.lex_state = 0}, [578] = {.lex_state = 0}, - [579] = {.lex_state = 25}, + [579] = {.lex_state = 0}, [580] = {.lex_state = 0}, - [581] = {.lex_state = 25}, - [582] = {.lex_state = 22}, - [583] = {.lex_state = 25}, - [584] = {.lex_state = 25}, - [585] = {.lex_state = 25}, - [586] = {.lex_state = 22}, + [581] = {.lex_state = 0}, + [582] = {.lex_state = 0}, + [583] = {.lex_state = 0}, + [584] = {.lex_state = 0}, + [585] = {.lex_state = 0}, + [586] = {.lex_state = 0}, [587] = {.lex_state = 0}, - [588] = {.lex_state = 25}, - [589] = {.lex_state = 31}, - [590] = {.lex_state = 22}, - [591] = {.lex_state = 22}, - [592] = {.lex_state = 22}, - [593] = {.lex_state = 25}, + [588] = {.lex_state = 0}, + [589] = {.lex_state = 0}, + [590] = {.lex_state = 0}, + [591] = {.lex_state = 0}, + [592] = {.lex_state = 0}, + [593] = {.lex_state = 0}, [594] = {.lex_state = 0}, - [595] = {.lex_state = 22}, - [596] = {.lex_state = 22}, - [597] = {.lex_state = 22}, + [595] = {.lex_state = 0}, + [596] = {.lex_state = 0}, + [597] = {.lex_state = 21}, [598] = {.lex_state = 0}, - [599] = {.lex_state = 0}, - [600] = {.lex_state = 25}, - [601] = {.lex_state = 30}, + [599] = {.lex_state = 21}, + [600] = {.lex_state = 0}, + [601] = {.lex_state = 21}, [602] = {.lex_state = 0}, [603] = {.lex_state = 0}, [604] = {.lex_state = 0}, [605] = {.lex_state = 0}, [606] = {.lex_state = 0}, - [607] = {.lex_state = 25}, - [608] = {.lex_state = 30}, + [607] = {.lex_state = 0}, + [608] = {.lex_state = 0}, [609] = {.lex_state = 0}, [610] = {.lex_state = 0}, [611] = {.lex_state = 0}, [612] = {.lex_state = 0}, [613] = {.lex_state = 0}, [614] = {.lex_state = 0}, - [615] = {.lex_state = 30}, + [615] = {.lex_state = 0}, [616] = {.lex_state = 0}, [617] = {.lex_state = 0}, [618] = {.lex_state = 0}, [619] = {.lex_state = 0}, - [620] = {.lex_state = 25}, - [621] = {.lex_state = 25}, + [620] = {.lex_state = 0}, + [621] = {.lex_state = 0}, [622] = {.lex_state = 0}, - [623] = {.lex_state = 30}, - [624] = {.lex_state = 25}, + [623] = {.lex_state = 0}, + [624] = {.lex_state = 0}, [625] = {.lex_state = 0}, - [626] = {.lex_state = 30}, - [627] = {.lex_state = 30}, - [628] = {.lex_state = 30}, - [629] = {.lex_state = 25}, - [630] = {.lex_state = 25}, - [631] = {.lex_state = 0}, + [626] = {.lex_state = 0}, + [627] = {.lex_state = 0}, + [628] = {.lex_state = 0}, + [629] = {.lex_state = 0}, + [630] = {.lex_state = 0}, + [631] = {.lex_state = 21}, [632] = {.lex_state = 0}, - [633] = {.lex_state = 32}, + [633] = {.lex_state = 0}, [634] = {.lex_state = 0}, [635] = {.lex_state = 0}, [636] = {.lex_state = 0}, @@ -5478,413 +4823,58 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [639] = {.lex_state = 0}, [640] = {.lex_state = 0}, [641] = {.lex_state = 0}, - [642] = {.lex_state = 25}, - [643] = {.lex_state = 22}, + [642] = {.lex_state = 21}, + [643] = {.lex_state = 0}, [644] = {.lex_state = 0}, - [645] = {.lex_state = 32}, - [646] = {.lex_state = 22}, + [645] = {.lex_state = 0}, + [646] = {.lex_state = 0}, [647] = {.lex_state = 0}, - [648] = {.lex_state = 22}, + [648] = {.lex_state = 0}, [649] = {.lex_state = 0}, [650] = {.lex_state = 0}, [651] = {.lex_state = 0}, - [652] = {.lex_state = 0}, + [652] = {.lex_state = 21}, [653] = {.lex_state = 0}, [654] = {.lex_state = 0}, - [655] = {.lex_state = 25}, + [655] = {.lex_state = 0}, [656] = {.lex_state = 0}, [657] = {.lex_state = 0}, [658] = {.lex_state = 0}, [659] = {.lex_state = 0}, - [660] = {.lex_state = 22}, - [661] = {.lex_state = 22}, + [660] = {.lex_state = 0}, + [661] = {.lex_state = 0}, [662] = {.lex_state = 0}, [663] = {.lex_state = 0}, - [664] = {.lex_state = 25}, + [664] = {.lex_state = 21}, [665] = {.lex_state = 0}, [666] = {.lex_state = 0}, - [667] = {.lex_state = 22}, + [667] = {.lex_state = 0}, [668] = {.lex_state = 0}, - [669] = {.lex_state = 22}, + [669] = {.lex_state = 0}, [670] = {.lex_state = 0}, - [671] = {.lex_state = 25}, + [671] = {.lex_state = 0}, [672] = {.lex_state = 0}, [673] = {.lex_state = 0}, [674] = {.lex_state = 0}, - [675] = {.lex_state = 25}, + [675] = {.lex_state = 0}, [676] = {.lex_state = 0}, [677] = {.lex_state = 0}, [678] = {.lex_state = 0}, [679] = {.lex_state = 0}, [680] = {.lex_state = 0}, - [681] = {.lex_state = 22}, + [681] = {.lex_state = 0}, [682] = {.lex_state = 0}, - [683] = {.lex_state = 22}, + [683] = {.lex_state = 0}, [684] = {.lex_state = 0}, [685] = {.lex_state = 0}, - [686] = {.lex_state = 22}, - [687] = {.lex_state = 22}, - [688] = {.lex_state = 25}, + [686] = {.lex_state = 0}, + [687] = {.lex_state = 0}, + [688] = {.lex_state = 0}, [689] = {.lex_state = 0}, [690] = {.lex_state = 0}, [691] = {.lex_state = 0}, [692] = {.lex_state = 0}, [693] = {.lex_state = 0}, - [694] = {.lex_state = 0}, - [695] = {.lex_state = 32}, - [696] = {.lex_state = 0}, - [697] = {.lex_state = 25}, - [698] = {.lex_state = 22}, - [699] = {.lex_state = 32}, - [700] = {.lex_state = 22}, - [701] = {.lex_state = 0}, - [702] = {.lex_state = 0}, - [703] = {.lex_state = 0}, - [704] = {.lex_state = 0}, - [705] = {.lex_state = 0}, - [706] = {.lex_state = 0}, - [707] = {.lex_state = 0}, - [708] = {.lex_state = 25}, - [709] = {.lex_state = 0}, - [710] = {.lex_state = 0}, - [711] = {.lex_state = 22}, - [712] = {.lex_state = 0}, - [713] = {.lex_state = 32}, - [714] = {.lex_state = 0}, - [715] = {.lex_state = 0}, - [716] = {.lex_state = 0}, - [717] = {.lex_state = 0}, - [718] = {.lex_state = 0}, - [719] = {.lex_state = 0}, - [720] = {.lex_state = 0}, - [721] = {.lex_state = 0}, - [722] = {.lex_state = 22}, - [723] = {.lex_state = 0}, - [724] = {.lex_state = 0}, - [725] = {.lex_state = 0}, - [726] = {.lex_state = 0}, - [727] = {.lex_state = 0}, - [728] = {.lex_state = 0}, - [729] = {.lex_state = 0}, - [730] = {.lex_state = 0}, - [731] = {.lex_state = 0}, - [732] = {.lex_state = 0}, - [733] = {.lex_state = 0}, - [734] = {.lex_state = 0}, - [735] = {.lex_state = 0}, - [736] = {.lex_state = 0}, - [737] = {.lex_state = 0}, - [738] = {.lex_state = 0}, - [739] = {.lex_state = 0}, - [740] = {.lex_state = 0}, - [741] = {.lex_state = 0}, - [742] = {.lex_state = 0}, - [743] = {.lex_state = 0}, - [744] = {.lex_state = 0}, - [745] = {.lex_state = 0}, - [746] = {.lex_state = 0}, - [747] = {.lex_state = 0}, - [748] = {.lex_state = 0}, - [749] = {.lex_state = 0}, - [750] = {.lex_state = 0}, - [751] = {.lex_state = 0}, - [752] = {.lex_state = 0}, - [753] = {.lex_state = 0}, - [754] = {.lex_state = 0}, - [755] = {.lex_state = 0}, - [756] = {.lex_state = 0}, - [757] = {.lex_state = 27}, - [758] = {.lex_state = 0}, - [759] = {.lex_state = 0}, - [760] = {.lex_state = 0}, - [761] = {.lex_state = 0}, - [762] = {.lex_state = 0}, - [763] = {.lex_state = 0}, - [764] = {.lex_state = 0}, - [765] = {.lex_state = 0}, - [766] = {.lex_state = 25}, - [767] = {.lex_state = 0}, - [768] = {.lex_state = 0}, - [769] = {.lex_state = 0}, - [770] = {.lex_state = 0}, - [771] = {.lex_state = 0}, - [772] = {.lex_state = 0}, - [773] = {.lex_state = 0}, - [774] = {.lex_state = 0}, - [775] = {.lex_state = 0}, - [776] = {.lex_state = 0}, - [777] = {.lex_state = 0}, - [778] = {.lex_state = 0}, - [779] = {.lex_state = 0}, - [780] = {.lex_state = 0}, - [781] = {.lex_state = 0}, - [782] = {.lex_state = 0}, - [783] = {.lex_state = 0}, - [784] = {.lex_state = 0}, - [785] = {.lex_state = 0}, - [786] = {.lex_state = 27}, - [787] = {.lex_state = 27}, - [788] = {.lex_state = 0}, - [789] = {.lex_state = 0}, - [790] = {.lex_state = 25}, - [791] = {.lex_state = 0}, - [792] = {.lex_state = 0}, - [793] = {.lex_state = 0}, - [794] = {.lex_state = 0}, - [795] = {.lex_state = 0}, - [796] = {.lex_state = 25}, - [797] = {.lex_state = 0}, - [798] = {.lex_state = 25}, - [799] = {.lex_state = 0}, - [800] = {.lex_state = 0}, - [801] = {.lex_state = 27}, - [802] = {.lex_state = 0}, - [803] = {.lex_state = 0}, - [804] = {.lex_state = 0}, - [805] = {.lex_state = 0}, - [806] = {.lex_state = 0}, - [807] = {.lex_state = 0}, - [808] = {.lex_state = 0}, - [809] = {.lex_state = 0}, - [810] = {.lex_state = 0}, - [811] = {.lex_state = 0}, - [812] = {.lex_state = 0}, - [813] = {.lex_state = 0}, - [814] = {.lex_state = 0}, - [815] = {.lex_state = 0}, - [816] = {.lex_state = 0}, - [817] = {.lex_state = 0}, - [818] = {.lex_state = 0}, - [819] = {.lex_state = 0}, - [820] = {.lex_state = 0}, - [821] = {.lex_state = 0}, - [822] = {.lex_state = 0}, - [823] = {.lex_state = 0}, - [824] = {.lex_state = 22}, - [825] = {.lex_state = 0}, - [826] = {.lex_state = 22}, - [827] = {.lex_state = 22}, - [828] = {.lex_state = 22}, - [829] = {.lex_state = 0}, - [830] = {.lex_state = 0}, - [831] = {.lex_state = 0}, - [832] = {.lex_state = 0}, - [833] = {.lex_state = 0}, - [834] = {.lex_state = 0}, - [835] = {.lex_state = 0}, - [836] = {.lex_state = 0}, - [837] = {.lex_state = 22}, - [838] = {.lex_state = 0}, - [839] = {.lex_state = 0}, - [840] = {.lex_state = 0}, - [841] = {.lex_state = 0}, - [842] = {.lex_state = 0}, - [843] = {.lex_state = 0}, - [844] = {.lex_state = 0}, - [845] = {.lex_state = 0}, - [846] = {.lex_state = 0}, - [847] = {.lex_state = 0}, - [848] = {.lex_state = 0}, - [849] = {.lex_state = 0}, - [850] = {.lex_state = 0}, - [851] = {.lex_state = 22}, - [852] = {.lex_state = 0}, - [853] = {.lex_state = 0}, - [854] = {.lex_state = 0}, - [855] = {.lex_state = 0}, - [856] = {.lex_state = 0}, - [857] = {.lex_state = 0}, - [858] = {.lex_state = 22}, - [859] = {.lex_state = 0}, - [860] = {.lex_state = 0}, - [861] = {.lex_state = 0}, - [862] = {.lex_state = 0}, - [863] = {.lex_state = 0}, - [864] = {.lex_state = 0}, - [865] = {.lex_state = 0}, - [866] = {.lex_state = 0}, - [867] = {.lex_state = 22}, - [868] = {.lex_state = 0}, - [869] = {.lex_state = 0}, - [870] = {.lex_state = 0}, - [871] = {.lex_state = 0}, - [872] = {.lex_state = 0}, - [873] = {.lex_state = 0}, - [874] = {.lex_state = 0}, - [875] = {.lex_state = 0}, - [876] = {.lex_state = 0}, - [877] = {.lex_state = 22}, - [878] = {.lex_state = 0}, - [879] = {.lex_state = 0}, - [880] = {.lex_state = 0}, - [881] = {.lex_state = 0}, - [882] = {.lex_state = 0}, - [883] = {.lex_state = 0}, - [884] = {.lex_state = 0}, - [885] = {.lex_state = 0}, - [886] = {.lex_state = 0}, - [887] = {.lex_state = 0}, - [888] = {.lex_state = 0}, - [889] = {.lex_state = 0}, - [890] = {.lex_state = 0}, - [891] = {.lex_state = 22}, - [892] = {.lex_state = 22}, - [893] = {.lex_state = 0}, - [894] = {.lex_state = 0}, - [895] = {.lex_state = 0}, - [896] = {.lex_state = 0}, - [897] = {.lex_state = 0}, - [898] = {.lex_state = 0}, - [899] = {.lex_state = 0}, - [900] = {.lex_state = 22}, - [901] = {.lex_state = 0}, - [902] = {.lex_state = 0}, - [903] = {.lex_state = 0}, - [904] = {.lex_state = 0}, - [905] = {.lex_state = 0}, - [906] = {.lex_state = 22}, - [907] = {.lex_state = 0}, - [908] = {.lex_state = 0}, - [909] = {.lex_state = 0}, - [910] = {.lex_state = 0}, - [911] = {.lex_state = 0}, - [912] = {.lex_state = 0}, - [913] = {.lex_state = 22}, - [914] = {.lex_state = 0}, - [915] = {.lex_state = 0}, - [916] = {.lex_state = 0}, - [917] = {.lex_state = 0}, - [918] = {.lex_state = 22}, - [919] = {.lex_state = 0}, - [920] = {.lex_state = 0}, - [921] = {.lex_state = 22}, - [922] = {.lex_state = 0}, - [923] = {.lex_state = 0}, - [924] = {.lex_state = 0}, - [925] = {.lex_state = 0}, - [926] = {.lex_state = 0}, - [927] = {.lex_state = 0}, - [928] = {.lex_state = 0}, - [929] = {.lex_state = 0}, - [930] = {.lex_state = 0}, - [931] = {.lex_state = 0}, - [932] = {.lex_state = 0}, - [933] = {.lex_state = 0}, - [934] = {.lex_state = 0}, - [935] = {.lex_state = 0}, - [936] = {.lex_state = 0}, - [937] = {.lex_state = 0}, - [938] = {.lex_state = 0}, - [939] = {.lex_state = 0}, - [940] = {.lex_state = 0}, - [941] = {.lex_state = 0}, - [942] = {.lex_state = 0}, - [943] = {.lex_state = 0}, - [944] = {.lex_state = 0}, - [945] = {.lex_state = 0}, - [946] = {.lex_state = 0}, - [947] = {.lex_state = 0}, - [948] = {.lex_state = 0}, - [949] = {.lex_state = 0}, - [950] = {.lex_state = 0}, - [951] = {.lex_state = 22}, - [952] = {.lex_state = 0}, - [953] = {.lex_state = 0}, - [954] = {.lex_state = 0}, - [955] = {.lex_state = 22}, - [956] = {.lex_state = 0}, - [957] = {.lex_state = 0}, - [958] = {.lex_state = 0}, - [959] = {.lex_state = 0}, - [960] = {.lex_state = 0}, - [961] = {.lex_state = 22}, - [962] = {.lex_state = 0}, - [963] = {.lex_state = 0}, - [964] = {.lex_state = 0}, - [965] = {.lex_state = 0}, - [966] = {.lex_state = 0}, - [967] = {.lex_state = 0}, - [968] = {.lex_state = 0}, - [969] = {.lex_state = 22}, - [970] = {.lex_state = 22}, - [971] = {.lex_state = 0}, - [972] = {.lex_state = 0}, - [973] = {.lex_state = 0}, - [974] = {.lex_state = 0}, - [975] = {.lex_state = 0}, - [976] = {.lex_state = 0}, - [977] = {.lex_state = 0}, - [978] = {.lex_state = 0}, - [979] = {.lex_state = 0}, - [980] = {.lex_state = 0}, - [981] = {.lex_state = 0}, - [982] = {.lex_state = 0}, - [983] = {.lex_state = 0}, - [984] = {.lex_state = 0}, - [985] = {.lex_state = 0}, - [986] = {.lex_state = 0}, - [987] = {.lex_state = 22}, - [988] = {.lex_state = 0}, - [989] = {.lex_state = 0}, - [990] = {.lex_state = 22}, - [991] = {.lex_state = 0}, - [992] = {.lex_state = 0}, - [993] = {.lex_state = 0}, - [994] = {.lex_state = 0}, - [995] = {.lex_state = 0}, - [996] = {.lex_state = 0}, - [997] = {.lex_state = 0}, - [998] = {.lex_state = 0}, - [999] = {.lex_state = 0}, - [1000] = {.lex_state = 0}, - [1001] = {.lex_state = 0}, - [1002] = {.lex_state = 0}, - [1003] = {.lex_state = 0}, - [1004] = {.lex_state = 0}, - [1005] = {.lex_state = 0}, - [1006] = {.lex_state = 0}, - [1007] = {.lex_state = 0}, - [1008] = {.lex_state = 0}, - [1009] = {.lex_state = 0}, - [1010] = {.lex_state = 0}, - [1011] = {.lex_state = 0}, - [1012] = {.lex_state = 0}, - [1013] = {.lex_state = 0}, - [1014] = {.lex_state = 0}, - [1015] = {.lex_state = 0}, - [1016] = {.lex_state = 0}, - [1017] = {.lex_state = 0}, - [1018] = {.lex_state = 0}, - [1019] = {.lex_state = 0}, - [1020] = {.lex_state = 0}, - [1021] = {.lex_state = 0}, - [1022] = {.lex_state = 0}, - [1023] = {.lex_state = 0}, - [1024] = {.lex_state = 0}, - [1025] = {.lex_state = 0}, - [1026] = {.lex_state = 0}, - [1027] = {.lex_state = 22}, - [1028] = {.lex_state = 0}, - [1029] = {.lex_state = 0}, - [1030] = {.lex_state = 0}, - [1031] = {.lex_state = 0}, - [1032] = {.lex_state = 0}, - [1033] = {.lex_state = 0}, - [1034] = {.lex_state = 0}, - [1035] = {.lex_state = 0}, - [1036] = {.lex_state = 0}, - [1037] = {.lex_state = 0}, - [1038] = {.lex_state = 0}, - [1039] = {.lex_state = 0}, - [1040] = {.lex_state = 0}, - [1041] = {.lex_state = 0}, - [1042] = {.lex_state = 0}, - [1043] = {.lex_state = 0}, - [1044] = {.lex_state = 0}, - [1045] = {.lex_state = 0}, - [1046] = {.lex_state = 0}, - [1047] = {.lex_state = 0}, - [1048] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -5977,22 +4967,6 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_vaend] = ACTIONS(1), [anon_sym_TILDE] = ACTIONS(1), [anon_sym_AMP] = ACTIONS(1), - [anon_sym_as] = ACTIONS(1), - [anon_sym_is] = ACTIONS(1), - [anon_sym_SLASH] = ACTIONS(1), - [anon_sym_PERCENT] = ACTIONS(1), - [anon_sym_LT_LT] = ACTIONS(1), - [anon_sym_GT_GT] = ACTIONS(1), - [anon_sym_CARET] = ACTIONS(1), - [anon_sym_LT] = ACTIONS(1), - [anon_sym_GT] = ACTIONS(1), - [anon_sym_LT_EQ] = ACTIONS(1), - [anon_sym_GT_EQ] = ACTIONS(1), - [anon_sym_EQ_EQ] = ACTIONS(1), - [anon_sym_BANG_EQ] = ACTIONS(1), - [anon_sym_AMP_AMP] = ACTIONS(1), - [anon_sym_CARET_CARET] = ACTIONS(1), - [anon_sym_PIPE_PIPE] = ACTIONS(1), [anon_sym_if] = ACTIONS(1), [anon_sym_else] = ACTIONS(1), [anon_sym_for] = ACTIONS(1), @@ -6021,19 +4995,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_comment] = ACTIONS(3), }, [1] = { - [sym_unit] = STATE(1030), - [aux_sym__imports] = STATE(415), - [sym_use_statement] = STATE(415), - [aux_sym__declarations] = STATE(419), - [sym__declaration] = STATE(1028), - [sym_global_declaration] = STATE(1028), - [sym_decl_attr] = STATE(510), - [sym_constant_declaration] = STATE(1028), - [sym_type_declaration] = STATE(1028), - [sym_function_declaration] = STATE(1028), - [sym_fndec_attr] = STATE(457), - [sym_fntype_attr] = STATE(510), - [aux_sym_function_declaration_repeat1] = STATE(457), + [sym_unit] = STATE(686), + [aux_sym__imports] = STATE(199), + [sym_use_statement] = STATE(199), + [aux_sym__declarations] = STATE(239), + [sym__declaration] = STATE(684), + [sym_global_declaration] = STATE(684), + [sym_decl_attr] = STATE(375), + [sym_constant_declaration] = STATE(684), + [sym_type_declaration] = STATE(684), + [sym_function_declaration] = STATE(684), + [sym_fndec_attr] = STATE(344), + [sym_fntype_attr] = STATE(375), + [aux_sym_function_declaration_repeat1] = STATE(344), [ts_builtin_sym_end] = ACTIONS(5), [anon_sym_use] = ACTIONS(7), [anon_sym_export] = ACTIONS(9), @@ -6051,64 +5025,50 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_comment] = ACTIONS(3), }, [2] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(336), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(439), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(476), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(258), + [sym_assertion_expression] = STATE(258), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(258), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(258), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(258), + [sym_if_expression] = STATE(258), + [sym_for_loop] = STATE(258), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(258), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(258), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(258), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_SEMI] = ACTIONS(29), + [anon_sym_EQ] = ACTIONS(29), [anon_sym_LBRACE] = ACTIONS(31), [anon_sym_RBRACE] = ACTIONS(29), [anon_sym_STAR] = ACTIONS(33), - [anon_sym_COMMA] = ACTIONS(29), [anon_sym_COLON] = ACTIONS(35), [anon_sym_LPAREN] = ACTIONS(37), [anon_sym_RPAREN] = ACTIONS(29), @@ -6127,106 +5087,107 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), + [anon_sym_PLUS] = ACTIONS(55), + [anon_sym_DASH] = ACTIONS(55), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_DOT_DOT] = ACTIONS(75), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(83), - [anon_sym_else] = ACTIONS(85), - [anon_sym_for] = ACTIONS(87), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_EQ_GT] = ACTIONS(29), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(95), - [anon_sym_yield] = ACTIONS(97), + [anon_sym_AMP] = ACTIONS(55), + [anon_sym_if] = ACTIONS(87), + [anon_sym_else] = ACTIONS(75), + [anon_sym_for] = ACTIONS(89), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_case] = ACTIONS(75), + [anon_sym_match] = ACTIONS(93), + [anon_sym_PLUS_EQ] = ACTIONS(29), + [anon_sym_DASH_EQ] = ACTIONS(29), + [anon_sym_STAR_EQ] = ACTIONS(29), + [anon_sym_SLASH_EQ] = ACTIONS(29), + [anon_sym_PERCENT_EQ] = ACTIONS(29), + [anon_sym_LT_LT_EQ] = ACTIONS(29), + [anon_sym_GT_GT_EQ] = ACTIONS(29), + [anon_sym_AMP_EQ] = ACTIONS(29), + [anon_sym_PIPE_EQ] = ACTIONS(29), + [anon_sym_CARET_EQ] = ACTIONS(29), + [anon_sym_AMP_AMP_EQ] = ACTIONS(29), + [anon_sym_PIPE_PIPE_EQ] = ACTIONS(29), + [anon_sym_CARET_CARET_EQ] = ACTIONS(29), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(97), + [anon_sym_yield] = ACTIONS(99), [sym_comment] = ACTIONS(3), }, [3] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_binding_list] = STATE(1013), - [sym_defer_expression] = STATE(1013), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(1013), - [sym_identifier] = STATE(169), - [aux_sym_expression_list_repeat1] = STATE(5), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(242), + [sym_assertion_expression] = STATE(242), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(242), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(242), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(242), + [sym_if_expression] = STATE(242), + [sym_for_loop] = STATE(242), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(242), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(242), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(242), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), + [anon_sym_SEMI] = ACTIONS(29), + [anon_sym_EQ] = ACTIONS(75), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_RBRACE] = ACTIONS(99), + [anon_sym_RBRACE] = ACTIONS(29), [anon_sym_STAR] = ACTIONS(101), - [anon_sym_let] = ACTIONS(103), - [anon_sym_const] = ACTIONS(103), + [anon_sym_COMMA] = ACTIONS(29), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(103), + [anon_sym_RPAREN] = ACTIONS(29), + [anon_sym_BANG] = ACTIONS(105), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), [anon_sym_LBRACK] = ACTIONS(47), + [anon_sym_RBRACK] = ACTIONS(29), + [anon_sym_DOT_DOT_DOT] = ACTIONS(29), [anon_sym_true] = ACTIONS(41), [anon_sym_false] = ACTIONS(41), [anon_sym_null] = ACTIONS(41), @@ -6235,99 +5196,100 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(107), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), + [anon_sym_PLUS] = ACTIONS(107), + [anon_sym_DASH] = ACTIONS(107), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(105), + [anon_sym_AMP] = ACTIONS(107), [anon_sym_if] = ACTIONS(109), + [anon_sym_else] = ACTIONS(75), [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_case] = ACTIONS(113), - [anon_sym_match] = ACTIONS(91), - [anon_sym_defer] = ACTIONS(115), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_EQ_GT] = ACTIONS(29), + [anon_sym_match] = ACTIONS(93), + [anon_sym_PLUS_EQ] = ACTIONS(29), + [anon_sym_DASH_EQ] = ACTIONS(29), + [anon_sym_STAR_EQ] = ACTIONS(29), + [anon_sym_SLASH_EQ] = ACTIONS(29), + [anon_sym_PERCENT_EQ] = ACTIONS(29), + [anon_sym_LT_LT_EQ] = ACTIONS(29), + [anon_sym_GT_GT_EQ] = ACTIONS(29), + [anon_sym_AMP_EQ] = ACTIONS(29), + [anon_sym_PIPE_EQ] = ACTIONS(29), + [anon_sym_CARET_EQ] = ACTIONS(29), + [anon_sym_AMP_AMP_EQ] = ACTIONS(29), + [anon_sym_PIPE_PIPE_EQ] = ACTIONS(29), + [anon_sym_CARET_CARET_EQ] = ACTIONS(29), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(113), + [anon_sym_yield] = ACTIONS(115), [sym_comment] = ACTIONS(3), }, [4] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(335), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(435), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(476), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(263), + [sym_assertion_expression] = STATE(263), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(263), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(263), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(263), + [sym_if_expression] = STATE(263), + [sym_for_loop] = STATE(263), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(263), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(263), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(263), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_SEMI] = ACTIONS(29), + [anon_sym_EQ] = ACTIONS(75), [anon_sym_LBRACE] = ACTIONS(31), [anon_sym_RBRACE] = ACTIONS(29), - [anon_sym_STAR] = ACTIONS(121), + [anon_sym_STAR] = ACTIONS(117), + [anon_sym_COMMA] = ACTIONS(29), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(123), + [anon_sym_LPAREN] = ACTIONS(119), [anon_sym_RPAREN] = ACTIONS(29), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -6342,215 +5304,104 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_DOT_DOT] = ACTIONS(85), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), + [anon_sym_PLUS] = ACTIONS(123), + [anon_sym_DASH] = ACTIONS(123), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(123), [anon_sym_if] = ACTIONS(125), - [anon_sym_else] = ACTIONS(85), [anon_sym_for] = ACTIONS(127), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_case] = ACTIONS(85), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_EQ_GT] = ACTIONS(29), + [anon_sym_match] = ACTIONS(93), + [anon_sym_PLUS_EQ] = ACTIONS(29), + [anon_sym_DASH_EQ] = ACTIONS(29), + [anon_sym_STAR_EQ] = ACTIONS(29), + [anon_sym_SLASH_EQ] = ACTIONS(29), + [anon_sym_PERCENT_EQ] = ACTIONS(29), + [anon_sym_LT_LT_EQ] = ACTIONS(29), + [anon_sym_GT_GT_EQ] = ACTIONS(29), + [anon_sym_AMP_EQ] = ACTIONS(29), + [anon_sym_PIPE_EQ] = ACTIONS(29), + [anon_sym_CARET_EQ] = ACTIONS(29), + [anon_sym_AMP_AMP_EQ] = ACTIONS(29), + [anon_sym_PIPE_PIPE_EQ] = ACTIONS(29), + [anon_sym_CARET_CARET_EQ] = ACTIONS(29), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), [anon_sym_return] = ACTIONS(129), [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [5] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_binding_list] = STATE(1013), - [sym_defer_expression] = STATE(1013), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(1013), - [sym_identifier] = STATE(169), - [aux_sym_expression_list_repeat1] = STATE(5), - [sym_name] = ACTIONS(133), - [anon_sym_LBRACE] = ACTIONS(136), - [anon_sym_RBRACE] = ACTIONS(139), - [anon_sym_STAR] = ACTIONS(141), - [anon_sym_let] = ACTIONS(144), - [anon_sym_const] = ACTIONS(144), - [anon_sym_COLON] = ACTIONS(147), - [anon_sym_LPAREN] = ACTIONS(150), - [anon_sym_BANG] = ACTIONS(153), - [anon_sym_void] = ACTIONS(156), - [anon_sym_size] = ACTIONS(159), - [anon_sym_struct] = ACTIONS(162), - [anon_sym_LBRACK] = ACTIONS(165), - [anon_sym_true] = ACTIONS(156), - [anon_sym_false] = ACTIONS(156), - [anon_sym_null] = ACTIONS(156), - [aux_sym_integer_constant_token1] = ACTIONS(168), - [aux_sym_integer_constant_token2] = ACTIONS(168), - [aux_sym_integer_constant_token3] = ACTIONS(168), - [aux_sym_integer_constant_token4] = ACTIONS(171), - [aux_sym_floating_constant_token1] = ACTIONS(174), - [anon_sym_PLUS] = ACTIONS(153), - [anon_sym_DASH] = ACTIONS(153), - [anon_sym_SQUOTE] = ACTIONS(177), - [anon_sym_DQUOTE] = ACTIONS(180), - [anon_sym_alloc] = ACTIONS(183), - [anon_sym_free] = ACTIONS(186), - [anon_sym_static] = ACTIONS(189), - [anon_sym_assert] = ACTIONS(192), - [anon_sym_abort] = ACTIONS(195), - [anon_sym_len] = ACTIONS(198), - [anon_sym_offset] = ACTIONS(201), - [anon_sym_append] = ACTIONS(204), - [anon_sym_insert] = ACTIONS(207), - [anon_sym_delete] = ACTIONS(210), - [anon_sym_vastart] = ACTIONS(213), - [anon_sym_vaarg] = ACTIONS(216), - [anon_sym_vaend] = ACTIONS(216), - [anon_sym_TILDE] = ACTIONS(153), - [anon_sym_AMP] = ACTIONS(153), - [anon_sym_if] = ACTIONS(219), - [anon_sym_for] = ACTIONS(222), - [anon_sym_switch] = ACTIONS(225), - [anon_sym_case] = ACTIONS(228), - [anon_sym_match] = ACTIONS(230), - [anon_sym_defer] = ACTIONS(233), - [anon_sym_break] = ACTIONS(236), - [anon_sym_continue] = ACTIONS(236), - [anon_sym_return] = ACTIONS(239), - [anon_sym_yield] = ACTIONS(242), - [sym_comment] = ACTIONS(3), - }, - [6] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_binding_list] = STATE(1013), - [sym_defer_expression] = STATE(1013), - [sym_expression_list] = STATE(976), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(1013), - [sym_identifier] = STATE(169), - [aux_sym_expression_list_repeat1] = STATE(3), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(261), + [sym_assertion_expression] = STATE(261), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(261), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(261), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(261), + [sym_if_expression] = STATE(261), + [sym_for_loop] = STATE(261), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(261), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(261), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(261), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), + [anon_sym_SEMI] = ACTIONS(29), + [anon_sym_EQ] = ACTIONS(29), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), - [anon_sym_let] = ACTIONS(103), - [anon_sym_const] = ACTIONS(103), + [anon_sym_RBRACE] = ACTIONS(29), + [anon_sym_STAR] = ACTIONS(133), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_RPAREN] = ACTIONS(29), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), [anon_sym_LBRACK] = ACTIONS(47), + [anon_sym_RBRACK] = ACTIONS(29), + [anon_sym_DOT_DOT_DOT] = ACTIONS(29), [anon_sym_true] = ACTIONS(41), [anon_sym_false] = ACTIONS(41), [anon_sym_null] = ACTIONS(41), @@ -6559,101 +5410,101 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(107), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_defer] = ACTIONS(115), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(139), + [anon_sym_DASH] = ACTIONS(139), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_DOT_DOT] = ACTIONS(75), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(139), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_case] = ACTIONS(75), + [anon_sym_match] = ACTIONS(93), + [anon_sym_PLUS_EQ] = ACTIONS(29), + [anon_sym_DASH_EQ] = ACTIONS(29), + [anon_sym_STAR_EQ] = ACTIONS(29), + [anon_sym_SLASH_EQ] = ACTIONS(29), + [anon_sym_PERCENT_EQ] = ACTIONS(29), + [anon_sym_LT_LT_EQ] = ACTIONS(29), + [anon_sym_GT_GT_EQ] = ACTIONS(29), + [anon_sym_AMP_EQ] = ACTIONS(29), + [anon_sym_PIPE_EQ] = ACTIONS(29), + [anon_sym_CARET_EQ] = ACTIONS(29), + [anon_sym_AMP_AMP_EQ] = ACTIONS(29), + [anon_sym_PIPE_PIPE_EQ] = ACTIONS(29), + [anon_sym_CARET_CARET_EQ] = ACTIONS(29), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, - [7] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_binding_list] = STATE(1013), - [sym_defer_expression] = STATE(1013), - [sym_expression_list] = STATE(822), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(1013), - [sym_identifier] = STATE(169), - [aux_sym_expression_list_repeat1] = STATE(3), + [6] = { + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(332), + [sym_assertion_expression] = STATE(332), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(332), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(332), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(332), + [sym_if_expression] = STATE(332), + [sym_for_loop] = STATE(332), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(332), + [sym_binding_list] = STATE(562), + [sym_defer_expression] = STATE(562), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(332), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(332), + [sym_identifier] = STATE(171), + [aux_sym_expression_list_repeat1] = STATE(7), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), - [anon_sym_let] = ACTIONS(103), - [anon_sym_const] = ACTIONS(103), + [anon_sym_RBRACE] = ACTIONS(149), + [anon_sym_STAR] = ACTIONS(151), + [anon_sym_let] = ACTIONS(153), + [anon_sym_const] = ACTIONS(153), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -6666,104 +5517,186 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(107), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_defer] = ACTIONS(115), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(155), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_case] = ACTIONS(157), + [anon_sym_match] = ACTIONS(93), + [anon_sym_defer] = ACTIONS(159), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), + [sym_comment] = ACTIONS(3), + }, + [7] = { + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(332), + [sym_assertion_expression] = STATE(332), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(332), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(332), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(332), + [sym_if_expression] = STATE(332), + [sym_for_loop] = STATE(332), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(332), + [sym_binding_list] = STATE(562), + [sym_defer_expression] = STATE(562), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(332), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(332), + [sym_identifier] = STATE(171), + [aux_sym_expression_list_repeat1] = STATE(7), + [sym_name] = ACTIONS(161), + [anon_sym_LBRACE] = ACTIONS(164), + [anon_sym_RBRACE] = ACTIONS(167), + [anon_sym_STAR] = ACTIONS(169), + [anon_sym_let] = ACTIONS(172), + [anon_sym_const] = ACTIONS(172), + [anon_sym_COLON] = ACTIONS(175), + [anon_sym_LPAREN] = ACTIONS(178), + [anon_sym_BANG] = ACTIONS(181), + [anon_sym_void] = ACTIONS(184), + [anon_sym_size] = ACTIONS(187), + [anon_sym_struct] = ACTIONS(190), + [anon_sym_LBRACK] = ACTIONS(193), + [anon_sym_true] = ACTIONS(184), + [anon_sym_false] = ACTIONS(184), + [anon_sym_null] = ACTIONS(184), + [aux_sym_integer_constant_token1] = ACTIONS(196), + [aux_sym_integer_constant_token2] = ACTIONS(196), + [aux_sym_integer_constant_token3] = ACTIONS(196), + [aux_sym_integer_constant_token4] = ACTIONS(199), + [aux_sym_floating_constant_token1] = ACTIONS(202), + [anon_sym_PLUS] = ACTIONS(181), + [anon_sym_DASH] = ACTIONS(181), + [anon_sym_SQUOTE] = ACTIONS(205), + [anon_sym_DQUOTE] = ACTIONS(208), + [anon_sym_alloc] = ACTIONS(211), + [anon_sym_free] = ACTIONS(214), + [anon_sym_static] = ACTIONS(217), + [anon_sym_assert] = ACTIONS(220), + [anon_sym_abort] = ACTIONS(223), + [anon_sym_len] = ACTIONS(226), + [anon_sym_offset] = ACTIONS(229), + [anon_sym_append] = ACTIONS(232), + [anon_sym_insert] = ACTIONS(235), + [anon_sym_delete] = ACTIONS(238), + [anon_sym_vastart] = ACTIONS(241), + [anon_sym_vaarg] = ACTIONS(244), + [anon_sym_vaend] = ACTIONS(244), + [anon_sym_TILDE] = ACTIONS(181), + [anon_sym_AMP] = ACTIONS(181), + [anon_sym_if] = ACTIONS(247), + [anon_sym_for] = ACTIONS(250), + [anon_sym_switch] = ACTIONS(253), + [anon_sym_case] = ACTIONS(256), + [anon_sym_match] = ACTIONS(258), + [anon_sym_defer] = ACTIONS(261), + [anon_sym_break] = ACTIONS(264), + [anon_sym_continue] = ACTIONS(264), + [anon_sym_return] = ACTIONS(267), + [anon_sym_yield] = ACTIONS(270), [sym_comment] = ACTIONS(3), }, [8] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(476), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(332), + [sym_assertion_expression] = STATE(332), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(332), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(332), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(332), + [sym_if_expression] = STATE(332), + [sym_for_loop] = STATE(332), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(332), + [sym_binding_list] = STATE(562), + [sym_defer_expression] = STATE(562), + [sym_expression_list] = STATE(628), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(332), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(332), + [sym_identifier] = STATE(171), + [aux_sym_expression_list_repeat1] = STATE(6), [sym_name] = ACTIONS(27), - [anon_sym_SEMI] = ACTIONS(29), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_RBRACE] = ACTIONS(29), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(151), + [anon_sym_let] = ACTIONS(153), + [anon_sym_const] = ACTIONS(153), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_RPAREN] = ACTIONS(29), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), [anon_sym_LBRACK] = ACTIONS(47), - [anon_sym_RBRACK] = ACTIONS(29), - [anon_sym_DOT_DOT_DOT] = ACTIONS(29), [anon_sym_true] = ACTIONS(41), [anon_sym_false] = ACTIONS(41), [anon_sym_null] = ACTIONS(41), @@ -6772,106 +5705,91 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_DOT_DOT] = ACTIONS(85), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_case] = ACTIONS(85), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(155), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_defer] = ACTIONS(159), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [9] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(476), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(332), + [sym_assertion_expression] = STATE(332), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(332), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(332), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(332), + [sym_if_expression] = STATE(332), + [sym_for_loop] = STATE(332), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(332), + [sym_binding_list] = STATE(562), + [sym_defer_expression] = STATE(562), + [sym_expression_list] = STATE(627), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(332), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(332), + [sym_identifier] = STATE(171), + [aux_sym_expression_list_repeat1] = STATE(6), [sym_name] = ACTIONS(27), - [anon_sym_SEMI] = ACTIONS(29), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_RBRACE] = ACTIONS(29), - [anon_sym_STAR] = ACTIONS(245), - [anon_sym_COMMA] = ACTIONS(29), + [anon_sym_STAR] = ACTIONS(151), + [anon_sym_let] = ACTIONS(153), + [anon_sym_const] = ACTIONS(153), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_RPAREN] = ACTIONS(29), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), [anon_sym_LBRACK] = ACTIONS(47), - [anon_sym_RBRACK] = ACTIONS(29), - [anon_sym_DOT_DOT_DOT] = ACTIONS(29), [anon_sym_true] = ACTIONS(41), [anon_sym_false] = ACTIONS(41), [anon_sym_null] = ACTIONS(41), @@ -6880,101 +5798,87 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_EQ_GT] = ACTIONS(29), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(155), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_defer] = ACTIONS(159), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [10] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_binding_list] = STATE(1013), - [sym_defer_expression] = STATE(1013), - [sym_expression_list] = STATE(848), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(1013), - [sym_identifier] = STATE(169), - [aux_sym_expression_list_repeat1] = STATE(3), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(332), + [sym_assertion_expression] = STATE(332), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(332), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(332), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(332), + [sym_if_expression] = STATE(332), + [sym_for_loop] = STATE(332), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(332), + [sym_binding_list] = STATE(562), + [sym_defer_expression] = STATE(562), + [sym_expression_list] = STATE(542), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(332), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(332), + [sym_identifier] = STATE(171), + [aux_sym_expression_list_repeat1] = STATE(6), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), - [anon_sym_let] = ACTIONS(103), - [anon_sym_const] = ACTIONS(103), + [anon_sym_STAR] = ACTIONS(151), + [anon_sym_let] = ACTIONS(153), + [anon_sym_const] = ACTIONS(153), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -6987,101 +5891,87 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(107), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_defer] = ACTIONS(115), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(155), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_defer] = ACTIONS(159), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [11] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_binding_list] = STATE(1013), - [sym_defer_expression] = STATE(1013), - [sym_expression_list] = STATE(908), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(1013), - [sym_identifier] = STATE(169), - [aux_sym_expression_list_repeat1] = STATE(3), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(332), + [sym_assertion_expression] = STATE(332), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(332), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(332), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(332), + [sym_if_expression] = STATE(332), + [sym_for_loop] = STATE(332), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(332), + [sym_binding_list] = STATE(562), + [sym_defer_expression] = STATE(562), + [sym_expression_list] = STATE(541), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(332), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(332), + [sym_identifier] = STATE(171), + [aux_sym_expression_list_repeat1] = STATE(6), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), - [anon_sym_let] = ACTIONS(103), - [anon_sym_const] = ACTIONS(103), + [anon_sym_STAR] = ACTIONS(151), + [anon_sym_let] = ACTIONS(153), + [anon_sym_const] = ACTIONS(153), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -7094,101 +5984,85 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(107), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_defer] = ACTIONS(115), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(155), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_defer] = ACTIONS(159), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [12] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_binding_list] = STATE(1013), - [sym_defer_expression] = STATE(1013), - [sym_expression_list] = STATE(780), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(1013), - [sym_identifier] = STATE(169), - [aux_sym_expression_list_repeat1] = STATE(3), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(308), + [sym_assertion_expression] = STATE(308), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(308), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(308), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(308), + [sym_if_expression] = STATE(308), + [sym_for_loop] = STATE(308), + [sym_for_predicate] = STATE(678), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(308), + [sym_binding_list] = STATE(624), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(308), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(308), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), - [anon_sym_let] = ACTIONS(103), - [anon_sym_const] = ACTIONS(103), + [anon_sym_STAR] = ACTIONS(151), + [anon_sym_let] = ACTIONS(153), + [anon_sym_const] = ACTIONS(153), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -7201,101 +6075,84 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(107), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_defer] = ACTIONS(115), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(155), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [13] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_binding_list] = STATE(1013), - [sym_defer_expression] = STATE(1013), - [sym_expression_list] = STATE(781), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(1013), - [sym_identifier] = STATE(169), - [aux_sym_expression_list_repeat1] = STATE(3), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(308), + [sym_assertion_expression] = STATE(308), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(308), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(308), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(308), + [sym_if_expression] = STATE(308), + [sym_for_loop] = STATE(308), + [sym_for_predicate] = STATE(658), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(308), + [sym_binding_list] = STATE(624), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(308), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(308), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), - [anon_sym_let] = ACTIONS(103), - [anon_sym_const] = ACTIONS(103), + [anon_sym_STAR] = ACTIONS(151), + [anon_sym_let] = ACTIONS(153), + [anon_sym_const] = ACTIONS(153), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -7308,99 +6165,84 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(107), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_defer] = ACTIONS(115), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(155), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [14] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_for_predicate] = STATE(989), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_binding_list] = STATE(883), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(795), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(308), + [sym_assertion_expression] = STATE(308), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(308), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(308), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(308), + [sym_if_expression] = STATE(308), + [sym_for_loop] = STATE(308), + [sym_for_predicate] = STATE(671), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(308), + [sym_binding_list] = STATE(624), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(308), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(308), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), - [anon_sym_let] = ACTIONS(103), - [anon_sym_const] = ACTIONS(103), + [anon_sym_STAR] = ACTIONS(151), + [anon_sym_let] = ACTIONS(153), + [anon_sym_const] = ACTIONS(153), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -7413,98 +6255,84 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(107), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(155), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [15] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_for_predicate] = STATE(882), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_binding_list] = STATE(883), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(795), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(308), + [sym_assertion_expression] = STATE(308), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(308), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(308), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(308), + [sym_if_expression] = STATE(308), + [sym_for_loop] = STATE(308), + [sym_for_predicate] = STATE(623), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(308), + [sym_binding_list] = STATE(624), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(308), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(308), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), - [anon_sym_let] = ACTIONS(103), - [anon_sym_const] = ACTIONS(103), + [anon_sym_STAR] = ACTIONS(151), + [anon_sym_let] = ACTIONS(153), + [anon_sym_const] = ACTIONS(153), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -7517,98 +6345,82 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(107), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(155), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [16] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_for_predicate] = STATE(959), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_binding_list] = STATE(883), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(795), - [sym_identifier] = STATE(169), - [sym_name] = ACTIONS(27), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_tuple_items] = STATE(600), + [sym_allocation_expression] = STATE(292), + [sym_assertion_expression] = STATE(292), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(292), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(292), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(292), + [sym_if_expression] = STATE(292), + [sym_for_loop] = STATE(292), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(292), + [sym_binding_names] = STATE(605), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(292), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(292), + [sym_identifier] = STATE(171), + [sym_name] = ACTIONS(273), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), - [anon_sym_let] = ACTIONS(103), - [anon_sym_const] = ACTIONS(103), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -7621,102 +6433,86 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(107), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [17] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_for_predicate] = STATE(996), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_binding_list] = STATE(883), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(795), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_array_members] = STATE(613), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(288), + [sym_assertion_expression] = STATE(288), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(288), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(288), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(288), + [sym_if_expression] = STATE(288), + [sym_for_loop] = STATE(288), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(288), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(288), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(288), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), - [anon_sym_let] = ACTIONS(103), - [anon_sym_const] = ACTIONS(103), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), [anon_sym_LBRACK] = ACTIONS(47), + [anon_sym_RBRACK] = ACTIONS(277), [anon_sym_true] = ACTIONS(41), [anon_sym_false] = ACTIONS(41), [anon_sym_null] = ACTIONS(41), @@ -7725,100 +6521,86 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(107), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [18] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(931), - [sym_identifier] = STATE(169), - [sym_name] = ACTIONS(27), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_tuple_items] = STATE(600), + [sym_allocation_expression] = STATE(292), + [sym_assertion_expression] = STATE(292), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(292), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(292), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(292), + [sym_if_expression] = STATE(292), + [sym_for_loop] = STATE(292), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(292), + [sym_binding_names] = STATE(680), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(292), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(292), + [sym_identifier] = STATE(171), + [sym_name] = ACTIONS(273), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(257), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), [anon_sym_LBRACK] = ACTIONS(47), - [anon_sym_RBRACK] = ACTIONS(259), - [anon_sym__] = ACTIONS(261), [anon_sym_true] = ACTIONS(41), [anon_sym_false] = ACTIONS(41), [anon_sym_null] = ACTIONS(41), @@ -7827,100 +6609,86 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [19] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_array_members] = STATE(971), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(607), - [sym_identifier] = STATE(169), - [sym_name] = ACTIONS(27), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_tuple_items] = STATE(600), + [sym_allocation_expression] = STATE(292), + [sym_assertion_expression] = STATE(292), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(292), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(292), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(292), + [sym_if_expression] = STATE(292), + [sym_for_loop] = STATE(292), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(292), + [sym_binding_names] = STATE(685), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(292), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(292), + [sym_identifier] = STATE(171), + [sym_name] = ACTIONS(273), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), [anon_sym_LBRACK] = ACTIONS(47), - [anon_sym_RBRACK] = ACTIONS(263), [anon_sym_true] = ACTIONS(41), [anon_sym_false] = ACTIONS(41), [anon_sym_null] = ACTIONS(41), @@ -7929,96 +6697,81 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [20] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_argument_list] = STATE(847), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(624), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(291), + [sym_assertion_expression] = STATE(291), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(291), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(291), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(291), + [sym_if_expression] = STATE(291), + [sym_for_loop] = STATE(291), + [sym_switch_expression] = STATE(217), + [sym_case_options] = STATE(571), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(291), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(291), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(291), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_RPAREN] = ACTIONS(265), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -8031,96 +6784,83 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_EQ_GT] = ACTIONS(279), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [21] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_tuple_items] = STATE(975), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_binding_names] = STATE(973), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(706), - [sym_identifier] = STATE(169), - [sym_name] = ACTIONS(267), - [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(289), + [sym_assertion_expression] = STATE(289), + [sym_call_expression] = STATE(172), + [sym_argument_list] = STATE(561), + [sym_measurement_expression] = STATE(289), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(289), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(289), + [sym_if_expression] = STATE(289), + [sym_for_loop] = STATE(289), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(289), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(289), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(289), + [sym_identifier] = STATE(171), + [sym_name] = ACTIONS(27), + [anon_sym_LBRACE] = ACTIONS(31), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_RPAREN] = ACTIONS(281), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -8133,100 +6873,86 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [22] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_array_members] = STATE(890), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(607), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(317), + [sym_assertion_expression] = STATE(317), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(317), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(317), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(317), + [sym_if_expression] = STATE(317), + [sym_for_loop] = STATE(317), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(317), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(317), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(317), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(283), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), [anon_sym_LBRACK] = ACTIONS(47), - [anon_sym_RBRACK] = ACTIONS(269), + [anon_sym_RBRACK] = ACTIONS(285), + [anon_sym__] = ACTIONS(287), [anon_sym_true] = ACTIONS(41), [anon_sym_false] = ACTIONS(41), [anon_sym_null] = ACTIONS(41), @@ -8235,96 +6961,82 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [23] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_tuple_items] = STATE(975), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_binding_names] = STATE(1010), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(706), - [sym_identifier] = STATE(169), - [sym_name] = ACTIONS(267), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_tuple_items] = STATE(600), + [sym_allocation_expression] = STATE(292), + [sym_assertion_expression] = STATE(292), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(292), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(292), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(292), + [sym_if_expression] = STATE(292), + [sym_for_loop] = STATE(292), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(292), + [sym_binding_names] = STATE(683), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(292), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(292), + [sym_identifier] = STATE(171), + [sym_name] = ACTIONS(273), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -8337,100 +7049,85 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [24] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_argument_list] = STATE(904), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(624), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(273), + [sym_assertion_expression] = STATE(273), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(273), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(273), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(273), + [sym_if_expression] = STATE(273), + [sym_for_loop] = STATE(273), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(273), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(273), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(273), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_RPAREN] = ACTIONS(271), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), [anon_sym_LBRACK] = ACTIONS(47), + [anon_sym_RBRACK] = ACTIONS(289), [anon_sym_true] = ACTIONS(41), [anon_sym_false] = ACTIONS(41), [anon_sym_null] = ACTIONS(41), @@ -8439,95 +7136,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [25] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_case_options] = STATE(836), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(694), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(287), + [sym_assertion_expression] = STATE(287), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(287), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(287), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(287), + [sym_if_expression] = STATE(287), + [sym_for_loop] = STATE(287), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(287), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(287), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(287), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -8540,101 +7222,86 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_EQ_GT] = ACTIONS(273), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_EQ_GT] = ACTIONS(291), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [26] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_argument_list] = STATE(903), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(624), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(287), + [sym_assertion_expression] = STATE(287), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(287), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(287), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(287), + [sym_if_expression] = STATE(287), + [sym_for_loop] = STATE(287), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(287), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(287), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(287), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_RPAREN] = ACTIONS(275), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), [anon_sym_LBRACK] = ACTIONS(47), + [anon_sym_RBRACK] = ACTIONS(293), [anon_sym_true] = ACTIONS(41), [anon_sym_false] = ACTIONS(41), [anon_sym_null] = ACTIONS(41), @@ -8643,100 +7310,84 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [27] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_array_members] = STATE(825), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(607), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(313), + [sym_assertion_expression] = STATE(313), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(313), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(313), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(313), + [sym_if_expression] = STATE(313), + [sym_for_loop] = STATE(313), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(313), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(313), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(313), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), [anon_sym_LBRACK] = ACTIONS(47), - [anon_sym_RBRACK] = ACTIONS(277), [anon_sym_true] = ACTIONS(41), [anon_sym_false] = ACTIONS(41), [anon_sym_null] = ACTIONS(41), @@ -8745,100 +7396,86 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_DOT_DOT] = ACTIONS(295), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [28] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_tuple_items] = STATE(975), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_binding_names] = STATE(1023), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(706), - [sym_identifier] = STATE(169), - [sym_name] = ACTIONS(267), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(321), + [sym_assertion_expression] = STATE(321), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(321), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(321), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(321), + [sym_if_expression] = STATE(321), + [sym_for_loop] = STATE(321), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(321), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(321), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(321), + [sym_identifier] = STATE(171), + [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), [anon_sym_LBRACK] = ACTIONS(47), + [anon_sym_RBRACK] = ACTIONS(297), [anon_sym_true] = ACTIONS(41), [anon_sym_false] = ACTIONS(41), [anon_sym_null] = ACTIONS(41), @@ -8847,96 +7484,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [29] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_tuple_items] = STATE(975), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_binding_names] = STATE(1026), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(706), - [sym_identifier] = STATE(169), - [sym_name] = ACTIONS(267), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(287), + [sym_assertion_expression] = STATE(287), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(287), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(287), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(287), + [sym_if_expression] = STATE(287), + [sym_for_loop] = STATE(287), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(287), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(287), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(287), + [sym_identifier] = STATE(171), + [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -8949,100 +7570,86 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_EQ_GT] = ACTIONS(299), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [30] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(818), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(287), + [sym_assertion_expression] = STATE(287), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(287), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(287), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(287), + [sym_if_expression] = STATE(287), + [sym_for_loop] = STATE(287), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(287), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(287), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(287), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(279), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), [anon_sym_LBRACK] = ACTIONS(47), - [anon_sym_RBRACK] = ACTIONS(281), - [anon_sym__] = ACTIONS(283), + [anon_sym_RBRACK] = ACTIONS(301), [anon_sym_true] = ACTIONS(41), [anon_sym_false] = ACTIONS(41), [anon_sym_null] = ACTIONS(41), @@ -9051,99 +7658,85 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [31] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(550), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(287), + [sym_assertion_expression] = STATE(287), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(287), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(287), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(287), + [sym_if_expression] = STATE(287), + [sym_for_loop] = STATE(287), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(287), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(287), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(287), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_RPAREN] = ACTIONS(303), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), [anon_sym_LBRACK] = ACTIONS(47), - [anon_sym_RBRACK] = ACTIONS(285), [anon_sym_true] = ACTIONS(41), [anon_sym_false] = ACTIONS(41), [anon_sym_null] = ACTIONS(41), @@ -9152,99 +7745,85 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [32] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_tuple_items] = STATE(888), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(652), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(324), + [sym_assertion_expression] = STATE(324), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(324), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(324), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(324), + [sym_if_expression] = STATE(324), + [sym_for_loop] = STATE(324), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(324), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(324), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(324), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), [anon_sym_LBRACK] = ACTIONS(47), + [anon_sym_RBRACK] = ACTIONS(305), [anon_sym_true] = ACTIONS(41), [anon_sym_false] = ACTIONS(41), [anon_sym_null] = ACTIONS(41), @@ -9253,94 +7832,81 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [33] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(801), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(287), + [sym_assertion_expression] = STATE(287), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(287), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(287), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(287), + [sym_if_expression] = STATE(287), + [sym_for_loop] = STATE(287), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(287), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(287), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(287), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_RPAREN] = ACTIONS(307), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -9353,96 +7919,81 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_DOT_DOT] = ACTIONS(287), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [34] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_tuple_items] = STATE(823), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(685), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_tuple_items] = STATE(600), + [sym_allocation_expression] = STATE(292), + [sym_assertion_expression] = STATE(292), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(292), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(292), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(292), + [sym_if_expression] = STATE(292), + [sym_for_loop] = STATE(292), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(292), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(292), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(292), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -9455,94 +8006,81 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [35] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(757), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(287), + [sym_assertion_expression] = STATE(287), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(287), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(287), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(287), + [sym_if_expression] = STATE(287), + [sym_for_loop] = STATE(287), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(287), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(287), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(287), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_RPAREN] = ACTIONS(309), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -9555,100 +8093,84 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_DOT_DOT] = ACTIONS(289), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [36] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(911), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(241), + [sym_assertion_expression] = STATE(241), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(241), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(241), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(241), + [sym_if_expression] = STATE(241), + [sym_for_loop] = STATE(241), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(241), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(248), + [sym_control_statement] = STATE(241), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(241), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(311), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(103), + [anon_sym_BANG] = ACTIONS(105), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), [anon_sym_LBRACK] = ACTIONS(47), - [anon_sym_RBRACK] = ACTIONS(291), [anon_sym_true] = ACTIONS(41), [anon_sym_false] = ACTIONS(41), [anon_sym_null] = ACTIONS(41), @@ -9657,99 +8179,84 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), + [anon_sym_PLUS] = ACTIONS(105), + [anon_sym_DASH] = ACTIONS(105), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(105), + [anon_sym_AMP] = ACTIONS(105), [anon_sym_if] = ACTIONS(109), [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(113), + [anon_sym_yield] = ACTIONS(115), [sym_comment] = ACTIONS(3), }, [37] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(550), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(311), + [sym_assertion_expression] = STATE(311), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(311), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(311), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(311), + [sym_if_expression] = STATE(311), + [sym_for_loop] = STATE(311), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(311), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(311), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(311), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), [anon_sym_LBRACK] = ACTIONS(47), - [anon_sym_RBRACK] = ACTIONS(293), [anon_sym_true] = ACTIONS(41), [anon_sym_false] = ACTIONS(41), [anon_sym_null] = ACTIONS(41), @@ -9758,95 +8265,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [38] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_tuple_items] = STATE(975), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(706), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(305), + [sym_assertion_expression] = STATE(305), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(305), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(305), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(305), + [sym_if_expression] = STATE(305), + [sym_for_loop] = STATE(305), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(305), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(305), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(305), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -9859,94 +8351,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [39] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(787), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(262), + [sym_assertion_expression] = STATE(262), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(262), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(262), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(262), + [sym_if_expression] = STATE(262), + [sym_for_loop] = STATE(262), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(262), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(262), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(262), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -9959,100 +8437,84 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_DOT_DOT] = ACTIONS(295), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [40] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(866), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(328), + [sym_assertion_expression] = STATE(328), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(328), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(328), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(328), + [sym_if_expression] = STATE(328), + [sym_for_loop] = STATE(328), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(328), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(328), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(328), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), [anon_sym_LBRACK] = ACTIONS(47), - [anon_sym_RBRACK] = ACTIONS(297), [anon_sym_true] = ACTIONS(41), [anon_sym_false] = ACTIONS(41), [anon_sym_null] = ACTIONS(41), @@ -10061,94 +8523,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [41] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(786), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(296), + [sym_assertion_expression] = STATE(296), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(296), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(296), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(296), + [sym_if_expression] = STATE(296), + [sym_for_loop] = STATE(296), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(296), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(296), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(296), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -10161,95 +8609,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_DOT_DOT] = ACTIONS(287), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [42] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(550), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(245), + [sym_assertion_expression] = STATE(245), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(245), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(245), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(245), + [sym_if_expression] = STATE(245), + [sym_for_loop] = STATE(245), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(245), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(245), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(245), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(311), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(103), + [anon_sym_BANG] = ACTIONS(105), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -10262,95 +8695,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_EQ_GT] = ACTIONS(299), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(105), + [anon_sym_DASH] = ACTIONS(105), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(105), + [anon_sym_AMP] = ACTIONS(105), + [anon_sym_if] = ACTIONS(109), + [anon_sym_for] = ACTIONS(111), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(113), + [anon_sym_yield] = ACTIONS(115), [sym_comment] = ACTIONS(3), }, [43] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(550), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(312), + [sym_assertion_expression] = STATE(312), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(312), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(312), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(312), + [sym_if_expression] = STATE(312), + [sym_for_loop] = STATE(312), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(312), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(312), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(312), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -10363,100 +8781,84 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_EQ_GT] = ACTIONS(301), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [44] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(856), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(301), + [sym_assertion_expression] = STATE(301), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(301), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(301), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(301), + [sym_if_expression] = STATE(301), + [sym_for_loop] = STATE(301), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(301), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(301), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(301), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), [anon_sym_LBRACK] = ACTIONS(47), - [anon_sym_RBRACK] = ACTIONS(303), [anon_sym_true] = ACTIONS(41), [anon_sym_false] = ACTIONS(41), [anon_sym_null] = ACTIONS(41), @@ -10465,99 +8867,84 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [45] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(983), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(316), + [sym_assertion_expression] = STATE(316), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(316), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(316), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(316), + [sym_if_expression] = STATE(316), + [sym_for_loop] = STATE(316), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(316), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(316), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(316), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), [anon_sym_LBRACK] = ACTIONS(47), - [anon_sym_RBRACK] = ACTIONS(305), [anon_sym_true] = ACTIONS(41), [anon_sym_false] = ACTIONS(41), [anon_sym_null] = ACTIONS(41), @@ -10566,95 +8953,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [46] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(550), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(273), + [sym_assertion_expression] = STATE(273), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(273), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(273), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(273), + [sym_if_expression] = STATE(273), + [sym_for_loop] = STATE(273), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(273), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(273), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(273), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_RPAREN] = ACTIONS(307), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -10667,99 +9039,84 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [47] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(852), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(302), + [sym_assertion_expression] = STATE(302), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(302), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(302), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(302), + [sym_if_expression] = STATE(302), + [sym_for_loop] = STATE(302), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(302), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(302), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(302), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), [anon_sym_LBRACK] = ACTIONS(47), - [anon_sym_RBRACK] = ACTIONS(309), [anon_sym_true] = ACTIONS(41), [anon_sym_false] = ACTIONS(41), [anon_sym_null] = ACTIONS(41), @@ -10768,99 +9125,84 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [48] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(917), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(287), + [sym_assertion_expression] = STATE(287), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(287), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(287), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(287), + [sym_if_expression] = STATE(287), + [sym_for_loop] = STATE(287), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(287), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(287), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(287), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), [anon_sym_LBRACK] = ACTIONS(47), - [anon_sym_RBRACK] = ACTIONS(311), [anon_sym_true] = ACTIONS(41), [anon_sym_false] = ACTIONS(41), [anon_sym_null] = ACTIONS(41), @@ -10869,95 +9211,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [49] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(550), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(270), + [sym_assertion_expression] = STATE(270), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(270), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(270), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(270), + [sym_if_expression] = STATE(270), + [sym_for_loop] = STATE(270), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(270), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(270), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(270), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_RPAREN] = ACTIONS(313), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -10970,95 +9297,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [50] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(550), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(314), + [sym_assertion_expression] = STATE(314), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(314), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(314), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(314), + [sym_if_expression] = STATE(314), + [sym_for_loop] = STATE(314), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(314), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(314), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(314), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_RPAREN] = ACTIONS(315), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -11071,94 +9383,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [51] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(788), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(281), + [sym_assertion_expression] = STATE(281), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(281), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(281), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(281), + [sym_if_expression] = STATE(281), + [sym_for_loop] = STATE(281), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(281), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(281), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(281), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -11171,94 +9469,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [52] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(811), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(303), + [sym_assertion_expression] = STATE(303), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(303), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(303), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(303), + [sym_if_expression] = STATE(303), + [sym_for_loop] = STATE(303), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(303), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(303), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(303), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -11271,94 +9555,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [53] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(550), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(307), + [sym_assertion_expression] = STATE(307), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(307), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(307), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(307), + [sym_if_expression] = STATE(307), + [sym_for_loop] = STATE(307), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(307), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(307), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(307), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -11371,94 +9641,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [54] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(880), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(264), + [sym_assertion_expression] = STATE(264), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(264), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(264), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(264), + [sym_if_expression] = STATE(264), + [sym_for_loop] = STATE(264), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(264), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(257), + [sym_control_statement] = STATE(264), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(264), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -11471,94 +9727,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [55] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(927), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(294), + [sym_assertion_expression] = STATE(294), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(294), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(294), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(294), + [sym_if_expression] = STATE(294), + [sym_for_loop] = STATE(294), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(294), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(294), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(294), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -11571,94 +9813,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [56] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(878), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(234), + [sym_assertion_expression] = STATE(234), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(234), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(234), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(234), + [sym_if_expression] = STATE(234), + [sym_for_loop] = STATE(234), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(234), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(234), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(234), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(311), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(103), + [anon_sym_BANG] = ACTIONS(105), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -11671,94 +9899,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), + [anon_sym_PLUS] = ACTIONS(105), + [anon_sym_DASH] = ACTIONS(105), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(105), + [anon_sym_AMP] = ACTIONS(105), [anon_sym_if] = ACTIONS(109), [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(113), + [anon_sym_yield] = ACTIONS(115), [sym_comment] = ACTIONS(3), }, [57] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(796), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(318), + [sym_assertion_expression] = STATE(318), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(318), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(318), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(318), + [sym_if_expression] = STATE(318), + [sym_for_loop] = STATE(318), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(318), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(318), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(318), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -11771,94 +9985,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [58] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(642), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(297), + [sym_assertion_expression] = STATE(297), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(297), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(297), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(297), + [sym_if_expression] = STATE(297), + [sym_for_loop] = STATE(297), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(297), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(297), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(297), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -11871,94 +10071,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [59] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(771), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(236), + [sym_assertion_expression] = STATE(236), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(236), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(236), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(236), + [sym_if_expression] = STATE(236), + [sym_for_loop] = STATE(236), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(236), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(236), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(236), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(311), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(103), + [anon_sym_BANG] = ACTIONS(105), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -11971,94 +10157,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), + [anon_sym_PLUS] = ACTIONS(105), + [anon_sym_DASH] = ACTIONS(105), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(105), + [anon_sym_AMP] = ACTIONS(105), [anon_sym_if] = ACTIONS(109), [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(113), + [anon_sym_yield] = ACTIONS(115), [sym_comment] = ACTIONS(3), }, [60] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(336), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(439), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(466), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(299), + [sym_assertion_expression] = STATE(299), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(299), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(299), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(299), + [sym_if_expression] = STATE(299), + [sym_for_loop] = STATE(299), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(299), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(299), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(299), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(33), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(37), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -12071,94 +10243,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(83), - [anon_sym_for] = ACTIONS(87), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(95), - [anon_sym_yield] = ACTIONS(97), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [61] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(794), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(320), + [sym_assertion_expression] = STATE(320), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(320), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(320), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(320), + [sym_if_expression] = STATE(320), + [sym_for_loop] = STATE(320), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(320), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(320), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(320), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -12171,94 +10329,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [62] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(798), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(306), + [sym_assertion_expression] = STATE(306), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(306), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(306), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(306), + [sym_if_expression] = STATE(306), + [sym_for_loop] = STATE(306), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(306), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(306), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(306), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -12271,94 +10415,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [63] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(664), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(237), + [sym_assertion_expression] = STATE(237), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(237), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(237), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(237), + [sym_if_expression] = STATE(237), + [sym_for_loop] = STATE(237), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(237), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(237), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(237), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(311), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(103), + [anon_sym_BANG] = ACTIONS(105), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -12371,94 +10501,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(105), + [anon_sym_DASH] = ACTIONS(105), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(105), + [anon_sym_AMP] = ACTIONS(105), + [anon_sym_if] = ACTIONS(109), + [anon_sym_for] = ACTIONS(111), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(113), + [anon_sym_yield] = ACTIONS(115), [sym_comment] = ACTIONS(3), }, [64] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(471), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(240), + [sym_assertion_expression] = STATE(240), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(240), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(240), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(240), + [sym_if_expression] = STATE(240), + [sym_for_loop] = STATE(240), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(240), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(240), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(240), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(311), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(103), + [anon_sym_BANG] = ACTIONS(105), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -12471,94 +10587,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), + [anon_sym_PLUS] = ACTIONS(105), + [anon_sym_DASH] = ACTIONS(105), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(105), + [anon_sym_AMP] = ACTIONS(105), [anon_sym_if] = ACTIONS(109), [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(113), + [anon_sym_yield] = ACTIONS(115), [sym_comment] = ACTIONS(3), }, [65] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(862), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(243), + [sym_assertion_expression] = STATE(243), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(243), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(243), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(243), + [sym_if_expression] = STATE(243), + [sym_for_loop] = STATE(243), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(243), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(243), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(243), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(311), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(103), + [anon_sym_BANG] = ACTIONS(105), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -12571,94 +10673,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), + [anon_sym_PLUS] = ACTIONS(105), + [anon_sym_DASH] = ACTIONS(105), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(105), + [anon_sym_AMP] = ACTIONS(105), [anon_sym_if] = ACTIONS(109), [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(113), + [anon_sym_yield] = ACTIONS(115), [sym_comment] = ACTIONS(3), }, [66] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(465), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(334), + [sym_assertion_expression] = STATE(334), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(334), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(334), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(334), + [sym_if_expression] = STATE(334), + [sym_for_loop] = STATE(334), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(334), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(334), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(334), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -12671,94 +10759,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [67] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(805), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(295), + [sym_assertion_expression] = STATE(295), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(295), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(295), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(295), + [sym_if_expression] = STATE(295), + [sym_for_loop] = STATE(295), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(295), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(295), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(295), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -12771,94 +10845,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [68] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(797), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(336), + [sym_assertion_expression] = STATE(336), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(336), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(336), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(336), + [sym_if_expression] = STATE(336), + [sym_for_loop] = STATE(336), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(336), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(336), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(336), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -12871,94 +10931,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [69] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(335), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(435), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(466), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(277), + [sym_assertion_expression] = STATE(277), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(277), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(277), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(277), + [sym_if_expression] = STATE(277), + [sym_for_loop] = STATE(277), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(277), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(275), + [sym_control_statement] = STATE(277), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(277), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(121), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(123), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -12971,94 +11017,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), [anon_sym_if] = ACTIONS(125), [anon_sym_for] = ACTIONS(127), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), [anon_sym_return] = ACTIONS(129), [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [70] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(736), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(246), + [sym_assertion_expression] = STATE(246), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(246), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(246), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(246), + [sym_if_expression] = STATE(246), + [sym_for_loop] = STATE(246), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(246), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(246), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(246), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(311), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(103), + [anon_sym_BANG] = ACTIONS(105), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -13071,94 +11103,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(105), + [anon_sym_DASH] = ACTIONS(105), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(105), + [anon_sym_AMP] = ACTIONS(105), + [anon_sym_if] = ACTIONS(109), + [anon_sym_for] = ACTIONS(111), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(113), + [anon_sym_yield] = ACTIONS(115), [sym_comment] = ACTIONS(3), }, [71] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(806), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(266), + [sym_assertion_expression] = STATE(266), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(266), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(266), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(266), + [sym_if_expression] = STATE(266), + [sym_for_loop] = STATE(266), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(266), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(266), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(266), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -13171,94 +11189,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [72] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(756), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(333), + [sym_assertion_expression] = STATE(333), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(333), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(333), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(333), + [sym_if_expression] = STATE(333), + [sym_for_loop] = STATE(333), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(333), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(333), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(333), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -13271,94 +11275,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [73] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(841), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(310), + [sym_assertion_expression] = STATE(310), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(310), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(310), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(310), + [sym_if_expression] = STATE(310), + [sym_for_loop] = STATE(310), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(310), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(310), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(310), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -13371,94 +11361,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [74] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(812), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(235), + [sym_assertion_expression] = STATE(235), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(235), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(235), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(235), + [sym_if_expression] = STATE(235), + [sym_for_loop] = STATE(235), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(235), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(235), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(235), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(311), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(103), + [anon_sym_BANG] = ACTIONS(105), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -13471,94 +11447,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(105), + [anon_sym_DASH] = ACTIONS(105), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(105), + [anon_sym_AMP] = ACTIONS(105), + [anon_sym_if] = ACTIONS(109), + [anon_sym_for] = ACTIONS(111), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(113), + [anon_sym_yield] = ACTIONS(115), [sym_comment] = ACTIONS(3), }, [75] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(838), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(304), + [sym_assertion_expression] = STATE(304), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(304), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(304), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(304), + [sym_if_expression] = STATE(304), + [sym_for_loop] = STATE(304), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(304), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(304), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(304), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -13571,94 +11533,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [76] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(819), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(283), + [sym_assertion_expression] = STATE(283), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(283), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(283), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(283), + [sym_if_expression] = STATE(283), + [sym_for_loop] = STATE(283), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(283), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(283), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(283), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -13671,94 +11619,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [77] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(760), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(279), + [sym_assertion_expression] = STATE(279), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(279), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(279), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(279), + [sym_if_expression] = STATE(279), + [sym_for_loop] = STATE(279), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(279), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(279), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(279), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -13771,94 +11705,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [78] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(708), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(309), + [sym_assertion_expression] = STATE(309), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(309), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(309), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(309), + [sym_if_expression] = STATE(309), + [sym_for_loop] = STATE(309), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(309), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(309), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(309), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -13871,94 +11791,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [79] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(761), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(271), + [sym_assertion_expression] = STATE(271), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(271), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(271), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(271), + [sym_if_expression] = STATE(271), + [sym_for_loop] = STATE(271), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(271), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(271), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(271), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -13971,93 +11877,79 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [80] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(484), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(260), + [sym_assertion_expression] = STATE(260), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(260), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(260), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(260), + [sym_if_expression] = STATE(260), + [sym_for_loop] = STATE(260), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(260), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(260), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(260), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(313), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), + [anon_sym_LPAREN] = ACTIONS(37), [anon_sym_BANG] = ACTIONS(39), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), @@ -14073,92 +11965,78 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_floating_constant_token1] = ACTIONS(53), [anon_sym_PLUS] = ACTIONS(39), [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), [anon_sym_TILDE] = ACTIONS(39), [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_if] = ACTIONS(87), + [anon_sym_for] = ACTIONS(89), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(97), + [anon_sym_yield] = ACTIONS(99), [sym_comment] = ACTIONS(3), }, [81] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(839), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(290), + [sym_assertion_expression] = STATE(290), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(290), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(290), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(290), + [sym_if_expression] = STATE(290), + [sym_for_loop] = STATE(290), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(290), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(290), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(290), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -14171,93 +12049,79 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [82] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(849), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(251), + [sym_assertion_expression] = STATE(251), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(251), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(251), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(251), + [sym_if_expression] = STATE(251), + [sym_for_loop] = STATE(251), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(251), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(251), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(251), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(313), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), + [anon_sym_LPAREN] = ACTIONS(37), [anon_sym_BANG] = ACTIONS(39), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), @@ -14273,92 +12137,78 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_floating_constant_token1] = ACTIONS(53), [anon_sym_PLUS] = ACTIONS(39), [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), [anon_sym_TILDE] = ACTIONS(39), [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_if] = ACTIONS(87), + [anon_sym_for] = ACTIONS(89), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(97), + [anon_sym_yield] = ACTIONS(99), [sym_comment] = ACTIONS(3), }, [83] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(482), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(268), + [sym_assertion_expression] = STATE(268), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(268), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(268), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(268), + [sym_if_expression] = STATE(268), + [sym_for_loop] = STATE(268), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(268), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(268), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(268), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -14371,93 +12221,79 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [84] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(488), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(479), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(252), + [sym_assertion_expression] = STATE(252), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(252), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(252), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(252), + [sym_if_expression] = STATE(252), + [sym_for_loop] = STATE(252), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(252), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(252), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(252), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(313), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), + [anon_sym_LPAREN] = ACTIONS(37), [anon_sym_BANG] = ACTIONS(39), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), @@ -14473,91 +12309,77 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_floating_constant_token1] = ACTIONS(53), [anon_sym_PLUS] = ACTIONS(39), [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), [anon_sym_TILDE] = ACTIONS(39), [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_if] = ACTIONS(87), + [anon_sym_for] = ACTIONS(89), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(97), + [anon_sym_yield] = ACTIONS(99), [sym_comment] = ACTIONS(3), }, [85] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(469), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(247), + [sym_assertion_expression] = STATE(247), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(247), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(247), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(247), + [sym_if_expression] = STATE(247), + [sym_for_loop] = STATE(247), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(247), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(247), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(247), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(313), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), + [anon_sym_LPAREN] = ACTIONS(37), [anon_sym_BANG] = ACTIONS(39), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), @@ -14573,92 +12395,78 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_floating_constant_token1] = ACTIONS(53), [anon_sym_PLUS] = ACTIONS(39), [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), [anon_sym_TILDE] = ACTIONS(39), [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_if] = ACTIONS(87), + [anon_sym_for] = ACTIONS(89), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(97), + [anon_sym_yield] = ACTIONS(99), [sym_comment] = ACTIONS(3), }, [86] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(766), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(327), + [sym_assertion_expression] = STATE(327), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(327), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(327), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(327), + [sym_if_expression] = STATE(327), + [sym_for_loop] = STATE(327), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(327), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(327), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(327), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -14671,94 +12479,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [87] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(1035), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(315), + [sym_assertion_expression] = STATE(315), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(315), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(315), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(315), + [sym_if_expression] = STATE(315), + [sym_for_loop] = STATE(315), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(315), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(315), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(315), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -14771,93 +12565,79 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [88] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(697), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(253), + [sym_assertion_expression] = STATE(253), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(253), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(253), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(253), + [sym_if_expression] = STATE(253), + [sym_for_loop] = STATE(253), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(253), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(253), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(253), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(313), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), + [anon_sym_LPAREN] = ACTIONS(37), [anon_sym_BANG] = ACTIONS(39), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), @@ -14873,91 +12653,77 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_floating_constant_token1] = ACTIONS(53), [anon_sym_PLUS] = ACTIONS(39), [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), [anon_sym_TILDE] = ACTIONS(39), [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_if] = ACTIONS(87), + [anon_sym_for] = ACTIONS(89), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(97), + [anon_sym_yield] = ACTIONS(99), [sym_comment] = ACTIONS(3), }, [89] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(472), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(254), + [sym_assertion_expression] = STATE(254), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(254), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(254), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(254), + [sym_if_expression] = STATE(254), + [sym_for_loop] = STATE(254), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(254), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(254), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(254), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(313), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), + [anon_sym_LPAREN] = ACTIONS(37), [anon_sym_BANG] = ACTIONS(39), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), @@ -14973,91 +12739,77 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_floating_constant_token1] = ACTIONS(53), [anon_sym_PLUS] = ACTIONS(39), [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), [anon_sym_TILDE] = ACTIONS(39), [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_if] = ACTIONS(87), + [anon_sym_for] = ACTIONS(89), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(97), + [anon_sym_yield] = ACTIONS(99), [sym_comment] = ACTIONS(3), }, [90] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(948), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(259), + [sym_assertion_expression] = STATE(259), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(259), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(259), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(259), + [sym_if_expression] = STATE(259), + [sym_for_loop] = STATE(259), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(259), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(259), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(259), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(313), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), + [anon_sym_LPAREN] = ACTIONS(37), [anon_sym_BANG] = ACTIONS(39), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), @@ -15073,91 +12825,77 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_floating_constant_token1] = ACTIONS(53), [anon_sym_PLUS] = ACTIONS(39), [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), [anon_sym_TILDE] = ACTIONS(39), [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_if] = ACTIONS(87), + [anon_sym_for] = ACTIONS(89), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(97), + [anon_sym_yield] = ACTIONS(99), [sym_comment] = ACTIONS(3), }, [91] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(850), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(255), + [sym_assertion_expression] = STATE(255), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(255), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(255), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(255), + [sym_if_expression] = STATE(255), + [sym_for_loop] = STATE(255), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(255), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(255), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(255), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(313), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), + [anon_sym_LPAREN] = ACTIONS(37), [anon_sym_BANG] = ACTIONS(39), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), @@ -15173,89 +12911,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_floating_constant_token1] = ACTIONS(53), [anon_sym_PLUS] = ACTIONS(39), [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), [anon_sym_TILDE] = ACTIONS(39), [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_if] = ACTIONS(87), + [anon_sym_for] = ACTIONS(89), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(97), + [anon_sym_yield] = ACTIONS(99), [sym_comment] = ACTIONS(3), }, [92] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(336), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(439), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(472), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(250), + [sym_assertion_expression] = STATE(250), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(250), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(250), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(250), + [sym_if_expression] = STATE(250), + [sym_for_loop] = STATE(250), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(250), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(250), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(250), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(33), + [anon_sym_STAR] = ACTIONS(313), [anon_sym_COLON] = ACTIONS(35), [anon_sym_LPAREN] = ACTIONS(37), [anon_sym_BANG] = ACTIONS(39), @@ -15273,92 +12997,78 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_floating_constant_token1] = ACTIONS(53), [anon_sym_PLUS] = ACTIONS(39), [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), [anon_sym_TILDE] = ACTIONS(39), [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(83), - [anon_sym_for] = ACTIONS(87), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(95), - [anon_sym_yield] = ACTIONS(97), + [anon_sym_if] = ACTIONS(87), + [anon_sym_for] = ACTIONS(89), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(97), + [anon_sym_yield] = ACTIONS(99), [sym_comment] = ACTIONS(3), }, [93] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(889), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(282), + [sym_assertion_expression] = STATE(282), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(282), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(282), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(282), + [sym_if_expression] = STATE(282), + [sym_for_loop] = STATE(282), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(282), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(282), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(282), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -15371,93 +13081,79 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [94] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(939), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(256), + [sym_assertion_expression] = STATE(256), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(256), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(256), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(256), + [sym_if_expression] = STATE(256), + [sym_for_loop] = STATE(256), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(256), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(220), + [sym_control_statement] = STATE(256), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(256), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(313), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), + [anon_sym_LPAREN] = ACTIONS(37), [anon_sym_BANG] = ACTIONS(39), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), @@ -15473,92 +13169,78 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_floating_constant_token1] = ACTIONS(53), [anon_sym_PLUS] = ACTIONS(39), [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), [anon_sym_TILDE] = ACTIONS(39), [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_if] = ACTIONS(87), + [anon_sym_for] = ACTIONS(89), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(97), + [anon_sym_yield] = ACTIONS(99), [sym_comment] = ACTIONS(3), }, [95] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(337), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(436), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(869), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(276), + [sym_assertion_expression] = STATE(276), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(276), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(276), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(276), + [sym_if_expression] = STATE(276), + [sym_for_loop] = STATE(276), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(276), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(276), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(276), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(101), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -15571,94 +13253,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(109), - [anon_sym_for] = ACTIONS(111), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(117), - [anon_sym_yield] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [96] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(338), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(438), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(754), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(330), + [sym_assertion_expression] = STATE(330), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(330), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(330), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(330), + [sym_if_expression] = STATE(330), + [sym_for_loop] = STATE(330), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(330), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(330), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(330), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(245), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(247), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -15671,94 +13339,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(249), - [anon_sym_for] = ACTIONS(251), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(253), - [anon_sym_yield] = ACTIONS(255), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [97] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(336), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(439), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(482), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(331), + [sym_assertion_expression] = STATE(331), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(331), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(331), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(331), + [sym_if_expression] = STATE(331), + [sym_for_loop] = STATE(331), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(331), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(331), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(331), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(33), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(37), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -15771,94 +13425,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(83), - [anon_sym_for] = ACTIONS(87), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(95), - [anon_sym_yield] = ACTIONS(97), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [98] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(336), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(439), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(484), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(335), + [sym_assertion_expression] = STATE(335), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(335), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(335), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(335), + [sym_if_expression] = STATE(335), + [sym_for_loop] = STATE(335), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(335), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(335), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(335), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(33), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(37), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -15871,94 +13511,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(83), - [anon_sym_for] = ACTIONS(87), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(95), - [anon_sym_yield] = ACTIONS(97), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [99] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(336), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(439), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(471), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(319), + [sym_assertion_expression] = STATE(319), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(319), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(319), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(319), + [sym_if_expression] = STATE(319), + [sym_for_loop] = STATE(319), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(319), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(319), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(319), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(33), + [anon_sym_STAR] = ACTIONS(151), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(37), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(135), + [anon_sym_BANG] = ACTIONS(137), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -15971,94 +13597,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(83), - [anon_sym_for] = ACTIONS(87), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(95), - [anon_sym_yield] = ACTIONS(97), + [anon_sym_PLUS] = ACTIONS(137), + [anon_sym_DASH] = ACTIONS(137), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(137), + [anon_sym_AMP] = ACTIONS(137), + [anon_sym_if] = ACTIONS(141), + [anon_sym_for] = ACTIONS(143), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(145), + [anon_sym_yield] = ACTIONS(147), [sym_comment] = ACTIONS(3), }, [100] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(336), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(439), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(1015), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(469), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(269), + [sym_assertion_expression] = STATE(269), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(269), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(269), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(269), + [sym_if_expression] = STATE(269), + [sym_for_loop] = STATE(269), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(269), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(269), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(269), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(33), + [anon_sym_STAR] = ACTIONS(275), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(37), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_BANG] = ACTIONS(121), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -16071,94 +13683,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon_sym_len] = ACTIONS(69), - [anon_sym_offset] = ACTIONS(71), - [anon_sym_append] = ACTIONS(73), - [anon_sym_insert] = ACTIONS(75), - [anon_sym_delete] = ACTIONS(77), - [anon_sym_vastart] = ACTIONS(79), - [anon_sym_vaarg] = ACTIONS(81), - [anon_sym_vaend] = ACTIONS(81), - [anon_sym_TILDE] = ACTIONS(39), - [anon_sym_AMP] = ACTIONS(39), - [anon_sym_if] = ACTIONS(83), - [anon_sym_for] = ACTIONS(87), - [anon_sym_switch] = ACTIONS(89), - [anon_sym_match] = ACTIONS(91), - [anon_sym_break] = ACTIONS(93), - [anon_sym_continue] = ACTIONS(93), - [anon_sym_return] = ACTIONS(95), - [anon_sym_yield] = ACTIONS(97), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_SQUOTE] = ACTIONS(57), + [anon_sym_DQUOTE] = ACTIONS(59), + [anon_sym_alloc] = ACTIONS(61), + [anon_sym_free] = ACTIONS(63), + [anon_sym_static] = ACTIONS(65), + [anon_sym_assert] = ACTIONS(67), + [anon_sym_abort] = ACTIONS(69), + [anon_sym_len] = ACTIONS(71), + [anon_sym_offset] = ACTIONS(73), + [anon_sym_append] = ACTIONS(77), + [anon_sym_insert] = ACTIONS(79), + [anon_sym_delete] = ACTIONS(81), + [anon_sym_vastart] = ACTIONS(83), + [anon_sym_vaarg] = ACTIONS(85), + [anon_sym_vaend] = ACTIONS(85), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_if] = ACTIONS(125), + [anon_sym_for] = ACTIONS(127), + [anon_sym_switch] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_break] = ACTIONS(95), + [anon_sym_continue] = ACTIONS(95), + [anon_sym_return] = ACTIONS(129), + [anon_sym_yield] = ACTIONS(131), [sym_comment] = ACTIONS(3), }, [101] = { - [sym_constant] = STATE(318), - [sym_integer_constant] = STATE(325), - [sym_floating_constant] = STATE(325), - [sym_rune_constant] = STATE(325), - [sym_string_constant] = STATE(325), - [sym_array_literal] = STATE(318), - [sym_struct_literal] = STATE(318), - [sym_plain_expression] = STATE(307), - [sym_nested_expression] = STATE(316), - [sym_allocation_expression] = STATE(382), - [sym_assertion_expression] = STATE(382), - [sym_call_expression] = STATE(316), - [sym_measurement_expression] = STATE(382), - [sym_size_expression] = STATE(381), - [sym_length_expression] = STATE(381), - [sym_offset_expression] = STATE(381), - [sym_field_access_expression] = STATE(190), - [sym_indexing_expression] = STATE(190), - [sym_slicing_expression] = STATE(336), - [sym_slice_mutation_expression] = STATE(382), - [sym_append_expression] = STATE(378), - [sym_insert_expression] = STATE(378), - [sym_delete_expression] = STATE(378), - [sym_error_propagation] = STATE(316), - [sym_postfix_expression] = STATE(309), - [sym_object_selector] = STATE(439), - [sym_variadic_expression] = STATE(382), - [sym_builtin_expression] = STATE(375), - [sym_unary_expression] = STATE(368), - [sym_cast_expression] = STATE(367), - [sym_multiplicative_expression] = STATE(413), - [sym_additive_expression] = STATE(417), - [sym_shift_expression] = STATE(421), - [sym_and_expression] = STATE(422), - [sym_exclusive_or_expression] = STATE(425), - [sym_inclusive_or_expression] = STATE(428), - [sym_comparison_expression] = STATE(430), - [sym_equality_expression] = STATE(434), - [sym_logical_and_expression] = STATE(447), - [sym_logical_xor_expression] = STATE(450), - [sym_logical_or_expression] = STATE(458), - [sym_if_expression] = STATE(468), - [sym_for_loop] = STATE(468), - [sym_switch_expression] = STATE(375), - [sym_match_expression] = STATE(375), - [sym_assignment] = STATE(468), - [sym_compound_expression] = STATE(375), - [sym_label] = STATE(489), - [sym_control_statement] = STATE(468), - [sym_yield_expression] = STATE(467), - [sym_expression] = STATE(479), - [sym_identifier] = STATE(169), + [sym__constant] = STATE(172), + [sym_integer_constant] = STATE(172), + [sym_floating_constant] = STATE(172), + [sym_rune_constant] = STATE(172), + [sym_string_constant] = STATE(172), + [sym_array_literal] = STATE(172), + [sym_struct_literal] = STATE(172), + [sym__plain_expression] = STATE(172), + [sym__nested_expression] = STATE(172), + [sym_allocation_expression] = STATE(249), + [sym_assertion_expression] = STATE(249), + [sym_call_expression] = STATE(172), + [sym_measurement_expression] = STATE(249), + [sym_size_expression] = STATE(222), + [sym_length_expression] = STATE(222), + [sym_offset_expression] = STATE(222), + [sym_field_access_expression] = STATE(172), + [sym_indexing_expression] = STATE(172), + [sym_slicing_expression] = STATE(172), + [sym_slice_mutation_expression] = STATE(249), + [sym_append_expression] = STATE(226), + [sym_insert_expression] = STATE(226), + [sym_delete_expression] = STATE(226), + [sym_error_propagation] = STATE(172), + [sym__postfix_expression] = STATE(172), + [sym_variadic_expression] = STATE(217), + [sym_unary_expression] = STATE(249), + [sym_if_expression] = STATE(249), + [sym_for_loop] = STATE(249), + [sym_switch_expression] = STATE(217), + [sym_match_expression] = STATE(217), + [sym_assignment] = STATE(249), + [sym_compound_expression] = STATE(217), + [sym_label] = STATE(580), + [sym_control_statement] = STATE(249), + [sym_yield_expression] = STATE(229), + [sym__expression] = STATE(249), + [sym_identifier] = STATE(171), [sym_name] = ACTIONS(27), [anon_sym_LBRACE] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(33), + [anon_sym_STAR] = ACTIONS(311), [anon_sym_COLON] = ACTIONS(35), - [anon_sym_LPAREN] = ACTIONS(37), - [anon_sym_BANG] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(103), + [anon_sym_BANG] = ACTIONS(105), [anon_sym_void] = ACTIONS(41), [anon_sym_size] = ACTIONS(43), [anon_sym_struct] = ACTIONS(45), @@ -16171,94 +13769,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_integer_constant_token3] = ACTIONS(49), [aux_sym_integer_constant_token4] = ACTIONS(51), [aux_sym_floating_constant_token1] = ACTIONS(53), - [anon_sym_PLUS] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(39), - [anon_sym_SQUOTE] = ACTIONS(55), - [anon_sym_DQUOTE] = ACTIONS(57), - [anon_sym_alloc] = ACTIONS(59), - [anon_sym_free] = ACTIONS(61), - [anon_sym_static] = ACTIONS(63), - [anon_sym_assert] = ACTIONS(65), - [anon_sym_abort] = ACTIONS(67), - [anon