diff --git a/.tree-sitter-config.json b/.tree-sitter-config.json new file mode 100644 index 0000000..d8dfca0 --- /dev/null +++ b/.tree-sitter-config.json @@ -0,0 +1,5 @@ +{ + "directories": [ + "." + ] +} \ No newline at end of file diff --git a/Cargo.toml b/Cargo.toml index 26e30ab..fd7e0cc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "tree-sitter-inference" description = "Inference grammar for tree-sitter" -version = "0.0.32" +version = "0.0.33" authors = [ "Georgii Plotnikov " ] diff --git a/Makefile b/Makefile index 51108eb..d54604f 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -VERSION := 0.0.32 +VERSION := 0.0.33 LANGUAGE_NAME := tree-sitter-Inference diff --git a/debug.inf b/debug.inf index b0f903c..f1c37b4 100644 --- a/debug.inf +++ b/debug.inf @@ -1,10 +1,8 @@ -fn foo() { - assume { - let x: u32 = @; - forall { - let y: u32 = @; - foobar(param1 : @, param2: 5); - /// - } +fn type_check(exprs : [Expr]) -> () { + let env : Binding = Binding { a: "", b: 0, c: [] }; + let mut i : i32 = 0; + loop exprs.len { + check_expr(exprs[i], env); + i = i + 1; } } \ No newline at end of file diff --git a/grammar.js b/grammar.js index 0c91d89..af820a3 100644 --- a/grammar.js +++ b/grammar.js @@ -47,7 +47,7 @@ module.exports = grammar({ extras: $ => [ /\s/, - $._comment, + $.comment, ], rules: { @@ -159,6 +159,7 @@ module.exports = grammar({ $._literal, $.binary_expression, $.function_call_expression, + $.struct_expression, $.prefix_unary_expression, $.parenthesized_expression, $.uzumaki_keyword @@ -189,10 +190,19 @@ module.exports = grammar({ field('function', $._lval_expression), optional(field('type_parameters', alias($.type_argument_list, $.type_parameters))), '(', - optional(sep1(seq(optional(seq(field('argument_name', $._name), ':')), field('argument', $._expression)), ',')), + optional(sep1(seq(optional(seq(field('argument_name', $._name), $._typedef_symbol)), field('argument', $._expression)), ',')), ')', )), + struct_expression: $ => seq( + field('name', $._name), + $._lcb_symbol, + optional(sep1( + seq(field('field_name', $._name), $._typedef_symbol, field('field_value', $._expression)), + $._comma_symbol)), + $._rcb_symbol, + ), + expression_statement: $ => seq( $._expression, $._terminal_symbol @@ -299,11 +309,11 @@ module.exports = grammar({ struct_definition: $ => seq( 'struct', - field('struct_name', $.identifier), + field('name', $.identifier), $._lcb_symbol, repeat(choice( seq(field('field', $.struct_field), ';'), - field('method', $.function_definition), + field('value', $.function_definition), )), $._rcb_symbol, ), @@ -485,7 +495,7 @@ module.exports = grammar({ string_literal: $ => seq( '"', - $._string_literal_content, + optional($._string_literal_content), '"', ), @@ -497,10 +507,10 @@ module.exports = grammar({ array_literal: $ => seq( '[', - sep1( + optional(sep1( $._expression, ',', - ), + )), ']', ), @@ -561,6 +571,7 @@ module.exports = grammar({ $._reserved_identifier, ), - _comment: _ => token(seq('///', /[^\n\r]*/)), + // Comments start with '///' + comment: _ => token(seq('///', /[^\n\r]*/)), }, }); diff --git a/highlight.js b/highlight.js new file mode 100755 index 0000000..4e549c6 --- /dev/null +++ b/highlight.js @@ -0,0 +1,66 @@ +#!/usr/bin/env node + +// Simple regex-based syntax highlighter for Inference language +const fs = require('fs'); +const path = require('path'); + +const args = process.argv.slice(2); +if (args.length !== 1) { + console.error(`Usage: node ${path.basename(process.argv[1])} `); + process.exit(1); +} +const file = args[0]; +let src; +try { + src = fs.readFileSync(file, 'utf8'); +} catch (e) { + console.error(`Error reading file ${file}:`, e.message); + process.exit(1); +} + +// Escape HTML +function escapeHtml(s) { + return s.replace(/&/g, '&') + .replace(//g, '>'); +} + +// Define token patterns and classes +const patterns = [ + {cls: 'comment', re: /^\/\/\/.*(?:\r?\n|$)/}, + {cls: 'string', re: /^"(?:\\.|[^"\\])*"/}, + {cls: 'type', re: /^(?:\b(?:i8|i16|i32|i64|u8|u16|u32|u64|bool)\b|\(\))/}, + {cls: 'keyword', re: /^(?:\b(?:fn|forall|exists|assume|unique|loop|if|else|break|return|let|const|type|enum|struct|use|spec|external)\b)/}, + {cls: 'boolean', re: /^(?:\b(?:true|false)\b)/}, + {cls: 'number', re: /^-?\d+(?:\.\d+)?/}, + {cls: 'operator', re: /^(?:->|::|\*\*|==|!=|<=|>=|&&|\|\||<<|>>|[=+\-*/%&|^<>])/}, + {cls: 'punctuation', re: /^[{}\[\]();,]/}, + {cls: 'identifier', re: /^\b[A-Za-z_]\w*\b/}, + {cls: 'whitespace', re: /^\s+/}, + {cls: 'text', re: /^./} +]; + +// Highlight +let out = ''; +let pos = 0; +while (pos < src.length) { + let matched = false; + for (const {cls, re} of patterns) { + const m = re.exec(src.slice(pos)); + if (!m) continue; + const tok = m[0]; + const esc = escapeHtml(tok); + if (cls === 'whitespace' || cls === 'text') { + out += esc; + } else { + out += `${esc}`; + } + pos += tok.length; + matched = true; + break; + } + if (!matched) { out += escapeHtml(src[pos]); pos++; } +} + +// Wrap in pre/code +process.stdout.write('
' + out + '
'); \ No newline at end of file diff --git a/index.js b/index.js new file mode 100644 index 0000000..2d2a1c1 --- /dev/null +++ b/index.js @@ -0,0 +1,23 @@ +const path = require('path'); +const binding = require('./bindings/node'); +// Load node type information (prefer the generated src/node-types.json) +let staticData; +try { + staticData = require(path.join(__dirname, 'src', 'node-types.json')); +} catch (e) { + try { + staticData = require(path.join(__dirname, 'node-types.json')); + } catch { + staticData = []; + } +} + +// Attach the two properties that tree-sitter-highlight needs +// Expose node type names and types for tree-sitter-highlight (if used) +binding.nodeTypeNamesById = Array.isArray(staticData) ? staticData.map(e => e.type) : []; +binding.types = staticData; +// Prevent tree-sitter JS from re-initializing node subclasses (avoids version checks) +binding.nodeSubclasses = []; + +// Export the binding object (with .language) so tree-sitter JS can unwrap it properly +module.exports = binding; diff --git a/node-types.json b/node-types.json new file mode 100644 index 0000000..06a7748 --- /dev/null +++ b/node-types.json @@ -0,0 +1,3768 @@ +[ + { + "type": "argument_declaration", + "named": true, + "fields": { + "mut": { + "multiple": false, + "required": false, + "types": [ + { + "type": "mut_keyword", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "qualified_name", + "named": true + }, + { + "type": "type_array", + "named": true + }, + { + "type": "type_bool", + "named": true + }, + { + "type": "type_fn", + "named": true + }, + { + "type": "type_i16", + "named": true + }, + { + "type": "type_i32", + "named": true + }, + { + "type": "type_i64", + "named": true + }, + { + "type": "type_i8", + "named": true + }, + { + "type": "type_qualified_name", + "named": true + }, + { + "type": "type_u16", + "named": true + }, + { + "type": "type_u32", + "named": true + }, + { + "type": "type_u64", + "named": true + }, + { + "type": "type_u8", + "named": true + }, + { + "type": "type_unit", + "named": true + } + ] + } + } + }, + { + "type": "argument_list", + "named": true, + "fields": { + "argument": { + "multiple": true, + "required": false, + "types": [ + { + "type": "argument_declaration", + "named": true + }, + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "ignore_argument", + "named": true + }, + { + "type": "qualified_name", + "named": true + }, + { + "type": "self_reference", + "named": true + }, + { + "type": "type_array", + "named": true + }, + { + "type": "type_bool", + "named": true + }, + { + "type": "type_fn", + "named": true + }, + { + "type": "type_i16", + "named": true + }, + { + "type": "type_i32", + "named": true + }, + { + "type": "type_i64", + "named": true + }, + { + "type": "type_i8", + "named": true + }, + { + "type": "type_qualified_name", + "named": true + }, + { + "type": "type_u16", + "named": true + }, + { + "type": "type_u32", + "named": true + }, + { + "type": "type_u64", + "named": true + }, + { + "type": "type_u8", + "named": true + }, + { + "type": "type_unit", + "named": true + } + ] + } + } + }, + { + "type": "array_index_access_expression", + "named": true, + "fields": { + "array": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_index_access_expression", + "named": true + }, + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_access_expression", + "named": true + } + ] + }, + "index": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_index_access_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "bool_literal", + "named": true + }, + { + "type": "function_call_expression", + "named": true + }, + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_access_expression", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "prefix_unary_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_expression", + "named": true + }, + { + "type": "unit_literal", + "named": true + }, + { + "type": "uzumaki_keyword", + "named": true + } + ] + } + } + }, + { + "type": "array_literal", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "array_index_access_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "bool_literal", + "named": true + }, + { + "type": "function_call_expression", + "named": true + }, + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_access_expression", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "prefix_unary_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_expression", + "named": true + }, + { + "type": "unit_literal", + "named": true + }, + { + "type": "uzumaki_keyword", + "named": true + } + ] + } + }, + { + "type": "assert_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_index_access_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "bool_literal", + "named": true + }, + { + "type": "function_call_expression", + "named": true + }, + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_access_expression", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "prefix_unary_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_expression", + "named": true + }, + { + "type": "unit_literal", + "named": true + }, + { + "type": "uzumaki_keyword", + "named": true + } + ] + } + }, + { + "type": "assign_statement", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_index_access_expression", + "named": true + }, + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_access_expression", + "named": true + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_index_access_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "bool_literal", + "named": true + }, + { + "type": "function_call_expression", + "named": true + }, + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_access_expression", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "prefix_unary_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_expression", + "named": true + }, + { + "type": "unit_literal", + "named": true + }, + { + "type": "uzumaki_keyword", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "assign_operator", + "named": true + } + ] + } + }, + { + "type": "assume_block", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "block", + "named": true + } + ] + } + } + }, + { + "type": "binary_expression", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_index_access_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "bool_literal", + "named": true + }, + { + "type": "function_call_expression", + "named": true + }, + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_access_expression", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "prefix_unary_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_expression", + "named": true + }, + { + "type": "unit_literal", + "named": true + }, + { + "type": "uzumaki_keyword", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "add_operator", + "named": true + }, + { + "type": "and_operator", + "named": true + }, + { + "type": "bit_and_operator", + "named": true + }, + { + "type": "bit_or_operator", + "named": true + }, + { + "type": "bit_xor_operator", + "named": true + }, + { + "type": "equals_operator", + "named": true + }, + { + "type": "greater_equal_operator", + "named": true + }, + { + "type": "greater_operator", + "named": true + }, + { + "type": "less_equal_operator", + "named": true + }, + { + "type": "less_operator", + "named": true + }, + { + "type": "mod_operator", + "named": true + }, + { + "type": "mul_operator", + "named": true + }, + { + "type": "not_equals_operator", + "named": true + }, + { + "type": "or_operator", + "named": true + }, + { + "type": "pow_operator", + "named": true + }, + { + "type": "shift_left_operator", + "named": true + }, + { + "type": "shift_right_operator", + "named": true + }, + { + "type": "sub_operator", + "named": true + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_index_access_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "bool_literal", + "named": true + }, + { + "type": "function_call_expression", + "named": true + }, + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_access_expression", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "prefix_unary_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_expression", + "named": true + }, + { + "type": "unit_literal", + "named": true + }, + { + "type": "uzumaki_keyword", + "named": true + } + ] + } + } + }, + { + "type": "block", + "named": true, + "fields": { + "statement": { + "multiple": true, + "required": false, + "types": [ + { + "type": "assert_statement", + "named": true + }, + { + "type": "assign_statement", + "named": true + }, + { + "type": "assume_block", + "named": true + }, + { + "type": "block", + "named": true + }, + { + "type": "break_statement", + "named": true + }, + { + "type": "constant_definition", + "named": true + }, + { + "type": "exists_block", + "named": true + }, + { + "type": "expression_statement", + "named": true + }, + { + "type": "forall_block", + "named": true + }, + { + "type": "if_statement", + "named": true + }, + { + "type": "loop_statement", + "named": true + }, + { + "type": "return_statement", + "named": true + }, + { + "type": "type_definition_statement", + "named": true + }, + { + "type": "unique_block", + "named": true + }, + { + "type": "variable_definition_statement", + "named": true + } + ] + } + } + }, + { + "type": "bool_literal", + "named": true, + "fields": {} + }, + { + "type": "break_statement", + "named": true, + "fields": {} + }, + { + "type": "constant_definition", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "qualified_name", + "named": true + }, + { + "type": "type_array", + "named": true + }, + { + "type": "type_bool", + "named": true + }, + { + "type": "type_fn", + "named": true + }, + { + "type": "type_i16", + "named": true + }, + { + "type": "type_i32", + "named": true + }, + { + "type": "type_i64", + "named": true + }, + { + "type": "type_i8", + "named": true + }, + { + "type": "type_qualified_name", + "named": true + }, + { + "type": "type_u16", + "named": true + }, + { + "type": "type_u32", + "named": true + }, + { + "type": "type_u64", + "named": true + }, + { + "type": "type_u8", + "named": true + }, + { + "type": "type_unit", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_index_access_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "bool_literal", + "named": true + }, + { + "type": "function_call_expression", + "named": true + }, + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_access_expression", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "prefix_unary_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_expression", + "named": true + }, + { + "type": "unit_literal", + "named": true + }, + { + "type": "uzumaki_keyword", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "assign_operator", + "named": true + } + ] + } + }, + { + "type": "enum_definition", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "variant": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + } + }, + { + "type": "exists_block", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "block", + "named": true + } + ] + } + } + }, + { + "type": "expression_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_index_access_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "bool_literal", + "named": true + }, + { + "type": "function_call_expression", + "named": true + }, + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_access_expression", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "prefix_unary_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_expression", + "named": true + }, + { + "type": "unit_literal", + "named": true + }, + { + "type": "uzumaki_keyword", + "named": true + } + ] + } + }, + { + "type": "external_function_definition", + "named": true, + "fields": { + "argument_list": { + "multiple": false, + "required": true, + "types": [ + { + "type": "argument_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "returns": { + "multiple": false, + "required": false, + "types": [ + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "qualified_name", + "named": true + }, + { + "type": "type_array", + "named": true + }, + { + "type": "type_bool", + "named": true + }, + { + "type": "type_fn", + "named": true + }, + { + "type": "type_i16", + "named": true + }, + { + "type": "type_i32", + "named": true + }, + { + "type": "type_i64", + "named": true + }, + { + "type": "type_i8", + "named": true + }, + { + "type": "type_qualified_name", + "named": true + }, + { + "type": "type_u16", + "named": true + }, + { + "type": "type_u32", + "named": true + }, + { + "type": "type_u64", + "named": true + }, + { + "type": "type_u8", + "named": true + }, + { + "type": "type_unit", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "function_keyword", + "named": true + }, + { + "type": "rightarrow_operator", + "named": true + } + ] + } + }, + { + "type": "forall_block", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "block", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "forall_keyword", + "named": true + } + ] + } + }, + { + "type": "function_call_expression", + "named": true, + "fields": { + "argument": { + "multiple": true, + "required": false, + "types": [ + { + "type": "array_index_access_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "bool_literal", + "named": true + }, + { + "type": "function_call_expression", + "named": true + }, + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_access_expression", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "prefix_unary_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_expression", + "named": true + }, + { + "type": "unit_literal", + "named": true + }, + { + "type": "uzumaki_keyword", + "named": true + } + ] + }, + "argument_name": { + "multiple": true, + "required": false, + "types": [ + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "qualified_name", + "named": true + }, + { + "type": "type_qualified_name", + "named": true + } + ] + }, + "function": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_index_access_expression", + "named": true + }, + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_access_expression", + "named": true + } + ] + }, + "type_parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_parameters", + "named": true + } + ] + } + } + }, + { + "type": "function_definition", + "named": true, + "fields": { + "argument_list": { + "multiple": false, + "required": true, + "types": [ + { + "type": "argument_list", + "named": true + } + ] + }, + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "assume_block", + "named": true + }, + { + "type": "block", + "named": true + }, + { + "type": "exists_block", + "named": true + }, + { + "type": "forall_block", + "named": true + }, + { + "type": "unique_block", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "returns": { + "multiple": false, + "required": false, + "types": [ + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "qualified_name", + "named": true + }, + { + "type": "type_array", + "named": true + }, + { + "type": "type_bool", + "named": true + }, + { + "type": "type_fn", + "named": true + }, + { + "type": "type_i16", + "named": true + }, + { + "type": "type_i32", + "named": true + }, + { + "type": "type_i64", + "named": true + }, + { + "type": "type_i8", + "named": true + }, + { + "type": "type_qualified_name", + "named": true + }, + { + "type": "type_u16", + "named": true + }, + { + "type": "type_u32", + "named": true + }, + { + "type": "type_u64", + "named": true + }, + { + "type": "type_u8", + "named": true + }, + { + "type": "type_unit", + "named": true + } + ] + }, + "type_parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_argument_list_definition", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "function_keyword", + "named": true + }, + { + "type": "rightarrow_operator", + "named": true + } + ] + } + }, + { + "type": "function_keyword", + "named": true, + "fields": {} + }, + { + "type": "generic_name", + "named": true, + "fields": { + "base_type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_argument_list", + "named": true + } + ] + } + }, + { + "type": "greater_operator", + "named": true, + "fields": {} + }, + { + "type": "identifier", + "named": true, + "fields": {} + }, + { + "type": "if_statement", + "named": true, + "fields": { + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_index_access_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "bool_literal", + "named": true + }, + { + "type": "function_call_expression", + "named": true + }, + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_access_expression", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "prefix_unary_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_expression", + "named": true + }, + { + "type": "unit_literal", + "named": true + }, + { + "type": "uzumaki_keyword", + "named": true + } + ] + }, + "else_arm": { + "multiple": false, + "required": false, + "types": [ + { + "type": "assume_block", + "named": true + }, + { + "type": "block", + "named": true + }, + { + "type": "exists_block", + "named": true + }, + { + "type": "forall_block", + "named": true + }, + { + "type": "unique_block", + "named": true + } + ] + }, + "else_if_arm": { + "multiple": true, + "required": false, + "types": [ + { + "type": "assume_block", + "named": true + }, + { + "type": "block", + "named": true + }, + { + "type": "exists_block", + "named": true + }, + { + "type": "forall_block", + "named": true + }, + { + "type": "unique_block", + "named": true + } + ] + }, + "else_if_condition": { + "multiple": true, + "required": false, + "types": [ + { + "type": "array_index_access_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "bool_literal", + "named": true + }, + { + "type": "function_call_expression", + "named": true + }, + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_access_expression", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "prefix_unary_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_expression", + "named": true + }, + { + "type": "unit_literal", + "named": true + }, + { + "type": "uzumaki_keyword", + "named": true + } + ] + }, + "if_arm": { + "multiple": false, + "required": true, + "types": [ + { + "type": "assume_block", + "named": true + }, + { + "type": "block", + "named": true + }, + { + "type": "exists_block", + "named": true + }, + { + "type": "forall_block", + "named": true + }, + { + "type": "unique_block", + "named": true + } + ] + } + } + }, + { + "type": "ignore_argument", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "qualified_name", + "named": true + }, + { + "type": "type_array", + "named": true + }, + { + "type": "type_bool", + "named": true + }, + { + "type": "type_fn", + "named": true + }, + { + "type": "type_i16", + "named": true + }, + { + "type": "type_i32", + "named": true + }, + { + "type": "type_i64", + "named": true + }, + { + "type": "type_i8", + "named": true + }, + { + "type": "type_qualified_name", + "named": true + }, + { + "type": "type_u16", + "named": true + }, + { + "type": "type_u32", + "named": true + }, + { + "type": "type_u64", + "named": true + }, + { + "type": "type_u8", + "named": true + }, + { + "type": "type_unit", + "named": true + } + ] + } + } + }, + { + "type": "less_operator", + "named": true, + "fields": {} + }, + { + "type": "loop_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "assume_block", + "named": true + }, + { + "type": "block", + "named": true + }, + { + "type": "exists_block", + "named": true + }, + { + "type": "forall_block", + "named": true + }, + { + "type": "unique_block", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": false, + "types": [ + { + "type": "array_index_access_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "bool_literal", + "named": true + }, + { + "type": "function_call_expression", + "named": true + }, + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_access_expression", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "prefix_unary_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_expression", + "named": true + }, + { + "type": "unit_literal", + "named": true + }, + { + "type": "uzumaki_keyword", + "named": true + } + ] + } + } + }, + { + "type": "member_access_expression", + "named": true, + "fields": { + "expression": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_index_access_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "bool_literal", + "named": true + }, + { + "type": "function_call_expression", + "named": true + }, + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_access_expression", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "prefix_unary_expression", + "named": true + }, + { + "type": "qualified_name", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_expression", + "named": true + }, + { + "type": "type_array", + "named": true + }, + { + "type": "type_bool", + "named": true + }, + { + "type": "type_fn", + "named": true + }, + { + "type": "type_i16", + "named": true + }, + { + "type": "type_i32", + "named": true + }, + { + "type": "type_i64", + "named": true + }, + { + "type": "type_i8", + "named": true + }, + { + "type": "type_qualified_name", + "named": true + }, + { + "type": "type_u16", + "named": true + }, + { + "type": "type_u32", + "named": true + }, + { + "type": "type_u64", + "named": true + }, + { + "type": "type_u8", + "named": true + }, + { + "type": "type_unit", + "named": true + }, + { + "type": "unit_literal", + "named": true + }, + { + "type": "uzumaki_keyword", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "attribute_access_operator", + "named": true + }, + { + "type": "expand_operator", + "named": true + } + ] + } + }, + { + "type": "number_literal", + "named": true, + "fields": {} + }, + { + "type": "parenthesized_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_literal", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "bool_literal", + "named": true + }, + { + "type": "function_call_expression", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "prefix_unary_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_expression", + "named": true + }, + { + "type": "unit_literal", + "named": true + }, + { + "type": "uzumaki_keyword", + "named": true + } + ] + } + }, + { + "type": "prefix_unary_expression", + "named": true, + "fields": { + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "unary_not", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_index_access_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "bool_literal", + "named": true + }, + { + "type": "function_call_expression", + "named": true + }, + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_access_expression", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "prefix_unary_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_expression", + "named": true + }, + { + "type": "unit_literal", + "named": true + }, + { + "type": "uzumaki_keyword", + "named": true + } + ] + } + }, + { + "type": "qualified_name", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + } + ] + }, + "qualifier": { + "multiple": false, + "required": true, + "types": [ + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "qualified_name", + "named": true + }, + { + "type": "type_qualified_name", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "attribute_access_operator", + "named": true + } + ] + } + }, + { + "type": "return_statement", + "named": true, + "fields": { + "expression": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_index_access_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "bool_literal", + "named": true + }, + { + "type": "function_call_expression", + "named": true + }, + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_access_expression", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "prefix_unary_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_expression", + "named": true + }, + { + "type": "unit_literal", + "named": true + }, + { + "type": "uzumaki_keyword", + "named": true + } + ] + } + } + }, + { + "type": "rightarrow_operator", + "named": true, + "fields": {} + }, + { + "type": "self_reference", + "named": true, + "fields": { + "mut": { + "multiple": false, + "required": false, + "types": [ + { + "type": "mut_keyword", + "named": true + } + ] + } + } + }, + { + "type": "source_file", + "named": true, + "root": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "constant_definition", + "named": true + }, + { + "type": "enum_definition", + "named": true + }, + { + "type": "external_function_definition", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "spec_definition", + "named": true + }, + { + "type": "struct_definition", + "named": true + }, + { + "type": "type_definition_statement", + "named": true + }, + { + "type": "use_directive", + "named": true + } + ] + } + }, + { + "type": "spec_definition", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "constant_definition", + "named": true + }, + { + "type": "enum_definition", + "named": true + }, + { + "type": "external_function_definition", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "struct_definition", + "named": true + }, + { + "type": "type_definition_statement", + "named": true + } + ] + } + }, + { + "type": "string_literal", + "named": true, + "fields": {} + }, + { + "type": "struct_definition", + "named": true, + "fields": { + "field": { + "multiple": true, + "required": false, + "types": [ + { + "type": "struct_field", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "value": { + "multiple": true, + "required": false, + "types": [ + { + "type": "function_definition", + "named": true + } + ] + } + } + }, + { + "type": "struct_expression", + "named": true, + "fields": { + "field_name": { + "multiple": true, + "required": false, + "types": [ + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "qualified_name", + "named": true + }, + { + "type": "type_qualified_name", + "named": true + } + ] + }, + "field_value": { + "multiple": true, + "required": false, + "types": [ + { + "type": "array_index_access_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "bool_literal", + "named": true + }, + { + "type": "function_call_expression", + "named": true + }, + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_access_expression", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "prefix_unary_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_expression", + "named": true + }, + { + "type": "unit_literal", + "named": true + }, + { + "type": "uzumaki_keyword", + "named": true + } + ] + }, + "struct_name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "qualified_name", + "named": true + }, + { + "type": "type_qualified_name", + "named": true + } + ] + } + } + }, + { + "type": "struct_field", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "qualified_name", + "named": true + }, + { + "type": "type_array", + "named": true + }, + { + "type": "type_bool", + "named": true + }, + { + "type": "type_fn", + "named": true + }, + { + "type": "type_i16", + "named": true + }, + { + "type": "type_i32", + "named": true + }, + { + "type": "type_i64", + "named": true + }, + { + "type": "type_i8", + "named": true + }, + { + "type": "type_qualified_name", + "named": true + }, + { + "type": "type_u16", + "named": true + }, + { + "type": "type_u32", + "named": true + }, + { + "type": "type_u64", + "named": true + }, + { + "type": "type_u8", + "named": true + }, + { + "type": "type_unit", + "named": true + } + ] + } + } + }, + { + "type": "sub_operator", + "named": true, + "fields": {} + }, + { + "type": "type_argument_list", + "named": true, + "fields": { + "type": { + "multiple": true, + "required": false, + "types": [ + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "qualified_name", + "named": true + }, + { + "type": "type_array", + "named": true + }, + { + "type": "type_bool", + "named": true + }, + { + "type": "type_fn", + "named": true + }, + { + "type": "type_i16", + "named": true + }, + { + "type": "type_i32", + "named": true + }, + { + "type": "type_i64", + "named": true + }, + { + "type": "type_i8", + "named": true + }, + { + "type": "type_qualified_name", + "named": true + }, + { + "type": "type_u16", + "named": true + }, + { + "type": "type_u32", + "named": true + }, + { + "type": "type_u64", + "named": true + }, + { + "type": "type_u8", + "named": true + }, + { + "type": "type_unit", + "named": true + } + ] + } + } + }, + { + "type": "type_argument_list_definition", + "named": true, + "fields": { + "type": { + "multiple": true, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + } + }, + { + "type": "type_array", + "named": true, + "fields": { + "length": { + "multiple": false, + "required": false, + "types": [ + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "qualified_name", + "named": true + }, + { + "type": "type_qualified_name", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "qualified_name", + "named": true + }, + { + "type": "type_array", + "named": true + }, + { + "type": "type_bool", + "named": true + }, + { + "type": "type_fn", + "named": true + }, + { + "type": "type_i16", + "named": true + }, + { + "type": "type_i32", + "named": true + }, + { + "type": "type_i64", + "named": true + }, + { + "type": "type_i8", + "named": true + }, + { + "type": "type_qualified_name", + "named": true + }, + { + "type": "type_u16", + "named": true + }, + { + "type": "type_u32", + "named": true + }, + { + "type": "type_u64", + "named": true + }, + { + "type": "type_u8", + "named": true + }, + { + "type": "type_unit", + "named": true + } + ] + } + } + }, + { + "type": "type_definition_statement", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "qualified_name", + "named": true + }, + { + "type": "type_array", + "named": true + }, + { + "type": "type_bool", + "named": true + }, + { + "type": "type_fn", + "named": true + }, + { + "type": "type_i16", + "named": true + }, + { + "type": "type_i32", + "named": true + }, + { + "type": "type_i64", + "named": true + }, + { + "type": "type_i8", + "named": true + }, + { + "type": "type_qualified_name", + "named": true + }, + { + "type": "type_u16", + "named": true + }, + { + "type": "type_u32", + "named": true + }, + { + "type": "type_u64", + "named": true + }, + { + "type": "type_u8", + "named": true + }, + { + "type": "type_unit", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "assign_operator", + "named": true + } + ] + } + }, + { + "type": "type_fn", + "named": true, + "fields": { + "arguments": { + "multiple": false, + "required": true, + "types": [ + { + "type": "argument_list", + "named": true + } + ] + }, + "returns": { + "multiple": false, + "required": false, + "types": [ + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "qualified_name", + "named": true + }, + { + "type": "type_array", + "named": true + }, + { + "type": "type_bool", + "named": true + }, + { + "type": "type_fn", + "named": true + }, + { + "type": "type_i16", + "named": true + }, + { + "type": "type_i32", + "named": true + }, + { + "type": "type_i64", + "named": true + }, + { + "type": "type_i8", + "named": true + }, + { + "type": "type_qualified_name", + "named": true + }, + { + "type": "type_u16", + "named": true + }, + { + "type": "type_u32", + "named": true + }, + { + "type": "type_u64", + "named": true + }, + { + "type": "type_u8", + "named": true + }, + { + "type": "type_unit", + "named": true + } + ] + } + } + }, + { + "type": "type_parameters", + "named": true, + "fields": { + "type": { + "multiple": true, + "required": false, + "types": [ + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "qualified_name", + "named": true + }, + { + "type": "type_array", + "named": true + }, + { + "type": "type_bool", + "named": true + }, + { + "type": "type_fn", + "named": true + }, + { + "type": "type_i16", + "named": true + }, + { + "type": "type_i32", + "named": true + }, + { + "type": "type_i64", + "named": true + }, + { + "type": "type_i8", + "named": true + }, + { + "type": "type_qualified_name", + "named": true + }, + { + "type": "type_u16", + "named": true + }, + { + "type": "type_u32", + "named": true + }, + { + "type": "type_u64", + "named": true + }, + { + "type": "type_u8", + "named": true + }, + { + "type": "type_unit", + "named": true + } + ] + } + } + }, + { + "type": "type_qualified_name", + "named": true, + "fields": { + "alias": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expand_operator", + "named": true + } + ] + } + }, + { + "type": "type_unit", + "named": true, + "fields": {} + }, + { + "type": "unique_block", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "block", + "named": true + } + ] + } + } + }, + { + "type": "unit_literal", + "named": true, + "fields": {} + }, + { + "type": "use_directive", + "named": true, + "fields": { + "from_literal": { + "multiple": false, + "required": false, + "types": [ + { + "type": "string_literal", + "named": true + } + ] + }, + "imported_type": { + "multiple": true, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "segment": { + "multiple": true, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "expand_operator", + "named": true + } + ] + } + }, + { + "type": "variable_definition_statement", + "named": true, + "fields": { + "mut": { + "multiple": false, + "required": false, + "types": [ + { + "type": "mut_keyword", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "qualified_name", + "named": true + }, + { + "type": "type_array", + "named": true + }, + { + "type": "type_bool", + "named": true + }, + { + "type": "type_fn", + "named": true + }, + { + "type": "type_i16", + "named": true + }, + { + "type": "type_i32", + "named": true + }, + { + "type": "type_i64", + "named": true + }, + { + "type": "type_i8", + "named": true + }, + { + "type": "type_qualified_name", + "named": true + }, + { + "type": "type_u16", + "named": true + }, + { + "type": "type_u32", + "named": true + }, + { + "type": "type_u64", + "named": true + }, + { + "type": "type_u8", + "named": true + }, + { + "type": "type_unit", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "array_index_access_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "bool_literal", + "named": true + }, + { + "type": "function_call_expression", + "named": true + }, + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_access_expression", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "prefix_unary_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_expression", + "named": true + }, + { + "type": "unit_literal", + "named": true + }, + { + "type": "uzumaki_keyword", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "assign_operator", + "named": true + } + ] + } + }, + { + "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 + }, + { + "type": "]", + "named": false + }, + { + "type": "_", + "named": false + }, + { + "type": "add_operator", + "named": true + }, + { + "type": "and_operator", + "named": true + }, + { + "type": "assert", + "named": false + }, + { + "type": "assign_operator", + "named": true + }, + { + "type": "assume", + "named": false + }, + { + "type": "attribute_access_operator", + "named": true + }, + { + "type": "bit_and_operator", + "named": true + }, + { + "type": "bit_or_operator", + "named": true + }, + { + "type": "bit_xor_operator", + "named": true + }, + { + "type": "break", + "named": false + }, + { + "type": "const", + "named": false + }, + { + "type": "constructor", + "named": false + }, + { + "type": "else", + "named": false + }, + { + "type": "else if", + "named": false + }, + { + "type": "enum", + "named": false + }, + { + "type": "equals_operator", + "named": true + }, + { + "type": "exists", + "named": false + }, + { + "type": "expand_operator", + "named": true + }, + { + "type": "external", + "named": false + }, + { + "type": "false", + "named": false + }, + { + "type": "fn", + "named": false + }, + { + "type": "forall_keyword", + "named": true + }, + { + "type": "from", + "named": false + }, + { + "type": "greater_equal_operator", + "named": true + }, + { + "type": "if", + "named": false + }, + { + "type": "less_equal_operator", + "named": true + }, + { + "type": "let", + "named": false + }, + { + "type": "loop", + "named": false + }, + { + "type": "mod_operator", + "named": true + }, + { + "type": "mul_operator", + "named": true + }, + { + "type": "mut_keyword", + "named": true + }, + { + "type": "not_equals_operator", + "named": true + }, + { + "type": "or_operator", + "named": true + }, + { + "type": "pow_operator", + "named": true + }, + { + "type": "proof", + "named": false + }, + { + "type": "return", + "named": false + }, + { + "type": "self", + "named": false + }, + { + "type": "shift_left_operator", + "named": true + }, + { + "type": "shift_right_operator", + "named": true + }, + { + "type": "spec", + "named": false + }, + { + "type": "struct", + "named": false + }, + { + "type": "true", + "named": false + }, + { + "type": "type", + "named": false + }, + { + "type": "type_bool", + "named": true + }, + { + "type": "type_i16", + "named": true + }, + { + "type": "type_i32", + "named": true + }, + { + "type": "type_i64", + "named": true + }, + { + "type": "type_i8", + "named": true + }, + { + "type": "type_u16", + "named": true + }, + { + "type": "type_u32", + "named": true + }, + { + "type": "type_u64", + "named": true + }, + { + "type": "type_u8", + "named": true + }, + { + "type": "unary_not", + "named": true + }, + { + "type": "unique", + "named": false + }, + { + "type": "use", + "named": false + }, + { + "type": "uzumaki", + "named": false + }, + { + "type": "uzumaki_keyword", + "named": true + }, + { + "type": "{", + "named": false + }, + { + "type": "}", + "named": false + } +] \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index b4c4e99..9bdd87c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "tree-sitter-inference", - "version": "0.0.32", + "version": "0.0.33", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "tree-sitter-inference", - "version": "0.0.32", + "version": "0.0.33", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -14,10 +14,10 @@ "node-gyp-build": "4.8.4" }, "devDependencies": { - "eslint": "9.26.0", + "eslint": "9.27.0", "eslint-config-google": "^0.14.0", "prebuildify": "^6.0.1", - "tree-sitter-cli": "0.25.3" + "tree-sitter-cli": "0.25.4" }, "peerDependencies": { "tree-sitter": "0.22.4" @@ -78,9 +78,9 @@ } }, "node_modules/@eslint/core": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz", - "integrity": "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz", + "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -115,13 +115,16 @@ } }, "node_modules/@eslint/js": { - "version": "9.26.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.26.0.tgz", - "integrity": "sha512-I9XlJawFdSMvWjDt6wksMCrgns5ggLNfFwFvnShsleWruvXM514Qxk8V246efTw+eo9JABvVz+u3q2RiAowKxQ==", + "version": "9.27.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.27.0.tgz", + "integrity": "sha512-G5JD9Tu5HJEu4z2Uo4aHY2sLV64B7CDMXxFzqzjl3NKd6RVzSXNoE80jk7Y0lJkTTkjiIhBAqmlYwjuBY3tvpA==", "dev": true, "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" } }, "node_modules/@eslint/object-schema": { @@ -135,13 +138,13 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz", - "integrity": "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.1.tgz", + "integrity": "sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.13.0", + "@eslint/core": "^0.14.0", "levn": "^0.4.1" }, "engines": { @@ -196,28 +199,6 @@ "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@modelcontextprotocol/sdk": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.11.0.tgz", - "integrity": "sha512-k/1pb70eD638anoi0e8wUGAlbMJXyvdV4p62Ko+EZ7eBe1xMx8Uhak1R5DgfoofsK5IBBnRwsYGTaLZl+6/+RQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "content-type": "^1.0.5", - "cors": "^2.8.5", - "cross-spawn": "^7.0.3", - "eventsource": "^3.0.2", - "express": "^5.0.1", - "express-rate-limit": "^7.5.0", - "pkce-challenge": "^5.0.0", - "raw-body": "^3.0.0", - "zod": "^3.23.8", - "zod-to-json-schema": "^3.24.1" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/@types/estree": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", @@ -231,20 +212,6 @@ "dev": true, "license": "MIT" }, - "node_modules/accepts": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", - "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-types": "^3.0.0", - "negotiator": "^1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/acorn": { "version": "8.14.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", @@ -345,27 +312,6 @@ "readable-stream": "^3.4.0" } }, - "node_modules/body-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", - "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "^3.1.2", - "content-type": "^1.0.5", - "debug": "^4.4.0", - "http-errors": "^2.0.0", - "iconv-lite": "^0.6.3", - "on-finished": "^2.4.1", - "qs": "^6.14.0", - "raw-body": "^3.0.0", - "type-is": "^2.0.0" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -401,47 +347,6 @@ "ieee754": "^1.1.13" } }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -499,68 +404,12 @@ "dev": true, "license": "MIT" }, - "node_modules/content-disposition": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", - "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", - "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.6.0" - } - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -594,48 +443,6 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true, - "license": "MIT" - }, - "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -645,46 +452,6 @@ "once": "^1.4.0" } }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true, - "license": "MIT" - }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -698,9 +465,9 @@ } }, "node_modules/eslint": { - "version": "9.26.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.26.0.tgz", - "integrity": "sha512-Hx0MOjPh6uK9oq9nVsATZKE/Wlbai7KFjfCuw9UHaguDW3x+HF0O5nIi3ud39TWgrTjTO5nHxmL3R1eANinWHQ==", + "version": "9.27.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.27.0.tgz", + "integrity": "sha512-ixRawFQuMB9DZ7fjU3iGGganFDp3+45bPOdaRurcFHSXO1e/sYwUX/FtQZpLZJR6SjMoJH8hR2pPEAfDyCoU2Q==", "dev": true, "license": "MIT", "dependencies": { @@ -708,14 +475,13 @@ "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.20.0", "@eslint/config-helpers": "^0.2.1", - "@eslint/core": "^0.13.0", + "@eslint/core": "^0.14.0", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.26.0", - "@eslint/plugin-kit": "^0.2.8", + "@eslint/js": "9.27.0", + "@eslint/plugin-kit": "^0.3.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", - "@modelcontextprotocol/sdk": "^1.8.0", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", @@ -739,8 +505,7 @@ "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "zod": "^3.24.2" + "optionator": "^0.9.3" }, "bin": { "eslint": "bin/eslint.js" @@ -898,98 +663,6 @@ "node": ">=0.10.0" } }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eventsource": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.6.tgz", - "integrity": "sha512-l19WpE2m9hSuyP06+FbuUUf1G+R0SFLrtQfbRb9PRr+oimOfxQhgGCbVaXg5IvZyyTThJsxh6L/srkMiCeBPDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eventsource-parser": "^3.0.1" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/eventsource-parser": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.1.tgz", - "integrity": "sha512-VARTJ9CYeuQYb0pZEPbzi740OWFgpHe7AYJ2WFZVnUDUQp5Dk2yJUgF36YsZ81cOyxT0QxmXD2EQpapAouzWVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/express": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", - "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "accepts": "^2.0.0", - "body-parser": "^2.2.0", - "content-disposition": "^1.0.0", - "content-type": "^1.0.5", - "cookie": "^0.7.1", - "cookie-signature": "^1.2.1", - "debug": "^4.4.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "finalhandler": "^2.1.0", - "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "merge-descriptors": "^2.0.0", - "mime-types": "^3.0.0", - "on-finished": "^2.4.1", - "once": "^1.4.0", - "parseurl": "^1.3.3", - "proxy-addr": "^2.0.7", - "qs": "^6.14.0", - "range-parser": "^1.2.1", - "router": "^2.2.0", - "send": "^1.1.0", - "serve-static": "^2.2.0", - "statuses": "^2.0.1", - "type-is": "^2.0.1", - "vary": "^1.1.2" - }, - "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/express-rate-limit": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.0.tgz", - "integrity": "sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://github.com/sponsors/express-rate-limit" - }, - "peerDependencies": { - "express": "^4.11 || 5 || ^5.0.0-beta.1" - } - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -1022,24 +695,6 @@ "node": ">=16.0.0" } }, - "node_modules/finalhandler": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", - "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.4.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "on-finished": "^2.4.1", - "parseurl": "^1.3.3", - "statuses": "^2.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -1075,81 +730,12 @@ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", - "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "dev": true }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -1175,19 +761,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -1197,62 +770,6 @@ "node": ">=8" } }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -1315,16 +832,6 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -1346,18 +853,12 @@ "node": ">=0.10.0" } }, - "node_modules/is-promise": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", - "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", - "dev": true, - "license": "MIT" - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/js-yaml": { "version": "4.1.0", @@ -1434,62 +935,6 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/media-typer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/merge-descriptors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", - "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mime-db": { - "version": "1.54.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", - "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "^1.54.0" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -1531,16 +976,6 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/node-abi": { "version": "3.65.0", "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.65.0.tgz", @@ -1583,42 +1018,6 @@ "node": ">=8" } }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -1688,16 +1087,6 @@ "node": ">=6" } }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -1716,26 +1105,6 @@ "node": ">=8" } }, - "node_modules/path-to-regexp": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", - "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - } - }, - "node_modules/pkce-challenge": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.0.tgz", - "integrity": "sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16.20.0" - } - }, "node_modules/prebuildify": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/prebuildify/-/prebuildify-6.0.1.tgz", @@ -1762,20 +1131,6 @@ "node": ">= 0.8.0" } }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "license": "MIT", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -1796,48 +1151,6 @@ "node": ">=6" } }, - "node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", - "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.6.3", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -1862,23 +1175,6 @@ "node": ">=4" } }, - "node_modules/router": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", - "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.4.0", - "depd": "^2.0.0", - "is-promise": "^4.0.0", - "parseurl": "^1.3.3", - "path-to-regexp": "^8.0.0" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -1899,13 +1195,6 @@ } ] }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "license": "MIT" - }, "node_modules/semver": { "version": "7.6.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", @@ -1918,57 +1207,12 @@ "node": ">=10" } }, - "node_modules/send": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", - "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "mime-types": "^3.0.1", - "ms": "^2.1.3", - "on-finished": "^2.4.1", - "range-parser": "^1.2.1", - "statuses": "^2.0.1" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/serve-static": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", - "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "parseurl": "^1.3.3", - "send": "^1.2.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true, - "license": "ISC" - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -1981,94 +1225,9 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" + "node": ">=8" } }, "node_modules/string_decoder": { @@ -2134,16 +1293,6 @@ "node": ">=6" } }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, "node_modules/tree-sitter": { "version": "0.22.4", "resolved": "https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.22.4.tgz", @@ -2156,11 +1305,12 @@ } }, "node_modules/tree-sitter-cli": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/tree-sitter-cli/-/tree-sitter-cli-0.25.3.tgz", - "integrity": "sha512-Bk6ZUXG+cKnwZpfR/te4NDrKld90p6350eqWlbLwSpV9/8vmL/x8LCw+3k7quY9oMDaYoMXHMvokXJbkM5A7bA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/tree-sitter-cli/-/tree-sitter-cli-0.25.4.tgz", + "integrity": "sha512-tSOgiUuNH1xgSopWHMb+2EPuzIawj7/7/k0cNTNInBde21R0e53ElygJ+76PLjai2BOjnCzy9n8W0o7Eo9GVgA==", "dev": true, "hasInstallScript": true, + "license": "MIT", "bin": { "tree-sitter": "cli.js" }, @@ -2180,31 +1330,6 @@ "node": ">= 0.8.0" } }, - "node_modules/type-is": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", - "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", - "dev": true, - "license": "MIT", - "dependencies": { - "content-type": "^1.0.5", - "media-typer": "^1.1.0", - "mime-types": "^3.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -2221,21 +1346,12 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -2272,26 +1388,6 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } - }, - "node_modules/zod": { - "version": "3.24.4", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.4.tgz", - "integrity": "sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/zod-to-json-schema": { - "version": "3.24.5", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.5.tgz", - "integrity": "sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==", - "dev": true, - "license": "ISC", - "peerDependencies": { - "zod": "^3.24.1" - } } } } diff --git a/package.json b/package.json index a1040f2..21fc75b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "tree-sitter-inference", - "version": "0.0.32", + "version": "0.0.33", "description": "Inference grammar for tree-sitter", "main": "bindings/node", "types": "bindings/node", @@ -38,7 +38,8 @@ "t": "tree-sitter test", "bt": "npm run b && npm run t", "d": "tree-sitter parse debug.inf", - "te": "tree-sitter parse example.inf" + "te": "tree-sitter parse example.inf", + "h": "tree-sitter highlight example.inf" }, "dependencies": { "node-addon-api": "8.3.1", @@ -53,10 +54,10 @@ } }, "devDependencies": { - "eslint": "9.26.0", + "eslint": "9.27.0", "eslint-config-google": "^0.14.0", "prebuildify": "^6.0.1", - "tree-sitter-cli": "0.25.3" + "tree-sitter-cli": "0.25.4" }, "files": [ "grammar.js", diff --git a/pyproject.toml b/pyproject.toml index bfc3d22..47c3854 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta" [project] name = "tree-sitter-inference" description = "Inference grammar for tree-sitter" -version = "0.0.32" +version = "0.0.33" keywords = ["incremental", "parsing", "tree-sitter", "inference"] classifiers = [ "Intended Audience :: Developers", diff --git a/queries/highlights.scm b/queries/highlights.scm index e69de29..d1aff1b 100644 --- a/queries/highlights.scm +++ b/queries/highlights.scm @@ -0,0 +1,80 @@ +;; Comments +(comment) @comment + +;; Punctuation symbols +[ ";" ":" "," "{" "}" "(" ")" "[" "]" "<" ">" ] @punctuation + +[ "struct" "enum" "const" "spec" "return" "self" "loop" "let" "assume" "exists" "unique" "if" "else" "break" "use" "from" "assert" "type" "external" ] @keyword + +;; Operators (node types from grammar.js) +(assign_operator) @operator +(rightarrow_operator) @operator +(expand_operator) @operator +(attribute_access_operator) @operator +(add_operator) @operator +(sub_operator) @operator +(mul_operator) @operator +(pow_operator) @operator +(mod_operator) @operator +(equals_operator) @operator +(not_equals_operator) @operator +(less_operator) @operator +(greater_operator) @operator +(less_equal_operator) @operator +(greater_equal_operator) @operator +(and_operator) @operator +(or_operator) @operator +(bit_and_operator) @operator +(bit_or_operator) @operator +(bit_xor_operator) @operator +(shift_left_operator) @operator +(shift_right_operator) @operator +(unary_not) @operator + +;; Keywords (token nodes) + +((function_keyword) @keyword) +((forall_keyword) @keyword) +((mut_keyword) @keyword) + +;; Boolean literals +(bool_literal) @boolean + +;; Types +(type_i8) @type (type_i16) @type (type_i32) @type (type_i64) @type +(type_u8) @type (type_u16) @type (type_u32) @type (type_u64) @type +(type_bool) @type (type_unit) @type + +;; Literals +(string_literal) @string +(number_literal) @number +(unit_literal) @constant +(uzumaki_keyword) @constant + +;; Identifiers +(identifier) @identifier + +;; Name definitions +(variable_definition_statement + name: (identifier) @variable) +(constant_definition + name: (identifier) @constant) +(function_definition + name: (identifier) @function) +(external_function_definition + name: (identifier) @function) +(type_definition_statement + name: (identifier) @type.definition) +(enum_definition + name: (identifier) @type.definition) +(struct_definition + name: (identifier) @type.definition) +(member_access_expression + expression: ( (identifier) @type.definition) +) +(function_call_expression + function: ( (identifier) @function) +) +(qualified_name + qualifier: ( (identifier) @type.definition) + name: (identifier) @type.definition) diff --git a/src/grammar.json b/src/grammar.json index 51f40c7..8ad32f7 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -420,6 +420,10 @@ "type": "SYMBOL", "name": "function_call_expression" }, + { + "type": "SYMBOL", + "name": "struct_expression" + }, { "type": "SYMBOL", "name": "prefix_unary_expression" @@ -602,8 +606,8 @@ } }, { - "type": "STRING", - "value": ":" + "type": "SYMBOL", + "name": "_typedef_symbol" } ] }, @@ -649,8 +653,8 @@ } }, { - "type": "STRING", - "value": ":" + "type": "SYMBOL", + "name": "_typedef_symbol" } ] }, @@ -686,6 +690,102 @@ ] } }, + "struct_expression": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_name" + } + }, + { + "type": "SYMBOL", + "name": "_lcb_symbol" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "field_name", + "content": { + "type": "SYMBOL", + "name": "_name" + } + }, + { + "type": "SYMBOL", + "name": "_typedef_symbol" + }, + { + "type": "FIELD", + "name": "field_value", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_comma_symbol" + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "field_name", + "content": { + "type": "SYMBOL", + "name": "_name" + } + }, + { + "type": "SYMBOL", + "name": "_typedef_symbol" + }, + { + "type": "FIELD", + "name": "field_value", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_rcb_symbol" + } + ] + }, "expression_statement": { "type": "SEQ", "members": [ @@ -1654,7 +1754,7 @@ }, { "type": "FIELD", - "name": "struct_name", + "name": "name", "content": { "type": "SYMBOL", "name": "identifier" @@ -1688,7 +1788,7 @@ }, { "type": "FIELD", - "name": "method", + "name": "value", "content": { "type": "SYMBOL", "name": "function_definition" @@ -2592,8 +2692,16 @@ "value": "\"" }, { - "type": "SYMBOL", - "name": "_string_literal_content" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_string_literal_content" + }, + { + "type": "BLANK" + } + ] }, { "type": "STRING", @@ -2645,27 +2753,35 @@ "value": "[" }, { - "type": "SEQ", + "type": "CHOICE", "members": [ { - "type": "SYMBOL", - "name": "_expression" + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expression" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "_expression" + } + ] + } + } + ] }, { - "type": "REPEAT", - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "," - }, - { - "type": "SYMBOL", - "name": "_expression" - } - ] - } + "type": "BLANK" } ] }, @@ -2951,7 +3067,7 @@ } ] }, - "_comment": { + "comment": { "type": "TOKEN", "content": { "type": "SEQ", @@ -2975,7 +3091,7 @@ }, { "type": "SYMBOL", - "name": "_comment" + "name": "comment" } ], "conflicts": [ diff --git a/src/node-types.json b/src/node-types.json index 8f25b6b..0bc7eb3 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -261,6 +261,10 @@ "type": "string_literal", "named": true }, + { + "type": "struct_expression", + "named": true + }, { "type": "unit_literal", "named": true @@ -329,6 +333,10 @@ "type": "string_literal", "named": true }, + { + "type": "struct_expression", + "named": true + }, { "type": "unit_literal", "named": true @@ -396,6 +404,10 @@ "type": "string_literal", "named": true }, + { + "type": "struct_expression", + "named": true + }, { "type": "unit_literal", "named": true @@ -485,6 +497,10 @@ "type": "string_literal", "named": true }, + { + "type": "struct_expression", + "named": true + }, { "type": "unit_literal", "named": true @@ -579,6 +595,10 @@ "type": "string_literal", "named": true }, + { + "type": "struct_expression", + "named": true + }, { "type": "unit_literal", "named": true @@ -719,6 +739,10 @@ "type": "string_literal", "named": true }, + { + "type": "struct_expression", + "named": true + }, { "type": "unit_literal", "named": true @@ -949,6 +973,10 @@ "type": "string_literal", "named": true }, + { + "type": "struct_expression", + "named": true + }, { "type": "unit_literal", "named": true @@ -1069,6 +1097,10 @@ "type": "string_literal", "named": true }, + { + "type": "struct_expression", + "named": true + }, { "type": "unit_literal", "named": true @@ -1272,6 +1304,10 @@ "type": "string_literal", "named": true }, + { + "type": "struct_expression", + "named": true + }, { "type": "unit_literal", "named": true @@ -1581,6 +1617,10 @@ "type": "string_literal", "named": true }, + { + "type": "struct_expression", + "named": true + }, { "type": "unit_literal", "named": true @@ -1695,6 +1735,10 @@ "type": "string_literal", "named": true }, + { + "type": "struct_expression", + "named": true + }, { "type": "unit_literal", "named": true @@ -1896,6 +1940,10 @@ "type": "string_literal", "named": true }, + { + "type": "struct_expression", + "named": true + }, { "type": "unit_literal", "named": true @@ -1968,6 +2016,10 @@ "type": "string_literal", "named": true }, + { + "type": "struct_expression", + "named": true + }, { "type": "type_array", "named": true @@ -2105,6 +2157,10 @@ "type": "string_literal", "named": true }, + { + "type": "struct_expression", + "named": true + }, { "type": "unit_literal", "named": true @@ -2183,6 +2239,10 @@ "type": "string_literal", "named": true }, + { + "type": "struct_expression", + "named": true + }, { "type": "unit_literal", "named": true @@ -2302,6 +2362,10 @@ "type": "string_literal", "named": true }, + { + "type": "struct_expression", + "named": true + }, { "type": "unit_literal", "named": true @@ -2444,7 +2508,17 @@ } ] }, - "method": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "value": { "multiple": true, "required": false, "types": [ @@ -2453,14 +2527,120 @@ "named": true } ] + } + } + }, + { + "type": "struct_expression", + "named": true, + "fields": { + "field_name": { + "multiple": true, + "required": false, + "types": [ + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "qualified_name", + "named": true + }, + { + "type": "type_qualified_name", + "named": true + } + ] + }, + "field_value": { + "multiple": true, + "required": false, + "types": [ + { + "type": "array_index_access_expression", + "named": true + }, + { + "type": "array_literal", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "bool_literal", + "named": true + }, + { + "type": "function_call_expression", + "named": true + }, + { + "type": "generic_name", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_access_expression", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "prefix_unary_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_expression", + "named": true + }, + { + "type": "unit_literal", + "named": true + }, + { + "type": "uzumaki_keyword", + "named": true + } + ] }, - "struct_name": { + "name": { "multiple": false, "required": true, "types": [ + { + "type": "generic_name", + "named": true + }, { "type": "identifier", "named": true + }, + { + "type": "qualified_name", + "named": true + }, + { + "type": "type_qualified_name", + "named": true } ] } @@ -3267,6 +3447,10 @@ "type": "string_literal", "named": true }, + { + "type": "struct_expression", + "named": true + }, { "type": "unit_literal", "named": true @@ -3385,6 +3569,11 @@ "type": "break", "named": false }, + { + "type": "comment", + "named": true, + "extra": true + }, { "type": "const", "named": false diff --git a/src/parser.c b/src/parser.c index c53fca5..3ded13f 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1,4 +1,4 @@ -/* Automatically generated by tree-sitter v0.25.3 (2a835ee029dca1c325e6f1c01dbce40396f6123e) */ +/* Automatically @generated by tree-sitter v0.25.4 (726dcd1e872149d95de581589fc408fb8ea9cb0b) */ #include "tree_sitter/parser.h" @@ -15,16 +15,16 @@ #endif #define LANGUAGE_VERSION 15 -#define STATE_COUNT 413 +#define STATE_COUNT 456 #define LARGE_STATE_COUNT 11 -#define SYMBOL_COUNT 163 +#define SYMBOL_COUNT 165 #define ALIAS_COUNT 1 #define TOKEN_COUNT 78 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 35 #define MAX_ALIAS_SEQUENCE_LENGTH 9 #define MAX_RESERVED_WORD_SET_SIZE 0 -#define PRODUCTION_ID_COUNT 77 +#define PRODUCTION_ID_COUNT 81 #define SUPERTYPE_COUNT 0 enum ts_symbol_identifiers { @@ -44,57 +44,57 @@ enum ts_symbol_identifiers { anon_sym_fn = 14, anon_sym_DASH_GT = 15, anon_sym_LPAREN = 16, - anon_sym_COLON = 17, - anon_sym_COMMA = 18, - anon_sym_RPAREN = 19, - anon_sym_assert = 20, - anon_sym_break = 21, - anon_sym_let = 22, - anon_sym_type = 23, - anon_sym_const = 24, - anon_sym_spec = 25, - anon_sym_enum = 26, - anon_sym_struct = 27, - anon_sym_external = 28, - anon_sym_self = 29, - anon_sym__ = 30, - anon_sym_assume = 31, - anon_sym_exists = 32, - anon_sym_unique = 33, - anon_sym_if = 34, - anon_sym_elseif = 35, - anon_sym_else = 36, - anon_sym_loop = 37, - anon_sym_use = 38, - anon_sym_from = 39, - anon_sym_return = 40, - sym_forall_keyword = 41, - sym_uzumaki_keyword = 42, - sym_mut_keyword = 43, - sym_unary_not = 44, - sym_add_operator = 45, - anon_sym_DASH = 46, - sym_mul_operator = 47, - sym_pow_operator = 48, - sym_mod_operator = 49, - sym_and_operator = 50, - sym_or_operator = 51, - sym_shift_left_operator = 52, - sym_shift_right_operator = 53, - sym_bit_and_operator = 54, - sym_bit_or_operator = 55, - sym_bit_xor_operator = 56, - anon_sym_LT = 57, - anon_sym_GT = 58, - sym_less_equal_operator = 59, - sym_greater_equal_operator = 60, - sym_equals_operator = 61, - sym_not_equals_operator = 62, - sym_assign_operator = 63, - sym_expand_operator = 64, - sym_attribute_access_operator = 65, - anon_sym_LBRACE = 66, - anon_sym_RBRACE = 67, + anon_sym_COMMA = 17, + anon_sym_RPAREN = 18, + anon_sym_assert = 19, + anon_sym_break = 20, + anon_sym_let = 21, + anon_sym_type = 22, + anon_sym_const = 23, + anon_sym_spec = 24, + anon_sym_enum = 25, + anon_sym_struct = 26, + anon_sym_external = 27, + anon_sym_self = 28, + anon_sym__ = 29, + anon_sym_assume = 30, + anon_sym_exists = 31, + anon_sym_unique = 32, + anon_sym_if = 33, + anon_sym_elseif = 34, + anon_sym_else = 35, + anon_sym_loop = 36, + anon_sym_use = 37, + anon_sym_from = 38, + anon_sym_return = 39, + sym_forall_keyword = 40, + sym_uzumaki_keyword = 41, + sym_mut_keyword = 42, + sym_unary_not = 43, + sym_add_operator = 44, + anon_sym_DASH = 45, + sym_mul_operator = 46, + sym_pow_operator = 47, + sym_mod_operator = 48, + sym_and_operator = 49, + sym_or_operator = 50, + sym_shift_left_operator = 51, + sym_shift_right_operator = 52, + sym_bit_and_operator = 53, + sym_bit_or_operator = 54, + sym_bit_xor_operator = 55, + anon_sym_LT = 56, + anon_sym_GT = 57, + sym_less_equal_operator = 58, + sym_greater_equal_operator = 59, + sym_equals_operator = 60, + sym_not_equals_operator = 61, + sym_assign_operator = 62, + sym_expand_operator = 63, + sym_attribute_access_operator = 64, + anon_sym_LBRACE = 65, + anon_sym_RBRACE = 66, + anon_sym_COLON = 67, anon_sym_true = 68, anon_sym_false = 69, anon_sym_DQUOTE = 70, @@ -104,7 +104,7 @@ enum ts_symbol_identifiers { anon_sym_proof = 74, anon_sym_uzumaki = 75, sym__identifier = 76, - sym__comment = 77, + sym_comment = 77, sym_source_file = 78, sym__statement = 79, sym__definition = 80, @@ -121,76 +121,78 @@ enum ts_symbol_identifiers { sym_array_index_access_expression = 91, sym_member_access_expression = 92, sym_function_call_expression = 93, - sym_expression_statement = 94, - sym_assign_statement = 95, - sym_assert_statement = 96, - sym_break_statement = 97, - sym_parenthesized_expression = 98, - sym_prefix_unary_expression = 99, - sym_binary_expression = 100, - sym_variable_definition_statement = 101, - sym_type_definition_statement = 102, - sym_constant_definition = 103, - sym_spec_definition = 104, - sym_enum_definition = 105, - sym_struct_definition = 106, - sym_struct_field = 107, - sym_block = 108, - sym_function_definition = 109, - sym_external_function_definition = 110, - sym_argument_list = 111, - sym_argument_declaration = 112, - sym_self_reference = 113, - sym_ignore_argument = 114, - sym_assume_block = 115, - sym_forall_block = 116, - sym_exists_block = 117, - sym_unique_block = 118, - sym_if_statement = 119, - sym_loop_statement = 120, - sym_use_directive = 121, - sym_return_statement = 122, - sym_function_keyword = 123, - sym_sub_operator = 124, - sym_less_operator = 125, - sym_greater_operator = 126, - sym_rightarrow_operator = 127, - sym__lcb_symbol = 128, - sym__rcb_symbol = 129, - sym__lrb_symbol = 130, - sym__rrb_symbol = 131, - sym__comma_symbol = 132, - sym__typedef_symbol = 133, - sym__terminal_symbol = 134, - sym_bool_literal = 135, - sym_string_literal = 136, - sym_number_literal = 137, - sym_unit_literal = 138, - sym_array_literal = 139, - sym__name = 140, - sym_type_qualified_name = 141, - sym__simple_name = 142, - sym_qualified_name = 143, - sym_generic_name = 144, - sym_type_argument_list_definition = 145, - sym_type_argument_list = 146, - sym__reserved_identifier = 147, - sym_identifier = 148, - aux_sym_source_file_repeat1 = 149, - aux_sym_function_call_expression_repeat1 = 150, - aux_sym_spec_definition_repeat1 = 151, - aux_sym_enum_definition_repeat1 = 152, - aux_sym_struct_definition_repeat1 = 153, - aux_sym_block_repeat1 = 154, - aux_sym_argument_list_repeat1 = 155, - aux_sym_if_statement_repeat1 = 156, - aux_sym_use_directive_repeat1 = 157, - aux_sym_use_directive_repeat2 = 158, - aux_sym_array_literal_repeat1 = 159, - aux_sym_type_argument_list_definition_repeat1 = 160, - aux_sym_type_argument_list_definition_repeat2 = 161, - aux_sym_type_argument_list_repeat1 = 162, - alias_sym_type_parameters = 163, + sym_struct_expression = 94, + sym_expression_statement = 95, + sym_assign_statement = 96, + sym_assert_statement = 97, + sym_break_statement = 98, + sym_parenthesized_expression = 99, + sym_prefix_unary_expression = 100, + sym_binary_expression = 101, + sym_variable_definition_statement = 102, + sym_type_definition_statement = 103, + sym_constant_definition = 104, + sym_spec_definition = 105, + sym_enum_definition = 106, + sym_struct_definition = 107, + sym_struct_field = 108, + sym_block = 109, + sym_function_definition = 110, + sym_external_function_definition = 111, + sym_argument_list = 112, + sym_argument_declaration = 113, + sym_self_reference = 114, + sym_ignore_argument = 115, + sym_assume_block = 116, + sym_forall_block = 117, + sym_exists_block = 118, + sym_unique_block = 119, + sym_if_statement = 120, + sym_loop_statement = 121, + sym_use_directive = 122, + sym_return_statement = 123, + sym_function_keyword = 124, + sym_sub_operator = 125, + sym_less_operator = 126, + sym_greater_operator = 127, + sym_rightarrow_operator = 128, + sym__lcb_symbol = 129, + sym__rcb_symbol = 130, + sym__lrb_symbol = 131, + sym__rrb_symbol = 132, + sym__comma_symbol = 133, + sym__typedef_symbol = 134, + sym__terminal_symbol = 135, + sym_bool_literal = 136, + sym_string_literal = 137, + sym_number_literal = 138, + sym_unit_literal = 139, + sym_array_literal = 140, + sym__name = 141, + sym_type_qualified_name = 142, + sym__simple_name = 143, + sym_qualified_name = 144, + sym_generic_name = 145, + sym_type_argument_list_definition = 146, + sym_type_argument_list = 147, + sym__reserved_identifier = 148, + sym_identifier = 149, + aux_sym_source_file_repeat1 = 150, + aux_sym_function_call_expression_repeat1 = 151, + aux_sym_struct_expression_repeat1 = 152, + aux_sym_spec_definition_repeat1 = 153, + aux_sym_enum_definition_repeat1 = 154, + aux_sym_struct_definition_repeat1 = 155, + aux_sym_block_repeat1 = 156, + aux_sym_argument_list_repeat1 = 157, + aux_sym_if_statement_repeat1 = 158, + aux_sym_use_directive_repeat1 = 159, + aux_sym_use_directive_repeat2 = 160, + aux_sym_array_literal_repeat1 = 161, + aux_sym_type_argument_list_definition_repeat1 = 162, + aux_sym_type_argument_list_definition_repeat2 = 163, + aux_sym_type_argument_list_repeat1 = 164, + alias_sym_type_parameters = 165, }; static const char * const ts_symbol_names[] = { @@ -211,7 +213,6 @@ static const char * const ts_symbol_names[] = { [anon_sym_fn] = "fn", [anon_sym_DASH_GT] = "->", [anon_sym_LPAREN] = "(", - [anon_sym_COLON] = ":", [anon_sym_COMMA] = ",", [anon_sym_RPAREN] = ")", [anon_sym_assert] = "assert", @@ -262,6 +263,7 @@ static const char * const ts_symbol_names[] = { [sym_attribute_access_operator] = "attribute_access_operator", [anon_sym_LBRACE] = "{", [anon_sym_RBRACE] = "}", + [anon_sym_COLON] = ":", [anon_sym_true] = "true", [anon_sym_false] = "false", [anon_sym_DQUOTE] = "\"", @@ -271,7 +273,7 @@ static const char * const ts_symbol_names[] = { [anon_sym_proof] = "proof", [anon_sym_uzumaki] = "uzumaki", [sym__identifier] = "_identifier", - [sym__comment] = "_comment", + [sym_comment] = "comment", [sym_source_file] = "source_file", [sym__statement] = "_statement", [sym__definition] = "_definition", @@ -288,6 +290,7 @@ static const char * const ts_symbol_names[] = { [sym_array_index_access_expression] = "array_index_access_expression", [sym_member_access_expression] = "member_access_expression", [sym_function_call_expression] = "function_call_expression", + [sym_struct_expression] = "struct_expression", [sym_expression_statement] = "expression_statement", [sym_assign_statement] = "assign_statement", [sym_assert_statement] = "assert_statement", @@ -345,6 +348,7 @@ static const char * const ts_symbol_names[] = { [sym_identifier] = "identifier", [aux_sym_source_file_repeat1] = "source_file_repeat1", [aux_sym_function_call_expression_repeat1] = "function_call_expression_repeat1", + [aux_sym_struct_expression_repeat1] = "struct_expression_repeat1", [aux_sym_spec_definition_repeat1] = "spec_definition_repeat1", [aux_sym_enum_definition_repeat1] = "enum_definition_repeat1", [aux_sym_struct_definition_repeat1] = "struct_definition_repeat1", @@ -378,7 +382,6 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_fn] = anon_sym_fn, [anon_sym_DASH_GT] = anon_sym_DASH_GT, [anon_sym_LPAREN] = anon_sym_LPAREN, - [anon_sym_COLON] = anon_sym_COLON, [anon_sym_COMMA] = anon_sym_COMMA, [anon_sym_RPAREN] = anon_sym_RPAREN, [anon_sym_assert] = anon_sym_assert, @@ -429,6 +432,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_attribute_access_operator] = sym_attribute_access_operator, [anon_sym_LBRACE] = anon_sym_LBRACE, [anon_sym_RBRACE] = anon_sym_RBRACE, + [anon_sym_COLON] = anon_sym_COLON, [anon_sym_true] = anon_sym_true, [anon_sym_false] = anon_sym_false, [anon_sym_DQUOTE] = anon_sym_DQUOTE, @@ -438,7 +442,7 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_proof] = anon_sym_proof, [anon_sym_uzumaki] = anon_sym_uzumaki, [sym__identifier] = sym__identifier, - [sym__comment] = sym__comment, + [sym_comment] = sym_comment, [sym_source_file] = sym_source_file, [sym__statement] = sym__statement, [sym__definition] = sym__definition, @@ -455,6 +459,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_array_index_access_expression] = sym_array_index_access_expression, [sym_member_access_expression] = sym_member_access_expression, [sym_function_call_expression] = sym_function_call_expression, + [sym_struct_expression] = sym_struct_expression, [sym_expression_statement] = sym_expression_statement, [sym_assign_statement] = sym_assign_statement, [sym_assert_statement] = sym_assert_statement, @@ -512,6 +517,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_identifier] = sym_identifier, [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1, [aux_sym_function_call_expression_repeat1] = aux_sym_function_call_expression_repeat1, + [aux_sym_struct_expression_repeat1] = aux_sym_struct_expression_repeat1, [aux_sym_spec_definition_repeat1] = aux_sym_spec_definition_repeat1, [aux_sym_enum_definition_repeat1] = aux_sym_enum_definition_repeat1, [aux_sym_struct_definition_repeat1] = aux_sym_struct_definition_repeat1, @@ -596,10 +602,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_COLON] = { - .visible = true, - .named = false, - }, [anon_sym_COMMA] = { .visible = true, .named = false, @@ -800,6 +802,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_COLON] = { + .visible = true, + .named = false, + }, [anon_sym_true] = { .visible = true, .named = false, @@ -836,8 +842,8 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = true, }, - [sym__comment] = { - .visible = false, + [sym_comment] = { + .visible = true, .named = true, }, [sym_source_file] = { @@ -904,6 +910,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_struct_expression] = { + .visible = true, + .named = true, + }, [sym_expression_statement] = { .visible = true, .named = true, @@ -1132,6 +1142,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym_struct_expression_repeat1] = { + .visible = false, + .named = false, + }, [aux_sym_spec_definition_repeat1] = { .visible = false, .named = false, @@ -1201,23 +1215,23 @@ enum ts_field_identifiers { field_else_if_condition = 12, field_expression = 13, field_field = 14, - field_from_literal = 15, - field_function = 16, - field_if_arm = 17, - field_imported_type = 18, - field_index = 19, - field_left = 20, - field_length = 21, - field_method = 22, - field_mut = 23, - field_name = 24, - field_operator = 25, - field_qualifier = 26, - field_returns = 27, - field_right = 28, - field_segment = 29, - field_statement = 30, - field_struct_name = 31, + field_field_name = 15, + field_field_value = 16, + field_from_literal = 17, + field_function = 18, + field_if_arm = 19, + field_imported_type = 20, + field_index = 21, + field_left = 22, + field_length = 23, + field_mut = 24, + field_name = 25, + field_operator = 26, + field_qualifier = 27, + field_returns = 28, + field_right = 29, + field_segment = 30, + field_statement = 31, field_type = 32, field_type_parameters = 33, field_value = 34, @@ -1240,6 +1254,8 @@ static const char * const ts_field_names[] = { [field_else_if_condition] = "else_if_condition", [field_expression] = "expression", [field_field] = "field", + [field_field_name] = "field_name", + [field_field_value] = "field_value", [field_from_literal] = "from_literal", [field_function] = "function", [field_if_arm] = "if_arm", @@ -1247,7 +1263,6 @@ static const char * const ts_field_names[] = { [field_index] = "index", [field_left] = "left", [field_length] = "length", - [field_method] = "method", [field_mut] = "mut", [field_name] = "name", [field_operator] = "operator", @@ -1256,7 +1271,6 @@ static const char * const ts_field_names[] = { [field_right] = "right", [field_segment] = "segment", [field_statement] = "statement", - [field_struct_name] = "struct_name", [field_type] = "type", [field_type_parameters] = "type_parameters", [field_value] = "value", @@ -1267,51 +1281,51 @@ static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [1] = {.index = 0, .length = 1}, [2] = {.index = 1, .length = 1}, [3] = {.index = 2, .length = 1}, - [4] = {.index = 3, .length = 1}, - [5] = {.index = 4, .length = 2}, - [6] = {.index = 6, .length = 2}, - [7] = {.index = 8, .length = 3}, - [8] = {.index = 11, .length = 1}, - [9] = {.index = 12, .length = 2}, - [10] = {.index = 14, .length = 1}, - [11] = {.index = 15, .length = 2}, - [12] = {.index = 17, .length = 1}, - [13] = {.index = 18, .length = 3}, - [14] = {.index = 21, .length = 4}, - [15] = {.index = 25, .length = 2}, - [16] = {.index = 27, .length = 1}, - [17] = {.index = 28, .length = 2}, + [4] = {.index = 3, .length = 2}, + [5] = {.index = 5, .length = 2}, + [6] = {.index = 7, .length = 3}, + [7] = {.index = 10, .length = 1}, + [8] = {.index = 11, .length = 2}, + [9] = {.index = 13, .length = 1}, + [10] = {.index = 14, .length = 2}, + [11] = {.index = 16, .length = 1}, + [12] = {.index = 17, .length = 3}, + [13] = {.index = 20, .length = 4}, + [14] = {.index = 24, .length = 2}, + [15] = {.index = 26, .length = 1}, + [16] = {.index = 27, .length = 2}, + [17] = {.index = 29, .length = 1}, [18] = {.index = 30, .length = 1}, [19] = {.index = 31, .length = 1}, [20] = {.index = 32, .length = 1}, [21] = {.index = 33, .length = 1}, - [22] = {.index = 34, .length = 1}, - [23] = {.index = 35, .length = 4}, - [24] = {.index = 39, .length = 2}, - [25] = {.index = 41, .length = 2}, - [26] = {.index = 43, .length = 1}, - [27] = {.index = 44, .length = 3}, - [28] = {.index = 47, .length = 2}, - [29] = {.index = 49, .length = 2}, - [30] = {.index = 51, .length = 2}, - [31] = {.index = 53, .length = 2}, - [32] = {.index = 55, .length = 4}, + [22] = {.index = 34, .length = 4}, + [23] = {.index = 38, .length = 2}, + [24] = {.index = 40, .length = 2}, + [25] = {.index = 42, .length = 1}, + [26] = {.index = 43, .length = 3}, + [27] = {.index = 46, .length = 2}, + [28] = {.index = 48, .length = 2}, + [29] = {.index = 50, .length = 2}, + [30] = {.index = 52, .length = 2}, + [31] = {.index = 54, .length = 4}, + [32] = {.index = 58, .length = 1}, [33] = {.index = 59, .length = 1}, - [34] = {.index = 60, .length = 1}, - [35] = {.index = 61, .length = 2}, - [36] = {.index = 63, .length = 1}, - [37] = {.index = 64, .length = 2}, - [38] = {.index = 66, .length = 2}, - [39] = {.index = 68, .length = 2}, - [40] = {.index = 70, .length = 3}, - [41] = {.index = 73, .length = 3}, - [42] = {.index = 76, .length = 2}, - [43] = {.index = 78, .length = 2}, - [44] = {.index = 80, .length = 2}, - [45] = {.index = 82, .length = 2}, - [46] = {.index = 84, .length = 1}, - [47] = {.index = 85, .length = 2}, - [48] = {.index = 87, .length = 3}, + [34] = {.index = 60, .length = 2}, + [35] = {.index = 62, .length = 1}, + [36] = {.index = 63, .length = 2}, + [37] = {.index = 65, .length = 2}, + [38] = {.index = 67, .length = 2}, + [39] = {.index = 69, .length = 3}, + [40] = {.index = 72, .length = 3}, + [41] = {.index = 75, .length = 2}, + [42] = {.index = 77, .length = 2}, + [43] = {.index = 79, .length = 2}, + [44] = {.index = 81, .length = 2}, + [45] = {.index = 83, .length = 1}, + [46] = {.index = 84, .length = 2}, + [47] = {.index = 86, .length = 3}, + [48] = {.index = 89, .length = 1}, [49] = {.index = 90, .length = 1}, [50] = {.index = 91, .length = 3}, [51] = {.index = 94, .length = 5}, @@ -1335,11 +1349,15 @@ static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [69] = {.index = 149, .length = 5}, [70] = {.index = 154, .length = 3}, [71] = {.index = 157, .length = 5}, - [72] = {.index = 162, .length = 2}, - [73] = {.index = 164, .length = 5}, - [74] = {.index = 169, .length = 4}, - [75] = {.index = 173, .length = 4}, - [76] = {.index = 177, .length = 6}, + [72] = {.index = 162, .length = 3}, + [73] = {.index = 165, .length = 2}, + [74] = {.index = 167, .length = 5}, + [75] = {.index = 172, .length = 4}, + [76] = {.index = 176, .length = 5}, + [77] = {.index = 181, .length = 4}, + [78] = {.index = 185, .length = 4}, + [79] = {.index = 189, .length = 6}, + [80] = {.index = 195, .length = 2}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -1348,141 +1366,141 @@ static const TSFieldMapEntry ts_field_map_entries[] = { [1] = {field_name, 1}, [2] = - {field_method, 0}, + {field_value, 0}, [3] = - {field_struct_name, 1}, - [4] = {field_segment, 1}, {field_segment, 2, .inherited = true}, - [6] = + [5] = {field_segment, 0, .inherited = true}, {field_segment, 1, .inherited = true}, - [8] = + [7] = {field_argument_list, 2}, {field_body, 3}, {field_name, 1}, - [11] = + [10] = {field_arguments, 1}, - [12] = + [11] = {field_name, 1}, {field_type, 3}, - [14] = + [13] = {field_base_type, 0}, - [15] = + [14] = {field_name, 1}, {field_variant, 3}, - [17] = + [16] = {field_field, 0}, - [18] = + [17] = {field_field, 3, .inherited = true}, - {field_method, 3, .inherited = true}, - {field_struct_name, 1}, - [21] = + {field_name, 1}, + {field_value, 3, .inherited = true}, + [20] = {field_field, 0, .inherited = true}, {field_field, 1, .inherited = true}, - {field_method, 0, .inherited = true}, - {field_method, 1, .inherited = true}, - [25] = + {field_value, 0, .inherited = true}, + {field_value, 1, .inherited = true}, + [24] = {field_argument_list, 3}, {field_name, 2}, - [27] = + [26] = {field_imported_type, 1}, - [28] = + [27] = {field_imported_type, 0, .inherited = true}, {field_imported_type, 1, .inherited = true}, - [30] = + [29] = {field_type, 1}, - [31] = + [30] = {field_body, 1}, - [32] = + [31] = {field_statement, 0}, - [33] = + [32] = {field_mut, 0}, - [34] = + [33] = {field_argument, 1}, - [35] = + [34] = {field_argument_list, 3}, {field_body, 4}, {field_name, 1}, {field_type_parameters, 2}, - [39] = + [38] = {field_name, 2}, {field_qualifier, 0}, - [41] = + [40] = {field_alias, 0}, {field_name, 2}, - [43] = + [42] = {field_variant, 1}, - [44] = + [43] = {field_name, 1}, {field_variant, 3}, {field_variant, 4, .inherited = true}, - [47] = + [46] = {field_variant, 0, .inherited = true}, {field_variant, 1, .inherited = true}, - [49] = + [48] = {field_name, 0}, {field_type, 2}, - [51] = + [50] = {field_type, 1}, {field_type, 2, .inherited = true}, - [53] = + [52] = {field_type, 0, .inherited = true}, {field_type, 1, .inherited = true}, - [55] = + [54] = {field_argument_list, 2}, {field_body, 5}, {field_name, 1}, {field_returns, 4}, - [59] = + [58] = {field_operator, 0}, - [60] = + [59] = {field_statement, 1, .inherited = true}, - [61] = + [60] = {field_statement, 0, .inherited = true}, {field_statement, 1, .inherited = true}, - [63] = + [62] = {field_type, 2}, - [64] = + [63] = {field_argument, 1}, {field_argument, 2, .inherited = true}, - [66] = + [65] = {field_argument, 0, .inherited = true}, {field_argument, 1, .inherited = true}, - [68] = + [67] = {field_arguments, 1}, {field_returns, 3}, - [70] = + [69] = {field_name, 1}, {field_type, 3}, {field_value, 5}, - [73] = + [72] = {field_argument_list, 3}, {field_name, 2}, {field_returns, 5}, - [76] = + [75] = {field_from_literal, 5}, {field_imported_type, 2}, - [78] = + [77] = {field_imported_type, 4}, {field_segment, 1}, - [80] = + [79] = {field_condition, 1}, {field_if_arm, 2}, - [82] = + [81] = {field_body, 2}, {field_condition, 1}, - [84] = + [83] = {field_expression, 1}, - [85] = + [84] = {field_expression, 0}, {field_name, 2}, - [87] = + [86] = {field_left, 0}, {field_operator, 1}, {field_right, 2}, - [90] = + [89] = {field_function, 0}, + [90] = + {field_name, 0}, [91] = {field_mut, 0}, {field_name, 1}, @@ -1577,31 +1595,49 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_function, 0}, {field_type_parameters, 1}, [162] = + {field_field_name, 2}, + {field_field_value, 4}, + {field_name, 0}, + [165] = {field_argument, 3}, {field_argument_name, 1}, - [164] = + [167] = {field_argument, 4}, {field_argument, 5, .inherited = true}, {field_argument_name, 2}, {field_argument_name, 5, .inherited = true}, {field_function, 0}, - [169] = + [172] = {field_argument, 5}, {field_argument_name, 3}, {field_function, 0}, {field_type_parameters, 1}, - [173] = + [176] = + {field_field_name, 2}, + {field_field_name, 5, .inherited = true}, + {field_field_value, 4}, + {field_field_value, 5, .inherited = true}, + {field_name, 0}, + [181] = + {field_field_name, 0, .inherited = true}, + {field_field_name, 1, .inherited = true}, + {field_field_value, 0, .inherited = true}, + {field_field_value, 1, .inherited = true}, + [185] = {field_mut, 1}, {field_name, 2}, {field_type, 4}, {field_value, 6}, - [177] = + [189] = {field_argument, 5}, {field_argument, 6, .inherited = true}, {field_argument_name, 3}, {field_argument_name, 6, .inherited = true}, {field_function, 0}, {field_type_parameters, 1}, + [195] = + {field_field_name, 1}, + {field_field_value, 3}, }; static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { @@ -1615,10 +1651,10 @@ static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE [71] = { [1] = alias_sym_type_parameters, }, - [74] = { + [75] = { [1] = alias_sym_type_parameters, }, - [76] = { + [79] = { [1] = alias_sym_type_parameters, }, }; @@ -1634,13 +1670,13 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [0] = 0, [1] = 1, [2] = 2, - [3] = 3, - [4] = 2, + [3] = 2, + [4] = 4, [5] = 2, - [6] = 3, - [7] = 3, + [6] = 4, + [7] = 4, [8] = 2, - [9] = 3, + [9] = 4, [10] = 10, [11] = 11, [12] = 12, @@ -1662,58 +1698,58 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [28] = 28, [29] = 29, [30] = 30, - [31] = 28, + [31] = 31, [32] = 32, [33] = 33, [34] = 34, [35] = 35, [36] = 36, - [37] = 37, + [37] = 25, [38] = 38, [39] = 39, [40] = 40, [41] = 41, [42] = 42, [43] = 43, - [44] = 44, - [45] = 45, - [46] = 46, - [47] = 47, - [48] = 48, - [49] = 49, + [44] = 15, + [45] = 43, + [46] = 19, + [47] = 16, + [48] = 17, + [49] = 18, [50] = 50, - [51] = 51, - [52] = 52, - [53] = 53, - [54] = 54, - [55] = 55, - [56] = 56, + [51] = 20, + [52] = 21, + [53] = 22, + [54] = 23, + [55] = 24, + [56] = 50, [57] = 57, [58] = 58, [59] = 59, [60] = 60, [61] = 61, [62] = 62, - [63] = 48, - [64] = 49, - [65] = 50, - [66] = 51, - [67] = 67, - [68] = 52, + [63] = 63, + [64] = 64, + [65] = 65, + [66] = 66, + [67] = 63, + [68] = 64, [69] = 69, [70] = 70, [71] = 71, [72] = 72, - [73] = 73, - [74] = 47, + [73] = 60, + [74] = 74, [75] = 75, - [76] = 76, + [76] = 66, [77] = 77, [78] = 78, [79] = 79, [80] = 80, - [81] = 81, - [82] = 82, + [81] = 62, + [82] = 61, [83] = 83, [84] = 84, [85] = 85, @@ -1766,16 +1802,16 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [132] = 132, [133] = 133, [134] = 134, - [135] = 135, + [135] = 132, [136] = 136, - [137] = 129, + [137] = 137, [138] = 138, [139] = 139, - [140] = 129, - [141] = 125, - [142] = 135, - [143] = 128, - [144] = 131, + [140] = 140, + [141] = 141, + [142] = 142, + [143] = 143, + [144] = 144, [145] = 145, [146] = 146, [147] = 147, @@ -1784,42 +1820,42 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [150] = 150, [151] = 151, [152] = 152, - [153] = 153, + [153] = 141, [154] = 154, [155] = 155, [156] = 156, [157] = 157, [158] = 158, - [159] = 89, - [160] = 160, - [161] = 82, - [162] = 156, - [163] = 163, - [164] = 164, + [159] = 159, + [160] = 156, + [161] = 142, + [162] = 143, + [163] = 147, + [164] = 148, [165] = 165, - [166] = 166, - [167] = 167, - [168] = 122, - [169] = 169, - [170] = 170, - [171] = 171, - [172] = 172, - [173] = 173, - [174] = 174, - [175] = 87, - [176] = 176, - [177] = 177, - [178] = 79, - [179] = 179, + [166] = 157, + [167] = 133, + [168] = 134, + [169] = 137, + [170] = 138, + [171] = 156, + [172] = 140, + [173] = 154, + [174] = 145, + [175] = 149, + [176] = 165, + [177] = 118, + [178] = 108, + [179] = 118, [180] = 180, [181] = 181, [182] = 182, [183] = 183, - [184] = 81, - [185] = 185, + [184] = 184, + [185] = 108, [186] = 186, - [187] = 179, - [188] = 182, + [187] = 187, + [188] = 188, [189] = 189, [190] = 190, [191] = 191, @@ -1829,32 +1865,32 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [195] = 195, [196] = 196, [197] = 197, - [198] = 198, + [198] = 197, [199] = 199, [200] = 200, [201] = 201, - [202] = 199, - [203] = 200, - [204] = 204, - [205] = 61, + [202] = 202, + [203] = 203, + [204] = 125, + [205] = 205, [206] = 206, [207] = 207, - [208] = 208, + [208] = 97, [209] = 209, [210] = 210, [211] = 211, [212] = 212, - [213] = 213, - [214] = 214, + [213] = 93, + [214] = 91, [215] = 215, - [216] = 49, - [217] = 48, - [218] = 51, - [219] = 47, - [220] = 52, - [221] = 50, - [222] = 69, - [223] = 223, + [216] = 216, + [217] = 217, + [218] = 218, + [219] = 219, + [220] = 220, + [221] = 221, + [222] = 219, + [223] = 215, [224] = 224, [225] = 225, [226] = 226, @@ -1868,76 +1904,76 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [234] = 234, [235] = 235, [236] = 236, - [237] = 237, + [237] = 233, [238] = 238, - [239] = 239, + [239] = 238, [240] = 240, [241] = 241, - [242] = 234, - [243] = 236, - [244] = 238, - [245] = 245, + [242] = 71, + [243] = 66, + [244] = 244, + [245] = 64, [246] = 246, - [247] = 247, + [247] = 62, [248] = 248, - [249] = 206, - [250] = 250, + [249] = 61, + [250] = 60, [251] = 251, - [252] = 252, - [253] = 212, + [252] = 63, + [253] = 253, [254] = 254, - [255] = 210, + [255] = 255, [256] = 256, - [257] = 254, - [258] = 213, - [259] = 81, + [257] = 80, + [258] = 258, + [259] = 259, [260] = 260, - [261] = 47, - [262] = 48, - [263] = 49, - [264] = 50, - [265] = 51, - [266] = 52, + [261] = 261, + [262] = 262, + [263] = 263, + [264] = 264, + [265] = 265, + [266] = 266, [267] = 267, [268] = 268, [269] = 269, - [270] = 81, + [270] = 270, [271] = 271, [272] = 272, [273] = 273, [274] = 274, [275] = 275, [276] = 276, - [277] = 260, - [278] = 267, + [277] = 274, + [278] = 278, [279] = 279, - [280] = 280, - [281] = 281, - [282] = 282, + [280] = 275, + [281] = 279, + [282] = 279, [283] = 283, [284] = 284, - [285] = 285, + [285] = 254, [286] = 286, [287] = 287, - [288] = 79, - [289] = 289, - [290] = 290, - [291] = 286, - [292] = 204, + [288] = 288, + [289] = 255, + [290] = 248, + [291] = 291, + [292] = 292, [293] = 293, - [294] = 294, - [295] = 295, + [294] = 256, + [295] = 93, [296] = 296, - [297] = 297, - [298] = 298, - [299] = 299, - [300] = 300, + [297] = 62, + [298] = 61, + [299] = 60, + [300] = 63, [301] = 301, - [302] = 302, + [302] = 66, [303] = 303, - [304] = 300, - [305] = 305, - [306] = 294, + [304] = 301, + [305] = 93, + [306] = 306, [307] = 307, [308] = 308, [309] = 309, @@ -1950,49 +1986,49 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [316] = 316, [317] = 317, [318] = 318, - [319] = 319, - [320] = 86, - [321] = 321, - [322] = 88, - [323] = 84, - [324] = 85, - [325] = 325, - [326] = 83, + [319] = 318, + [320] = 311, + [321] = 64, + [322] = 322, + [323] = 323, + [324] = 324, + [325] = 91, + [326] = 326, [327] = 327, - [328] = 310, + [328] = 328, [329] = 329, - [330] = 330, + [330] = 322, [331] = 331, - [332] = 313, - [333] = 314, - [334] = 315, - [335] = 318, + [332] = 332, + [333] = 241, + [334] = 334, + [335] = 335, [336] = 336, [337] = 337, [338] = 338, - [339] = 319, + [339] = 339, [340] = 340, [341] = 341, - [342] = 313, - [343] = 314, - [344] = 315, - [345] = 318, - [346] = 313, - [347] = 314, - [348] = 315, - [349] = 318, - [350] = 350, - [351] = 197, - [352] = 204, + [342] = 342, + [343] = 343, + [344] = 344, + [345] = 345, + [346] = 346, + [347] = 347, + [348] = 348, + [349] = 338, + [350] = 344, + [351] = 339, + [352] = 352, [353] = 353, - [354] = 337, - [355] = 337, + [354] = 354, + [355] = 355, [356] = 356, [357] = 357, - [358] = 358, - [359] = 359, + [358] = 101, + [359] = 96, [360] = 360, - [361] = 361, + [361] = 98, [362] = 362, [363] = 363, [364] = 364, @@ -2000,50 +2036,93 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [366] = 366, [367] = 367, [368] = 368, - [369] = 369, + [369] = 355, [370] = 370, [371] = 371, - [372] = 372, - [373] = 373, - [374] = 374, + [372] = 355, + [373] = 370, + [374] = 371, [375] = 375, - [376] = 376, + [376] = 375, [377] = 377, [378] = 378, [379] = 379, - [380] = 374, + [380] = 379, [381] = 381, [382] = 382, [383] = 383, [384] = 384, - [385] = 385, - [386] = 386, - [387] = 387, - [388] = 388, - [389] = 389, - [390] = 390, - [391] = 391, - [392] = 372, + [385] = 355, + [386] = 370, + [387] = 371, + [388] = 375, + [389] = 100, + [390] = 370, + [391] = 371, + [392] = 375, [393] = 393, - [394] = 394, - [395] = 395, + [394] = 235, + [395] = 393, [396] = 396, - [397] = 397, - [398] = 398, - [399] = 399, - [400] = 400, + [397] = 241, + [398] = 357, + [399] = 357, + [400] = 99, [401] = 401, - [402] = 401, + [402] = 402, [403] = 403, [404] = 404, [405] = 405, [406] = 406, [407] = 407, - [408] = 397, + [408] = 408, [409] = 409, [410] = 410, [411] = 411, [412] = 412, + [413] = 413, + [414] = 414, + [415] = 415, + [416] = 416, + [417] = 417, + [418] = 418, + [419] = 419, + [420] = 420, + [421] = 421, + [422] = 422, + [423] = 423, + [424] = 424, + [425] = 425, + [426] = 426, + [427] = 427, + [428] = 428, + [429] = 429, + [430] = 430, + [431] = 431, + [432] = 432, + [433] = 433, + [434] = 434, + [435] = 429, + [436] = 413, + [437] = 437, + [438] = 438, + [439] = 439, + [440] = 440, + [441] = 441, + [442] = 442, + [443] = 443, + [444] = 444, + [445] = 442, + [446] = 446, + [447] = 447, + [448] = 448, + [449] = 449, + [450] = 450, + [451] = 451, + [452] = 452, + [453] = 453, + [454] = 454, + [455] = 444, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -2053,28 +2132,28 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 0: if (eof) ADVANCE(133); ADVANCE_MAP( - '!', 206, + '!', 205, '"', 238, - '%', 212, - '&', 217, + '%', 211, + '&', 216, '(', 160, - ')', 163, - '*', 210, - '+', 207, - ',', 162, - '-', 209, - '.', 231, + ')', 162, + '*', 209, + '+', 206, + ',', 161, + '-', 208, + '.', 230, '/', 16, - ':', 161, + ':', 233, ';', 154, - '<', 221, - '=', 229, - '>', 223, - '@', 202, + '<', 220, + '=', 228, + '>', 222, + '@', 201, '[', 153, ']', 155, - '^', 219, - '_', 181, + '^', 218, + '_', 180, 'a', 103, 'b', 80, 'c', 79, @@ -2088,39 +2167,39 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { 's', 46, 't', 96, 'u', 18, - '{', 232, - '|', 218, - '}', 233, + '{', 231, + '|', 217, + '}', 232, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(0); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(244); END_STATE(); case 1: - if (lookahead == '\n') SKIP(14); + if (lookahead == '\n') SKIP(6); + if (lookahead == '"') ADVANCE(238); if (lookahead == '/') ADVANCE(242); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') ADVANCE(240); if (lookahead != 0 && - lookahead != '"' && lookahead != '\\') ADVANCE(243); END_STATE(); case 2: ADVANCE_MAP( - '!', 205, + '!', 204, '"', 238, '(', 160, - ')', 163, - ',', 162, - '-', 208, - '.', 231, + ')', 162, + ',', 161, + '-', 207, + '.', 230, '/', 16, - ':', 161, + ':', 233, ';', 154, - '<', 220, - '=', 228, - '>', 222, - '@', 202, + '<', 219, + '=', 227, + '>', 221, + '@', 201, '[', 153, ']', 155, 'a', 320, @@ -2134,8 +2213,8 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { 'r', 276, 't', 310, 'u', 254, - '{', 232, - '}', 233, + '{', 231, + '}', 232, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(2); @@ -2146,14 +2225,15 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 3: ADVANCE_MAP( - '!', 205, + '!', 204, '"', 238, '(', 160, - ')', 163, - '-', 208, + ')', 162, + '-', 207, '/', 16, - '@', 202, + '@', 201, '[', 153, + ']', 155, 'b', 301, 'c', 306, 'f', 263, @@ -2171,12 +2251,12 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 4: ADVANCE_MAP( - '!', 205, + '!', 204, '"', 238, '(', 160, - '-', 208, + '-', 207, '/', 16, - '@', 202, + '@', 201, '[', 153, 'a', 320, 'b', 300, @@ -2189,8 +2269,8 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { 'r', 276, 't', 310, 'u', 254, - '{', 232, - '}', 233, + '{', 231, + '}', 232, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(4); @@ -2201,12 +2281,12 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 5: ADVANCE_MAP( - '!', 205, + '!', 204, '"', 238, '(', 160, - '-', 208, + '-', 207, '/', 16, - '@', 202, + '@', 201, '[', 153, 'a', 325, 'b', 301, @@ -2217,7 +2297,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { 'p', 315, 't', 311, 'u', 254, - '{', 232, + '{', 231, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(5); @@ -2227,43 +2307,49 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ('d' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); case 6: + if (lookahead == '"') ADVANCE(238); + if (lookahead == '/') ADVANCE(16); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(6); + END_STATE(); + case 7: ADVANCE_MAP( '(', 159, - ')', 163, - ',', 162, + ')', 162, + ',', 161, '-', 27, - '.', 231, + '.', 230, '/', 16, - ':', 161, + ':', 233, ';', 154, - '<', 220, - '=', 228, - '>', 222, + '<', 219, + '=', 227, + '>', 221, ']', 155, 'a', 107, 'e', 129, 'f', 81, 'u', 72, - '{', 232, - '}', 233, + '{', 231, + '}', 232, ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(6); + lookahead == ' ') SKIP(7); END_STATE(); - case 7: + case 8: ADVANCE_MAP( - '(', 9, - ')', 163, - ',', 162, + '(', 10, + ')', 162, + ',', 161, '-', 27, - '.', 231, + '.', 230, '/', 16, ':', 25, ';', 154, - '>', 222, + '>', 221, '[', 153, ']', 155, - '_', 182, + '_', 181, 'b', 301, 'c', 306, 'f', 294, @@ -2274,17 +2360,17 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { 'u', 255, ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(7); + lookahead == ' ') SKIP(8); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(131); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); - case 8: + case 9: ADVANCE_MAP( - '(', 9, - ',', 162, + '(', 10, + ',', 161, '/', 16, - '>', 222, + '>', 221, '[', 153, 'b', 301, 'c', 306, @@ -2294,78 +2380,74 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { 'u', 255, ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(8); + lookahead == ' ') SKIP(9); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(131); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); - case 9: + case 10: if (lookahead == ')') ADVANCE(152); END_STATE(); - case 10: + case 11: ADVANCE_MAP( - ',', 162, - '-', 208, + ',', 161, + '-', 207, '/', 16, - '>', 222, + '>', 221, 'c', 306, 'p', 315, 'u', 344, - '{', 232, + '{', 231, + '}', 232, ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(10); + lookahead == ' ') SKIP(11); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(245); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); - case 11: + case 12: if (lookahead == '/') ADVANCE(16); if (lookahead == 'c') ADVANCE(306); if (lookahead == 'f') ADVANCE(294); if (lookahead == 'p') ADVANCE(315); if (lookahead == 'u') ADVANCE(344); - if (lookahead == '}') ADVANCE(233); + if (lookahead == '}') ADVANCE(232); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(11); + lookahead == ' ') SKIP(12); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(131); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); - case 12: + case 13: if (lookahead == '/') ADVANCE(16); if (lookahead == 'c') ADVANCE(306); if (lookahead == 'm') ADVANCE(342); if (lookahead == 'p') ADVANCE(315); if (lookahead == 'u') ADVANCE(344); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(12); + lookahead == ' ') SKIP(13); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(131); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); - case 13: + case 14: if (lookahead == '/') ADVANCE(16); if (lookahead == 'c') ADVANCE(306); if (lookahead == 'p') ADVANCE(315); if (lookahead == 's') ADVANCE(278); if (lookahead == 'u') ADVANCE(344); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(13); + lookahead == ' ') SKIP(14); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(131); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); - case 14: - if (lookahead == '/') ADVANCE(16); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(14); - END_STATE(); case 15: if (lookahead == '/') ADVANCE(346); END_STATE(); @@ -2377,7 +2459,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '3') ADVANCE(19); if (lookahead == '6') ADVANCE(21); if (lookahead == '8') ADVANCE(134); - if (lookahead == 'f') ADVANCE(189); + if (lookahead == 'f') ADVANCE(188); END_STATE(); case 18: if (lookahead == '1') ADVANCE(24); @@ -2407,10 +2489,10 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '6') ADVANCE(144); END_STATE(); case 25: - if (lookahead == ':') ADVANCE(230); + if (lookahead == ':') ADVANCE(229); END_STATE(); case 26: - if (lookahead == '=') ADVANCE(227); + if (lookahead == '=') ADVANCE(226); END_STATE(); case 27: if (lookahead == '>') ADVANCE(158); @@ -2434,7 +2516,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'a') ADVANCE(63); END_STATE(); case 33: - if (lookahead == 'c') ADVANCE(175); + if (lookahead == 'c') ADVANCE(174); END_STATE(); case 34: if (lookahead == 'c') ADVANCE(115); @@ -2453,25 +2535,25 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'e') ADVANCE(33); END_STATE(); case 39: - if (lookahead == 'e') ADVANCE(196); + if (lookahead == 'e') ADVANCE(195); END_STATE(); case 40: - if (lookahead == 'e') ADVANCE(192); + if (lookahead == 'e') ADVANCE(191); END_STATE(); case 41: if (lookahead == 'e') ADVANCE(234); END_STATE(); case 42: - if (lookahead == 'e') ADVANCE(170); + if (lookahead == 'e') ADVANCE(169); END_STATE(); case 43: if (lookahead == 'e') ADVANCE(236); END_STATE(); case 44: - if (lookahead == 'e') ADVANCE(183); + if (lookahead == 'e') ADVANCE(182); END_STATE(); case 45: - if (lookahead == 'e') ADVANCE(187); + if (lookahead == 'e') ADVANCE(186); END_STATE(); case 46: if (lookahead == 'e') ADVANCE(60); @@ -2489,13 +2571,13 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'e') ADVANCE(94); END_STATE(); case 50: - if (lookahead == 'f') ADVANCE(179); + if (lookahead == 'f') ADVANCE(178); END_STATE(); case 51: if (lookahead == 'f') ADVANCE(248); END_STATE(); case 52: - if (lookahead == 'f') ADVANCE(191); + if (lookahead == 'f') ADVANCE(190); END_STATE(); case 53: if (lookahead == 'i') ADVANCE(92); @@ -2514,7 +2596,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 't') ADVANCE(49); END_STATE(); case 58: - if (lookahead == 'k') ADVANCE(166); + if (lookahead == 'k') ADVANCE(165); END_STATE(); case 59: if (lookahead == 'k') ADVANCE(54); @@ -2526,10 +2608,10 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'l') ADVANCE(150); END_STATE(); case 62: - if (lookahead == 'l') ADVANCE(200); + if (lookahead == 'l') ADVANCE(199); END_STATE(); case 63: - if (lookahead == 'l') ADVANCE(178); + if (lookahead == 'l') ADVANCE(177); END_STATE(); case 64: if (lookahead == 'l') ADVANCE(105); @@ -2543,10 +2625,10 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'l') ADVANCE(109); END_STATE(); case 67: - if (lookahead == 'm') ADVANCE(176); + if (lookahead == 'm') ADVANCE(175); END_STATE(); case 68: - if (lookahead == 'm') ADVANCE(197); + if (lookahead == 'm') ADVANCE(196); END_STATE(); case 69: if (lookahead == 'm') ADVANCE(44); @@ -2566,7 +2648,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 's') ADVANCE(39); END_STATE(); case 74: - if (lookahead == 'n') ADVANCE(198); + if (lookahead == 'n') ADVANCE(197); END_STATE(); case 75: if (lookahead == 'n') ADVANCE(120); @@ -2613,7 +2695,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'o') ADVANCE(78); END_STATE(); case 89: - if (lookahead == 'p') ADVANCE(194); + if (lookahead == 'p') ADVANCE(193); END_STATE(); case 90: if (lookahead == 'p') ADVANCE(38); @@ -2654,7 +2736,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 's') ADVANCE(48); END_STATE(); case 102: - if (lookahead == 's') ADVANCE(185); + if (lookahead == 's') ADVANCE(184); END_STATE(); case 103: if (lookahead == 's') ADVANCE(101); @@ -2681,22 +2763,22 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 's') ADVANCE(116); END_STATE(); case 111: - if (lookahead == 't') ADVANCE(168); + if (lookahead == 't') ADVANCE(167); END_STATE(); case 112: - if (lookahead == 't') ADVANCE(203); + if (lookahead == 't') ADVANCE(202); END_STATE(); case 113: - if (lookahead == 't') ADVANCE(174); + if (lookahead == 't') ADVANCE(173); END_STATE(); case 114: - if (lookahead == 't') ADVANCE(164); + if (lookahead == 't') ADVANCE(163); END_STATE(); case 115: - if (lookahead == 't') ADVANCE(177); + if (lookahead == 't') ADVANCE(176); END_STATE(); case 116: - if (lookahead == 't') ADVANCE(172); + if (lookahead == 't') ADVANCE(171); END_STATE(); case 117: if (lookahead == 't') ADVANCE(102); @@ -2750,24 +2832,24 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (eof) ADVANCE(133); ADVANCE_MAP( '!', 26, - '%', 212, - '&', 217, + '%', 211, + '&', 216, '(', 159, - ')', 163, - '*', 210, - '+', 207, - ',', 162, - '-', 208, - '.', 231, + ')', 162, + '*', 209, + '+', 206, + ',', 161, + '-', 207, + '.', 230, '/', 16, - ':', 161, + ':', 233, ';', 154, - '<', 221, - '=', 229, - '>', 223, + '<', 220, + '=', 228, + '>', 222, '[', 153, ']', 155, - '^', 219, + '^', 218, 'a', 107, 'c', 88, 'e', 75, @@ -2775,9 +2857,9 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { 's', 90, 't', 130, 'u', 73, - '{', 232, - '|', 218, - '}', 233, + '{', 231, + '|', 217, + '}', 232, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(132); @@ -2908,59 +2990,55 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == ')') ADVANCE(152); END_STATE(); case 161: - ACCEPT_TOKEN(anon_sym_COLON); - if (lookahead == ':') ADVANCE(230); - END_STATE(); - case 162: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 163: + case 162: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); - case 164: + case 163: ACCEPT_TOKEN(anon_sym_assert); END_STATE(); - case 165: + case 164: ACCEPT_TOKEN(anon_sym_assert); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); - case 166: + case 165: ACCEPT_TOKEN(anon_sym_break); END_STATE(); - case 167: + case 166: ACCEPT_TOKEN(anon_sym_break); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); - case 168: + case 167: ACCEPT_TOKEN(anon_sym_let); END_STATE(); - case 169: + case 168: ACCEPT_TOKEN(anon_sym_let); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); - case 170: + case 169: ACCEPT_TOKEN(anon_sym_type); END_STATE(); - case 171: + case 170: ACCEPT_TOKEN(anon_sym_type); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); - case 172: + case 171: ACCEPT_TOKEN(anon_sym_const); END_STATE(); - case 173: + case 172: ACCEPT_TOKEN(anon_sym_const); if (lookahead == 'r') ADVANCE(337); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); @@ -2968,90 +3046,90 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); - case 174: + case 173: ACCEPT_TOKEN(anon_sym_const); if (lookahead == 'r') ADVANCE(128); END_STATE(); - case 175: + case 174: ACCEPT_TOKEN(anon_sym_spec); END_STATE(); - case 176: + case 175: ACCEPT_TOKEN(anon_sym_enum); END_STATE(); - case 177: + case 176: ACCEPT_TOKEN(anon_sym_struct); END_STATE(); - case 178: + case 177: ACCEPT_TOKEN(anon_sym_external); END_STATE(); - case 179: + case 178: ACCEPT_TOKEN(anon_sym_self); END_STATE(); - case 180: + case 179: ACCEPT_TOKEN(anon_sym_self); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); - case 181: + case 180: ACCEPT_TOKEN(anon_sym__); END_STATE(); - case 182: + case 181: ACCEPT_TOKEN(anon_sym__); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); - case 183: + case 182: ACCEPT_TOKEN(anon_sym_assume); END_STATE(); - case 184: + case 183: ACCEPT_TOKEN(anon_sym_assume); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); - case 185: + case 184: ACCEPT_TOKEN(anon_sym_exists); END_STATE(); - case 186: + case 185: ACCEPT_TOKEN(anon_sym_exists); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); - case 187: + case 186: ACCEPT_TOKEN(anon_sym_unique); END_STATE(); - case 188: + case 187: ACCEPT_TOKEN(anon_sym_unique); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); - case 189: + case 188: ACCEPT_TOKEN(anon_sym_if); END_STATE(); - case 190: + case 189: ACCEPT_TOKEN(anon_sym_if); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); - case 191: + case 190: ACCEPT_TOKEN(anon_sym_elseif); END_STATE(); - case 192: + case 191: ACCEPT_TOKEN(anon_sym_else); if (lookahead == ' ') ADVANCE(55); END_STATE(); - case 193: + case 192: ACCEPT_TOKEN(anon_sym_else); if (lookahead == ' ') ADVANCE(55); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); @@ -3059,151 +3137,155 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); - case 194: + case 193: ACCEPT_TOKEN(anon_sym_loop); END_STATE(); - case 195: + case 194: ACCEPT_TOKEN(anon_sym_loop); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); - case 196: + case 195: ACCEPT_TOKEN(anon_sym_use); END_STATE(); - case 197: + case 196: ACCEPT_TOKEN(anon_sym_from); END_STATE(); - case 198: + case 197: ACCEPT_TOKEN(anon_sym_return); END_STATE(); - case 199: + case 198: ACCEPT_TOKEN(anon_sym_return); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); - case 200: + case 199: ACCEPT_TOKEN(sym_forall_keyword); END_STATE(); - case 201: + case 200: ACCEPT_TOKEN(sym_forall_keyword); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); - case 202: + case 201: ACCEPT_TOKEN(sym_uzumaki_keyword); END_STATE(); - case 203: + case 202: ACCEPT_TOKEN(sym_mut_keyword); END_STATE(); - case 204: + case 203: ACCEPT_TOKEN(sym_mut_keyword); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); + case 204: + ACCEPT_TOKEN(sym_unary_not); + END_STATE(); case 205: ACCEPT_TOKEN(sym_unary_not); + if (lookahead == '=') ADVANCE(226); END_STATE(); case 206: - ACCEPT_TOKEN(sym_unary_not); - if (lookahead == '=') ADVANCE(227); + ACCEPT_TOKEN(sym_add_operator); END_STATE(); case 207: - ACCEPT_TOKEN(sym_add_operator); + ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); case 208: ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '>') ADVANCE(158); END_STATE(); case 209: - ACCEPT_TOKEN(anon_sym_DASH); - if (lookahead == '>') ADVANCE(158); + ACCEPT_TOKEN(sym_mul_operator); + if (lookahead == '*') ADVANCE(210); END_STATE(); case 210: - ACCEPT_TOKEN(sym_mul_operator); - if (lookahead == '*') ADVANCE(211); + ACCEPT_TOKEN(sym_pow_operator); END_STATE(); case 211: - ACCEPT_TOKEN(sym_pow_operator); + ACCEPT_TOKEN(sym_mod_operator); END_STATE(); case 212: - ACCEPT_TOKEN(sym_mod_operator); + ACCEPT_TOKEN(sym_and_operator); END_STATE(); case 213: - ACCEPT_TOKEN(sym_and_operator); + ACCEPT_TOKEN(sym_or_operator); END_STATE(); case 214: - ACCEPT_TOKEN(sym_or_operator); + ACCEPT_TOKEN(sym_shift_left_operator); END_STATE(); case 215: - ACCEPT_TOKEN(sym_shift_left_operator); + ACCEPT_TOKEN(sym_shift_right_operator); END_STATE(); case 216: - ACCEPT_TOKEN(sym_shift_right_operator); + ACCEPT_TOKEN(sym_bit_and_operator); + if (lookahead == '&') ADVANCE(212); END_STATE(); case 217: - ACCEPT_TOKEN(sym_bit_and_operator); - if (lookahead == '&') ADVANCE(213); + ACCEPT_TOKEN(sym_bit_or_operator); + if (lookahead == '|') ADVANCE(213); END_STATE(); case 218: - ACCEPT_TOKEN(sym_bit_or_operator); - if (lookahead == '|') ADVANCE(214); + ACCEPT_TOKEN(sym_bit_xor_operator); END_STATE(); case 219: - ACCEPT_TOKEN(sym_bit_xor_operator); + ACCEPT_TOKEN(anon_sym_LT); END_STATE(); case 220: ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '<') ADVANCE(214); + if (lookahead == '=') ADVANCE(223); END_STATE(); case 221: - ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '<') ADVANCE(215); - if (lookahead == '=') ADVANCE(224); + ACCEPT_TOKEN(anon_sym_GT); END_STATE(); case 222: ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(224); + if (lookahead == '>') ADVANCE(215); END_STATE(); case 223: - ACCEPT_TOKEN(anon_sym_GT); - if (lookahead == '=') ADVANCE(225); - if (lookahead == '>') ADVANCE(216); + ACCEPT_TOKEN(sym_less_equal_operator); END_STATE(); case 224: - ACCEPT_TOKEN(sym_less_equal_operator); + ACCEPT_TOKEN(sym_greater_equal_operator); END_STATE(); case 225: - ACCEPT_TOKEN(sym_greater_equal_operator); + ACCEPT_TOKEN(sym_equals_operator); END_STATE(); case 226: - ACCEPT_TOKEN(sym_equals_operator); + ACCEPT_TOKEN(sym_not_equals_operator); END_STATE(); case 227: - ACCEPT_TOKEN(sym_not_equals_operator); + ACCEPT_TOKEN(sym_assign_operator); END_STATE(); case 228: ACCEPT_TOKEN(sym_assign_operator); + if (lookahead == '=') ADVANCE(225); END_STATE(); case 229: - ACCEPT_TOKEN(sym_assign_operator); - if (lookahead == '=') ADVANCE(226); + ACCEPT_TOKEN(sym_expand_operator); END_STATE(); case 230: - ACCEPT_TOKEN(sym_expand_operator); + ACCEPT_TOKEN(sym_attribute_access_operator); END_STATE(); case 231: - ACCEPT_TOKEN(sym_attribute_access_operator); + ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 232: - ACCEPT_TOKEN(anon_sym_LBRACE); + ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 233: - ACCEPT_TOKEN(anon_sym_RBRACE); + ACCEPT_TOKEN(anon_sym_COLON); + if (lookahead == ':') ADVANCE(229); END_STATE(); case 234: ACCEPT_TOKEN(anon_sym_true); @@ -3318,7 +3400,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { '3', 256, '6', 258, '8', 135, - 'f', 190, + 'f', 189, '0', 345, '2', 345, '4', 345, @@ -3513,7 +3595,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 271: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'e') ADVANCE(171); + if (lookahead == 'e') ADVANCE(170); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || @@ -3529,7 +3611,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 273: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'e') ADVANCE(184); + if (lookahead == 'e') ADVANCE(183); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || @@ -3537,7 +3619,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 274: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'e') ADVANCE(188); + if (lookahead == 'e') ADVANCE(187); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || @@ -3545,7 +3627,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 275: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'e') ADVANCE(193); + if (lookahead == 'e') ADVANCE(192); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || @@ -3586,7 +3668,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 280: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'f') ADVANCE(180); + if (lookahead == 'f') ADVANCE(179); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || @@ -3618,7 +3700,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 284: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'k') ADVANCE(167); + if (lookahead == 'k') ADVANCE(166); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || @@ -3642,7 +3724,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 287: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'l') ADVANCE(201); + if (lookahead == 'l') ADVANCE(200); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || @@ -3707,7 +3789,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 295: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'n') ADVANCE(199); + if (lookahead == 'n') ADVANCE(198); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || @@ -3804,7 +3886,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 307: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'p') ADVANCE(195); + if (lookahead == 'p') ADVANCE(194); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || @@ -3901,7 +3983,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 319: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 's') ADVANCE(186); + if (lookahead == 's') ADVANCE(185); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || @@ -3973,7 +4055,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 328: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 't') ADVANCE(169); + if (lookahead == 't') ADVANCE(168); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || @@ -3981,7 +4063,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 329: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 't') ADVANCE(173); + if (lookahead == 't') ADVANCE(172); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || @@ -3989,7 +4071,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 330: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 't') ADVANCE(165); + if (lookahead == 't') ADVANCE(164); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || @@ -3997,7 +4079,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 331: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 't') ADVANCE(204); + if (lookahead == 't') ADVANCE(203); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(345); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || @@ -4115,7 +4197,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ('a' <= lookahead && lookahead <= 'z')) ADVANCE(345); END_STATE(); case 346: - ACCEPT_TOKEN(sym__comment); + ACCEPT_TOKEN(sym_comment); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(346); @@ -4169,30 +4251,30 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [40] = {.lex_state = 3}, [41] = {.lex_state = 3}, [42] = {.lex_state = 3}, - [43] = {.lex_state = 4}, - [44] = {.lex_state = 4}, - [45] = {.lex_state = 4}, - [46] = {.lex_state = 4}, - [47] = {.lex_state = 4}, - [48] = {.lex_state = 4}, - [49] = {.lex_state = 4}, - [50] = {.lex_state = 4}, - [51] = {.lex_state = 4}, - [52] = {.lex_state = 4}, - [53] = {.lex_state = 2}, - [54] = {.lex_state = 2}, - [55] = {.lex_state = 2}, - [56] = {.lex_state = 2}, - [57] = {.lex_state = 2}, - [58] = {.lex_state = 2}, - [59] = {.lex_state = 2}, - [60] = {.lex_state = 2}, - [61] = {.lex_state = 2}, - [62] = {.lex_state = 2}, - [63] = {.lex_state = 2}, - [64] = {.lex_state = 2}, - [65] = {.lex_state = 2}, - [66] = {.lex_state = 2}, + [43] = {.lex_state = 3}, + [44] = {.lex_state = 3}, + [45] = {.lex_state = 3}, + [46] = {.lex_state = 3}, + [47] = {.lex_state = 3}, + [48] = {.lex_state = 3}, + [49] = {.lex_state = 3}, + [50] = {.lex_state = 3}, + [51] = {.lex_state = 3}, + [52] = {.lex_state = 3}, + [53] = {.lex_state = 3}, + [54] = {.lex_state = 3}, + [55] = {.lex_state = 3}, + [56] = {.lex_state = 3}, + [57] = {.lex_state = 4}, + [58] = {.lex_state = 4}, + [59] = {.lex_state = 4}, + [60] = {.lex_state = 4}, + [61] = {.lex_state = 4}, + [62] = {.lex_state = 4}, + [63] = {.lex_state = 4}, + [64] = {.lex_state = 4}, + [65] = {.lex_state = 4}, + [66] = {.lex_state = 4}, [67] = {.lex_state = 2}, [68] = {.lex_state = 2}, [69] = {.lex_state = 2}, @@ -4201,27 +4283,27 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [72] = {.lex_state = 2}, [73] = {.lex_state = 2}, [74] = {.lex_state = 2}, - [75] = {.lex_state = 7}, - [76] = {.lex_state = 132}, - [77] = {.lex_state = 132}, - [78] = {.lex_state = 132}, - [79] = {.lex_state = 132}, - [80] = {.lex_state = 7}, - [81] = {.lex_state = 132}, - [82] = {.lex_state = 132}, - [83] = {.lex_state = 132}, - [84] = {.lex_state = 132}, - [85] = {.lex_state = 132}, - [86] = {.lex_state = 132}, - [87] = {.lex_state = 132}, - [88] = {.lex_state = 132}, - [89] = {.lex_state = 132}, + [75] = {.lex_state = 2}, + [76] = {.lex_state = 2}, + [77] = {.lex_state = 2}, + [78] = {.lex_state = 2}, + [79] = {.lex_state = 2}, + [80] = {.lex_state = 2}, + [81] = {.lex_state = 2}, + [82] = {.lex_state = 2}, + [83] = {.lex_state = 2}, + [84] = {.lex_state = 2}, + [85] = {.lex_state = 2}, + [86] = {.lex_state = 2}, + [87] = {.lex_state = 2}, + [88] = {.lex_state = 2}, + [89] = {.lex_state = 8}, [90] = {.lex_state = 132}, [91] = {.lex_state = 132}, [92] = {.lex_state = 132}, [93] = {.lex_state = 132}, [94] = {.lex_state = 132}, - [95] = {.lex_state = 132}, + [95] = {.lex_state = 8}, [96] = {.lex_state = 132}, [97] = {.lex_state = 132}, [98] = {.lex_state = 132}, @@ -4231,8 +4313,8 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [102] = {.lex_state = 132}, [103] = {.lex_state = 132}, [104] = {.lex_state = 132}, - [105] = {.lex_state = 8}, - [106] = {.lex_state = 8}, + [105] = {.lex_state = 9}, + [106] = {.lex_state = 9}, [107] = {.lex_state = 132}, [108] = {.lex_state = 132}, [109] = {.lex_state = 132}, @@ -4251,250 +4333,250 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [122] = {.lex_state = 132}, [123] = {.lex_state = 132}, [124] = {.lex_state = 132}, - [125] = {.lex_state = 8}, - [126] = {.lex_state = 8}, - [127] = {.lex_state = 8}, - [128] = {.lex_state = 8}, - [129] = {.lex_state = 8}, - [130] = {.lex_state = 8}, - [131] = {.lex_state = 8}, - [132] = {.lex_state = 8}, - [133] = {.lex_state = 8}, - [134] = {.lex_state = 8}, - [135] = {.lex_state = 8}, - [136] = {.lex_state = 8}, - [137] = {.lex_state = 8}, - [138] = {.lex_state = 8}, - [139] = {.lex_state = 8}, - [140] = {.lex_state = 8}, - [141] = {.lex_state = 8}, - [142] = {.lex_state = 8}, - [143] = {.lex_state = 8}, - [144] = {.lex_state = 8}, + [125] = {.lex_state = 132}, + [126] = {.lex_state = 132}, + [127] = {.lex_state = 132}, + [128] = {.lex_state = 132}, + [129] = {.lex_state = 132}, + [130] = {.lex_state = 132}, + [131] = {.lex_state = 132}, + [132] = {.lex_state = 132}, + [133] = {.lex_state = 132}, + [134] = {.lex_state = 132}, + [135] = {.lex_state = 132}, + [136] = {.lex_state = 132}, + [137] = {.lex_state = 132}, + [138] = {.lex_state = 132}, + [139] = {.lex_state = 9}, + [140] = {.lex_state = 9}, + [141] = {.lex_state = 9}, + [142] = {.lex_state = 132}, + [143] = {.lex_state = 132}, + [144] = {.lex_state = 9}, [145] = {.lex_state = 132}, - [146] = {.lex_state = 132}, + [146] = {.lex_state = 9}, [147] = {.lex_state = 132}, [148] = {.lex_state = 132}, - [149] = {.lex_state = 132}, - [150] = {.lex_state = 132}, - [151] = {.lex_state = 132}, - [152] = {.lex_state = 132}, - [153] = {.lex_state = 132}, - [154] = {.lex_state = 132}, - [155] = {.lex_state = 132}, - [156] = {.lex_state = 132}, + [149] = {.lex_state = 9}, + [150] = {.lex_state = 9}, + [151] = {.lex_state = 9}, + [152] = {.lex_state = 9}, + [153] = {.lex_state = 9}, + [154] = {.lex_state = 9}, + [155] = {.lex_state = 9}, + [156] = {.lex_state = 9}, [157] = {.lex_state = 132}, - [158] = {.lex_state = 132}, - [159] = {.lex_state = 132}, - [160] = {.lex_state = 132}, + [158] = {.lex_state = 9}, + [159] = {.lex_state = 9}, + [160] = {.lex_state = 9}, [161] = {.lex_state = 132}, [162] = {.lex_state = 132}, [163] = {.lex_state = 132}, - [164] = {.lex_state = 3}, - [165] = {.lex_state = 3}, - [166] = {.lex_state = 3}, + [164] = {.lex_state = 132}, + [165] = {.lex_state = 132}, + [166] = {.lex_state = 132}, [167] = {.lex_state = 132}, [168] = {.lex_state = 132}, [169] = {.lex_state = 132}, [170] = {.lex_state = 132}, - [171] = {.lex_state = 132}, - [172] = {.lex_state = 132}, - [173] = {.lex_state = 132}, + [171] = {.lex_state = 9}, + [172] = {.lex_state = 9}, + [173] = {.lex_state = 9}, [174] = {.lex_state = 132}, - [175] = {.lex_state = 6}, - [176] = {.lex_state = 8}, + [175] = {.lex_state = 9}, + [176] = {.lex_state = 132}, [177] = {.lex_state = 132}, - [178] = {.lex_state = 0}, - [179] = {.lex_state = 6}, - [180] = {.lex_state = 2}, - [181] = {.lex_state = 6}, - [182] = {.lex_state = 6}, - [183] = {.lex_state = 6}, - [184] = {.lex_state = 0}, - [185] = {.lex_state = 10}, - [186] = {.lex_state = 6}, - [187] = {.lex_state = 6}, - [188] = {.lex_state = 6}, - [189] = {.lex_state = 11}, - [190] = {.lex_state = 11}, - [191] = {.lex_state = 2}, - [192] = {.lex_state = 2}, - [193] = {.lex_state = 2}, - [194] = {.lex_state = 2}, - [195] = {.lex_state = 2}, - [196] = {.lex_state = 11}, - [197] = {.lex_state = 0}, - [198] = {.lex_state = 0}, - [199] = {.lex_state = 0}, - [200] = {.lex_state = 0}, - [201] = {.lex_state = 0}, - [202] = {.lex_state = 0}, - [203] = {.lex_state = 0}, - [204] = {.lex_state = 6}, + [178] = {.lex_state = 132}, + [179] = {.lex_state = 132}, + [180] = {.lex_state = 132}, + [181] = {.lex_state = 132}, + [182] = {.lex_state = 132}, + [183] = {.lex_state = 132}, + [184] = {.lex_state = 132}, + [185] = {.lex_state = 132}, + [186] = {.lex_state = 132}, + [187] = {.lex_state = 132}, + [188] = {.lex_state = 132}, + [189] = {.lex_state = 132}, + [190] = {.lex_state = 132}, + [191] = {.lex_state = 132}, + [192] = {.lex_state = 132}, + [193] = {.lex_state = 132}, + [194] = {.lex_state = 132}, + [195] = {.lex_state = 132}, + [196] = {.lex_state = 132}, + [197] = {.lex_state = 132}, + [198] = {.lex_state = 132}, + [199] = {.lex_state = 3}, + [200] = {.lex_state = 3}, + [201] = {.lex_state = 3}, + [202] = {.lex_state = 132}, + [203] = {.lex_state = 132}, + [204] = {.lex_state = 132}, [205] = {.lex_state = 132}, [206] = {.lex_state = 132}, [207] = {.lex_state = 132}, - [208] = {.lex_state = 132}, + [208] = {.lex_state = 7}, [209] = {.lex_state = 132}, [210] = {.lex_state = 132}, - [211] = {.lex_state = 132}, + [211] = {.lex_state = 9}, [212] = {.lex_state = 132}, - [213] = {.lex_state = 132}, - [214] = {.lex_state = 132}, - [215] = {.lex_state = 132}, - [216] = {.lex_state = 132}, - [217] = {.lex_state = 132}, - [218] = {.lex_state = 132}, - [219] = {.lex_state = 132}, - [220] = {.lex_state = 132}, - [221] = {.lex_state = 132}, - [222] = {.lex_state = 132}, - [223] = {.lex_state = 132}, - [224] = {.lex_state = 10}, - [225] = {.lex_state = 132}, - [226] = {.lex_state = 132}, - [227] = {.lex_state = 132}, - [228] = {.lex_state = 132}, - [229] = {.lex_state = 132}, - [230] = {.lex_state = 132}, - [231] = {.lex_state = 132}, - [232] = {.lex_state = 132}, - [233] = {.lex_state = 132}, - [234] = {.lex_state = 10}, - [235] = {.lex_state = 10}, - [236] = {.lex_state = 10}, - [237] = {.lex_state = 10}, - [238] = {.lex_state = 10}, + [213] = {.lex_state = 0}, + [214] = {.lex_state = 0}, + [215] = {.lex_state = 7}, + [216] = {.lex_state = 7}, + [217] = {.lex_state = 11}, + [218] = {.lex_state = 7}, + [219] = {.lex_state = 7}, + [220] = {.lex_state = 2}, + [221] = {.lex_state = 2}, + [222] = {.lex_state = 7}, + [223] = {.lex_state = 7}, + [224] = {.lex_state = 7}, + [225] = {.lex_state = 12}, + [226] = {.lex_state = 2}, + [227] = {.lex_state = 12}, + [228] = {.lex_state = 2}, + [229] = {.lex_state = 2}, + [230] = {.lex_state = 2}, + [231] = {.lex_state = 11}, + [232] = {.lex_state = 0}, + [233] = {.lex_state = 0}, + [234] = {.lex_state = 0}, + [235] = {.lex_state = 0}, + [236] = {.lex_state = 12}, + [237] = {.lex_state = 0}, + [238] = {.lex_state = 0}, [239] = {.lex_state = 0}, - [240] = {.lex_state = 10}, - [241] = {.lex_state = 10}, - [242] = {.lex_state = 10}, - [243] = {.lex_state = 10}, - [244] = {.lex_state = 10}, - [245] = {.lex_state = 13}, - [246] = {.lex_state = 12}, - [247] = {.lex_state = 10}, - [248] = {.lex_state = 11}, - [249] = {.lex_state = 11}, - [250] = {.lex_state = 10}, - [251] = {.lex_state = 10}, - [252] = {.lex_state = 10}, - [253] = {.lex_state = 11}, - [254] = {.lex_state = 10}, - [255] = {.lex_state = 11}, - [256] = {.lex_state = 10}, - [257] = {.lex_state = 10}, - [258] = {.lex_state = 11}, - [259] = {.lex_state = 0}, - [260] = {.lex_state = 10}, - [261] = {.lex_state = 11}, - [262] = {.lex_state = 11}, - [263] = {.lex_state = 11}, - [264] = {.lex_state = 11}, - [265] = {.lex_state = 11}, - [266] = {.lex_state = 11}, - [267] = {.lex_state = 10}, + [240] = {.lex_state = 11}, + [241] = {.lex_state = 7}, + [242] = {.lex_state = 132}, + [243] = {.lex_state = 132}, + [244] = {.lex_state = 132}, + [245] = {.lex_state = 132}, + [246] = {.lex_state = 132}, + [247] = {.lex_state = 132}, + [248] = {.lex_state = 132}, + [249] = {.lex_state = 132}, + [250] = {.lex_state = 132}, + [251] = {.lex_state = 132}, + [252] = {.lex_state = 132}, + [253] = {.lex_state = 132}, + [254] = {.lex_state = 132}, + [255] = {.lex_state = 132}, + [256] = {.lex_state = 132}, + [257] = {.lex_state = 132}, + [258] = {.lex_state = 132}, + [259] = {.lex_state = 132}, + [260] = {.lex_state = 132}, + [261] = {.lex_state = 132}, + [262] = {.lex_state = 132}, + [263] = {.lex_state = 132}, + [264] = {.lex_state = 132}, + [265] = {.lex_state = 132}, + [266] = {.lex_state = 132}, + [267] = {.lex_state = 132}, [268] = {.lex_state = 11}, - [269] = {.lex_state = 10}, - [270] = {.lex_state = 2}, - [271] = {.lex_state = 10}, - [272] = {.lex_state = 10}, - [273] = {.lex_state = 10}, - [274] = {.lex_state = 10}, - [275] = {.lex_state = 10}, - [276] = {.lex_state = 10}, - [277] = {.lex_state = 10}, - [278] = {.lex_state = 10}, - [279] = {.lex_state = 10}, - [280] = {.lex_state = 0}, - [281] = {.lex_state = 0}, - [282] = {.lex_state = 0}, - [283] = {.lex_state = 0}, - [284] = {.lex_state = 0}, - [285] = {.lex_state = 0}, - [286] = {.lex_state = 132}, - [287] = {.lex_state = 0}, - [288] = {.lex_state = 2}, - [289] = {.lex_state = 0}, - [290] = {.lex_state = 0}, - [291] = {.lex_state = 132}, - [292] = {.lex_state = 7}, - [293] = {.lex_state = 0}, - [294] = {.lex_state = 2}, - [295] = {.lex_state = 2}, - [296] = {.lex_state = 0}, - [297] = {.lex_state = 0}, - [298] = {.lex_state = 0}, - [299] = {.lex_state = 10}, - [300] = {.lex_state = 2}, - [301] = {.lex_state = 0}, - [302] = {.lex_state = 0}, - [303] = {.lex_state = 0}, - [304] = {.lex_state = 2}, + [269] = {.lex_state = 132}, + [270] = {.lex_state = 132}, + [271] = {.lex_state = 11}, + [272] = {.lex_state = 11}, + [273] = {.lex_state = 11}, + [274] = {.lex_state = 11}, + [275] = {.lex_state = 11}, + [276] = {.lex_state = 0}, + [277] = {.lex_state = 11}, + [278] = {.lex_state = 11}, + [279] = {.lex_state = 11}, + [280] = {.lex_state = 11}, + [281] = {.lex_state = 11}, + [282] = {.lex_state = 11}, + [283] = {.lex_state = 13}, + [284] = {.lex_state = 14}, + [285] = {.lex_state = 12}, + [286] = {.lex_state = 11}, + [287] = {.lex_state = 11}, + [288] = {.lex_state = 11}, + [289] = {.lex_state = 12}, + [290] = {.lex_state = 12}, + [291] = {.lex_state = 0}, + [292] = {.lex_state = 11}, + [293] = {.lex_state = 11}, + [294] = {.lex_state = 12}, + [295] = {.lex_state = 0}, + [296] = {.lex_state = 11}, + [297] = {.lex_state = 12}, + [298] = {.lex_state = 12}, + [299] = {.lex_state = 12}, + [300] = {.lex_state = 12}, + [301] = {.lex_state = 11}, + [302] = {.lex_state = 12}, + [303] = {.lex_state = 12}, + [304] = {.lex_state = 11}, [305] = {.lex_state = 2}, - [306] = {.lex_state = 2}, + [306] = {.lex_state = 0}, [307] = {.lex_state = 0}, - [308] = {.lex_state = 2}, - [309] = {.lex_state = 2}, - [310] = {.lex_state = 132}, - [311] = {.lex_state = 0}, - [312] = {.lex_state = 2}, - [313] = {.lex_state = 0}, - [314] = {.lex_state = 0}, - [315] = {.lex_state = 0}, - [316] = {.lex_state = 0}, - [317] = {.lex_state = 0}, - [318] = {.lex_state = 0}, - [319] = {.lex_state = 2}, - [320] = {.lex_state = 2}, - [321] = {.lex_state = 2}, - [322] = {.lex_state = 2}, - [323] = {.lex_state = 2}, - [324] = {.lex_state = 2}, - [325] = {.lex_state = 0}, - [326] = {.lex_state = 2}, + [308] = {.lex_state = 11}, + [309] = {.lex_state = 11}, + [310] = {.lex_state = 11}, + [311] = {.lex_state = 11}, + [312] = {.lex_state = 0}, + [313] = {.lex_state = 11}, + [314] = {.lex_state = 11}, + [315] = {.lex_state = 11}, + [316] = {.lex_state = 11}, + [317] = {.lex_state = 12}, + [318] = {.lex_state = 11}, + [319] = {.lex_state = 11}, + [320] = {.lex_state = 11}, + [321] = {.lex_state = 12}, + [322] = {.lex_state = 132}, + [323] = {.lex_state = 0}, + [324] = {.lex_state = 0}, + [325] = {.lex_state = 2}, + [326] = {.lex_state = 0}, [327] = {.lex_state = 0}, - [328] = {.lex_state = 132}, + [328] = {.lex_state = 0}, [329] = {.lex_state = 0}, [330] = {.lex_state = 132}, [331] = {.lex_state = 0}, [332] = {.lex_state = 0}, - [333] = {.lex_state = 0}, + [333] = {.lex_state = 8}, [334] = {.lex_state = 0}, [335] = {.lex_state = 0}, [336] = {.lex_state = 0}, - [337] = {.lex_state = 132}, - [338] = {.lex_state = 0}, - [339] = {.lex_state = 2}, - [340] = {.lex_state = 7}, + [337] = {.lex_state = 2}, + [338] = {.lex_state = 2}, + [339] = {.lex_state = 0}, + [340] = {.lex_state = 0}, [341] = {.lex_state = 0}, - [342] = {.lex_state = 0}, + [342] = {.lex_state = 2}, [343] = {.lex_state = 0}, - [344] = {.lex_state = 0}, - [345] = {.lex_state = 0}, - [346] = {.lex_state = 0}, - [347] = {.lex_state = 0}, + [344] = {.lex_state = 2}, + [345] = {.lex_state = 11}, + [346] = {.lex_state = 2}, + [347] = {.lex_state = 2}, [348] = {.lex_state = 0}, - [349] = {.lex_state = 0}, - [350] = {.lex_state = 0}, - [351] = {.lex_state = 2}, - [352] = {.lex_state = 7}, + [349] = {.lex_state = 2}, + [350] = {.lex_state = 2}, + [351] = {.lex_state = 0}, + [352] = {.lex_state = 0}, [353] = {.lex_state = 0}, - [354] = {.lex_state = 132}, - [355] = {.lex_state = 132}, + [354] = {.lex_state = 0}, + [355] = {.lex_state = 0}, [356] = {.lex_state = 0}, - [357] = {.lex_state = 0}, - [358] = {.lex_state = 0}, - [359] = {.lex_state = 0}, + [357] = {.lex_state = 132}, + [358] = {.lex_state = 2}, + [359] = {.lex_state = 2}, [360] = {.lex_state = 0}, - [361] = {.lex_state = 0}, + [361] = {.lex_state = 2}, [362] = {.lex_state = 0}, [363] = {.lex_state = 0}, [364] = {.lex_state = 0}, - [365] = {.lex_state = 0}, + [365] = {.lex_state = 132}, [366] = {.lex_state = 0}, - [367] = {.lex_state = 0}, - [368] = {.lex_state = 2}, + [367] = {.lex_state = 2}, + [368] = {.lex_state = 0}, [369] = {.lex_state = 0}, [370] = {.lex_state = 0}, [371] = {.lex_state = 0}, @@ -4505,11 +4587,11 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [376] = {.lex_state = 0}, [377] = {.lex_state = 0}, [378] = {.lex_state = 0}, - [379] = {.lex_state = 0}, - [380] = {.lex_state = 0}, + [379] = {.lex_state = 2}, + [380] = {.lex_state = 2}, [381] = {.lex_state = 0}, [382] = {.lex_state = 0}, - [383] = {.lex_state = 0}, + [383] = {.lex_state = 2}, [384] = {.lex_state = 0}, [385] = {.lex_state = 0}, [386] = {.lex_state = 0}, @@ -4519,26 +4601,69 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [390] = {.lex_state = 0}, [391] = {.lex_state = 0}, [392] = {.lex_state = 0}, - [393] = {.lex_state = 0}, - [394] = {.lex_state = 132}, - [395] = {.lex_state = 0}, - [396] = {.lex_state = 0}, - [397] = {.lex_state = 0}, - [398] = {.lex_state = 0}, - [399] = {.lex_state = 0}, - [400] = {.lex_state = 132}, + [393] = {.lex_state = 132}, + [394] = {.lex_state = 2}, + [395] = {.lex_state = 132}, + [396] = {.lex_state = 8}, + [397] = {.lex_state = 8}, + [398] = {.lex_state = 132}, + [399] = {.lex_state = 132}, + [400] = {.lex_state = 2}, [401] = {.lex_state = 0}, - [402] = {.lex_state = 0}, - [403] = {.lex_state = 132}, + [402] = {.lex_state = 1}, + [403] = {.lex_state = 0}, [404] = {.lex_state = 0}, [405] = {.lex_state = 0}, - [406] = {.lex_state = 132}, + [406] = {.lex_state = 0}, [407] = {.lex_state = 0}, [408] = {.lex_state = 0}, [409] = {.lex_state = 0}, - [410] = {.lex_state = 0}, - [411] = {.lex_state = 1}, - [412] = {.lex_state = 132}, + [410] = {.lex_state = 2}, + [411] = {.lex_state = 0}, + [412] = {.lex_state = 0}, + [413] = {.lex_state = 0}, + [414] = {.lex_state = 0}, + [415] = {.lex_state = 0}, + [416] = {.lex_state = 0}, + [417] = {.lex_state = 0}, + [418] = {.lex_state = 0}, + [419] = {.lex_state = 0}, + [420] = {.lex_state = 0}, + [421] = {.lex_state = 0}, + [422] = {.lex_state = 0}, + [423] = {.lex_state = 0}, + [424] = {.lex_state = 0}, + [425] = {.lex_state = 0}, + [426] = {.lex_state = 0}, + [427] = {.lex_state = 2}, + [428] = {.lex_state = 0}, + [429] = {.lex_state = 0}, + [430] = {.lex_state = 0}, + [431] = {.lex_state = 0}, + [432] = {.lex_state = 0}, + [433] = {.lex_state = 0}, + [434] = {.lex_state = 0}, + [435] = {.lex_state = 0}, + [436] = {.lex_state = 0}, + [437] = {.lex_state = 0}, + [438] = {.lex_state = 132}, + [439] = {.lex_state = 132}, + [440] = {.lex_state = 132}, + [441] = {.lex_state = 0}, + [442] = {.lex_state = 0}, + [443] = {.lex_state = 0}, + [444] = {.lex_state = 0}, + [445] = {.lex_state = 0}, + [446] = {.lex_state = 0}, + [447] = {.lex_state = 132}, + [448] = {.lex_state = 132}, + [449] = {.lex_state = 0}, + [450] = {.lex_state = 0}, + [451] = {.lex_state = 0}, + [452] = {.lex_state = 0}, + [453] = {.lex_state = 0}, + [454] = {.lex_state = 0}, + [455] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -4560,7 +4685,6 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_fn] = ACTIONS(1), [anon_sym_DASH_GT] = ACTIONS(1), [anon_sym_LPAREN] = ACTIONS(1), - [anon_sym_COLON] = ACTIONS(1), [anon_sym_COMMA] = ACTIONS(1), [anon_sym_RPAREN] = ACTIONS(1), [anon_sym_assert] = ACTIONS(1), @@ -4611,6 +4735,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_attribute_access_operator] = ACTIONS(1), [anon_sym_LBRACE] = ACTIONS(1), [anon_sym_RBRACE] = ACTIONS(1), + [anon_sym_COLON] = ACTIONS(1), [anon_sym_true] = ACTIONS(1), [anon_sym_false] = ACTIONS(1), [anon_sym_DQUOTE] = ACTIONS(1), @@ -4618,21 +4743,21 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_constructor] = ACTIONS(1), [anon_sym_proof] = ACTIONS(1), [anon_sym_uzumaki] = ACTIONS(1), - [sym__comment] = ACTIONS(3), + [sym_comment] = ACTIONS(3), }, [STATE(1)] = { - [sym_source_file] = STATE(395), - [sym__definition] = STATE(172), - [sym_type_definition_statement] = STATE(172), - [sym_constant_definition] = STATE(172), - [sym_spec_definition] = STATE(172), - [sym_enum_definition] = STATE(172), - [sym_struct_definition] = STATE(172), - [sym_function_definition] = STATE(172), - [sym_external_function_definition] = STATE(172), - [sym_use_directive] = STATE(172), - [sym_function_keyword] = STATE(267), - [aux_sym_source_file_repeat1] = STATE(172), + [sym_source_file] = STATE(451), + [sym__definition] = STATE(207), + [sym_type_definition_statement] = STATE(207), + [sym_constant_definition] = STATE(207), + [sym_spec_definition] = STATE(207), + [sym_enum_definition] = STATE(207), + [sym_struct_definition] = STATE(207), + [sym_function_definition] = STATE(207), + [sym_external_function_definition] = STATE(207), + [sym_use_directive] = STATE(207), + [sym_function_keyword] = STATE(311), + [aux_sym_source_file_repeat1] = STATE(207), [ts_builtin_sym_end] = ACTIONS(5), [anon_sym_fn] = ACTIONS(7), [anon_sym_type] = ACTIONS(9), @@ -4642,55 +4767,56 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_struct] = ACTIONS(17), [anon_sym_external] = ACTIONS(19), [anon_sym_use] = ACTIONS(21), - [sym__comment] = ACTIONS(3), + [sym_comment] = ACTIONS(3), }, [STATE(2)] = { - [sym__statement] = STATE(67), - [sym__embedded_type] = STATE(382), - [sym_type_unit] = STATE(382), - [sym_type_array] = STATE(382), - [sym_type_fn] = STATE(382), - [sym__literal] = STATE(160), - [sym__expression] = STATE(160), - [sym__lval_expression] = STATE(150), - [sym__non_lval_expression] = STATE(160), - [sym__block] = STATE(67), - [sym_array_index_access_expression] = STATE(150), - [sym_member_access_expression] = STATE(150), - [sym_function_call_expression] = STATE(160), - [sym_expression_statement] = STATE(67), - [sym_assign_statement] = STATE(67), - [sym_assert_statement] = STATE(67), - [sym_break_statement] = STATE(67), - [sym_parenthesized_expression] = STATE(160), - [sym_prefix_unary_expression] = STATE(160), - [sym_binary_expression] = STATE(160), - [sym_variable_definition_statement] = STATE(67), - [sym_type_definition_statement] = STATE(67), - [sym_constant_definition] = STATE(67), - [sym_block] = STATE(67), - [sym_assume_block] = STATE(67), - [sym_forall_block] = STATE(67), - [sym_exists_block] = STATE(67), - [sym_unique_block] = STATE(67), - [sym_if_statement] = STATE(67), - [sym_loop_statement] = STATE(67), - [sym_return_statement] = STATE(67), - [sym__lcb_symbol] = STATE(7), - [sym__rcb_symbol] = STATE(52), - [sym_bool_literal] = STATE(160), - [sym_string_literal] = STATE(160), - [sym_number_literal] = STATE(160), - [sym_unit_literal] = STATE(160), - [sym_array_literal] = STATE(160), - [sym__name] = STATE(377), - [sym_type_qualified_name] = STATE(377), - [sym__simple_name] = STATE(82), - [sym_qualified_name] = STATE(377), - [sym_generic_name] = STATE(82), - [sym__reserved_identifier] = STATE(87), - [sym_identifier] = STATE(81), - [aux_sym_block_repeat1] = STATE(10), + [sym__statement] = STATE(72), + [sym__embedded_type] = STATE(411), + [sym_type_unit] = STATE(411), + [sym_type_array] = STATE(411), + [sym_type_fn] = STATE(411), + [sym__literal] = STATE(189), + [sym__expression] = STATE(189), + [sym__lval_expression] = STATE(191), + [sym__non_lval_expression] = STATE(189), + [sym__block] = STATE(72), + [sym_array_index_access_expression] = STATE(191), + [sym_member_access_expression] = STATE(191), + [sym_function_call_expression] = STATE(189), + [sym_struct_expression] = STATE(189), + [sym_expression_statement] = STATE(72), + [sym_assign_statement] = STATE(72), + [sym_assert_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_parenthesized_expression] = STATE(189), + [sym_prefix_unary_expression] = STATE(189), + [sym_binary_expression] = STATE(189), + [sym_variable_definition_statement] = STATE(72), + [sym_type_definition_statement] = STATE(72), + [sym_constant_definition] = STATE(72), + [sym_block] = STATE(72), + [sym_assume_block] = STATE(72), + [sym_forall_block] = STATE(72), + [sym_exists_block] = STATE(72), + [sym_unique_block] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_loop_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym__lcb_symbol] = STATE(2), + [sym__rcb_symbol] = STATE(68), + [sym_bool_literal] = STATE(189), + [sym_string_literal] = STATE(189), + [sym_number_literal] = STATE(189), + [sym_unit_literal] = STATE(189), + [sym_array_literal] = STATE(189), + [sym__name] = STATE(339), + [sym_type_qualified_name] = STATE(339), + [sym__simple_name] = STATE(108), + [sym_qualified_name] = STATE(339), + [sym_generic_name] = STATE(108), + [sym__reserved_identifier] = STATE(97), + [sym_identifier] = STATE(93), + [aux_sym_block_repeat1] = STATE(7), [sym_type_i8] = ACTIONS(23), [sym_type_i16] = ACTIONS(23), [sym_type_i32] = ACTIONS(23), @@ -4729,55 +4855,56 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_proof] = ACTIONS(73), [anon_sym_uzumaki] = ACTIONS(73), [sym__identifier] = ACTIONS(73), - [sym__comment] = ACTIONS(3), + [sym_comment] = ACTIONS(3), }, [STATE(3)] = { - [sym__statement] = STATE(67), - [sym__embedded_type] = STATE(382), - [sym_type_unit] = STATE(382), - [sym_type_array] = STATE(382), - [sym_type_fn] = STATE(382), - [sym__literal] = STATE(160), - [sym__expression] = STATE(160), - [sym__lval_expression] = STATE(150), - [sym__non_lval_expression] = STATE(160), - [sym__block] = STATE(67), - [sym_array_index_access_expression] = STATE(150), - [sym_member_access_expression] = STATE(150), - [sym_function_call_expression] = STATE(160), - [sym_expression_statement] = STATE(67), - [sym_assign_statement] = STATE(67), - [sym_assert_statement] = STATE(67), - [sym_break_statement] = STATE(67), - [sym_parenthesized_expression] = STATE(160), - [sym_prefix_unary_expression] = STATE(160), - [sym_binary_expression] = STATE(160), - [sym_variable_definition_statement] = STATE(67), - [sym_type_definition_statement] = STATE(67), - [sym_constant_definition] = STATE(67), - [sym_block] = STATE(67), - [sym_assume_block] = STATE(67), - [sym_forall_block] = STATE(67), - [sym_exists_block] = STATE(67), - [sym_unique_block] = STATE(67), - [sym_if_statement] = STATE(67), - [sym_loop_statement] = STATE(67), - [sym_return_statement] = STATE(67), - [sym__lcb_symbol] = STATE(7), - [sym__rcb_symbol] = STATE(218), - [sym_bool_literal] = STATE(160), - [sym_string_literal] = STATE(160), - [sym_number_literal] = STATE(160), - [sym_unit_literal] = STATE(160), - [sym_array_literal] = STATE(160), - [sym__name] = STATE(377), - [sym_type_qualified_name] = STATE(377), - [sym__simple_name] = STATE(82), - [sym_qualified_name] = STATE(377), - [sym_generic_name] = STATE(82), - [sym__reserved_identifier] = STATE(87), - [sym_identifier] = STATE(81), - [aux_sym_block_repeat1] = STATE(5), + [sym__statement] = STATE(72), + [sym__embedded_type] = STATE(411), + [sym_type_unit] = STATE(411), + [sym_type_array] = STATE(411), + [sym_type_fn] = STATE(411), + [sym__literal] = STATE(189), + [sym__expression] = STATE(189), + [sym__lval_expression] = STATE(191), + [sym__non_lval_expression] = STATE(189), + [sym__block] = STATE(72), + [sym_array_index_access_expression] = STATE(191), + [sym_member_access_expression] = STATE(191), + [sym_function_call_expression] = STATE(189), + [sym_struct_expression] = STATE(189), + [sym_expression_statement] = STATE(72), + [sym_assign_statement] = STATE(72), + [sym_assert_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_parenthesized_expression] = STATE(189), + [sym_prefix_unary_expression] = STATE(189), + [sym_binary_expression] = STATE(189), + [sym_variable_definition_statement] = STATE(72), + [sym_type_definition_statement] = STATE(72), + [sym_constant_definition] = STATE(72), + [sym_block] = STATE(72), + [sym_assume_block] = STATE(72), + [sym_forall_block] = STATE(72), + [sym_exists_block] = STATE(72), + [sym_unique_block] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_loop_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym__lcb_symbol] = STATE(2), + [sym__rcb_symbol] = STATE(245), + [sym_bool_literal] = STATE(189), + [sym_string_literal] = STATE(189), + [sym_number_literal] = STATE(189), + [sym_unit_literal] = STATE(189), + [sym_array_literal] = STATE(189), + [sym__name] = STATE(339), + [sym_type_qualified_name] = STATE(339), + [sym__simple_name] = STATE(108), + [sym_qualified_name] = STATE(339), + [sym_generic_name] = STATE(108), + [sym__reserved_identifier] = STATE(97), + [sym_identifier] = STATE(93), + [aux_sym_block_repeat1] = STATE(4), [sym_type_i8] = ACTIONS(23), [sym_type_i16] = ACTIONS(23), [sym_type_i32] = ACTIONS(23), @@ -4816,54 +4943,55 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_proof] = ACTIONS(73), [anon_sym_uzumaki] = ACTIONS(73), [sym__identifier] = ACTIONS(73), - [sym__comment] = ACTIONS(3), + [sym_comment] = ACTIONS(3), }, [STATE(4)] = { - [sym__statement] = STATE(67), - [sym__embedded_type] = STATE(382), - [sym_type_unit] = STATE(382), - [sym_type_array] = STATE(382), - [sym_type_fn] = STATE(382), - [sym__literal] = STATE(160), - [sym__expression] = STATE(160), - [sym__lval_expression] = STATE(150), - [sym__non_lval_expression] = STATE(160), - [sym__block] = STATE(67), - [sym_array_index_access_expression] = STATE(150), - [sym_member_access_expression] = STATE(150), - [sym_function_call_expression] = STATE(160), - [sym_expression_statement] = STATE(67), - [sym_assign_statement] = STATE(67), - [sym_assert_statement] = STATE(67), - [sym_break_statement] = STATE(67), - [sym_parenthesized_expression] = STATE(160), - [sym_prefix_unary_expression] = STATE(160), - [sym_binary_expression] = STATE(160), - [sym_variable_definition_statement] = STATE(67), - [sym_type_definition_statement] = STATE(67), - [sym_constant_definition] = STATE(67), - [sym_block] = STATE(67), - [sym_assume_block] = STATE(67), - [sym_forall_block] = STATE(67), - [sym_exists_block] = STATE(67), - [sym_unique_block] = STATE(67), - [sym_if_statement] = STATE(67), - [sym_loop_statement] = STATE(67), - [sym_return_statement] = STATE(67), - [sym__lcb_symbol] = STATE(7), - [sym__rcb_symbol] = STATE(68), - [sym_bool_literal] = STATE(160), - [sym_string_literal] = STATE(160), - [sym_number_literal] = STATE(160), - [sym_unit_literal] = STATE(160), - [sym_array_literal] = STATE(160), - [sym__name] = STATE(377), - [sym_type_qualified_name] = STATE(377), - [sym__simple_name] = STATE(82), - [sym_qualified_name] = STATE(377), - [sym_generic_name] = STATE(82), - [sym__reserved_identifier] = STATE(87), - [sym_identifier] = STATE(81), + [sym__statement] = STATE(72), + [sym__embedded_type] = STATE(411), + [sym_type_unit] = STATE(411), + [sym_type_array] = STATE(411), + [sym_type_fn] = STATE(411), + [sym__literal] = STATE(189), + [sym__expression] = STATE(189), + [sym__lval_expression] = STATE(191), + [sym__non_lval_expression] = STATE(189), + [sym__block] = STATE(72), + [sym_array_index_access_expression] = STATE(191), + [sym_member_access_expression] = STATE(191), + [sym_function_call_expression] = STATE(189), + [sym_struct_expression] = STATE(189), + [sym_expression_statement] = STATE(72), + [sym_assign_statement] = STATE(72), + [sym_assert_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_parenthesized_expression] = STATE(189), + [sym_prefix_unary_expression] = STATE(189), + [sym_binary_expression] = STATE(189), + [sym_variable_definition_statement] = STATE(72), + [sym_type_definition_statement] = STATE(72), + [sym_constant_definition] = STATE(72), + [sym_block] = STATE(72), + [sym_assume_block] = STATE(72), + [sym_forall_block] = STATE(72), + [sym_exists_block] = STATE(72), + [sym_unique_block] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_loop_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym__lcb_symbol] = STATE(2), + [sym__rcb_symbol] = STATE(243), + [sym_bool_literal] = STATE(189), + [sym_string_literal] = STATE(189), + [sym_number_literal] = STATE(189), + [sym_unit_literal] = STATE(189), + [sym_array_literal] = STATE(189), + [sym__name] = STATE(339), + [sym_type_qualified_name] = STATE(339), + [sym__simple_name] = STATE(108), + [sym_qualified_name] = STATE(339), + [sym_generic_name] = STATE(108), + [sym__reserved_identifier] = STATE(97), + [sym_identifier] = STATE(93), [aux_sym_block_repeat1] = STATE(10), [sym_type_i8] = ACTIONS(23), [sym_type_i16] = ACTIONS(23), @@ -4903,55 +5031,56 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_proof] = ACTIONS(73), [anon_sym_uzumaki] = ACTIONS(73), [sym__identifier] = ACTIONS(73), - [sym__comment] = ACTIONS(3), + [sym_comment] = ACTIONS(3), }, [STATE(5)] = { - [sym__statement] = STATE(67), - [sym__embedded_type] = STATE(382), - [sym_type_unit] = STATE(382), - [sym_type_array] = STATE(382), - [sym_type_fn] = STATE(382), - [sym__literal] = STATE(160), - [sym__expression] = STATE(160), - [sym__lval_expression] = STATE(150), - [sym__non_lval_expression] = STATE(160), - [sym__block] = STATE(67), - [sym_array_index_access_expression] = STATE(150), - [sym_member_access_expression] = STATE(150), - [sym_function_call_expression] = STATE(160), - [sym_expression_statement] = STATE(67), - [sym_assign_statement] = STATE(67), - [sym_assert_statement] = STATE(67), - [sym_break_statement] = STATE(67), - [sym_parenthesized_expression] = STATE(160), - [sym_prefix_unary_expression] = STATE(160), - [sym_binary_expression] = STATE(160), - [sym_variable_definition_statement] = STATE(67), - [sym_type_definition_statement] = STATE(67), - [sym_constant_definition] = STATE(67), - [sym_block] = STATE(67), - [sym_assume_block] = STATE(67), - [sym_forall_block] = STATE(67), - [sym_exists_block] = STATE(67), - [sym_unique_block] = STATE(67), - [sym_if_statement] = STATE(67), - [sym_loop_statement] = STATE(67), - [sym_return_statement] = STATE(67), - [sym__lcb_symbol] = STATE(7), - [sym__rcb_symbol] = STATE(220), - [sym_bool_literal] = STATE(160), - [sym_string_literal] = STATE(160), - [sym_number_literal] = STATE(160), - [sym_unit_literal] = STATE(160), - [sym_array_literal] = STATE(160), - [sym__name] = STATE(377), - [sym_type_qualified_name] = STATE(377), - [sym__simple_name] = STATE(82), - [sym_qualified_name] = STATE(377), - [sym_generic_name] = STATE(82), - [sym__reserved_identifier] = STATE(87), - [sym_identifier] = STATE(81), - [aux_sym_block_repeat1] = STATE(10), + [sym__statement] = STATE(72), + [sym__embedded_type] = STATE(411), + [sym_type_unit] = STATE(411), + [sym_type_array] = STATE(411), + [sym_type_fn] = STATE(411), + [sym__literal] = STATE(189), + [sym__expression] = STATE(189), + [sym__lval_expression] = STATE(191), + [sym__non_lval_expression] = STATE(189), + [sym__block] = STATE(72), + [sym_array_index_access_expression] = STATE(191), + [sym_member_access_expression] = STATE(191), + [sym_function_call_expression] = STATE(189), + [sym_struct_expression] = STATE(189), + [sym_expression_statement] = STATE(72), + [sym_assign_statement] = STATE(72), + [sym_assert_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_parenthesized_expression] = STATE(189), + [sym_prefix_unary_expression] = STATE(189), + [sym_binary_expression] = STATE(189), + [sym_variable_definition_statement] = STATE(72), + [sym_type_definition_statement] = STATE(72), + [sym_constant_definition] = STATE(72), + [sym_block] = STATE(72), + [sym_assume_block] = STATE(72), + [sym_forall_block] = STATE(72), + [sym_exists_block] = STATE(72), + [sym_unique_block] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_loop_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym__lcb_symbol] = STATE(2), + [sym__rcb_symbol] = STATE(321), + [sym_bool_literal] = STATE(189), + [sym_string_literal] = STATE(189), + [sym_number_literal] = STATE(189), + [sym_unit_literal] = STATE(189), + [sym_array_literal] = STATE(189), + [sym__name] = STATE(339), + [sym_type_qualified_name] = STATE(339), + [sym__simple_name] = STATE(108), + [sym_qualified_name] = STATE(339), + [sym_generic_name] = STATE(108), + [sym__reserved_identifier] = STATE(97), + [sym_identifier] = STATE(93), + [aux_sym_block_repeat1] = STATE(6), [sym_type_i8] = ACTIONS(23), [sym_type_i16] = ACTIONS(23), [sym_type_i32] = ACTIONS(23), @@ -4990,55 +5119,56 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_proof] = ACTIONS(73), [anon_sym_uzumaki] = ACTIONS(73), [sym__identifier] = ACTIONS(73), - [sym__comment] = ACTIONS(3), + [sym_comment] = ACTIONS(3), }, [STATE(6)] = { - [sym__statement] = STATE(67), - [sym__embedded_type] = STATE(382), - [sym_type_unit] = STATE(382), - [sym_type_array] = STATE(382), - [sym_type_fn] = STATE(382), - [sym__literal] = STATE(160), - [sym__expression] = STATE(160), - [sym__lval_expression] = STATE(150), - [sym__non_lval_expression] = STATE(160), - [sym__block] = STATE(67), - [sym_array_index_access_expression] = STATE(150), - [sym_member_access_expression] = STATE(150), - [sym_function_call_expression] = STATE(160), - [sym_expression_statement] = STATE(67), - [sym_assign_statement] = STATE(67), - [sym_assert_statement] = STATE(67), - [sym_break_statement] = STATE(67), - [sym_parenthesized_expression] = STATE(160), - [sym_prefix_unary_expression] = STATE(160), - [sym_binary_expression] = STATE(160), - [sym_variable_definition_statement] = STATE(67), - [sym_type_definition_statement] = STATE(67), - [sym_constant_definition] = STATE(67), - [sym_block] = STATE(67), - [sym_assume_block] = STATE(67), - [sym_forall_block] = STATE(67), - [sym_exists_block] = STATE(67), - [sym_unique_block] = STATE(67), - [sym_if_statement] = STATE(67), - [sym_loop_statement] = STATE(67), - [sym_return_statement] = STATE(67), - [sym__lcb_symbol] = STATE(7), - [sym__rcb_symbol] = STATE(265), - [sym_bool_literal] = STATE(160), - [sym_string_literal] = STATE(160), - [sym_number_literal] = STATE(160), - [sym_unit_literal] = STATE(160), - [sym_array_literal] = STATE(160), - [sym__name] = STATE(377), - [sym_type_qualified_name] = STATE(377), - [sym__simple_name] = STATE(82), - [sym_qualified_name] = STATE(377), - [sym_generic_name] = STATE(82), - [sym__reserved_identifier] = STATE(87), - [sym_identifier] = STATE(81), - [aux_sym_block_repeat1] = STATE(8), + [sym__statement] = STATE(72), + [sym__embedded_type] = STATE(411), + [sym_type_unit] = STATE(411), + [sym_type_array] = STATE(411), + [sym_type_fn] = STATE(411), + [sym__literal] = STATE(189), + [sym__expression] = STATE(189), + [sym__lval_expression] = STATE(191), + [sym__non_lval_expression] = STATE(189), + [sym__block] = STATE(72), + [sym_array_index_access_expression] = STATE(191), + [sym_member_access_expression] = STATE(191), + [sym_function_call_expression] = STATE(189), + [sym_struct_expression] = STATE(189), + [sym_expression_statement] = STATE(72), + [sym_assign_statement] = STATE(72), + [sym_assert_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_parenthesized_expression] = STATE(189), + [sym_prefix_unary_expression] = STATE(189), + [sym_binary_expression] = STATE(189), + [sym_variable_definition_statement] = STATE(72), + [sym_type_definition_statement] = STATE(72), + [sym_constant_definition] = STATE(72), + [sym_block] = STATE(72), + [sym_assume_block] = STATE(72), + [sym_forall_block] = STATE(72), + [sym_exists_block] = STATE(72), + [sym_unique_block] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_loop_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym__lcb_symbol] = STATE(2), + [sym__rcb_symbol] = STATE(302), + [sym_bool_literal] = STATE(189), + [sym_string_literal] = STATE(189), + [sym_number_literal] = STATE(189), + [sym_unit_literal] = STATE(189), + [sym_array_literal] = STATE(189), + [sym__name] = STATE(339), + [sym_type_qualified_name] = STATE(339), + [sym__simple_name] = STATE(108), + [sym_qualified_name] = STATE(339), + [sym_generic_name] = STATE(108), + [sym__reserved_identifier] = STATE(97), + [sym_identifier] = STATE(93), + [aux_sym_block_repeat1] = STATE(10), [sym_type_i8] = ACTIONS(23), [sym_type_i16] = ACTIONS(23), [sym_type_i32] = ACTIONS(23), @@ -5077,55 +5207,56 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_proof] = ACTIONS(73), [anon_sym_uzumaki] = ACTIONS(73), [sym__identifier] = ACTIONS(73), - [sym__comment] = ACTIONS(3), + [sym_comment] = ACTIONS(3), }, [STATE(7)] = { - [sym__statement] = STATE(67), - [sym__embedded_type] = STATE(382), - [sym_type_unit] = STATE(382), - [sym_type_array] = STATE(382), - [sym_type_fn] = STATE(382), - [sym__literal] = STATE(160), - [sym__expression] = STATE(160), - [sym__lval_expression] = STATE(150), - [sym__non_lval_expression] = STATE(160), - [sym__block] = STATE(67), - [sym_array_index_access_expression] = STATE(150), - [sym_member_access_expression] = STATE(150), - [sym_function_call_expression] = STATE(160), - [sym_expression_statement] = STATE(67), - [sym_assign_statement] = STATE(67), - [sym_assert_statement] = STATE(67), - [sym_break_statement] = STATE(67), - [sym_parenthesized_expression] = STATE(160), - [sym_prefix_unary_expression] = STATE(160), - [sym_binary_expression] = STATE(160), - [sym_variable_definition_statement] = STATE(67), - [sym_type_definition_statement] = STATE(67), - [sym_constant_definition] = STATE(67), - [sym_block] = STATE(67), - [sym_assume_block] = STATE(67), - [sym_forall_block] = STATE(67), - [sym_exists_block] = STATE(67), - [sym_unique_block] = STATE(67), - [sym_if_statement] = STATE(67), - [sym_loop_statement] = STATE(67), - [sym_return_statement] = STATE(67), - [sym__lcb_symbol] = STATE(7), - [sym__rcb_symbol] = STATE(66), - [sym_bool_literal] = STATE(160), - [sym_string_literal] = STATE(160), - [sym_number_literal] = STATE(160), - [sym_unit_literal] = STATE(160), - [sym_array_literal] = STATE(160), - [sym__name] = STATE(377), - [sym_type_qualified_name] = STATE(377), - [sym__simple_name] = STATE(82), - [sym_qualified_name] = STATE(377), - [sym_generic_name] = STATE(82), - [sym__reserved_identifier] = STATE(87), - [sym_identifier] = STATE(81), - [aux_sym_block_repeat1] = STATE(4), + [sym__statement] = STATE(72), + [sym__embedded_type] = STATE(411), + [sym_type_unit] = STATE(411), + [sym_type_array] = STATE(411), + [sym_type_fn] = STATE(411), + [sym__literal] = STATE(189), + [sym__expression] = STATE(189), + [sym__lval_expression] = STATE(191), + [sym__non_lval_expression] = STATE(189), + [sym__block] = STATE(72), + [sym_array_index_access_expression] = STATE(191), + [sym_member_access_expression] = STATE(191), + [sym_function_call_expression] = STATE(189), + [sym_struct_expression] = STATE(189), + [sym_expression_statement] = STATE(72), + [sym_assign_statement] = STATE(72), + [sym_assert_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_parenthesized_expression] = STATE(189), + [sym_prefix_unary_expression] = STATE(189), + [sym_binary_expression] = STATE(189), + [sym_variable_definition_statement] = STATE(72), + [sym_type_definition_statement] = STATE(72), + [sym_constant_definition] = STATE(72), + [sym_block] = STATE(72), + [sym_assume_block] = STATE(72), + [sym_forall_block] = STATE(72), + [sym_exists_block] = STATE(72), + [sym_unique_block] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_loop_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym__lcb_symbol] = STATE(2), + [sym__rcb_symbol] = STATE(76), + [sym_bool_literal] = STATE(189), + [sym_string_literal] = STATE(189), + [sym_number_literal] = STATE(189), + [sym_unit_literal] = STATE(189), + [sym_array_literal] = STATE(189), + [sym__name] = STATE(339), + [sym_type_qualified_name] = STATE(339), + [sym__simple_name] = STATE(108), + [sym_qualified_name] = STATE(339), + [sym_generic_name] = STATE(108), + [sym__reserved_identifier] = STATE(97), + [sym_identifier] = STATE(93), + [aux_sym_block_repeat1] = STATE(10), [sym_type_i8] = ACTIONS(23), [sym_type_i16] = ACTIONS(23), [sym_type_i32] = ACTIONS(23), @@ -5164,55 +5295,56 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_proof] = ACTIONS(73), [anon_sym_uzumaki] = ACTIONS(73), [sym__identifier] = ACTIONS(73), - [sym__comment] = ACTIONS(3), + [sym_comment] = ACTIONS(3), }, [STATE(8)] = { - [sym__statement] = STATE(67), - [sym__embedded_type] = STATE(382), - [sym_type_unit] = STATE(382), - [sym_type_array] = STATE(382), - [sym_type_fn] = STATE(382), - [sym__literal] = STATE(160), - [sym__expression] = STATE(160), - [sym__lval_expression] = STATE(150), - [sym__non_lval_expression] = STATE(160), - [sym__block] = STATE(67), - [sym_array_index_access_expression] = STATE(150), - [sym_member_access_expression] = STATE(150), - [sym_function_call_expression] = STATE(160), - [sym_expression_statement] = STATE(67), - [sym_assign_statement] = STATE(67), - [sym_assert_statement] = STATE(67), - [sym_break_statement] = STATE(67), - [sym_parenthesized_expression] = STATE(160), - [sym_prefix_unary_expression] = STATE(160), - [sym_binary_expression] = STATE(160), - [sym_variable_definition_statement] = STATE(67), - [sym_type_definition_statement] = STATE(67), - [sym_constant_definition] = STATE(67), - [sym_block] = STATE(67), - [sym_assume_block] = STATE(67), - [sym_forall_block] = STATE(67), - [sym_exists_block] = STATE(67), - [sym_unique_block] = STATE(67), - [sym_if_statement] = STATE(67), - [sym_loop_statement] = STATE(67), - [sym_return_statement] = STATE(67), - [sym__lcb_symbol] = STATE(7), - [sym__rcb_symbol] = STATE(266), - [sym_bool_literal] = STATE(160), - [sym_string_literal] = STATE(160), - [sym_number_literal] = STATE(160), - [sym_unit_literal] = STATE(160), - [sym_array_literal] = STATE(160), - [sym__name] = STATE(377), - [sym_type_qualified_name] = STATE(377), - [sym__simple_name] = STATE(82), - [sym_qualified_name] = STATE(377), - [sym_generic_name] = STATE(82), - [sym__reserved_identifier] = STATE(87), - [sym_identifier] = STATE(81), - [aux_sym_block_repeat1] = STATE(10), + [sym__statement] = STATE(72), + [sym__embedded_type] = STATE(411), + [sym_type_unit] = STATE(411), + [sym_type_array] = STATE(411), + [sym_type_fn] = STATE(411), + [sym__literal] = STATE(189), + [sym__expression] = STATE(189), + [sym__lval_expression] = STATE(191), + [sym__non_lval_expression] = STATE(189), + [sym__block] = STATE(72), + [sym_array_index_access_expression] = STATE(191), + [sym_member_access_expression] = STATE(191), + [sym_function_call_expression] = STATE(189), + [sym_struct_expression] = STATE(189), + [sym_expression_statement] = STATE(72), + [sym_assign_statement] = STATE(72), + [sym_assert_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_parenthesized_expression] = STATE(189), + [sym_prefix_unary_expression] = STATE(189), + [sym_binary_expression] = STATE(189), + [sym_variable_definition_statement] = STATE(72), + [sym_type_definition_statement] = STATE(72), + [sym_constant_definition] = STATE(72), + [sym_block] = STATE(72), + [sym_assume_block] = STATE(72), + [sym_forall_block] = STATE(72), + [sym_exists_block] = STATE(72), + [sym_unique_block] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_loop_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym__lcb_symbol] = STATE(2), + [sym__rcb_symbol] = STATE(64), + [sym_bool_literal] = STATE(189), + [sym_string_literal] = STATE(189), + [sym_number_literal] = STATE(189), + [sym_unit_literal] = STATE(189), + [sym_array_literal] = STATE(189), + [sym__name] = STATE(339), + [sym_type_qualified_name] = STATE(339), + [sym__simple_name] = STATE(108), + [sym_qualified_name] = STATE(339), + [sym_generic_name] = STATE(108), + [sym__reserved_identifier] = STATE(97), + [sym_identifier] = STATE(93), + [aux_sym_block_repeat1] = STATE(9), [sym_type_i8] = ACTIONS(23), [sym_type_i16] = ACTIONS(23), [sym_type_i32] = ACTIONS(23), @@ -5251,55 +5383,56 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_proof] = ACTIONS(73), [anon_sym_uzumaki] = ACTIONS(73), [sym__identifier] = ACTIONS(73), - [sym__comment] = ACTIONS(3), + [sym_comment] = ACTIONS(3), }, [STATE(9)] = { - [sym__statement] = STATE(67), - [sym__embedded_type] = STATE(382), - [sym_type_unit] = STATE(382), - [sym_type_array] = STATE(382), - [sym_type_fn] = STATE(382), - [sym__literal] = STATE(160), - [sym__expression] = STATE(160), - [sym__lval_expression] = STATE(150), - [sym__non_lval_expression] = STATE(160), - [sym__block] = STATE(67), - [sym_array_index_access_expression] = STATE(150), - [sym_member_access_expression] = STATE(150), - [sym_function_call_expression] = STATE(160), - [sym_expression_statement] = STATE(67), - [sym_assign_statement] = STATE(67), - [sym_assert_statement] = STATE(67), - [sym_break_statement] = STATE(67), - [sym_parenthesized_expression] = STATE(160), - [sym_prefix_unary_expression] = STATE(160), - [sym_binary_expression] = STATE(160), - [sym_variable_definition_statement] = STATE(67), - [sym_type_definition_statement] = STATE(67), - [sym_constant_definition] = STATE(67), - [sym_block] = STATE(67), - [sym_assume_block] = STATE(67), - [sym_forall_block] = STATE(67), - [sym_exists_block] = STATE(67), - [sym_unique_block] = STATE(67), - [sym_if_statement] = STATE(67), - [sym_loop_statement] = STATE(67), - [sym_return_statement] = STATE(67), - [sym__lcb_symbol] = STATE(7), - [sym__rcb_symbol] = STATE(51), - [sym_bool_literal] = STATE(160), - [sym_string_literal] = STATE(160), - [sym_number_literal] = STATE(160), - [sym_unit_literal] = STATE(160), - [sym_array_literal] = STATE(160), - [sym__name] = STATE(377), - [sym_type_qualified_name] = STATE(377), - [sym__simple_name] = STATE(82), - [sym_qualified_name] = STATE(377), - [sym_generic_name] = STATE(82), - [sym__reserved_identifier] = STATE(87), - [sym_identifier] = STATE(81), - [aux_sym_block_repeat1] = STATE(2), + [sym__statement] = STATE(72), + [sym__embedded_type] = STATE(411), + [sym_type_unit] = STATE(411), + [sym_type_array] = STATE(411), + [sym_type_fn] = STATE(411), + [sym__literal] = STATE(189), + [sym__expression] = STATE(189), + [sym__lval_expression] = STATE(191), + [sym__non_lval_expression] = STATE(189), + [sym__block] = STATE(72), + [sym_array_index_access_expression] = STATE(191), + [sym_member_access_expression] = STATE(191), + [sym_function_call_expression] = STATE(189), + [sym_struct_expression] = STATE(189), + [sym_expression_statement] = STATE(72), + [sym_assign_statement] = STATE(72), + [sym_assert_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_parenthesized_expression] = STATE(189), + [sym_prefix_unary_expression] = STATE(189), + [sym_binary_expression] = STATE(189), + [sym_variable_definition_statement] = STATE(72), + [sym_type_definition_statement] = STATE(72), + [sym_constant_definition] = STATE(72), + [sym_block] = STATE(72), + [sym_assume_block] = STATE(72), + [sym_forall_block] = STATE(72), + [sym_exists_block] = STATE(72), + [sym_unique_block] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_loop_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym__lcb_symbol] = STATE(2), + [sym__rcb_symbol] = STATE(66), + [sym_bool_literal] = STATE(189), + [sym_string_literal] = STATE(189), + [sym_number_literal] = STATE(189), + [sym_unit_literal] = STATE(189), + [sym_array_literal] = STATE(189), + [sym__name] = STATE(339), + [sym_type_qualified_name] = STATE(339), + [sym__simple_name] = STATE(108), + [sym_qualified_name] = STATE(339), + [sym_generic_name] = STATE(108), + [sym__reserved_identifier] = STATE(97), + [sym_identifier] = STATE(93), + [aux_sym_block_repeat1] = STATE(10), [sym_type_i8] = ACTIONS(23), [sym_type_i16] = ACTIONS(23), [sym_type_i32] = ACTIONS(23), @@ -5338,53 +5471,54 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_proof] = ACTIONS(73), [anon_sym_uzumaki] = ACTIONS(73), [sym__identifier] = ACTIONS(73), - [sym__comment] = ACTIONS(3), + [sym_comment] = ACTIONS(3), }, [STATE(10)] = { - [sym__statement] = STATE(67), - [sym__embedded_type] = STATE(382), - [sym_type_unit] = STATE(382), - [sym_type_array] = STATE(382), - [sym_type_fn] = STATE(382), - [sym__literal] = STATE(160), - [sym__expression] = STATE(160), - [sym__lval_expression] = STATE(150), - [sym__non_lval_expression] = STATE(160), - [sym__block] = STATE(67), - [sym_array_index_access_expression] = STATE(150), - [sym_member_access_expression] = STATE(150), - [sym_function_call_expression] = STATE(160), - [sym_expression_statement] = STATE(67), - [sym_assign_statement] = STATE(67), - [sym_assert_statement] = STATE(67), - [sym_break_statement] = STATE(67), - [sym_parenthesized_expression] = STATE(160), - [sym_prefix_unary_expression] = STATE(160), - [sym_binary_expression] = STATE(160), - [sym_variable_definition_statement] = STATE(67), - [sym_type_definition_statement] = STATE(67), - [sym_constant_definition] = STATE(67), - [sym_block] = STATE(67), - [sym_assume_block] = STATE(67), - [sym_forall_block] = STATE(67), - [sym_exists_block] = STATE(67), - [sym_unique_block] = STATE(67), - [sym_if_statement] = STATE(67), - [sym_loop_statement] = STATE(67), - [sym_return_statement] = STATE(67), - [sym__lcb_symbol] = STATE(7), - [sym_bool_literal] = STATE(160), - [sym_string_literal] = STATE(160), - [sym_number_literal] = STATE(160), - [sym_unit_literal] = STATE(160), - [sym_array_literal] = STATE(160), - [sym__name] = STATE(377), - [sym_type_qualified_name] = STATE(377), - [sym__simple_name] = STATE(82), - [sym_qualified_name] = STATE(377), - [sym_generic_name] = STATE(82), - [sym__reserved_identifier] = STATE(87), - [sym_identifier] = STATE(81), + [sym__statement] = STATE(72), + [sym__embedded_type] = STATE(411), + [sym_type_unit] = STATE(411), + [sym_type_array] = STATE(411), + [sym_type_fn] = STATE(411), + [sym__literal] = STATE(189), + [sym__expression] = STATE(189), + [sym__lval_expression] = STATE(191), + [sym__non_lval_expression] = STATE(189), + [sym__block] = STATE(72), + [sym_array_index_access_expression] = STATE(191), + [sym_member_access_expression] = STATE(191), + [sym_function_call_expression] = STATE(189), + [sym_struct_expression] = STATE(189), + [sym_expression_statement] = STATE(72), + [sym_assign_statement] = STATE(72), + [sym_assert_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_parenthesized_expression] = STATE(189), + [sym_prefix_unary_expression] = STATE(189), + [sym_binary_expression] = STATE(189), + [sym_variable_definition_statement] = STATE(72), + [sym_type_definition_statement] = STATE(72), + [sym_constant_definition] = STATE(72), + [sym_block] = STATE(72), + [sym_assume_block] = STATE(72), + [sym_forall_block] = STATE(72), + [sym_exists_block] = STATE(72), + [sym_unique_block] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_loop_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym__lcb_symbol] = STATE(2), + [sym_bool_literal] = STATE(189), + [sym_string_literal] = STATE(189), + [sym_number_literal] = STATE(189), + [sym_unit_literal] = STATE(189), + [sym_array_literal] = STATE(189), + [sym__name] = STATE(339), + [sym_type_qualified_name] = STATE(339), + [sym__simple_name] = STATE(108), + [sym_qualified_name] = STATE(339), + [sym_generic_name] = STATE(108), + [sym__reserved_identifier] = STATE(97), + [sym_identifier] = STATE(93), [aux_sym_block_repeat1] = STATE(10), [sym_type_i8] = ACTIONS(89), [sym_type_i16] = ACTIONS(89), @@ -5424,14 +5558,14 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_proof] = ACTIONS(163), [anon_sym_uzumaki] = ACTIONS(163), [sym__identifier] = ACTIONS(163), - [sym__comment] = ACTIONS(3), + [sym_comment] = ACTIONS(3), }, }; static const uint16_t ts_small_parse_table[] = { [0] = 27, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -5448,8 +5582,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_unique, ACTIONS(55), 1, sym_forall_keyword, - ACTIONS(59), 1, - sym_unary_not, ACTIONS(61), 1, anon_sym_DASH, ACTIONS(63), 1, @@ -5460,23 +5592,25 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_number_literal_token1, ACTIONS(166), 1, sym_uzumaki_keyword, - STATE(7), 1, + ACTIONS(168), 1, + sym_unary_not, + STATE(2), 1, sym__lcb_symbol, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(178), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(351), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -5485,12 +5619,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, - STATE(71), 6, + STATE(84), 6, sym__block, sym_block, sym_assume_block, @@ -5507,11 +5641,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(77), 12, + STATE(92), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -5520,11 +5655,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [118] = 21, + [119] = 22, ACTIONS(3), 1, - sym__comment, - ACTIONS(25), 1, - anon_sym_LPAREN_RPAREN, + sym_comment, ACTIONS(27), 1, anon_sym_LBRACK, ACTIONS(29), 1, @@ -5539,25 +5672,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(168), 1, - anon_sym_RPAREN, - ACTIONS(170), 1, + ACTIONS(172), 1, + anon_sym_LPAREN_RPAREN, + ACTIONS(174), 1, + anon_sym_RBRACK, + ACTIONS(176), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, + STATE(407), 1, + sym__type, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(185), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(356), 3, + STATE(291), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -5566,12 +5703,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(340), 4, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, - ACTIONS(23), 9, + ACTIONS(170), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -5581,11 +5718,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(148), 12, + STATE(184), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -5594,9 +5732,11 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [213] = 21, + [218] = 21, ACTIONS(3), 1, - sym__comment, + sym_comment, + ACTIONS(25), 1, + anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, anon_sym_LBRACK, ACTIONS(29), 1, @@ -5611,27 +5751,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(174), 1, - anon_sym_LPAREN_RPAREN, - ACTIONS(176), 1, + ACTIONS(178), 1, + anon_sym_RPAREN, + ACTIONS(180), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, - STATE(363), 1, - sym__type, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(161), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(297), 3, + STATE(307), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -5640,12 +5778,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(296), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, - ACTIONS(172), 9, + ACTIONS(23), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -5655,11 +5793,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(145), 12, + STATE(183), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -5668,9 +5807,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [308] = 21, + [314] = 21, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -5687,25 +5826,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(178), 1, + ACTIONS(182), 1, anon_sym_RPAREN, - ACTIONS(180), 1, + ACTIONS(184), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(317), 3, + STATE(306), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -5714,7 +5853,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -5729,11 +5868,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(146), 12, + STATE(181), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -5742,9 +5882,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [403] = 20, + [410] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -5761,23 +5901,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(182), 1, + ACTIONS(186), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -5786,7 +5926,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -5801,11 +5941,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(163), 12, + STATE(198), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -5814,9 +5955,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [495] = 20, + [503] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -5833,23 +5974,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(184), 1, + ACTIONS(188), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -5858,7 +5999,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -5873,11 +6014,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(98), 12, + STATE(143), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -5886,9 +6028,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [587] = 20, + [596] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -5905,23 +6047,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(186), 1, + ACTIONS(190), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -5930,7 +6072,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -5945,11 +6087,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(99), 12, + STATE(147), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -5958,9 +6101,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [679] = 20, + [689] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -5977,23 +6120,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(188), 1, + ACTIONS(192), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -6002,7 +6145,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -6017,11 +6160,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(100), 12, + STATE(148), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -6030,9 +6174,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [771] = 20, + [782] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -6049,23 +6193,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(190), 1, + ACTIONS(194), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -6074,7 +6218,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -6089,11 +6233,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(101), 12, + STATE(142), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -6102,9 +6247,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [863] = 20, + [875] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -6121,23 +6266,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(192), 1, + ACTIONS(196), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -6146,7 +6291,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -6161,11 +6306,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(90), 12, + STATE(157), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -6174,9 +6320,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [955] = 20, + [968] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -6193,23 +6339,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(194), 1, + ACTIONS(198), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -6218,7 +6364,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -6233,11 +6379,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(102), 12, + STATE(133), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -6246,9 +6393,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [1047] = 20, + [1061] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -6265,23 +6412,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(196), 1, + ACTIONS(200), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -6290,7 +6437,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -6305,11 +6452,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(103), 12, + STATE(134), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -6318,9 +6466,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [1139] = 20, + [1154] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -6337,23 +6485,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(198), 1, + ACTIONS(202), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -6362,7 +6510,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -6377,11 +6525,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(104), 12, + STATE(135), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -6390,9 +6539,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [1231] = 20, + [1247] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -6409,23 +6558,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(200), 1, + ACTIONS(204), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -6434,7 +6583,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -6449,11 +6598,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(91), 12, + STATE(137), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -6462,9 +6612,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [1323] = 20, + [1340] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -6481,23 +6631,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(202), 1, + ACTIONS(206), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -6506,7 +6656,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -6521,11 +6671,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(92), 12, + STATE(138), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -6534,9 +6685,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [1415] = 20, + [1433] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -6553,23 +6704,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(204), 1, + ACTIONS(208), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -6578,7 +6729,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -6593,11 +6744,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(93), 12, + STATE(202), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -6606,9 +6758,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [1507] = 20, + [1526] = 21, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -6625,23 +6777,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(206), 1, + ACTIONS(210), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, + STATE(203), 1, + sym__expression, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -6650,7 +6804,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -6665,11 +6819,11 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(167), 12, + STATE(205), 12, sym__literal, - sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -6678,9 +6832,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [1599] = 20, + [1621] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -6697,23 +6851,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(208), 1, + ACTIONS(212), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -6722,7 +6876,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -6737,11 +6891,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(156), 12, + STATE(190), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -6750,9 +6905,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [1691] = 20, + [1714] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -6769,23 +6924,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(210), 1, + ACTIONS(214), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -6794,7 +6949,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -6809,11 +6964,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(151), 12, + STATE(187), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -6822,9 +6978,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [1783] = 20, + [1807] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -6841,23 +6997,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(212), 1, + ACTIONS(216), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -6866,7 +7022,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -6881,11 +7037,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(78), 12, + STATE(193), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -6894,9 +7051,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [1875] = 20, + [1900] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -6905,31 +7062,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(59), 1, - sym_unary_not, ACTIONS(61), 1, anon_sym_DASH, ACTIONS(69), 1, anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(214), 1, + ACTIONS(168), 1, + sym_unary_not, + ACTIONS(218), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(178), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(351), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -6938,7 +7095,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -6953,11 +7110,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(162), 12, + STATE(94), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -6966,9 +7124,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [1967] = 20, + [1993] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -6977,31 +7135,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(59), 1, - sym_unary_not, ACTIONS(61), 1, anon_sym_DASH, ACTIONS(69), 1, anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(216), 1, + ACTIONS(168), 1, + sym_unary_not, + ACTIONS(220), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(178), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(351), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -7010,7 +7168,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -7025,11 +7183,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(154), 12, + STATE(90), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -7038,9 +7197,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [2059] = 20, + [2086] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -7057,23 +7216,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(218), 1, + ACTIONS(222), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(312), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -7082,7 +7241,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -7097,11 +7256,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(76), 12, + STATE(192), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -7110,9 +7270,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [2151] = 20, + [2179] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -7129,23 +7289,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(220), 1, + ACTIONS(224), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(338), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -7154,7 +7314,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -7169,11 +7329,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(155), 12, + STATE(182), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -7182,9 +7343,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [2243] = 20, + [2272] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -7201,23 +7362,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(222), 1, + ACTIONS(226), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -7226,7 +7387,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -7241,11 +7402,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(147), 12, + STATE(136), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -7254,9 +7416,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [2335] = 20, + [2365] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -7273,23 +7435,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(224), 1, + ACTIONS(228), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -7298,7 +7460,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -7313,11 +7475,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(152), 12, + STATE(196), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -7326,9 +7489,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [2427] = 20, + [2458] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -7337,31 +7500,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(59), 1, - sym_unary_not, ACTIONS(61), 1, anon_sym_DASH, ACTIONS(69), 1, anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(226), 1, + ACTIONS(168), 1, + sym_unary_not, + ACTIONS(230), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(178), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(351), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -7370,7 +7533,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -7385,11 +7548,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(149), 12, + STATE(170), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -7398,9 +7562,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [2519] = 20, + [2551] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -7417,23 +7581,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(228), 1, + ACTIONS(232), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -7442,7 +7606,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -7457,11 +7621,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(157), 12, + STATE(180), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -7470,9 +7635,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [2611] = 20, + [2644] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -7489,23 +7654,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(230), 1, + ACTIONS(234), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -7514,7 +7679,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -7529,11 +7694,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(158), 12, + STATE(186), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -7542,9 +7708,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [2703] = 20, + [2737] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -7561,23 +7727,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(232), 1, + ACTIONS(236), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -7586,7 +7752,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -7601,11 +7767,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(94), 12, + STATE(188), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -7614,9 +7781,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [2795] = 21, + [2830] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -7633,25 +7800,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(234), 1, + ACTIONS(238), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, - STATE(169), 1, - sym__expression, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -7660,7 +7825,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -7675,10 +7840,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(170), 11, + STATE(194), 13, sym__literal, + sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -7687,9 +7854,9 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [2889] = 20, + [2923] = 20, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, ACTIONS(27), 1, @@ -7706,23 +7873,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(71), 1, aux_sym_number_literal_token1, - ACTIONS(236), 1, + ACTIONS(240), 1, sym_uzumaki_keyword, - STATE(81), 1, + STATE(93), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, ACTIONS(67), 2, anon_sym_true, anon_sym_false, - STATE(82), 2, + STATE(108), 2, sym__simple_name, sym_generic_name, - STATE(96), 3, + STATE(104), 3, sym__lval_expression, sym_array_index_access_expression, sym_member_access_expression, - STATE(377), 3, + STATE(339), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -7731,7 +7898,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(382), 4, + STATE(411), 4, sym__embedded_type, sym_type_unit, sym_type_array, @@ -7746,11 +7913,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(153), 12, + STATE(195), 13, sym__literal, sym__expression, sym__non_lval_expression, sym_function_call_expression, + sym_struct_expression, sym_parenthesized_expression, sym_prefix_unary_expression, sym_binary_expression, @@ -7759,72 +7927,56 @@ static const uint16_t ts_small_parse_table[] = { sym_number_literal, sym_unit_literal, sym_array_literal, - [2981] = 6, + [3016] = 20, ACTIONS(3), 1, - sym__comment, - ACTIONS(242), 1, - anon_sym_elseif, - ACTIONS(244), 1, - anon_sym_else, - STATE(45), 1, - aux_sym_if_statement_repeat1, - ACTIONS(240), 8, + sym_comment, + ACTIONS(25), 1, anon_sym_LPAREN_RPAREN, + ACTIONS(27), 1, anon_sym_LBRACK, - sym_uzumaki_keyword, + ACTIONS(29), 1, + anon_sym_fn, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(59), 1, sym_unary_not, + ACTIONS(61), 1, anon_sym_DASH, - anon_sym_LBRACE, - anon_sym_RBRACE, + ACTIONS(69), 1, anon_sym_DQUOTE, - ACTIONS(238), 30, - sym_type_i8, - sym_type_i16, - sym_type_i32, - sym_type_i64, - sym_type_u8, - sym_type_u16, - sym_type_u32, - sym_type_u64, - sym_type_bool, - anon_sym_fn, - anon_sym_LPAREN, - anon_sym_assert, - anon_sym_break, - anon_sym_let, - anon_sym_type, - anon_sym_const, - anon_sym_assume, - anon_sym_exists, - anon_sym_unique, - anon_sym_if, - anon_sym_loop, - anon_sym_return, - sym_forall_keyword, + ACTIONS(71), 1, + aux_sym_number_literal_token1, + ACTIONS(242), 1, + sym_uzumaki_keyword, + STATE(93), 1, + sym_identifier, + STATE(97), 1, + sym__reserved_identifier, + ACTIONS(67), 2, anon_sym_true, anon_sym_false, - aux_sym_number_literal_token1, + STATE(108), 2, + sym__simple_name, + sym_generic_name, + STATE(104), 3, + sym__lval_expression, + sym_array_index_access_expression, + sym_member_access_expression, + STATE(339), 3, + sym__name, + sym_type_qualified_name, + sym_qualified_name, + ACTIONS(73), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [3036] = 5, - ACTIONS(3), 1, - sym__comment, - ACTIONS(250), 1, - anon_sym_elseif, - STATE(44), 1, - aux_sym_if_statement_repeat1, - ACTIONS(248), 8, - anon_sym_LPAREN_RPAREN, - anon_sym_LBRACK, - sym_uzumaki_keyword, - sym_unary_not, - anon_sym_DASH, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DQUOTE, - ACTIONS(246), 31, + STATE(411), 4, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + ACTIONS(23), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -7834,47 +7986,70 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, + STATE(145), 13, + sym__literal, + sym__expression, + sym__non_lval_expression, + sym_function_call_expression, + sym_struct_expression, + sym_parenthesized_expression, + sym_prefix_unary_expression, + sym_binary_expression, + sym_bool_literal, + sym_string_literal, + sym_number_literal, + sym_unit_literal, + sym_array_literal, + [3109] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(25), 1, + anon_sym_LPAREN_RPAREN, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, anon_sym_fn, + ACTIONS(31), 1, anon_sym_LPAREN, - anon_sym_assert, - anon_sym_break, - anon_sym_let, - anon_sym_type, - anon_sym_const, - anon_sym_assume, - anon_sym_exists, - anon_sym_unique, - anon_sym_if, - anon_sym_else, - anon_sym_loop, - anon_sym_return, - sym_forall_keyword, + ACTIONS(59), 1, + sym_unary_not, + ACTIONS(61), 1, + anon_sym_DASH, + ACTIONS(69), 1, + anon_sym_DQUOTE, + ACTIONS(71), 1, + aux_sym_number_literal_token1, + ACTIONS(244), 1, + sym_uzumaki_keyword, + STATE(93), 1, + sym_identifier, + STATE(97), 1, + sym__reserved_identifier, + ACTIONS(67), 2, anon_sym_true, anon_sym_false, - aux_sym_number_literal_token1, + STATE(108), 2, + sym__simple_name, + sym_generic_name, + STATE(104), 3, + sym__lval_expression, + sym_array_index_access_expression, + sym_member_access_expression, + STATE(339), 3, + sym__name, + sym_type_qualified_name, + sym_qualified_name, + ACTIONS(73), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [3089] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(242), 1, - anon_sym_elseif, - ACTIONS(257), 1, - anon_sym_else, - STATE(44), 1, - aux_sym_if_statement_repeat1, - ACTIONS(255), 8, - anon_sym_LPAREN_RPAREN, - anon_sym_LBRACK, - sym_uzumaki_keyword, - sym_unary_not, - anon_sym_DASH, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DQUOTE, - ACTIONS(253), 30, + STATE(411), 4, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + ACTIONS(23), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -7884,41 +8059,70 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, + STATE(197), 13, + sym__literal, + sym__expression, + sym__non_lval_expression, + sym_function_call_expression, + sym_struct_expression, + sym_parenthesized_expression, + sym_prefix_unary_expression, + sym_binary_expression, + sym_bool_literal, + sym_string_literal, + sym_number_literal, + sym_unit_literal, + sym_array_literal, + [3202] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(25), 1, + anon_sym_LPAREN_RPAREN, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, anon_sym_fn, + ACTIONS(31), 1, anon_sym_LPAREN, - anon_sym_assert, - anon_sym_break, - anon_sym_let, - anon_sym_type, - anon_sym_const, - anon_sym_assume, - anon_sym_exists, - anon_sym_unique, - anon_sym_if, - anon_sym_loop, - anon_sym_return, - sym_forall_keyword, + ACTIONS(61), 1, + anon_sym_DASH, + ACTIONS(69), 1, + anon_sym_DQUOTE, + ACTIONS(71), 1, + aux_sym_number_literal_token1, + ACTIONS(168), 1, + sym_unary_not, + ACTIONS(246), 1, + sym_uzumaki_keyword, + STATE(93), 1, + sym_identifier, + STATE(97), 1, + sym__reserved_identifier, + ACTIONS(67), 2, anon_sym_true, anon_sym_false, - aux_sym_number_literal_token1, + STATE(178), 2, + sym__simple_name, + sym_generic_name, + STATE(104), 3, + sym__lval_expression, + sym_array_index_access_expression, + sym_member_access_expression, + STATE(351), 3, + sym__name, + sym_type_qualified_name, + sym_qualified_name, + ACTIONS(73), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [3144] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(261), 9, - anon_sym_LPAREN_RPAREN, - anon_sym_LBRACK, - anon_sym_elseif, - sym_uzumaki_keyword, - sym_unary_not, - anon_sym_DASH, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DQUOTE, - ACTIONS(259), 31, + STATE(411), 4, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + ACTIONS(23), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -7928,42 +8132,70 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, + STATE(174), 13, + sym__literal, + sym__expression, + sym__non_lval_expression, + sym_function_call_expression, + sym_struct_expression, + sym_parenthesized_expression, + sym_prefix_unary_expression, + sym_binary_expression, + sym_bool_literal, + sym_string_literal, + sym_number_literal, + sym_unit_literal, + sym_array_literal, + [3295] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(25), 1, + anon_sym_LPAREN_RPAREN, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, anon_sym_fn, + ACTIONS(31), 1, anon_sym_LPAREN, - anon_sym_assert, - anon_sym_break, - anon_sym_let, - anon_sym_type, - anon_sym_const, - anon_sym_assume, - anon_sym_exists, - anon_sym_unique, - anon_sym_if, - anon_sym_else, - anon_sym_loop, - anon_sym_return, - sym_forall_keyword, + ACTIONS(61), 1, + anon_sym_DASH, + ACTIONS(69), 1, + anon_sym_DQUOTE, + ACTIONS(71), 1, + aux_sym_number_literal_token1, + ACTIONS(168), 1, + sym_unary_not, + ACTIONS(248), 1, + sym_uzumaki_keyword, + STATE(93), 1, + sym_identifier, + STATE(97), 1, + sym__reserved_identifier, + ACTIONS(67), 2, anon_sym_true, anon_sym_false, - aux_sym_number_literal_token1, + STATE(178), 2, + sym__simple_name, + sym_generic_name, + STATE(104), 3, + sym__lval_expression, + sym_array_index_access_expression, + sym_member_access_expression, + STATE(351), 3, + sym__name, + sym_type_qualified_name, + sym_qualified_name, + ACTIONS(73), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [3192] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(265), 9, - anon_sym_LPAREN_RPAREN, - anon_sym_LBRACK, - anon_sym_elseif, - sym_uzumaki_keyword, - sym_unary_not, - anon_sym_DASH, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DQUOTE, - ACTIONS(263), 31, + STATE(411), 4, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + ACTIONS(23), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -7973,14 +8205,1017 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - anon_sym_fn, - anon_sym_LPAREN, - anon_sym_assert, - anon_sym_break, - anon_sym_let, - anon_sym_type, - anon_sym_const, - anon_sym_assume, + STATE(161), 13, + sym__literal, + sym__expression, + sym__non_lval_expression, + sym_function_call_expression, + sym_struct_expression, + sym_parenthesized_expression, + sym_prefix_unary_expression, + sym_binary_expression, + sym_bool_literal, + sym_string_literal, + sym_number_literal, + sym_unit_literal, + sym_array_literal, + [3388] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(25), 1, + anon_sym_LPAREN_RPAREN, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + anon_sym_fn, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(61), 1, + anon_sym_DASH, + ACTIONS(69), 1, + anon_sym_DQUOTE, + ACTIONS(71), 1, + aux_sym_number_literal_token1, + ACTIONS(168), 1, + sym_unary_not, + ACTIONS(250), 1, + sym_uzumaki_keyword, + STATE(93), 1, + sym_identifier, + STATE(97), 1, + sym__reserved_identifier, + ACTIONS(67), 2, + anon_sym_true, + anon_sym_false, + STATE(178), 2, + sym__simple_name, + sym_generic_name, + STATE(104), 3, + sym__lval_expression, + sym_array_index_access_expression, + sym_member_access_expression, + STATE(351), 3, + sym__name, + sym_type_qualified_name, + sym_qualified_name, + ACTIONS(73), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(411), 4, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + ACTIONS(23), 9, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + STATE(162), 13, + sym__literal, + sym__expression, + sym__non_lval_expression, + sym_function_call_expression, + sym_struct_expression, + sym_parenthesized_expression, + sym_prefix_unary_expression, + sym_binary_expression, + sym_bool_literal, + sym_string_literal, + sym_number_literal, + sym_unit_literal, + sym_array_literal, + [3481] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(25), 1, + anon_sym_LPAREN_RPAREN, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + anon_sym_fn, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(61), 1, + anon_sym_DASH, + ACTIONS(69), 1, + anon_sym_DQUOTE, + ACTIONS(71), 1, + aux_sym_number_literal_token1, + ACTIONS(168), 1, + sym_unary_not, + ACTIONS(252), 1, + sym_uzumaki_keyword, + STATE(93), 1, + sym_identifier, + STATE(97), 1, + sym__reserved_identifier, + ACTIONS(67), 2, + anon_sym_true, + anon_sym_false, + STATE(178), 2, + sym__simple_name, + sym_generic_name, + STATE(104), 3, + sym__lval_expression, + sym_array_index_access_expression, + sym_member_access_expression, + STATE(351), 3, + sym__name, + sym_type_qualified_name, + sym_qualified_name, + ACTIONS(73), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(411), 4, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + ACTIONS(23), 9, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + STATE(163), 13, + sym__literal, + sym__expression, + sym__non_lval_expression, + sym_function_call_expression, + sym_struct_expression, + sym_parenthesized_expression, + sym_prefix_unary_expression, + sym_binary_expression, + sym_bool_literal, + sym_string_literal, + sym_number_literal, + sym_unit_literal, + sym_array_literal, + [3574] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(25), 1, + anon_sym_LPAREN_RPAREN, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + anon_sym_fn, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(61), 1, + anon_sym_DASH, + ACTIONS(69), 1, + anon_sym_DQUOTE, + ACTIONS(71), 1, + aux_sym_number_literal_token1, + ACTIONS(168), 1, + sym_unary_not, + ACTIONS(254), 1, + sym_uzumaki_keyword, + STATE(93), 1, + sym_identifier, + STATE(97), 1, + sym__reserved_identifier, + ACTIONS(67), 2, + anon_sym_true, + anon_sym_false, + STATE(178), 2, + sym__simple_name, + sym_generic_name, + STATE(104), 3, + sym__lval_expression, + sym_array_index_access_expression, + sym_member_access_expression, + STATE(351), 3, + sym__name, + sym_type_qualified_name, + sym_qualified_name, + ACTIONS(73), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(411), 4, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + ACTIONS(23), 9, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + STATE(164), 13, + sym__literal, + sym__expression, + sym__non_lval_expression, + sym_function_call_expression, + sym_struct_expression, + sym_parenthesized_expression, + sym_prefix_unary_expression, + sym_binary_expression, + sym_bool_literal, + sym_string_literal, + sym_number_literal, + sym_unit_literal, + sym_array_literal, + [3667] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(25), 1, + anon_sym_LPAREN_RPAREN, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + anon_sym_fn, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(61), 1, + anon_sym_DASH, + ACTIONS(69), 1, + anon_sym_DQUOTE, + ACTIONS(71), 1, + aux_sym_number_literal_token1, + ACTIONS(168), 1, + sym_unary_not, + ACTIONS(256), 1, + sym_uzumaki_keyword, + STATE(93), 1, + sym_identifier, + STATE(97), 1, + sym__reserved_identifier, + ACTIONS(67), 2, + anon_sym_true, + anon_sym_false, + STATE(178), 2, + sym__simple_name, + sym_generic_name, + STATE(104), 3, + sym__lval_expression, + sym_array_index_access_expression, + sym_member_access_expression, + STATE(351), 3, + sym__name, + sym_type_qualified_name, + sym_qualified_name, + ACTIONS(73), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(411), 4, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + ACTIONS(23), 9, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + STATE(165), 13, + sym__literal, + sym__expression, + sym__non_lval_expression, + sym_function_call_expression, + sym_struct_expression, + sym_parenthesized_expression, + sym_prefix_unary_expression, + sym_binary_expression, + sym_bool_literal, + sym_string_literal, + sym_number_literal, + sym_unit_literal, + sym_array_literal, + [3760] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(25), 1, + anon_sym_LPAREN_RPAREN, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + anon_sym_fn, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(61), 1, + anon_sym_DASH, + ACTIONS(69), 1, + anon_sym_DQUOTE, + ACTIONS(71), 1, + aux_sym_number_literal_token1, + ACTIONS(168), 1, + sym_unary_not, + ACTIONS(258), 1, + sym_uzumaki_keyword, + STATE(93), 1, + sym_identifier, + STATE(97), 1, + sym__reserved_identifier, + ACTIONS(67), 2, + anon_sym_true, + anon_sym_false, + STATE(178), 2, + sym__simple_name, + sym_generic_name, + STATE(104), 3, + sym__lval_expression, + sym_array_index_access_expression, + sym_member_access_expression, + STATE(351), 3, + sym__name, + sym_type_qualified_name, + sym_qualified_name, + ACTIONS(73), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(411), 4, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + ACTIONS(23), 9, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + STATE(166), 13, + sym__literal, + sym__expression, + sym__non_lval_expression, + sym_function_call_expression, + sym_struct_expression, + sym_parenthesized_expression, + sym_prefix_unary_expression, + sym_binary_expression, + sym_bool_literal, + sym_string_literal, + sym_number_literal, + sym_unit_literal, + sym_array_literal, + [3853] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(25), 1, + anon_sym_LPAREN_RPAREN, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + anon_sym_fn, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(61), 1, + anon_sym_DASH, + ACTIONS(69), 1, + anon_sym_DQUOTE, + ACTIONS(71), 1, + aux_sym_number_literal_token1, + ACTIONS(168), 1, + sym_unary_not, + ACTIONS(260), 1, + sym_uzumaki_keyword, + STATE(93), 1, + sym_identifier, + STATE(97), 1, + sym__reserved_identifier, + ACTIONS(67), 2, + anon_sym_true, + anon_sym_false, + STATE(178), 2, + sym__simple_name, + sym_generic_name, + STATE(104), 3, + sym__lval_expression, + sym_array_index_access_expression, + sym_member_access_expression, + STATE(351), 3, + sym__name, + sym_type_qualified_name, + sym_qualified_name, + ACTIONS(73), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(411), 4, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + ACTIONS(23), 9, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + STATE(167), 13, + sym__literal, + sym__expression, + sym__non_lval_expression, + sym_function_call_expression, + sym_struct_expression, + sym_parenthesized_expression, + sym_prefix_unary_expression, + sym_binary_expression, + sym_bool_literal, + sym_string_literal, + sym_number_literal, + sym_unit_literal, + sym_array_literal, + [3946] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(25), 1, + anon_sym_LPAREN_RPAREN, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + anon_sym_fn, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(61), 1, + anon_sym_DASH, + ACTIONS(69), 1, + anon_sym_DQUOTE, + ACTIONS(71), 1, + aux_sym_number_literal_token1, + ACTIONS(168), 1, + sym_unary_not, + ACTIONS(262), 1, + sym_uzumaki_keyword, + STATE(93), 1, + sym_identifier, + STATE(97), 1, + sym__reserved_identifier, + ACTIONS(67), 2, + anon_sym_true, + anon_sym_false, + STATE(178), 2, + sym__simple_name, + sym_generic_name, + STATE(104), 3, + sym__lval_expression, + sym_array_index_access_expression, + sym_member_access_expression, + STATE(351), 3, + sym__name, + sym_type_qualified_name, + sym_qualified_name, + ACTIONS(73), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(411), 4, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + ACTIONS(23), 9, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + STATE(168), 13, + sym__literal, + sym__expression, + sym__non_lval_expression, + sym_function_call_expression, + sym_struct_expression, + sym_parenthesized_expression, + sym_prefix_unary_expression, + sym_binary_expression, + sym_bool_literal, + sym_string_literal, + sym_number_literal, + sym_unit_literal, + sym_array_literal, + [4039] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(25), 1, + anon_sym_LPAREN_RPAREN, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + anon_sym_fn, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(61), 1, + anon_sym_DASH, + ACTIONS(69), 1, + anon_sym_DQUOTE, + ACTIONS(71), 1, + aux_sym_number_literal_token1, + ACTIONS(168), 1, + sym_unary_not, + ACTIONS(264), 1, + sym_uzumaki_keyword, + STATE(93), 1, + sym_identifier, + STATE(97), 1, + sym__reserved_identifier, + ACTIONS(67), 2, + anon_sym_true, + anon_sym_false, + STATE(178), 2, + sym__simple_name, + sym_generic_name, + STATE(104), 3, + sym__lval_expression, + sym_array_index_access_expression, + sym_member_access_expression, + STATE(351), 3, + sym__name, + sym_type_qualified_name, + sym_qualified_name, + ACTIONS(73), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(411), 4, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + ACTIONS(23), 9, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + STATE(132), 13, + sym__literal, + sym__expression, + sym__non_lval_expression, + sym_function_call_expression, + sym_struct_expression, + sym_parenthesized_expression, + sym_prefix_unary_expression, + sym_binary_expression, + sym_bool_literal, + sym_string_literal, + sym_number_literal, + sym_unit_literal, + sym_array_literal, + [4132] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(25), 1, + anon_sym_LPAREN_RPAREN, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + anon_sym_fn, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(61), 1, + anon_sym_DASH, + ACTIONS(69), 1, + anon_sym_DQUOTE, + ACTIONS(71), 1, + aux_sym_number_literal_token1, + ACTIONS(168), 1, + sym_unary_not, + ACTIONS(266), 1, + sym_uzumaki_keyword, + STATE(93), 1, + sym_identifier, + STATE(97), 1, + sym__reserved_identifier, + ACTIONS(67), 2, + anon_sym_true, + anon_sym_false, + STATE(178), 2, + sym__simple_name, + sym_generic_name, + STATE(104), 3, + sym__lval_expression, + sym_array_index_access_expression, + sym_member_access_expression, + STATE(351), 3, + sym__name, + sym_type_qualified_name, + sym_qualified_name, + ACTIONS(73), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(411), 4, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + ACTIONS(23), 9, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + STATE(169), 13, + sym__literal, + sym__expression, + sym__non_lval_expression, + sym_function_call_expression, + sym_struct_expression, + sym_parenthesized_expression, + sym_prefix_unary_expression, + sym_binary_expression, + sym_bool_literal, + sym_string_literal, + sym_number_literal, + sym_unit_literal, + sym_array_literal, + [4225] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(25), 1, + anon_sym_LPAREN_RPAREN, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + anon_sym_fn, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(59), 1, + sym_unary_not, + ACTIONS(61), 1, + anon_sym_DASH, + ACTIONS(69), 1, + anon_sym_DQUOTE, + ACTIONS(71), 1, + aux_sym_number_literal_token1, + ACTIONS(268), 1, + sym_uzumaki_keyword, + STATE(93), 1, + sym_identifier, + STATE(97), 1, + sym__reserved_identifier, + ACTIONS(67), 2, + anon_sym_true, + anon_sym_false, + STATE(108), 2, + sym__simple_name, + sym_generic_name, + STATE(104), 3, + sym__lval_expression, + sym_array_index_access_expression, + sym_member_access_expression, + STATE(339), 3, + sym__name, + sym_type_qualified_name, + sym_qualified_name, + ACTIONS(73), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(411), 4, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + ACTIONS(23), 9, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + STATE(176), 13, + sym__literal, + sym__expression, + sym__non_lval_expression, + sym_function_call_expression, + sym_struct_expression, + sym_parenthesized_expression, + sym_prefix_unary_expression, + sym_binary_expression, + sym_bool_literal, + sym_string_literal, + sym_number_literal, + sym_unit_literal, + sym_array_literal, + [4318] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(274), 1, + anon_sym_elseif, + ACTIONS(276), 1, + anon_sym_else, + STATE(59), 1, + aux_sym_if_statement_repeat1, + ACTIONS(272), 8, + anon_sym_LPAREN_RPAREN, + anon_sym_LBRACK, + sym_uzumaki_keyword, + sym_unary_not, + anon_sym_DASH, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DQUOTE, + ACTIONS(270), 30, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + anon_sym_fn, + anon_sym_LPAREN, + anon_sym_assert, + anon_sym_break, + anon_sym_let, + anon_sym_type, + anon_sym_const, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + anon_sym_if, + anon_sym_loop, + anon_sym_return, + sym_forall_keyword, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token1, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [4373] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(282), 1, + anon_sym_elseif, + STATE(58), 1, + aux_sym_if_statement_repeat1, + ACTIONS(280), 8, + anon_sym_LPAREN_RPAREN, + anon_sym_LBRACK, + sym_uzumaki_keyword, + sym_unary_not, + anon_sym_DASH, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DQUOTE, + ACTIONS(278), 31, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + anon_sym_fn, + anon_sym_LPAREN, + anon_sym_assert, + anon_sym_break, + anon_sym_let, + anon_sym_type, + anon_sym_const, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + anon_sym_if, + anon_sym_else, + anon_sym_loop, + anon_sym_return, + sym_forall_keyword, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token1, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [4426] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(274), 1, + anon_sym_elseif, + ACTIONS(289), 1, + anon_sym_else, + STATE(58), 1, + aux_sym_if_statement_repeat1, + ACTIONS(287), 8, + anon_sym_LPAREN_RPAREN, + anon_sym_LBRACK, + sym_uzumaki_keyword, + sym_unary_not, + anon_sym_DASH, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DQUOTE, + ACTIONS(285), 30, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + anon_sym_fn, + anon_sym_LPAREN, + anon_sym_assert, + anon_sym_break, + anon_sym_let, + anon_sym_type, + anon_sym_const, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + anon_sym_if, + anon_sym_loop, + anon_sym_return, + sym_forall_keyword, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token1, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [4481] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(293), 9, + anon_sym_LPAREN_RPAREN, + anon_sym_LBRACK, + anon_sym_elseif, + sym_uzumaki_keyword, + sym_unary_not, + anon_sym_DASH, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DQUOTE, + ACTIONS(291), 31, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + anon_sym_fn, + anon_sym_LPAREN, + anon_sym_assert, + anon_sym_break, + anon_sym_let, + anon_sym_type, + anon_sym_const, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + anon_sym_if, + anon_sym_else, + anon_sym_loop, + anon_sym_return, + sym_forall_keyword, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token1, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [4529] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(297), 9, + anon_sym_LPAREN_RPAREN, + anon_sym_LBRACK, + anon_sym_elseif, + sym_uzumaki_keyword, + sym_unary_not, + anon_sym_DASH, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DQUOTE, + ACTIONS(295), 31, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + anon_sym_fn, + anon_sym_LPAREN, + anon_sym_assert, + anon_sym_break, + anon_sym_let, + anon_sym_type, + anon_sym_const, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + anon_sym_if, + anon_sym_else, + anon_sym_loop, + anon_sym_return, + sym_forall_keyword, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token1, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [4577] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(301), 9, + anon_sym_LPAREN_RPAREN, + anon_sym_LBRACK, + anon_sym_elseif, + sym_uzumaki_keyword, + sym_unary_not, + anon_sym_DASH, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DQUOTE, + ACTIONS(299), 31, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + anon_sym_fn, + anon_sym_LPAREN, + anon_sym_assert, + anon_sym_break, + anon_sym_let, + anon_sym_type, + anon_sym_const, + anon_sym_assume, anon_sym_exists, anon_sym_unique, anon_sym_if, @@ -7995,10 +9230,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [3240] = 3, + [4625] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(269), 9, + sym_comment, + ACTIONS(305), 9, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, anon_sym_elseif, @@ -8008,7 +9243,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(267), 31, + ACTIONS(303), 31, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8040,10 +9275,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [3288] = 3, + [4673] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(273), 9, + sym_comment, + ACTIONS(309), 9, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, anon_sym_elseif, @@ -8053,7 +9288,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(271), 31, + ACTIONS(307), 31, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8085,10 +9320,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [3336] = 3, + [4721] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(277), 9, + sym_comment, + ACTIONS(313), 9, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, anon_sym_elseif, @@ -8098,7 +9333,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(275), 31, + ACTIONS(311), 31, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8130,10 +9365,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [3384] = 3, + [4769] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(281), 9, + sym_comment, + ACTIONS(317), 9, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, anon_sym_elseif, @@ -8143,7 +9378,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(279), 31, + ACTIONS(315), 31, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8175,20 +9410,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [3432] = 3, + [4817] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(285), 9, + sym_comment, + ACTIONS(305), 8, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, - anon_sym_elseif, sym_uzumaki_keyword, sym_unary_not, anon_sym_DASH, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(283), 31, + ACTIONS(303), 30, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8209,7 +9443,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_exists, anon_sym_unique, anon_sym_if, - anon_sym_else, anon_sym_loop, anon_sym_return, sym_forall_keyword, @@ -8220,10 +9453,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [3480] = 3, + [4863] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(289), 8, + sym_comment, + ACTIONS(309), 8, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, sym_uzumaki_keyword, @@ -8232,7 +9465,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(287), 30, + ACTIONS(307), 30, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8263,10 +9496,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [3526] = 3, + [4909] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(293), 8, + sym_comment, + ACTIONS(321), 8, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, sym_uzumaki_keyword, @@ -8275,7 +9508,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(291), 30, + ACTIONS(319), 30, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8306,10 +9539,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [3572] = 3, + [4955] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(297), 8, + sym_comment, + ACTIONS(325), 8, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, sym_uzumaki_keyword, @@ -8318,7 +9551,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(295), 30, + ACTIONS(323), 30, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8349,10 +9582,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [3618] = 3, + [5001] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(301), 8, + sym_comment, + ACTIONS(329), 8, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, sym_uzumaki_keyword, @@ -8361,7 +9594,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(299), 30, + ACTIONS(327), 30, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8392,10 +9625,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [3664] = 3, + [5047] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(305), 8, + sym_comment, + ACTIONS(333), 8, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, sym_uzumaki_keyword, @@ -8404,7 +9637,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(303), 30, + ACTIONS(331), 30, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8435,10 +9668,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [3710] = 3, + [5093] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(309), 8, + sym_comment, + ACTIONS(293), 8, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, sym_uzumaki_keyword, @@ -8447,7 +9680,50 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(307), 30, + ACTIONS(291), 30, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + anon_sym_fn, + anon_sym_LPAREN, + anon_sym_assert, + anon_sym_break, + anon_sym_let, + anon_sym_type, + anon_sym_const, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + anon_sym_if, + anon_sym_loop, + anon_sym_return, + sym_forall_keyword, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token1, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [5139] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(337), 8, + anon_sym_LPAREN_RPAREN, + anon_sym_LBRACK, + sym_uzumaki_keyword, + sym_unary_not, + anon_sym_DASH, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DQUOTE, + ACTIONS(335), 30, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8478,10 +9754,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [3756] = 3, + [5185] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(313), 8, + sym_comment, + ACTIONS(341), 8, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, sym_uzumaki_keyword, @@ -8490,7 +9766,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(311), 30, + ACTIONS(339), 30, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8521,9 +9797,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [3802] = 3, + [5231] = 3, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(317), 8, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, @@ -8564,10 +9840,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [3848] = 3, + [5277] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(321), 8, + sym_comment, + ACTIONS(345), 8, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, sym_uzumaki_keyword, @@ -8576,7 +9852,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(319), 30, + ACTIONS(343), 30, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8607,10 +9883,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [3894] = 3, + [5323] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(325), 8, + sym_comment, + ACTIONS(349), 8, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, sym_uzumaki_keyword, @@ -8619,7 +9895,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(323), 30, + ACTIONS(347), 30, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8650,10 +9926,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [3940] = 3, + [5369] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(269), 8, + sym_comment, + ACTIONS(353), 8, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, sym_uzumaki_keyword, @@ -8662,7 +9938,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(267), 30, + ACTIONS(351), 30, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8693,10 +9969,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [3986] = 3, + [5415] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(273), 8, + sym_comment, + ACTIONS(357), 8, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, sym_uzumaki_keyword, @@ -8705,7 +9981,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(271), 30, + ACTIONS(355), 30, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8736,10 +10012,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [4032] = 3, + [5461] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(277), 8, + sym_comment, + ACTIONS(301), 8, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, sym_uzumaki_keyword, @@ -8748,7 +10024,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(275), 30, + ACTIONS(299), 30, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8779,10 +10055,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [4078] = 3, + [5507] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(281), 8, + sym_comment, + ACTIONS(297), 8, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, sym_uzumaki_keyword, @@ -8791,7 +10067,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(279), 30, + ACTIONS(295), 30, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8822,10 +10098,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [4124] = 3, + [5553] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(329), 8, + sym_comment, + ACTIONS(361), 8, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, sym_uzumaki_keyword, @@ -8834,7 +10110,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(327), 30, + ACTIONS(359), 30, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8865,10 +10141,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [4170] = 3, + [5599] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(285), 8, + sym_comment, + ACTIONS(365), 8, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, sym_uzumaki_keyword, @@ -8877,7 +10153,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(283), 30, + ACTIONS(363), 30, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8908,10 +10184,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [4216] = 3, + [5645] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(333), 8, + sym_comment, + ACTIONS(369), 8, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, sym_uzumaki_keyword, @@ -8920,7 +10196,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(331), 30, + ACTIONS(367), 30, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8951,10 +10227,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [4262] = 3, + [5691] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(337), 8, + sym_comment, + ACTIONS(373), 8, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, sym_uzumaki_keyword, @@ -8963,7 +10239,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(335), 30, + ACTIONS(371), 30, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8994,10 +10270,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [4308] = 3, + [5737] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(341), 8, + sym_comment, + ACTIONS(377), 8, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, sym_uzumaki_keyword, @@ -9006,7 +10282,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(339), 30, + ACTIONS(375), 30, sym_type_i8, sym_type_i16, sym_type_i32, @@ -9037,10 +10313,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [4354] = 3, + [5783] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(345), 8, + sym_comment, + ACTIONS(381), 8, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, sym_uzumaki_keyword, @@ -9049,7 +10325,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DQUOTE, - ACTIONS(343), 30, + ACTIONS(379), 30, sym_type_i8, sym_type_i16, sym_type_i32, @@ -9069,138 +10345,375 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_assume, anon_sym_exists, anon_sym_unique, - anon_sym_if, - anon_sym_loop, - anon_sym_return, + anon_sym_if, + anon_sym_loop, + anon_sym_return, + sym_forall_keyword, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token1, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [5829] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(385), 1, + anon_sym_LPAREN_RPAREN, + ACTIONS(387), 1, + anon_sym_LBRACK, + ACTIONS(389), 1, + anon_sym_fn, + ACTIONS(391), 1, + anon_sym_RPAREN, + ACTIONS(393), 1, + anon_sym_self, + ACTIONS(395), 1, + anon_sym__, + ACTIONS(397), 1, + sym_mut_keyword, + STATE(208), 1, + sym__reserved_identifier, + STATE(224), 1, + sym__rrb_symbol, + STATE(276), 1, + sym_identifier, + ACTIONS(399), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(235), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + STATE(327), 8, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + sym_argument_declaration, + sym_self_reference, + sym_ignore_argument, + ACTIONS(383), 9, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + [5897] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(401), 1, + anon_sym_assume, + ACTIONS(403), 1, + anon_sym_exists, + ACTIONS(405), 1, + anon_sym_unique, + ACTIONS(407), 1, + sym_forall_keyword, + ACTIONS(409), 1, + sym_add_operator, + ACTIONS(411), 1, + anon_sym_DASH, + ACTIONS(413), 1, + sym_mul_operator, + ACTIONS(415), 1, + sym_pow_operator, + ACTIONS(417), 1, + sym_mod_operator, + ACTIONS(419), 1, + sym_and_operator, + ACTIONS(421), 1, + sym_or_operator, + ACTIONS(425), 1, + sym_bit_and_operator, + ACTIONS(427), 1, + sym_bit_or_operator, + ACTIONS(429), 1, + sym_bit_xor_operator, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(441), 1, + anon_sym_LBRACE, + STATE(8), 1, + sym__lcb_symbol, + STATE(46), 1, + sym_sub_operator, + ACTIONS(423), 2, + sym_shift_left_operator, + sym_shift_right_operator, + ACTIONS(435), 2, + sym_less_equal_operator, + sym_greater_equal_operator, + ACTIONS(437), 2, + sym_equals_operator, + sym_not_equals_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + STATE(55), 2, + sym_less_operator, + sym_greater_operator, + STATE(65), 6, + sym__block, + sym_block, + sym_assume_block, + sym_forall_block, + sym_exists_block, + sym_unique_block, + [5986] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(447), 1, + anon_sym_LT, + STATE(100), 1, + sym_type_argument_list, + ACTIONS(445), 6, + sym_mul_operator, + sym_bit_and_operator, + sym_bit_or_operator, + anon_sym_GT, + sym_assign_operator, + anon_sym_COLON, + ACTIONS(443), 27, + anon_sym_LBRACK, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + sym_forall_keyword, + sym_add_operator, + anon_sym_DASH, + sym_pow_operator, + sym_mod_operator, + sym_and_operator, + sym_or_operator, + sym_shift_left_operator, + sym_shift_right_operator, + sym_bit_xor_operator, + sym_less_equal_operator, + sym_greater_equal_operator, + sym_equals_operator, + sym_not_equals_operator, + sym_expand_operator, + sym_attribute_access_operator, + anon_sym_LBRACE, + anon_sym_RBRACE, + [6033] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(63), 1, + anon_sym_LBRACE, + ACTIONS(409), 1, + sym_add_operator, + ACTIONS(411), 1, + anon_sym_DASH, + ACTIONS(413), 1, + sym_mul_operator, + ACTIONS(415), 1, + sym_pow_operator, + ACTIONS(417), 1, + sym_mod_operator, + ACTIONS(419), 1, + sym_and_operator, + ACTIONS(421), 1, + sym_or_operator, + ACTIONS(425), 1, + sym_bit_and_operator, + ACTIONS(427), 1, + sym_bit_or_operator, + ACTIONS(429), 1, + sym_bit_xor_operator, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(450), 1, + anon_sym_assume, + ACTIONS(452), 1, + anon_sym_exists, + ACTIONS(454), 1, + anon_sym_unique, + ACTIONS(456), 1, sym_forall_keyword, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token1, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - [4400] = 3, + STATE(2), 1, + sym__lcb_symbol, + STATE(46), 1, + sym_sub_operator, + ACTIONS(423), 2, + sym_shift_left_operator, + sym_shift_right_operator, + ACTIONS(435), 2, + sym_less_equal_operator, + sym_greater_equal_operator, + ACTIONS(437), 2, + sym_equals_operator, + sym_not_equals_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + STATE(55), 2, + sym_less_operator, + sym_greater_operator, + STATE(86), 6, + sym__block, + sym_block, + sym_assume_block, + sym_forall_block, + sym_exists_block, + sym_unique_block, + [6122] = 6, ACTIONS(3), 1, - sym__comment, - ACTIONS(349), 8, - anon_sym_LPAREN_RPAREN, + sym_comment, + ACTIONS(447), 1, + anon_sym_LT, + ACTIONS(458), 1, + sym_expand_operator, + STATE(100), 1, + sym_type_argument_list, + ACTIONS(445), 6, + sym_mul_operator, + sym_bit_and_operator, + sym_bit_or_operator, + anon_sym_GT, + sym_assign_operator, + anon_sym_COLON, + ACTIONS(443), 26, anon_sym_LBRACK, - sym_uzumaki_keyword, - sym_unary_not, - anon_sym_DASH, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DQUOTE, - ACTIONS(347), 30, - sym_type_i8, - sym_type_i16, - sym_type_i32, - sym_type_i64, - sym_type_u8, - sym_type_u16, - sym_type_u32, - sym_type_u64, - sym_type_bool, - anon_sym_fn, + anon_sym_SEMI, + anon_sym_RBRACK, anon_sym_LPAREN, - anon_sym_assert, - anon_sym_break, - anon_sym_let, - anon_sym_type, - anon_sym_const, + anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_assume, anon_sym_exists, anon_sym_unique, - anon_sym_if, - anon_sym_loop, - anon_sym_return, sym_forall_keyword, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token1, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - [4446] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(265), 8, - anon_sym_LPAREN_RPAREN, - anon_sym_LBRACK, - sym_uzumaki_keyword, - sym_unary_not, + sym_add_operator, anon_sym_DASH, + sym_pow_operator, + sym_mod_operator, + sym_and_operator, + sym_or_operator, + sym_shift_left_operator, + sym_shift_right_operator, + sym_bit_xor_operator, + sym_less_equal_operator, + sym_greater_equal_operator, + sym_equals_operator, + sym_not_equals_operator, + sym_attribute_access_operator, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DQUOTE, - ACTIONS(263), 30, - sym_type_i8, - sym_type_i16, - sym_type_i32, - sym_type_i64, - sym_type_u8, - sym_type_u16, - sym_type_u32, - sym_type_u64, - sym_type_bool, - anon_sym_fn, - anon_sym_LPAREN, - anon_sym_assert, - anon_sym_break, - anon_sym_let, - anon_sym_type, - anon_sym_const, + [6171] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(401), 1, anon_sym_assume, + ACTIONS(403), 1, anon_sym_exists, + ACTIONS(405), 1, anon_sym_unique, - anon_sym_if, - anon_sym_loop, - anon_sym_return, + ACTIONS(407), 1, sym_forall_keyword, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token1, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - [4492] = 15, + ACTIONS(409), 1, + sym_add_operator, + ACTIONS(411), 1, + anon_sym_DASH, + ACTIONS(413), 1, + sym_mul_operator, + ACTIONS(415), 1, + sym_pow_operator, + ACTIONS(417), 1, + sym_mod_operator, + ACTIONS(419), 1, + sym_and_operator, + ACTIONS(421), 1, + sym_or_operator, + ACTIONS(425), 1, + sym_bit_and_operator, + ACTIONS(427), 1, + sym_bit_or_operator, + ACTIONS(429), 1, + sym_bit_xor_operator, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(441), 1, + anon_sym_LBRACE, + STATE(8), 1, + sym__lcb_symbol, + STATE(46), 1, + sym_sub_operator, + ACTIONS(423), 2, + sym_shift_left_operator, + sym_shift_right_operator, + ACTIONS(435), 2, + sym_less_equal_operator, + sym_greater_equal_operator, + ACTIONS(437), 2, + sym_equals_operator, + sym_not_equals_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + STATE(55), 2, + sym_less_operator, + sym_greater_operator, + STATE(57), 6, + sym__block, + sym_block, + sym_assume_block, + sym_forall_block, + sym_exists_block, + sym_unique_block, + [6260] = 13, ACTIONS(3), 1, - sym__comment, - ACTIONS(353), 1, + sym_comment, + ACTIONS(385), 1, anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(357), 1, + ACTIONS(389), 1, anon_sym_fn, - ACTIONS(359), 1, - anon_sym_RPAREN, - ACTIONS(361), 1, + ACTIONS(393), 1, anon_sym_self, - ACTIONS(363), 1, + ACTIONS(395), 1, anon_sym__, - ACTIONS(365), 1, + ACTIONS(397), 1, sym_mut_keyword, - STATE(175), 1, + STATE(208), 1, sym__reserved_identifier, - STATE(181), 1, - sym__rrb_symbol, - STATE(239), 1, + STATE(276), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(197), 5, + STATE(235), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(284), 8, + STATE(416), 8, sym__type, sym__embedded_type, sym_type_unit, @@ -9209,7 +10722,7 @@ static const uint16_t ts_small_parse_table[] = { sym_argument_declaration, sym_self_reference, sym_ignore_argument, - ACTIONS(351), 9, + ACTIONS(461), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -9219,210 +10732,174 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [4560] = 26, + [6322] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(369), 1, + sym_comment, + ACTIONS(465), 7, + sym_mul_operator, + sym_bit_and_operator, + sym_bit_or_operator, + anon_sym_LT, + anon_sym_GT, + sym_assign_operator, + anon_sym_COLON, + ACTIONS(463), 27, + anon_sym_LBRACK, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_assume, - ACTIONS(371), 1, anon_sym_exists, - ACTIONS(373), 1, anon_sym_unique, - ACTIONS(375), 1, sym_forall_keyword, - ACTIONS(377), 1, sym_add_operator, - ACTIONS(379), 1, anon_sym_DASH, - ACTIONS(381), 1, + sym_pow_operator, + sym_mod_operator, + sym_and_operator, + sym_or_operator, + sym_shift_left_operator, + sym_shift_right_operator, + sym_bit_xor_operator, + sym_less_equal_operator, + sym_greater_equal_operator, + sym_equals_operator, + sym_not_equals_operator, + sym_expand_operator, + sym_attribute_access_operator, + anon_sym_LBRACE, + anon_sym_RBRACE, + [6364] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(469), 7, sym_mul_operator, - ACTIONS(383), 1, + sym_bit_and_operator, + sym_bit_or_operator, + anon_sym_LT, + anon_sym_GT, + sym_assign_operator, + anon_sym_COLON, + ACTIONS(467), 27, + anon_sym_LBRACK, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + sym_forall_keyword, + sym_add_operator, + anon_sym_DASH, sym_pow_operator, - ACTIONS(385), 1, sym_mod_operator, - ACTIONS(387), 1, sym_and_operator, - ACTIONS(389), 1, sym_or_operator, - ACTIONS(393), 1, - sym_bit_and_operator, - ACTIONS(395), 1, - sym_bit_or_operator, - ACTIONS(397), 1, - sym_bit_xor_operator, - ACTIONS(399), 1, - anon_sym_LT, - ACTIONS(401), 1, - anon_sym_GT, - ACTIONS(409), 1, - anon_sym_LBRACE, - STATE(9), 1, - sym__lcb_symbol, - STATE(16), 1, - sym_sub_operator, - ACTIONS(391), 2, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + sym_bit_xor_operator, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, sym_expand_operator, sym_attribute_access_operator, - STATE(25), 2, - sym_less_operator, - sym_greater_operator, - STATE(46), 6, - sym__block, - sym_block, - sym_assume_block, - sym_forall_block, - sym_exists_block, - sym_unique_block, - [4649] = 26, - ACTIONS(3), 1, - sym__comment, - ACTIONS(63), 1, anon_sym_LBRACE, - ACTIONS(377), 1, - sym_add_operator, - ACTIONS(379), 1, - anon_sym_DASH, - ACTIONS(381), 1, + anon_sym_RBRACE, + [6406] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(473), 7, sym_mul_operator, - ACTIONS(383), 1, - sym_pow_operator, - ACTIONS(385), 1, - sym_mod_operator, - ACTIONS(387), 1, - sym_and_operator, - ACTIONS(389), 1, - sym_or_operator, - ACTIONS(393), 1, sym_bit_and_operator, - ACTIONS(395), 1, sym_bit_or_operator, - ACTIONS(397), 1, - sym_bit_xor_operator, - ACTIONS(399), 1, anon_sym_LT, - ACTIONS(401), 1, anon_sym_GT, - ACTIONS(411), 1, + sym_assign_operator, + anon_sym_COLON, + ACTIONS(471), 27, + anon_sym_LBRACK, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_assume, - ACTIONS(413), 1, anon_sym_exists, - ACTIONS(415), 1, anon_sym_unique, - ACTIONS(417), 1, sym_forall_keyword, - STATE(7), 1, - sym__lcb_symbol, - STATE(16), 1, - sym_sub_operator, - ACTIONS(391), 2, + sym_add_operator, + anon_sym_DASH, + sym_pow_operator, + sym_mod_operator, + sym_and_operator, + sym_or_operator, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + sym_bit_xor_operator, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, sym_expand_operator, sym_attribute_access_operator, - STATE(25), 2, - sym_less_operator, - sym_greater_operator, - STATE(55), 6, - sym__block, - sym_block, - sym_assume_block, - sym_forall_block, - sym_exists_block, - sym_unique_block, - [4738] = 26, + anon_sym_LBRACE, + anon_sym_RBRACE, + [6448] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(369), 1, + sym_comment, + ACTIONS(477), 7, + sym_mul_operator, + sym_bit_and_operator, + sym_bit_or_operator, + anon_sym_LT, + anon_sym_GT, + sym_assign_operator, + anon_sym_COLON, + ACTIONS(475), 27, + anon_sym_LBRACK, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_assume, - ACTIONS(371), 1, anon_sym_exists, - ACTIONS(373), 1, anon_sym_unique, - ACTIONS(375), 1, sym_forall_keyword, - ACTIONS(377), 1, sym_add_operator, - ACTIONS(379), 1, anon_sym_DASH, - ACTIONS(381), 1, - sym_mul_operator, - ACTIONS(383), 1, sym_pow_operator, - ACTIONS(385), 1, sym_mod_operator, - ACTIONS(387), 1, sym_and_operator, - ACTIONS(389), 1, sym_or_operator, - ACTIONS(393), 1, - sym_bit_and_operator, - ACTIONS(395), 1, - sym_bit_or_operator, - ACTIONS(397), 1, - sym_bit_xor_operator, - ACTIONS(399), 1, - anon_sym_LT, - ACTIONS(401), 1, - anon_sym_GT, - ACTIONS(409), 1, - anon_sym_LBRACE, - STATE(9), 1, - sym__lcb_symbol, - STATE(16), 1, - sym_sub_operator, - ACTIONS(391), 2, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + sym_bit_xor_operator, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, sym_expand_operator, sym_attribute_access_operator, - STATE(25), 2, - sym_less_operator, - sym_greater_operator, - STATE(43), 6, - sym__block, - sym_block, - sym_assume_block, - sym_forall_block, - sym_exists_block, - sym_unique_block, - [4827] = 5, + anon_sym_LBRACE, + anon_sym_RBRACE, + [6490] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(423), 1, - anon_sym_LT, - STATE(86), 1, - sym_type_argument_list, - ACTIONS(421), 6, - anon_sym_COLON, + sym_comment, + ACTIONS(481), 7, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, + anon_sym_LT, anon_sym_GT, sym_assign_operator, - ACTIONS(419), 26, + anon_sym_COLON, + ACTIONS(479), 27, anon_sym_LBRACK, anon_sym_SEMI, anon_sym_RBRACK, @@ -9449,72 +10926,19 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [4873] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(353), 1, - anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, - anon_sym_LBRACK, - ACTIONS(357), 1, - anon_sym_fn, - ACTIONS(361), 1, - anon_sym_self, - ACTIONS(363), 1, - anon_sym__, - ACTIONS(365), 1, - sym_mut_keyword, - STATE(175), 1, - sym__reserved_identifier, - STATE(239), 1, - sym_identifier, - ACTIONS(367), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - STATE(197), 5, - sym__name, - sym_type_qualified_name, - sym__simple_name, - sym_qualified_name, - sym_generic_name, - STATE(384), 8, - sym__type, - sym__embedded_type, - sym_type_unit, - sym_type_array, - sym_type_fn, - sym_argument_declaration, - sym_self_reference, - sym_ignore_argument, - ACTIONS(426), 9, - sym_type_i8, - sym_type_i16, - sym_type_i32, - sym_type_i64, - sym_type_u8, - sym_type_u16, - sym_type_u32, - sym_type_u64, - sym_type_bool, - [4935] = 6, + anon_sym_RBRACE, + [6532] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(423), 1, - anon_sym_LT, - ACTIONS(428), 1, - sym_expand_operator, - STATE(86), 1, - sym_type_argument_list, - ACTIONS(421), 6, - anon_sym_COLON, + sym_comment, + ACTIONS(485), 7, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, + anon_sym_LT, anon_sym_GT, sym_assign_operator, - ACTIONS(419), 25, + anon_sym_COLON, + ACTIONS(483), 27, anon_sym_LBRACK, anon_sym_SEMI, anon_sym_RBRACK, @@ -9538,24 +10962,21 @@ static const uint16_t ts_small_parse_table[] = { sym_greater_equal_operator, sym_equals_operator, sym_not_equals_operator, + sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [4983] = 5, + anon_sym_RBRACE, + [6574] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(433), 1, - anon_sym_COLON, - ACTIONS(437), 2, - sym_expand_operator, - sym_attribute_access_operator, - ACTIONS(435), 6, + sym_comment, + ACTIONS(489), 6, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, sym_assign_operator, - ACTIONS(431), 24, + ACTIONS(487), 27, anon_sym_LBRACK, anon_sym_SEMI, anon_sym_RBRACK, @@ -9579,19 +11000,21 @@ static const uint16_t ts_small_parse_table[] = { sym_greater_equal_operator, sym_equals_operator, sym_not_equals_operator, + sym_expand_operator, + sym_attribute_access_operator, anon_sym_LBRACE, - [5028] = 3, + anon_sym_RBRACE, + [6615] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(442), 7, - anon_sym_COLON, + sym_comment, + ACTIONS(493), 6, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, sym_assign_operator, - ACTIONS(440), 26, + ACTIONS(491), 27, anon_sym_LBRACK, anon_sym_SEMI, anon_sym_RBRACK, @@ -9618,22 +11041,25 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [5069] = 3, + anon_sym_RBRACE, + [6656] = 6, ACTIONS(3), 1, - sym__comment, - ACTIONS(446), 7, - anon_sym_COLON, + sym_comment, + ACTIONS(495), 1, + anon_sym_LBRACK, + ACTIONS(499), 1, + anon_sym_LPAREN, + STATE(448), 1, + sym_type_argument_list, + ACTIONS(501), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - sym_assign_operator, - ACTIONS(444), 26, - anon_sym_LBRACK, + ACTIONS(497), 25, anon_sym_SEMI, anon_sym_RBRACK, - anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_assume, @@ -9656,22 +11082,111 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [5110] = 3, + anon_sym_RBRACE, + [6703] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(385), 1, + anon_sym_LPAREN_RPAREN, + ACTIONS(387), 1, + anon_sym_LBRACK, + ACTIONS(505), 1, + anon_sym_fn, + ACTIONS(507), 1, + anon_sym_COMMA, + ACTIONS(509), 1, + anon_sym_GT, + STATE(208), 1, + sym__reserved_identifier, + STATE(305), 1, + sym_identifier, + STATE(379), 1, + aux_sym_type_argument_list_definition_repeat1, + ACTIONS(399), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(349), 5, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + STATE(394), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + ACTIONS(503), 9, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + [6762] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(385), 1, + anon_sym_LPAREN_RPAREN, + ACTIONS(387), 1, + anon_sym_LBRACK, + ACTIONS(505), 1, + anon_sym_fn, + ACTIONS(513), 1, + anon_sym_COMMA, + ACTIONS(515), 1, + anon_sym_GT, + STATE(208), 1, + sym__reserved_identifier, + STATE(305), 1, + sym_identifier, + STATE(380), 1, + aux_sym_type_argument_list_definition_repeat1, + ACTIONS(399), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(338), 5, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + STATE(394), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + ACTIONS(511), 9, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + [6821] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(450), 7, - anon_sym_COLON, + sym_comment, + ACTIONS(519), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - sym_assign_operator, - ACTIONS(448), 26, - anon_sym_LBRACK, + ACTIONS(517), 25, anon_sym_SEMI, anon_sym_RBRACK, - anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_assume, @@ -9694,28 +11209,31 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [5151] = 3, + anon_sym_RBRACE, + [6859] = 6, ACTIONS(3), 1, - sym__comment, - ACTIONS(454), 7, + sym_comment, + ACTIONS(528), 1, + anon_sym_LBRACE, + ACTIONS(530), 1, anon_sym_COLON, + ACTIONS(525), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(523), 6, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, sym_assign_operator, - ACTIONS(452), 26, + ACTIONS(521), 20, anon_sym_LBRACK, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, - anon_sym_assume, - anon_sym_exists, - anon_sym_unique, - sym_forall_keyword, sym_add_operator, anon_sym_DASH, sym_pow_operator, @@ -9729,25 +11247,19 @@ static const uint16_t ts_small_parse_table[] = { sym_greater_equal_operator, sym_equals_operator, sym_not_equals_operator, - sym_expand_operator, - sym_attribute_access_operator, - anon_sym_LBRACE, - [5192] = 3, + anon_sym_RBRACE, + [6903] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(458), 7, - anon_sym_COLON, + sym_comment, + ACTIONS(534), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - sym_assign_operator, - ACTIONS(456), 26, - anon_sym_LBRACK, + ACTIONS(532), 25, anon_sym_SEMI, anon_sym_RBRACK, - anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_assume, @@ -9770,22 +11282,19 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [5233] = 3, + anon_sym_RBRACE, + [6941] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(462), 7, - anon_sym_COLON, + sym_comment, + ACTIONS(538), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - sym_assign_operator, - ACTIONS(460), 26, - anon_sym_LBRACK, + ACTIONS(536), 25, anon_sym_SEMI, anon_sym_RBRACK, - anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_assume, @@ -9808,26 +11317,19 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [5274] = 5, + anon_sym_RBRACE, + [6979] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(466), 1, - anon_sym_COLON, - ACTIONS(470), 2, - sym_expand_operator, - sym_attribute_access_operator, - ACTIONS(468), 6, + sym_comment, + ACTIONS(542), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - sym_assign_operator, - ACTIONS(464), 24, - anon_sym_LBRACK, + ACTIONS(540), 25, anon_sym_SEMI, anon_sym_RBRACK, - anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_assume, @@ -9847,50 +11349,20 @@ static const uint16_t ts_small_parse_table[] = { sym_greater_equal_operator, sym_equals_operator, sym_not_equals_operator, + sym_expand_operator, + sym_attribute_access_operator, anon_sym_LBRACE, - [5319] = 19, + anon_sym_RBRACE, + [7017] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, - sym_add_operator, - ACTIONS(379), 1, - anon_sym_DASH, - ACTIONS(381), 1, + sym_comment, + ACTIONS(546), 5, sym_mul_operator, - ACTIONS(383), 1, - sym_pow_operator, - ACTIONS(385), 1, - sym_mod_operator, - ACTIONS(387), 1, - sym_and_operator, - ACTIONS(393), 1, sym_bit_and_operator, - ACTIONS(395), 1, sym_bit_or_operator, - ACTIONS(397), 1, - sym_bit_xor_operator, - ACTIONS(399), 1, anon_sym_LT, - ACTIONS(401), 1, anon_sym_GT, - STATE(16), 1, - sym_sub_operator, - ACTIONS(391), 2, - sym_shift_left_operator, - sym_shift_right_operator, - ACTIONS(403), 2, - sym_less_equal_operator, - sym_greater_equal_operator, - ACTIONS(405), 2, - sym_equals_operator, - sym_not_equals_operator, - ACTIONS(407), 2, - sym_expand_operator, - sym_attribute_access_operator, - STATE(25), 2, - sym_less_operator, - sym_greater_operator, - ACTIONS(473), 10, + ACTIONS(544), 25, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -9899,89 +11371,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_exists, anon_sym_unique, sym_forall_keyword, - sym_or_operator, - anon_sym_LBRACE, - [5391] = 17, - ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, sym_add_operator, - ACTIONS(379), 1, anon_sym_DASH, - ACTIONS(381), 1, - sym_mul_operator, - ACTIONS(383), 1, sym_pow_operator, - ACTIONS(385), 1, sym_mod_operator, - ACTIONS(393), 1, - sym_bit_and_operator, - ACTIONS(399), 1, - anon_sym_LT, - ACTIONS(401), 1, - anon_sym_GT, - ACTIONS(475), 1, - sym_bit_or_operator, - STATE(16), 1, - sym_sub_operator, - ACTIONS(391), 2, + sym_and_operator, + sym_or_operator, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + sym_bit_xor_operator, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, sym_expand_operator, sym_attribute_access_operator, - STATE(25), 2, - sym_less_operator, - sym_greater_operator, - ACTIONS(473), 12, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_assume, - anon_sym_exists, - anon_sym_unique, - sym_forall_keyword, - sym_and_operator, - sym_or_operator, - sym_bit_xor_operator, anon_sym_LBRACE, - [5459] = 12, + anon_sym_RBRACE, + [7055] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, - sym_add_operator, - ACTIONS(379), 1, - anon_sym_DASH, - ACTIONS(381), 1, + sym_comment, + ACTIONS(550), 5, sym_mul_operator, - ACTIONS(383), 1, - sym_pow_operator, - ACTIONS(385), 1, - sym_mod_operator, - STATE(16), 1, - sym_sub_operator, - ACTIONS(391), 2, - sym_shift_left_operator, - sym_shift_right_operator, - ACTIONS(407), 2, - sym_expand_operator, - sym_attribute_access_operator, - STATE(25), 2, - sym_less_operator, - sym_greater_operator, - ACTIONS(475), 4, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - ACTIONS(473), 16, + ACTIONS(548), 25, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -9990,81 +11406,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_exists, anon_sym_unique, sym_forall_keyword, - sym_and_operator, - sym_or_operator, - sym_bit_xor_operator, - sym_less_equal_operator, - sym_greater_equal_operator, - sym_equals_operator, - sym_not_equals_operator, - anon_sym_LBRACE, - [5517] = 15, - ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, sym_add_operator, - ACTIONS(379), 1, anon_sym_DASH, - ACTIONS(381), 1, - sym_mul_operator, - ACTIONS(383), 1, sym_pow_operator, - ACTIONS(385), 1, sym_mod_operator, - ACTIONS(399), 1, - anon_sym_LT, - ACTIONS(401), 1, - anon_sym_GT, - STATE(16), 1, - sym_sub_operator, - ACTIONS(391), 2, + sym_and_operator, + sym_or_operator, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + sym_bit_xor_operator, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(407), 2, - sym_expand_operator, - sym_attribute_access_operator, - ACTIONS(475), 2, - sym_bit_and_operator, - sym_bit_or_operator, - STATE(25), 2, - sym_less_operator, - sym_greater_operator, - ACTIONS(473), 14, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_assume, - anon_sym_exists, - anon_sym_unique, - sym_forall_keyword, - sym_and_operator, - sym_or_operator, - sym_bit_xor_operator, sym_equals_operator, sym_not_equals_operator, - anon_sym_LBRACE, - [5581] = 6, - ACTIONS(3), 1, - sym__comment, - STATE(16), 1, - sym_sub_operator, - ACTIONS(407), 2, sym_expand_operator, sym_attribute_access_operator, - STATE(25), 2, - sym_less_operator, - sym_greater_operator, - ACTIONS(479), 5, + anon_sym_LBRACE, + anon_sym_RBRACE, + [7093] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(554), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - ACTIONS(477), 22, + ACTIONS(552), 25, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -10086,22 +11454,22 @@ static const uint16_t ts_small_parse_table[] = { sym_greater_equal_operator, sym_equals_operator, sym_not_equals_operator, + sym_expand_operator, + sym_attribute_access_operator, anon_sym_LBRACE, - [5627] = 3, + anon_sym_RBRACE, + [7131] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(483), 6, + sym_comment, + ACTIONS(558), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - sym_assign_operator, - ACTIONS(481), 26, - anon_sym_LBRACK, + ACTIONS(556), 25, anon_sym_SEMI, anon_sym_RBRACK, - anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_assume, @@ -10124,22 +11492,17 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [5667] = 6, + anon_sym_RBRACE, + [7169] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(485), 1, - anon_sym_LBRACK, - ACTIONS(489), 1, - anon_sym_LPAREN, - STATE(403), 1, - sym_type_argument_list, - ACTIONS(491), 5, + sym_comment, + ACTIONS(562), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - ACTIONS(487), 24, + ACTIONS(560), 25, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -10164,21 +11527,19 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [5713] = 3, + anon_sym_RBRACE, + [7207] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(468), 6, + sym_comment, + ACTIONS(566), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - sym_assign_operator, - ACTIONS(464), 26, - anon_sym_LBRACK, + ACTIONS(564), 25, anon_sym_SEMI, anon_sym_RBRACK, - anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_assume, @@ -10201,39 +11562,35 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [5753] = 9, + anon_sym_RBRACE, + [7245] = 6, ACTIONS(3), 1, - sym__comment, - ACTIONS(381), 1, - sym_mul_operator, - ACTIONS(383), 1, - sym_pow_operator, - ACTIONS(385), 1, - sym_mod_operator, - STATE(16), 1, - sym_sub_operator, - ACTIONS(407), 2, + sym_comment, + ACTIONS(571), 1, + anon_sym_LBRACE, + ACTIONS(573), 1, + anon_sym_COLON, + ACTIONS(568), 2, sym_expand_operator, sym_attribute_access_operator, - STATE(25), 2, - sym_less_operator, - sym_greater_operator, - ACTIONS(475), 4, + ACTIONS(493), 6, + sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - ACTIONS(473), 20, + sym_assign_operator, + ACTIONS(491), 20, + anon_sym_LBRACK, anon_sym_SEMI, anon_sym_RBRACK, + anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, - anon_sym_assume, - anon_sym_exists, - anon_sym_unique, - sym_forall_keyword, sym_add_operator, anon_sym_DASH, + sym_pow_operator, + sym_mod_operator, sym_and_operator, sym_or_operator, sym_shift_left_operator, @@ -10243,27 +11600,17 @@ static const uint16_t ts_small_parse_table[] = { sym_greater_equal_operator, sym_equals_operator, sym_not_equals_operator, - anon_sym_LBRACE, - [5805] = 7, + anon_sym_RBRACE, + [7289] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(383), 1, - sym_pow_operator, - STATE(16), 1, - sym_sub_operator, - ACTIONS(407), 2, - sym_expand_operator, - sym_attribute_access_operator, - STATE(25), 2, - sym_less_operator, - sym_greater_operator, - ACTIONS(475), 5, + sym_comment, + ACTIONS(577), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - ACTIONS(473), 21, + ACTIONS(575), 25, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -10274,6 +11621,7 @@ static const uint16_t ts_small_parse_table[] = { sym_forall_keyword, sym_add_operator, anon_sym_DASH, + sym_pow_operator, sym_mod_operator, sym_and_operator, sym_or_operator, @@ -10284,25 +11632,20 @@ static const uint16_t ts_small_parse_table[] = { sym_greater_equal_operator, sym_equals_operator, sym_not_equals_operator, - anon_sym_LBRACE, - [5853] = 6, - ACTIONS(3), 1, - sym__comment, - STATE(16), 1, - sym_sub_operator, - ACTIONS(407), 2, sym_expand_operator, sym_attribute_access_operator, - STATE(25), 2, - sym_less_operator, - sym_greater_operator, - ACTIONS(475), 5, + anon_sym_LBRACE, + anon_sym_RBRACE, + [7327] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(581), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - ACTIONS(473), 22, + ACTIONS(579), 25, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -10324,86 +11667,20 @@ static const uint16_t ts_small_parse_table[] = { sym_greater_equal_operator, sym_equals_operator, sym_not_equals_operator, - anon_sym_LBRACE, - [5899] = 18, - ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, - sym_add_operator, - ACTIONS(379), 1, - anon_sym_DASH, - ACTIONS(381), 1, - sym_mul_operator, - ACTIONS(383), 1, - sym_pow_operator, - ACTIONS(385), 1, - sym_mod_operator, - ACTIONS(393), 1, - sym_bit_and_operator, - ACTIONS(395), 1, - sym_bit_or_operator, - ACTIONS(397), 1, - sym_bit_xor_operator, - ACTIONS(399), 1, - anon_sym_LT, - ACTIONS(401), 1, - anon_sym_GT, - STATE(16), 1, - sym_sub_operator, - ACTIONS(391), 2, - sym_shift_left_operator, - sym_shift_right_operator, - ACTIONS(403), 2, - sym_less_equal_operator, - sym_greater_equal_operator, - ACTIONS(405), 2, - sym_equals_operator, - sym_not_equals_operator, - ACTIONS(407), 2, sym_expand_operator, sym_attribute_access_operator, - STATE(25), 2, - sym_less_operator, - sym_greater_operator, - ACTIONS(473), 11, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_assume, - anon_sym_exists, - anon_sym_unique, - sym_forall_keyword, - sym_and_operator, - sym_or_operator, anon_sym_LBRACE, - [5969] = 11, + anon_sym_RBRACE, + [7365] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, - sym_add_operator, - ACTIONS(379), 1, - anon_sym_DASH, - ACTIONS(381), 1, + sym_comment, + ACTIONS(585), 5, sym_mul_operator, - ACTIONS(383), 1, - sym_pow_operator, - ACTIONS(385), 1, - sym_mod_operator, - STATE(16), 1, - sym_sub_operator, - ACTIONS(407), 2, - sym_expand_operator, - sym_attribute_access_operator, - STATE(25), 2, - sym_less_operator, - sym_greater_operator, - ACTIONS(475), 4, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - ACTIONS(473), 18, + ACTIONS(583), 25, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -10412,54 +11689,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_exists, anon_sym_unique, sym_forall_keyword, - sym_and_operator, - sym_or_operator, - sym_shift_left_operator, - sym_shift_right_operator, - sym_bit_xor_operator, - sym_less_equal_operator, - sym_greater_equal_operator, - sym_equals_operator, - sym_not_equals_operator, - anon_sym_LBRACE, - [6025] = 16, - ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, sym_add_operator, - ACTIONS(379), 1, anon_sym_DASH, - ACTIONS(381), 1, - sym_mul_operator, - ACTIONS(383), 1, sym_pow_operator, - ACTIONS(385), 1, sym_mod_operator, - ACTIONS(399), 1, - anon_sym_LT, - ACTIONS(401), 1, - anon_sym_GT, - STATE(16), 1, - sym_sub_operator, - ACTIONS(391), 2, + sym_and_operator, + sym_or_operator, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + sym_bit_xor_operator, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, sym_expand_operator, sym_attribute_access_operator, - ACTIONS(475), 2, + anon_sym_LBRACE, + anon_sym_RBRACE, + [7403] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(589), 5, + sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, - STATE(25), 2, - sym_less_operator, - sym_greater_operator, - ACTIONS(473), 12, + anon_sym_LT, + anon_sym_GT, + ACTIONS(587), 25, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -10468,164 +11724,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_exists, anon_sym_unique, sym_forall_keyword, - sym_and_operator, - sym_or_operator, - sym_bit_xor_operator, - anon_sym_LBRACE, - [6091] = 18, - ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, sym_add_operator, - ACTIONS(379), 1, anon_sym_DASH, - ACTIONS(381), 1, - sym_mul_operator, - ACTIONS(383), 1, sym_pow_operator, - ACTIONS(385), 1, sym_mod_operator, - ACTIONS(393), 1, - sym_bit_and_operator, - ACTIONS(397), 1, - sym_bit_xor_operator, - ACTIONS(399), 1, - anon_sym_LT, - ACTIONS(401), 1, - anon_sym_GT, - ACTIONS(475), 1, - sym_bit_or_operator, - STATE(16), 1, - sym_sub_operator, - ACTIONS(391), 2, + sym_and_operator, + sym_or_operator, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + sym_bit_xor_operator, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, sym_expand_operator, sym_attribute_access_operator, - STATE(25), 2, - sym_less_operator, - sym_greater_operator, - ACTIONS(473), 11, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_assume, - anon_sym_exists, - anon_sym_unique, - sym_forall_keyword, - sym_and_operator, - sym_or_operator, anon_sym_LBRACE, - [6161] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(353), 1, - anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, - anon_sym_LBRACK, - ACTIONS(495), 1, - anon_sym_fn, - ACTIONS(497), 1, - anon_sym_COMMA, - ACTIONS(499), 1, - anon_sym_GT, - STATE(175), 1, - sym__reserved_identifier, - STATE(270), 1, - sym_identifier, - STATE(319), 1, - aux_sym_type_argument_list_definition_repeat1, - ACTIONS(367), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - STATE(300), 5, - sym__type, - sym__embedded_type, - sym_type_unit, - sym_type_array, - sym_type_fn, - STATE(351), 5, - sym__name, - sym_type_qualified_name, - sym__simple_name, - sym_qualified_name, - sym_generic_name, - ACTIONS(493), 9, - sym_type_i8, - sym_type_i16, - sym_type_i32, - sym_type_i64, - sym_type_u8, - sym_type_u16, - sym_type_u32, - sym_type_u64, - sym_type_bool, - [6220] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(353), 1, - anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, - anon_sym_LBRACK, - ACTIONS(495), 1, - anon_sym_fn, - ACTIONS(503), 1, - anon_sym_COMMA, - ACTIONS(505), 1, - anon_sym_GT, - STATE(175), 1, - sym__reserved_identifier, - STATE(270), 1, - sym_identifier, - STATE(339), 1, - aux_sym_type_argument_list_definition_repeat1, - ACTIONS(367), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - STATE(304), 5, - sym__type, - sym__embedded_type, - sym_type_unit, - sym_type_array, - sym_type_fn, - STATE(351), 5, - sym__name, - sym_type_qualified_name, - sym__simple_name, - sym_qualified_name, - sym_generic_name, - ACTIONS(501), 9, - sym_type_i8, - sym_type_i16, - sym_type_i32, - sym_type_i64, - sym_type_u8, - sym_type_u16, - sym_type_u32, - sym_type_u64, - sym_type_bool, - [6279] = 3, + anon_sym_RBRACE, + [7441] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(509), 5, + sym_comment, + ACTIONS(593), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - ACTIONS(507), 24, + ACTIONS(591), 25, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -10650,16 +11775,17 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [6316] = 3, + anon_sym_RBRACE, + [7479] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(513), 5, + sym_comment, + ACTIONS(597), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - ACTIONS(511), 24, + ACTIONS(595), 25, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -10684,16 +11810,20 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [6353] = 3, + anon_sym_RBRACE, + [7517] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(517), 5, + sym_comment, + ACTIONS(603), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(601), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - ACTIONS(515), 24, + ACTIONS(599), 23, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -10715,19 +11845,18 @@ static const uint16_t ts_small_parse_table[] = { sym_greater_equal_operator, sym_equals_operator, sym_not_equals_operator, - sym_expand_operator, - sym_attribute_access_operator, anon_sym_LBRACE, - [6390] = 3, + anon_sym_RBRACE, + [7557] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(521), 5, + sym_comment, + ACTIONS(608), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - ACTIONS(519), 24, + ACTIONS(606), 25, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -10752,16 +11881,17 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [6427] = 3, + anon_sym_RBRACE, + [7595] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(525), 5, + sym_comment, + ACTIONS(612), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - ACTIONS(523), 24, + ACTIONS(610), 25, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -10786,16 +11916,17 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [6464] = 3, + anon_sym_RBRACE, + [7633] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(529), 5, + sym_comment, + ACTIONS(616), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - ACTIONS(527), 24, + ACTIONS(614), 25, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -10820,16 +11951,17 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [6501] = 3, + anon_sym_RBRACE, + [7671] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(533), 5, + sym_comment, + ACTIONS(620), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - ACTIONS(531), 24, + ACTIONS(618), 25, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -10854,16 +11986,17 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [6538] = 3, + anon_sym_RBRACE, + [7709] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(537), 5, + sym_comment, + ACTIONS(624), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - ACTIONS(535), 24, + ACTIONS(622), 25, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -10888,16 +12021,17 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [6575] = 3, + anon_sym_RBRACE, + [7747] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(541), 5, + sym_comment, + ACTIONS(628), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - ACTIONS(539), 24, + ACTIONS(626), 25, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -10922,235 +12056,485 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [6612] = 3, + anon_sym_RBRACE, + [7785] = 17, ACTIONS(3), 1, - sym__comment, - ACTIONS(545), 5, + sym_comment, + ACTIONS(409), 1, + sym_add_operator, + ACTIONS(411), 1, + anon_sym_DASH, + ACTIONS(413), 1, sym_mul_operator, + ACTIONS(415), 1, + sym_pow_operator, + ACTIONS(417), 1, + sym_mod_operator, + ACTIONS(425), 1, sym_bit_and_operator, - sym_bit_or_operator, + ACTIONS(431), 1, anon_sym_LT, + ACTIONS(433), 1, anon_sym_GT, - ACTIONS(543), 24, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, + ACTIONS(632), 1, + sym_bit_or_operator, + STATE(46), 1, + sym_sub_operator, + ACTIONS(423), 2, + sym_shift_left_operator, + sym_shift_right_operator, + ACTIONS(435), 2, + sym_less_equal_operator, + sym_greater_equal_operator, + ACTIONS(437), 2, + sym_equals_operator, + sym_not_equals_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + STATE(55), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(630), 8, anon_sym_assume, anon_sym_exists, anon_sym_unique, sym_forall_keyword, + sym_and_operator, + sym_or_operator, + sym_bit_xor_operator, + anon_sym_LBRACE, + [7849] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(411), 1, + anon_sym_DASH, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(634), 1, sym_add_operator, + ACTIONS(636), 1, + sym_mul_operator, + ACTIONS(638), 1, + sym_pow_operator, + ACTIONS(640), 1, + sym_mod_operator, + STATE(19), 1, + sym_sub_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(632), 2, + sym_bit_and_operator, + sym_bit_or_operator, + ACTIONS(642), 2, + sym_shift_left_operator, + sym_shift_right_operator, + ACTIONS(644), 2, + sym_less_equal_operator, + sym_greater_equal_operator, + ACTIONS(646), 2, + sym_equals_operator, + sym_not_equals_operator, + STATE(24), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(630), 8, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_and_operator, + sym_or_operator, + sym_bit_xor_operator, + anon_sym_RBRACE, + [7911] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(411), 1, anon_sym_DASH, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(632), 1, + sym_bit_or_operator, + ACTIONS(634), 1, + sym_add_operator, + ACTIONS(636), 1, + sym_mul_operator, + ACTIONS(638), 1, sym_pow_operator, + ACTIONS(640), 1, sym_mod_operator, + ACTIONS(648), 1, + sym_bit_and_operator, + ACTIONS(650), 1, + sym_bit_xor_operator, + STATE(19), 1, + sym_sub_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, + sym_shift_left_operator, + sym_shift_right_operator, + ACTIONS(644), 2, + sym_less_equal_operator, + sym_greater_equal_operator, + ACTIONS(646), 2, + sym_equals_operator, + sym_not_equals_operator, + STATE(24), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(630), 7, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, sym_and_operator, sym_or_operator, + anon_sym_RBRACE, + [7977] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(411), 1, + anon_sym_DASH, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(632), 1, + sym_bit_or_operator, + ACTIONS(634), 1, + sym_add_operator, + ACTIONS(636), 1, + sym_mul_operator, + ACTIONS(638), 1, + sym_pow_operator, + ACTIONS(640), 1, + sym_mod_operator, + ACTIONS(648), 1, + sym_bit_and_operator, + STATE(19), 1, + sym_sub_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, sym_shift_left_operator, sym_shift_right_operator, - sym_bit_xor_operator, + ACTIONS(644), 2, sym_less_equal_operator, sym_greater_equal_operator, + ACTIONS(646), 2, sym_equals_operator, sym_not_equals_operator, - sym_expand_operator, - sym_attribute_access_operator, - anon_sym_LBRACE, - [6649] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(549), 5, - sym_mul_operator, - sym_bit_and_operator, - sym_bit_or_operator, - anon_sym_LT, - anon_sym_GT, - ACTIONS(547), 24, + STATE(24), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(630), 8, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, - anon_sym_assume, - anon_sym_exists, - anon_sym_unique, - sym_forall_keyword, - sym_add_operator, - anon_sym_DASH, - sym_pow_operator, - sym_mod_operator, sym_and_operator, sym_or_operator, - sym_shift_left_operator, - sym_shift_right_operator, sym_bit_xor_operator, - sym_less_equal_operator, - sym_greater_equal_operator, - sym_equals_operator, - sym_not_equals_operator, - sym_expand_operator, - sym_attribute_access_operator, - anon_sym_LBRACE, - [6686] = 3, + anon_sym_RBRACE, + [8041] = 24, ACTIONS(3), 1, - sym__comment, - ACTIONS(553), 5, - sym_mul_operator, - sym_bit_and_operator, - sym_bit_or_operator, + sym_comment, + ACTIONS(411), 1, + anon_sym_DASH, + ACTIONS(431), 1, anon_sym_LT, + ACTIONS(433), 1, anon_sym_GT, - ACTIONS(551), 24, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_assume, - anon_sym_exists, - anon_sym_unique, - sym_forall_keyword, + ACTIONS(634), 1, sym_add_operator, - anon_sym_DASH, + ACTIONS(636), 1, + sym_mul_operator, + ACTIONS(638), 1, sym_pow_operator, + ACTIONS(640), 1, sym_mod_operator, + ACTIONS(648), 1, + sym_bit_and_operator, + ACTIONS(650), 1, + sym_bit_xor_operator, + ACTIONS(652), 1, + anon_sym_COMMA, + ACTIONS(654), 1, sym_and_operator, + ACTIONS(656), 1, sym_or_operator, + ACTIONS(658), 1, + sym_bit_or_operator, + ACTIONS(660), 1, + anon_sym_RBRACE, + STATE(19), 1, + sym_sub_operator, + STATE(107), 1, + sym__rcb_symbol, + STATE(240), 1, + sym__comma_symbol, + STATE(324), 1, + aux_sym_struct_expression_repeat1, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, sym_shift_left_operator, sym_shift_right_operator, - sym_bit_xor_operator, + ACTIONS(644), 2, sym_less_equal_operator, sym_greater_equal_operator, + ACTIONS(646), 2, sym_equals_operator, sym_not_equals_operator, - sym_expand_operator, - sym_attribute_access_operator, - anon_sym_LBRACE, - [6723] = 3, + STATE(24), 2, + sym_less_operator, + sym_greater_operator, + [8119] = 12, ACTIONS(3), 1, - sym__comment, - ACTIONS(557), 5, + sym_comment, + ACTIONS(411), 1, + anon_sym_DASH, + ACTIONS(634), 1, + sym_add_operator, + ACTIONS(636), 1, sym_mul_operator, + ACTIONS(638), 1, + sym_pow_operator, + ACTIONS(640), 1, + sym_mod_operator, + STATE(19), 1, + sym_sub_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, + sym_shift_left_operator, + sym_shift_right_operator, + STATE(24), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(632), 4, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - ACTIONS(555), 24, + ACTIONS(630), 12, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, - anon_sym_assume, - anon_sym_exists, - anon_sym_unique, - sym_forall_keyword, - sym_add_operator, - anon_sym_DASH, - sym_pow_operator, - sym_mod_operator, sym_and_operator, sym_or_operator, - sym_shift_left_operator, - sym_shift_right_operator, sym_bit_xor_operator, sym_less_equal_operator, sym_greater_equal_operator, sym_equals_operator, sym_not_equals_operator, - sym_expand_operator, - sym_attribute_access_operator, - anon_sym_LBRACE, - [6760] = 3, + anon_sym_RBRACE, + [8173] = 15, ACTIONS(3), 1, - sym__comment, - ACTIONS(561), 5, - sym_mul_operator, - sym_bit_and_operator, - sym_bit_or_operator, + sym_comment, + ACTIONS(411), 1, + anon_sym_DASH, + ACTIONS(431), 1, anon_sym_LT, + ACTIONS(433), 1, anon_sym_GT, - ACTIONS(559), 24, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_assume, - anon_sym_exists, - anon_sym_unique, - sym_forall_keyword, + ACTIONS(634), 1, sym_add_operator, - anon_sym_DASH, + ACTIONS(636), 1, + sym_mul_operator, + ACTIONS(638), 1, sym_pow_operator, + ACTIONS(640), 1, sym_mod_operator, - sym_and_operator, - sym_or_operator, - sym_shift_left_operator, - sym_shift_right_operator, - sym_bit_xor_operator, - sym_less_equal_operator, - sym_greater_equal_operator, - sym_equals_operator, - sym_not_equals_operator, + STATE(19), 1, + sym_sub_operator, + ACTIONS(439), 2, sym_expand_operator, sym_attribute_access_operator, - anon_sym_LBRACE, - [6797] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(565), 5, - sym_mul_operator, + ACTIONS(632), 2, sym_bit_and_operator, sym_bit_or_operator, - anon_sym_LT, - anon_sym_GT, - ACTIONS(563), 24, + ACTIONS(642), 2, + sym_shift_left_operator, + sym_shift_right_operator, + ACTIONS(644), 2, + sym_less_equal_operator, + sym_greater_equal_operator, + STATE(24), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(630), 10, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, - anon_sym_assume, - anon_sym_exists, - anon_sym_unique, - sym_forall_keyword, - sym_add_operator, - anon_sym_DASH, - sym_pow_operator, - sym_mod_operator, sym_and_operator, sym_or_operator, - sym_shift_left_operator, - sym_shift_right_operator, sym_bit_xor_operator, - sym_less_equal_operator, - sym_greater_equal_operator, sym_equals_operator, sym_not_equals_operator, - sym_expand_operator, - sym_attribute_access_operator, - anon_sym_LBRACE, - [6834] = 4, + anon_sym_RBRACE, + [8233] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(385), 1, + anon_sym_LPAREN_RPAREN, + ACTIONS(387), 1, + anon_sym_LBRACK, + ACTIONS(389), 1, + anon_sym_fn, + STATE(208), 1, + sym__reserved_identifier, + STATE(213), 1, + sym_identifier, + ACTIONS(399), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(235), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + STATE(364), 5, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + ACTIONS(662), 9, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + [8283] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(385), 1, + anon_sym_LPAREN_RPAREN, + ACTIONS(387), 1, + anon_sym_LBRACK, + ACTIONS(389), 1, + anon_sym_fn, + STATE(208), 1, + sym__reserved_identifier, + STATE(213), 1, + sym_identifier, + ACTIONS(399), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(233), 5, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + STATE(235), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + ACTIONS(664), 9, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + [8333] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(385), 1, + anon_sym_LPAREN_RPAREN, + ACTIONS(387), 1, + anon_sym_LBRACK, + ACTIONS(389), 1, + anon_sym_fn, + STATE(208), 1, + sym__reserved_identifier, + STATE(213), 1, + sym_identifier, + ACTIONS(399), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(235), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + STATE(436), 5, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + ACTIONS(666), 9, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + [8383] = 9, ACTIONS(3), 1, - sym__comment, - ACTIONS(571), 2, + sym_comment, + ACTIONS(636), 1, + sym_mul_operator, + ACTIONS(638), 1, + sym_pow_operator, + ACTIONS(640), 1, + sym_mod_operator, + STATE(19), 1, + sym_sub_operator, + ACTIONS(439), 2, sym_expand_operator, sym_attribute_access_operator, - ACTIONS(569), 5, - sym_mul_operator, + STATE(24), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(632), 4, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - ACTIONS(567), 22, + ACTIONS(630), 16, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, - anon_sym_assume, - anon_sym_exists, - anon_sym_unique, - sym_forall_keyword, sym_add_operator, anon_sym_DASH, - sym_pow_operator, - sym_mod_operator, sym_and_operator, sym_or_operator, sym_shift_left_operator, @@ -11160,28 +12544,33 @@ static const uint16_t ts_small_parse_table[] = { sym_greater_equal_operator, sym_equals_operator, sym_not_equals_operator, - anon_sym_LBRACE, - [6873] = 3, + anon_sym_RBRACE, + [8431] = 7, ACTIONS(3), 1, - sym__comment, - ACTIONS(576), 5, + sym_comment, + ACTIONS(638), 1, + sym_pow_operator, + STATE(19), 1, + sym_sub_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + STATE(24), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(632), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - ACTIONS(574), 24, + ACTIONS(630), 17, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, - anon_sym_assume, - anon_sym_exists, - anon_sym_unique, - sym_forall_keyword, sym_add_operator, anon_sym_DASH, - sym_pow_operator, sym_mod_operator, sym_and_operator, sym_or_operator, @@ -11192,27 +12581,69 @@ static const uint16_t ts_small_parse_table[] = { sym_greater_equal_operator, sym_equals_operator, sym_not_equals_operator, + anon_sym_RBRACE, + [8475] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(385), 1, + anon_sym_LPAREN_RPAREN, + ACTIONS(387), 1, + anon_sym_LBRACK, + ACTIONS(389), 1, + anon_sym_fn, + STATE(208), 1, + sym__reserved_identifier, + STATE(213), 1, + sym_identifier, + ACTIONS(399), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(235), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + STATE(384), 5, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + ACTIONS(668), 9, + sym_type_i8, + sym_type_i16, + sym_type_i32, + sym_type_i64, + sym_type_u8, + sym_type_u16, + sym_type_u32, + sym_type_u64, + sym_type_bool, + [8525] = 6, + ACTIONS(3), 1, + sym_comment, + STATE(19), 1, + sym_sub_operator, + ACTIONS(439), 2, sym_expand_operator, sym_attribute_access_operator, - anon_sym_LBRACE, - [6910] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(580), 5, + STATE(24), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(672), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - ACTIONS(578), 24, + ACTIONS(670), 18, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, - anon_sym_assume, - anon_sym_exists, - anon_sym_unique, - sym_forall_keyword, sym_add_operator, anon_sym_DASH, sym_pow_operator, @@ -11226,40 +12657,38 @@ static const uint16_t ts_small_parse_table[] = { sym_greater_equal_operator, sym_equals_operator, sym_not_equals_operator, - sym_expand_operator, - sym_attribute_access_operator, - anon_sym_LBRACE, - [6947] = 10, + anon_sym_RBRACE, + [8567] = 10, ACTIONS(3), 1, - sym__comment, - ACTIONS(353), 1, + sym_comment, + ACTIONS(385), 1, anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(357), 1, + ACTIONS(389), 1, anon_sym_fn, - STATE(175), 1, + STATE(208), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(213), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(197), 5, + STATE(235), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(374), 5, + STATE(414), 5, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, - ACTIONS(582), 9, + ACTIONS(674), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11269,37 +12698,121 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [6997] = 10, + [8617] = 6, + ACTIONS(3), 1, + sym_comment, + STATE(19), 1, + sym_sub_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + STATE(24), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(632), 5, + sym_mul_operator, + sym_bit_and_operator, + sym_bit_or_operator, + anon_sym_LT, + anon_sym_GT, + ACTIONS(630), 18, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_add_operator, + anon_sym_DASH, + sym_pow_operator, + sym_mod_operator, + sym_and_operator, + sym_or_operator, + sym_shift_left_operator, + sym_shift_right_operator, + sym_bit_xor_operator, + sym_less_equal_operator, + sym_greater_equal_operator, + sym_equals_operator, + sym_not_equals_operator, + anon_sym_RBRACE, + [8659] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(411), 1, + anon_sym_DASH, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(634), 1, + sym_add_operator, + ACTIONS(636), 1, + sym_mul_operator, + ACTIONS(638), 1, + sym_pow_operator, + ACTIONS(640), 1, + sym_mod_operator, + ACTIONS(648), 1, + sym_bit_and_operator, + ACTIONS(650), 1, + sym_bit_xor_operator, + ACTIONS(658), 1, + sym_bit_or_operator, + STATE(19), 1, + sym_sub_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, + sym_shift_left_operator, + sym_shift_right_operator, + ACTIONS(644), 2, + sym_less_equal_operator, + sym_greater_equal_operator, + ACTIONS(646), 2, + sym_equals_operator, + sym_not_equals_operator, + STATE(24), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(630), 7, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_and_operator, + sym_or_operator, + anon_sym_RBRACE, + [8725] = 10, ACTIONS(3), 1, - sym__comment, - ACTIONS(353), 1, + sym_comment, + ACTIONS(385), 1, anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(357), 1, + ACTIONS(389), 1, anon_sym_fn, - STATE(175), 1, + STATE(208), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(213), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(197), 5, + STATE(235), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(381), 5, + STATE(445), 5, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, - ACTIONS(584), 9, + ACTIONS(676), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11309,37 +12822,37 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [7047] = 10, + [8775] = 10, ACTIONS(3), 1, - sym__comment, - ACTIONS(353), 1, + sym_comment, + ACTIONS(385), 1, anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(357), 1, + ACTIONS(389), 1, anon_sym_fn, - STATE(175), 1, + STATE(208), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(213), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(197), 5, + STATE(235), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(365), 5, + STATE(452), 5, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, - ACTIONS(586), 9, + ACTIONS(678), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11349,37 +12862,37 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [7097] = 10, + [8825] = 10, ACTIONS(3), 1, - sym__comment, - ACTIONS(353), 1, + sym_comment, + ACTIONS(385), 1, anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(357), 1, + ACTIONS(389), 1, anon_sym_fn, - STATE(175), 1, + STATE(208), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(213), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(197), 5, + STATE(235), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(202), 5, + STATE(453), 5, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, - ACTIONS(588), 9, + ACTIONS(680), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11389,37 +12902,37 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [7147] = 10, + [8875] = 10, ACTIONS(3), 1, - sym__comment, - ACTIONS(353), 1, + sym_comment, + ACTIONS(385), 1, anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(357), 1, + ACTIONS(389), 1, anon_sym_fn, - STATE(175), 1, + STATE(208), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(213), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(193), 5, - sym__type, - sym__embedded_type, - sym_type_unit, - sym_type_array, - sym_type_fn, - STATE(197), 5, + STATE(235), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - ACTIONS(590), 9, + STATE(419), 5, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + ACTIONS(682), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11429,37 +12942,37 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [7197] = 10, + [8925] = 10, ACTIONS(3), 1, - sym__comment, - ACTIONS(353), 1, + sym_comment, + ACTIONS(385), 1, anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(495), 1, + ACTIONS(389), 1, anon_sym_fn, - STATE(175), 1, + STATE(208), 1, sym__reserved_identifier, - STATE(270), 1, + STATE(213), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(351), 5, + STATE(235), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(368), 5, + STATE(413), 5, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, - ACTIONS(592), 9, + ACTIONS(684), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11469,37 +12982,37 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [7247] = 10, + [8975] = 10, ACTIONS(3), 1, - sym__comment, - ACTIONS(353), 1, + sym_comment, + ACTIONS(385), 1, anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(357), 1, + ACTIONS(389), 1, anon_sym_fn, - STATE(175), 1, + STATE(208), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(213), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(197), 5, + STATE(235), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(402), 5, + STATE(239), 5, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, - ACTIONS(594), 9, + ACTIONS(686), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11509,37 +13022,37 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [7297] = 10, + [9025] = 10, ACTIONS(3), 1, - sym__comment, - ACTIONS(353), 1, + sym_comment, + ACTIONS(385), 1, anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(357), 1, + ACTIONS(389), 1, anon_sym_fn, - STATE(175), 1, + STATE(208), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(213), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(197), 5, + STATE(235), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(363), 5, + STATE(407), 5, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, - ACTIONS(596), 9, + ACTIONS(688), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11549,37 +13062,37 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [7347] = 10, + [9075] = 10, ACTIONS(3), 1, - sym__comment, - ACTIONS(353), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_fn, + ACTIONS(385), 1, anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(357), 1, - anon_sym_fn, - STATE(175), 1, + STATE(208), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(295), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(197), 5, - sym__name, - sym_type_qualified_name, - sym__simple_name, - sym_qualified_name, - sym_generic_name, - STATE(358), 5, + STATE(226), 5, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, - ACTIONS(598), 9, + STATE(235), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + ACTIONS(690), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11589,37 +13102,78 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [7397] = 10, + [9125] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(411), 1, + anon_sym_DASH, + ACTIONS(634), 1, + sym_add_operator, + ACTIONS(636), 1, + sym_mul_operator, + ACTIONS(638), 1, + sym_pow_operator, + ACTIONS(640), 1, + sym_mod_operator, + STATE(19), 1, + sym_sub_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + STATE(24), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(632), 4, + sym_bit_and_operator, + sym_bit_or_operator, + anon_sym_LT, + anon_sym_GT, + ACTIONS(630), 14, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_and_operator, + sym_or_operator, + sym_shift_left_operator, + sym_shift_right_operator, + sym_bit_xor_operator, + sym_less_equal_operator, + sym_greater_equal_operator, + sym_equals_operator, + sym_not_equals_operator, + anon_sym_RBRACE, + [9177] = 10, ACTIONS(3), 1, - sym__comment, - ACTIONS(353), 1, + sym_comment, + ACTIONS(385), 1, anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(357), 1, + ACTIONS(389), 1, anon_sym_fn, - STATE(175), 1, + STATE(208), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(213), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(197), 5, + STATE(235), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(327), 5, + STATE(434), 5, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, - ACTIONS(600), 9, + ACTIONS(692), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11629,37 +13183,37 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [7447] = 10, + [9227] = 10, ACTIONS(3), 1, - sym__comment, - ACTIONS(353), 1, + sym_comment, + ACTIONS(385), 1, anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(357), 1, + ACTIONS(505), 1, anon_sym_fn, - STATE(175), 1, + STATE(208), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(305), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(197), 5, + STATE(394), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(203), 5, + STATE(410), 5, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, - ACTIONS(602), 9, + ACTIONS(694), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11669,37 +13223,37 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [7497] = 10, + [9277] = 10, ACTIONS(3), 1, - sym__comment, - ACTIONS(353), 1, + sym_comment, + ACTIONS(385), 1, anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(357), 1, + ACTIONS(389), 1, anon_sym_fn, - STATE(175), 1, + STATE(208), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(213), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(197), 5, - sym__name, - sym_type_qualified_name, - sym__simple_name, - sym_qualified_name, - sym_generic_name, - STATE(331), 5, + STATE(226), 5, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, - ACTIONS(604), 9, + STATE(235), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + ACTIONS(690), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11709,157 +13263,468 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [7547] = 10, + [9327] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(413), 1, + sym_mul_operator, + ACTIONS(415), 1, + sym_pow_operator, + ACTIONS(417), 1, + sym_mod_operator, + STATE(46), 1, + sym_sub_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + STATE(55), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(632), 4, + sym_bit_and_operator, + sym_bit_or_operator, + anon_sym_LT, + anon_sym_GT, + ACTIONS(630), 16, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + sym_forall_keyword, + sym_add_operator, + anon_sym_DASH, + sym_and_operator, + sym_or_operator, + sym_shift_left_operator, + sym_shift_right_operator, + sym_bit_xor_operator, + sym_less_equal_operator, + sym_greater_equal_operator, + sym_equals_operator, + sym_not_equals_operator, + anon_sym_LBRACE, + [9375] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(415), 1, + sym_pow_operator, + STATE(46), 1, + sym_sub_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + STATE(55), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(632), 5, + sym_mul_operator, + sym_bit_and_operator, + sym_bit_or_operator, + anon_sym_LT, + anon_sym_GT, + ACTIONS(630), 17, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + sym_forall_keyword, + sym_add_operator, + anon_sym_DASH, + sym_mod_operator, + sym_and_operator, + sym_or_operator, + sym_shift_left_operator, + sym_shift_right_operator, + sym_bit_xor_operator, + sym_less_equal_operator, + sym_greater_equal_operator, + sym_equals_operator, + sym_not_equals_operator, + anon_sym_LBRACE, + [9419] = 6, + ACTIONS(3), 1, + sym_comment, + STATE(46), 1, + sym_sub_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + STATE(55), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(632), 5, + sym_mul_operator, + sym_bit_and_operator, + sym_bit_or_operator, + anon_sym_LT, + anon_sym_GT, + ACTIONS(630), 18, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + sym_forall_keyword, + sym_add_operator, + anon_sym_DASH, + sym_pow_operator, + sym_mod_operator, + sym_and_operator, + sym_or_operator, + sym_shift_left_operator, + sym_shift_right_operator, + sym_bit_xor_operator, + sym_less_equal_operator, + sym_greater_equal_operator, + sym_equals_operator, + sym_not_equals_operator, + anon_sym_LBRACE, + [9461] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(409), 1, + sym_add_operator, + ACTIONS(411), 1, + anon_sym_DASH, + ACTIONS(413), 1, + sym_mul_operator, + ACTIONS(415), 1, + sym_pow_operator, + ACTIONS(417), 1, + sym_mod_operator, + ACTIONS(425), 1, + sym_bit_and_operator, + ACTIONS(427), 1, + sym_bit_or_operator, + ACTIONS(429), 1, + sym_bit_xor_operator, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + STATE(46), 1, + sym_sub_operator, + ACTIONS(423), 2, + sym_shift_left_operator, + sym_shift_right_operator, + ACTIONS(435), 2, + sym_less_equal_operator, + sym_greater_equal_operator, + ACTIONS(437), 2, + sym_equals_operator, + sym_not_equals_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + STATE(55), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(630), 7, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + sym_forall_keyword, + sym_and_operator, + sym_or_operator, + anon_sym_LBRACE, + [9527] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(409), 1, + sym_add_operator, + ACTIONS(411), 1, + anon_sym_DASH, + ACTIONS(413), 1, + sym_mul_operator, + ACTIONS(415), 1, + sym_pow_operator, + ACTIONS(417), 1, + sym_mod_operator, + ACTIONS(419), 1, + sym_and_operator, + ACTIONS(425), 1, + sym_bit_and_operator, + ACTIONS(427), 1, + sym_bit_or_operator, + ACTIONS(429), 1, + sym_bit_xor_operator, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + STATE(46), 1, + sym_sub_operator, + ACTIONS(423), 2, + sym_shift_left_operator, + sym_shift_right_operator, + ACTIONS(435), 2, + sym_less_equal_operator, + sym_greater_equal_operator, + ACTIONS(437), 2, + sym_equals_operator, + sym_not_equals_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + STATE(55), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(630), 6, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + sym_forall_keyword, + sym_or_operator, + anon_sym_LBRACE, + [9595] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(409), 1, + sym_add_operator, + ACTIONS(411), 1, + anon_sym_DASH, + ACTIONS(413), 1, + sym_mul_operator, + ACTIONS(415), 1, + sym_pow_operator, + ACTIONS(417), 1, + sym_mod_operator, + STATE(46), 1, + sym_sub_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + STATE(55), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(632), 4, + sym_bit_and_operator, + sym_bit_or_operator, + anon_sym_LT, + anon_sym_GT, + ACTIONS(630), 14, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + sym_forall_keyword, + sym_and_operator, + sym_or_operator, + sym_shift_left_operator, + sym_shift_right_operator, + sym_bit_xor_operator, + sym_less_equal_operator, + sym_greater_equal_operator, + sym_equals_operator, + sym_not_equals_operator, + anon_sym_LBRACE, + [9647] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(409), 1, + sym_add_operator, + ACTIONS(411), 1, + anon_sym_DASH, + ACTIONS(413), 1, + sym_mul_operator, + ACTIONS(415), 1, + sym_pow_operator, + ACTIONS(417), 1, + sym_mod_operator, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + STATE(46), 1, + sym_sub_operator, + ACTIONS(423), 2, + sym_shift_left_operator, + sym_shift_right_operator, + ACTIONS(435), 2, + sym_less_equal_operator, + sym_greater_equal_operator, + ACTIONS(437), 2, + sym_equals_operator, + sym_not_equals_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(632), 2, + sym_bit_and_operator, + sym_bit_or_operator, + STATE(55), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(630), 8, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + sym_forall_keyword, + sym_and_operator, + sym_or_operator, + sym_bit_xor_operator, + anon_sym_LBRACE, + [9709] = 18, ACTIONS(3), 1, - sym__comment, - ACTIONS(29), 1, - anon_sym_fn, - ACTIONS(353), 1, - anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, - anon_sym_LBRACK, - STATE(175), 1, - sym__reserved_identifier, - STATE(259), 1, - sym_identifier, - ACTIONS(367), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - STATE(193), 5, - sym__type, - sym__embedded_type, - sym_type_unit, - sym_type_array, - sym_type_fn, - STATE(197), 5, - sym__name, - sym_type_qualified_name, - sym__simple_name, - sym_qualified_name, - sym_generic_name, - ACTIONS(590), 9, - sym_type_i8, - sym_type_i16, - sym_type_i32, - sym_type_i64, - sym_type_u8, - sym_type_u16, - sym_type_u32, - sym_type_u64, - sym_type_bool, - [7597] = 10, + sym_comment, + ACTIONS(409), 1, + sym_add_operator, + ACTIONS(411), 1, + anon_sym_DASH, + ACTIONS(413), 1, + sym_mul_operator, + ACTIONS(415), 1, + sym_pow_operator, + ACTIONS(417), 1, + sym_mod_operator, + ACTIONS(425), 1, + sym_bit_and_operator, + ACTIONS(429), 1, + sym_bit_xor_operator, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(632), 1, + sym_bit_or_operator, + STATE(46), 1, + sym_sub_operator, + ACTIONS(423), 2, + sym_shift_left_operator, + sym_shift_right_operator, + ACTIONS(435), 2, + sym_less_equal_operator, + sym_greater_equal_operator, + ACTIONS(437), 2, + sym_equals_operator, + sym_not_equals_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + STATE(55), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(630), 7, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + sym_forall_keyword, + sym_and_operator, + sym_or_operator, + anon_sym_LBRACE, + [9775] = 12, ACTIONS(3), 1, - sym__comment, - ACTIONS(353), 1, - anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, - anon_sym_LBRACK, - ACTIONS(357), 1, - anon_sym_fn, - STATE(175), 1, - sym__reserved_identifier, - STATE(184), 1, - sym_identifier, - ACTIONS(367), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - STATE(197), 5, - sym__name, - sym_type_qualified_name, - sym__simple_name, - sym_qualified_name, - sym_generic_name, - STATE(409), 5, - sym__type, - sym__embedded_type, - sym_type_unit, - sym_type_array, - sym_type_fn, - ACTIONS(606), 9, - sym_type_i8, - sym_type_i16, - sym_type_i32, - sym_type_i64, - sym_type_u8, - sym_type_u16, - sym_type_u32, - sym_type_u64, - sym_type_bool, - [7647] = 10, + sym_comment, + ACTIONS(409), 1, + sym_add_operator, + ACTIONS(411), 1, + anon_sym_DASH, + ACTIONS(413), 1, + sym_mul_operator, + ACTIONS(415), 1, + sym_pow_operator, + ACTIONS(417), 1, + sym_mod_operator, + STATE(46), 1, + sym_sub_operator, + ACTIONS(423), 2, + sym_shift_left_operator, + sym_shift_right_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + STATE(55), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(632), 4, + sym_bit_and_operator, + sym_bit_or_operator, + anon_sym_LT, + anon_sym_GT, + ACTIONS(630), 12, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + sym_forall_keyword, + sym_and_operator, + sym_or_operator, + sym_bit_xor_operator, + sym_less_equal_operator, + sym_greater_equal_operator, + sym_equals_operator, + sym_not_equals_operator, + anon_sym_LBRACE, + [9829] = 15, ACTIONS(3), 1, - sym__comment, - ACTIONS(353), 1, - anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, - anon_sym_LBRACK, - ACTIONS(357), 1, - anon_sym_fn, - STATE(175), 1, - sym__reserved_identifier, - STATE(184), 1, - sym_identifier, - ACTIONS(367), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - STATE(197), 5, - sym__name, - sym_type_qualified_name, - sym__simple_name, - sym_qualified_name, - sym_generic_name, - STATE(396), 5, - sym__type, - sym__embedded_type, - sym_type_unit, - sym_type_array, - sym_type_fn, - ACTIONS(608), 9, - sym_type_i8, - sym_type_i16, - sym_type_i32, - sym_type_i64, - sym_type_u8, - sym_type_u16, - sym_type_u32, - sym_type_u64, - sym_type_bool, - [7697] = 10, + sym_comment, + ACTIONS(409), 1, + sym_add_operator, + ACTIONS(411), 1, + anon_sym_DASH, + ACTIONS(413), 1, + sym_mul_operator, + ACTIONS(415), 1, + sym_pow_operator, + ACTIONS(417), 1, + sym_mod_operator, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + STATE(46), 1, + sym_sub_operator, + ACTIONS(423), 2, + sym_shift_left_operator, + sym_shift_right_operator, + ACTIONS(435), 2, + sym_less_equal_operator, + sym_greater_equal_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(632), 2, + sym_bit_and_operator, + sym_bit_or_operator, + STATE(55), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(630), 10, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + sym_forall_keyword, + sym_and_operator, + sym_or_operator, + sym_bit_xor_operator, + sym_equals_operator, + sym_not_equals_operator, + anon_sym_LBRACE, + [9889] = 10, ACTIONS(3), 1, - sym__comment, - ACTIONS(353), 1, + sym_comment, + ACTIONS(385), 1, anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(495), 1, + ACTIONS(505), 1, anon_sym_fn, - STATE(175), 1, + STATE(208), 1, sym__reserved_identifier, - STATE(270), 1, + STATE(305), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(193), 5, + STATE(226), 5, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, - STATE(351), 5, + STATE(394), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - ACTIONS(590), 9, + ACTIONS(690), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11869,37 +13734,37 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [7747] = 10, + [9939] = 10, ACTIONS(3), 1, - sym__comment, - ACTIONS(353), 1, + sym_comment, + ACTIONS(385), 1, anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(357), 1, + ACTIONS(389), 1, anon_sym_fn, - STATE(175), 1, + STATE(208), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(213), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(197), 5, + STATE(235), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(380), 5, + STATE(237), 5, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, - ACTIONS(610), 9, + ACTIONS(696), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11909,37 +13774,37 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [7797] = 10, + [9989] = 10, ACTIONS(3), 1, - sym__comment, - ACTIONS(353), 1, + sym_comment, + ACTIONS(385), 1, anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(357), 1, + ACTIONS(389), 1, anon_sym_fn, - STATE(175), 1, + STATE(208), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(213), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(197), 5, + STATE(235), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(200), 5, + STATE(238), 5, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, - ACTIONS(612), 9, + ACTIONS(698), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11949,77 +13814,73 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [7847] = 10, + [10039] = 6, ACTIONS(3), 1, - sym__comment, - ACTIONS(353), 1, - anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, - anon_sym_LBRACK, - ACTIONS(357), 1, - anon_sym_fn, - STATE(175), 1, - sym__reserved_identifier, - STATE(184), 1, - sym_identifier, - ACTIONS(367), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - STATE(197), 5, - sym__name, - sym_type_qualified_name, - sym__simple_name, - sym_qualified_name, - sym_generic_name, - STATE(199), 5, - sym__type, - sym__embedded_type, - sym_type_unit, - sym_type_array, - sym_type_fn, - ACTIONS(614), 9, - sym_type_i8, - sym_type_i16, - sym_type_i32, - sym_type_i64, - sym_type_u8, - sym_type_u16, - sym_type_u32, - sym_type_u64, - sym_type_bool, - [7897] = 10, + sym_comment, + STATE(46), 1, + sym_sub_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + STATE(55), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(672), 5, + sym_mul_operator, + sym_bit_and_operator, + sym_bit_or_operator, + anon_sym_LT, + anon_sym_GT, + ACTIONS(670), 18, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + sym_forall_keyword, + sym_add_operator, + anon_sym_DASH, + sym_pow_operator, + sym_mod_operator, + sym_and_operator, + sym_or_operator, + sym_shift_left_operator, + sym_shift_right_operator, + sym_bit_xor_operator, + sym_less_equal_operator, + sym_greater_equal_operator, + sym_equals_operator, + sym_not_equals_operator, + anon_sym_LBRACE, + [10081] = 10, ACTIONS(3), 1, - sym__comment, - ACTIONS(353), 1, + sym_comment, + ACTIONS(385), 1, anon_sym_LPAREN_RPAREN, - ACTIONS(355), 1, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(357), 1, + ACTIONS(389), 1, anon_sym_fn, - STATE(175), 1, + STATE(208), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(213), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(197), 5, + STATE(235), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(401), 5, + STATE(442), 5, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, - ACTIONS(616), 9, + ACTIONS(700), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -12029,275 +13890,424 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [7947] = 22, + [10131] = 19, ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, - sym_add_operator, - ACTIONS(379), 1, + sym_comment, + ACTIONS(411), 1, anon_sym_DASH, - ACTIONS(381), 1, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(634), 1, + sym_add_operator, + ACTIONS(636), 1, sym_mul_operator, - ACTIONS(383), 1, + ACTIONS(638), 1, sym_pow_operator, - ACTIONS(385), 1, + ACTIONS(640), 1, sym_mod_operator, - ACTIONS(387), 1, + ACTIONS(648), 1, + sym_bit_and_operator, + ACTIONS(650), 1, + sym_bit_xor_operator, + ACTIONS(654), 1, sym_and_operator, - ACTIONS(389), 1, + ACTIONS(658), 1, + sym_bit_or_operator, + STATE(19), 1, + sym_sub_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, + sym_shift_left_operator, + sym_shift_right_operator, + ACTIONS(644), 2, + sym_less_equal_operator, + sym_greater_equal_operator, + ACTIONS(646), 2, + sym_equals_operator, + sym_not_equals_operator, + STATE(24), 2, + sym_less_operator, + sym_greater_operator, + ACTIONS(630), 6, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, sym_or_operator, - ACTIONS(393), 1, + anon_sym_RBRACE, + [10199] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(568), 3, + sym_expand_operator, + sym_attribute_access_operator, + anon_sym_LBRACE, + ACTIONS(493), 5, + sym_mul_operator, sym_bit_and_operator, - ACTIONS(395), 1, sym_bit_or_operator, - ACTIONS(397), 1, - sym_bit_xor_operator, - ACTIONS(399), 1, anon_sym_LT, - ACTIONS(401), 1, anon_sym_GT, - ACTIONS(618), 1, - anon_sym_RBRACK, - ACTIONS(620), 1, - anon_sym_COMMA, - STATE(16), 1, - sym_sub_operator, - STATE(336), 1, - aux_sym_array_literal_repeat1, - ACTIONS(391), 2, + ACTIONS(491), 19, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + sym_forall_keyword, + sym_add_operator, + anon_sym_DASH, + sym_pow_operator, + sym_mod_operator, + sym_and_operator, + sym_or_operator, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + sym_bit_xor_operator, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, + [10236] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(525), 3, sym_expand_operator, sym_attribute_access_operator, - STATE(25), 2, - sym_less_operator, - sym_greater_operator, - [8019] = 22, - ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, + anon_sym_LBRACE, + ACTIONS(523), 5, + sym_mul_operator, + sym_bit_and_operator, + sym_bit_or_operator, + anon_sym_LT, + anon_sym_GT, + ACTIONS(521), 19, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + sym_forall_keyword, sym_add_operator, - ACTIONS(379), 1, anon_sym_DASH, - ACTIONS(381), 1, - sym_mul_operator, - ACTIONS(383), 1, sym_pow_operator, - ACTIONS(385), 1, sym_mod_operator, - ACTIONS(387), 1, sym_and_operator, - ACTIONS(389), 1, sym_or_operator, - ACTIONS(393), 1, + sym_shift_left_operator, + sym_shift_right_operator, + sym_bit_xor_operator, + sym_less_equal_operator, + sym_greater_equal_operator, + sym_equals_operator, + sym_not_equals_operator, + [10273] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(571), 2, + anon_sym_SEMI, + anon_sym_LBRACE, + ACTIONS(568), 3, + anon_sym_RBRACK, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(493), 5, + sym_mul_operator, sym_bit_and_operator, - ACTIONS(395), 1, sym_bit_or_operator, - ACTIONS(397), 1, + anon_sym_LT, + anon_sym_GT, + ACTIONS(491), 16, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_COMMA, + sym_add_operator, + anon_sym_DASH, + sym_pow_operator, + sym_mod_operator, + sym_and_operator, + sym_or_operator, + sym_shift_left_operator, + sym_shift_right_operator, sym_bit_xor_operator, - ACTIONS(399), 1, + sym_less_equal_operator, + sym_greater_equal_operator, + sym_equals_operator, + sym_not_equals_operator, + [10311] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(411), 1, + anon_sym_DASH, + ACTIONS(431), 1, anon_sym_LT, - ACTIONS(401), 1, + ACTIONS(433), 1, anon_sym_GT, - ACTIONS(622), 1, + ACTIONS(634), 1, + sym_add_operator, + ACTIONS(636), 1, + sym_mul_operator, + ACTIONS(638), 1, + sym_pow_operator, + ACTIONS(640), 1, + sym_mod_operator, + ACTIONS(648), 1, + sym_bit_and_operator, + ACTIONS(650), 1, + sym_bit_xor_operator, + ACTIONS(654), 1, + sym_and_operator, + ACTIONS(656), 1, + sym_or_operator, + ACTIONS(658), 1, + sym_bit_or_operator, + ACTIONS(702), 1, anon_sym_COMMA, - ACTIONS(624), 1, + ACTIONS(704), 1, anon_sym_RPAREN, - STATE(16), 1, + STATE(19), 1, sym_sub_operator, - STATE(329), 1, + STATE(381), 1, aux_sym_function_call_expression_repeat1, - ACTIONS(391), 2, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + ACTIONS(644), 2, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, + ACTIONS(646), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, - sym_expand_operator, - sym_attribute_access_operator, - STATE(25), 2, + STATE(24), 2, sym_less_operator, sym_greater_operator, - [8091] = 22, + [10383] = 22, ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, - sym_add_operator, - ACTIONS(379), 1, + sym_comment, + ACTIONS(411), 1, anon_sym_DASH, - ACTIONS(381), 1, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(634), 1, + sym_add_operator, + ACTIONS(636), 1, sym_mul_operator, - ACTIONS(383), 1, + ACTIONS(638), 1, sym_pow_operator, - ACTIONS(385), 1, + ACTIONS(640), 1, sym_mod_operator, - ACTIONS(387), 1, + ACTIONS(648), 1, + sym_bit_and_operator, + ACTIONS(650), 1, + sym_bit_xor_operator, + ACTIONS(654), 1, sym_and_operator, - ACTIONS(389), 1, + ACTIONS(656), 1, sym_or_operator, - ACTIONS(393), 1, - sym_bit_and_operator, - ACTIONS(395), 1, + ACTIONS(658), 1, sym_bit_or_operator, - ACTIONS(397), 1, - sym_bit_xor_operator, - ACTIONS(399), 1, - anon_sym_LT, - ACTIONS(401), 1, - anon_sym_GT, - ACTIONS(622), 1, + ACTIONS(702), 1, anon_sym_COMMA, - ACTIONS(626), 1, + ACTIONS(706), 1, anon_sym_RPAREN, - STATE(16), 1, + STATE(19), 1, sym_sub_operator, - STATE(311), 1, + STATE(378), 1, aux_sym_function_call_expression_repeat1, - ACTIONS(391), 2, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + ACTIONS(644), 2, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, + ACTIONS(646), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, + STATE(24), 2, + sym_less_operator, + sym_greater_operator, + [10455] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(411), 1, + anon_sym_DASH, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(634), 1, + sym_add_operator, + ACTIONS(636), 1, + sym_mul_operator, + ACTIONS(638), 1, + sym_pow_operator, + ACTIONS(640), 1, + sym_mod_operator, + ACTIONS(648), 1, + sym_bit_and_operator, + ACTIONS(650), 1, + sym_bit_xor_operator, + ACTIONS(654), 1, + sym_and_operator, + ACTIONS(656), 1, + sym_or_operator, + ACTIONS(658), 1, + sym_bit_or_operator, + ACTIONS(702), 1, + anon_sym_COMMA, + ACTIONS(708), 1, + anon_sym_RPAREN, + STATE(19), 1, + sym_sub_operator, + STATE(368), 1, + aux_sym_function_call_expression_repeat1, + ACTIONS(439), 2, sym_expand_operator, sym_attribute_access_operator, - STATE(25), 2, + ACTIONS(642), 2, + sym_shift_left_operator, + sym_shift_right_operator, + ACTIONS(644), 2, + sym_less_equal_operator, + sym_greater_equal_operator, + ACTIONS(646), 2, + sym_equals_operator, + sym_not_equals_operator, + STATE(24), 2, sym_less_operator, sym_greater_operator, - [8163] = 22, + [10527] = 22, ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, - sym_add_operator, - ACTIONS(379), 1, + sym_comment, + ACTIONS(411), 1, anon_sym_DASH, - ACTIONS(381), 1, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(634), 1, + sym_add_operator, + ACTIONS(636), 1, sym_mul_operator, - ACTIONS(383), 1, + ACTIONS(638), 1, sym_pow_operator, - ACTIONS(385), 1, + ACTIONS(640), 1, sym_mod_operator, - ACTIONS(387), 1, + ACTIONS(648), 1, + sym_bit_and_operator, + ACTIONS(650), 1, + sym_bit_xor_operator, + ACTIONS(654), 1, sym_and_operator, - ACTIONS(389), 1, + ACTIONS(656), 1, sym_or_operator, - ACTIONS(393), 1, - sym_bit_and_operator, - ACTIONS(395), 1, + ACTIONS(658), 1, sym_bit_or_operator, - ACTIONS(397), 1, - sym_bit_xor_operator, - ACTIONS(399), 1, - anon_sym_LT, - ACTIONS(401), 1, - anon_sym_GT, - ACTIONS(622), 1, + ACTIONS(702), 1, anon_sym_COMMA, - ACTIONS(628), 1, + ACTIONS(710), 1, anon_sym_RPAREN, - STATE(16), 1, + STATE(19), 1, sym_sub_operator, - STATE(350), 1, + STATE(362), 1, aux_sym_function_call_expression_repeat1, - ACTIONS(391), 2, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + ACTIONS(644), 2, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, + ACTIONS(646), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, - sym_expand_operator, - sym_attribute_access_operator, - STATE(25), 2, + STATE(24), 2, sym_less_operator, sym_greater_operator, - [8235] = 22, + [10599] = 22, ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, - sym_add_operator, - ACTIONS(379), 1, + sym_comment, + ACTIONS(411), 1, anon_sym_DASH, - ACTIONS(381), 1, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(634), 1, + sym_add_operator, + ACTIONS(636), 1, sym_mul_operator, - ACTIONS(383), 1, + ACTIONS(638), 1, sym_pow_operator, - ACTIONS(385), 1, + ACTIONS(640), 1, sym_mod_operator, - ACTIONS(387), 1, + ACTIONS(648), 1, + sym_bit_and_operator, + ACTIONS(650), 1, + sym_bit_xor_operator, + ACTIONS(654), 1, sym_and_operator, - ACTIONS(389), 1, + ACTIONS(656), 1, sym_or_operator, - ACTIONS(393), 1, - sym_bit_and_operator, - ACTIONS(395), 1, + ACTIONS(658), 1, sym_bit_or_operator, - ACTIONS(397), 1, - sym_bit_xor_operator, - ACTIONS(399), 1, - anon_sym_LT, - ACTIONS(401), 1, - anon_sym_GT, - ACTIONS(622), 1, + ACTIONS(712), 1, + anon_sym_RBRACK, + ACTIONS(714), 1, anon_sym_COMMA, - ACTIONS(630), 1, - anon_sym_RPAREN, - STATE(16), 1, + STATE(19), 1, sym_sub_operator, - STATE(316), 1, - aux_sym_function_call_expression_repeat1, - ACTIONS(391), 2, + STATE(356), 1, + aux_sym_array_literal_repeat1, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + ACTIONS(644), 2, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, + ACTIONS(646), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, - sym_expand_operator, - sym_attribute_access_operator, - STATE(25), 2, + STATE(24), 2, sym_less_operator, sym_greater_operator, - [8307] = 7, + [10671] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(485), 1, - anon_sym_LBRACK, - ACTIONS(489), 1, - anon_sym_LPAREN, - ACTIONS(632), 1, - sym_assign_operator, - STATE(403), 1, - sym_type_argument_list, - ACTIONS(491), 5, + sym_comment, + ACTIONS(528), 2, + anon_sym_SEMI, + anon_sym_LBRACE, + ACTIONS(525), 3, + anon_sym_RBRACK, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(523), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - ACTIONS(487), 16, - anon_sym_SEMI, + ACTIONS(521), 16, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_COMMA, sym_add_operator, anon_sym_DASH, sym_pow_operator, @@ -12311,608 +14321,623 @@ static const uint16_t ts_small_parse_table[] = { sym_greater_equal_operator, sym_equals_operator, sym_not_equals_operator, - sym_expand_operator, - sym_attribute_access_operator, - [8348] = 21, + [10709] = 21, ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, - sym_add_operator, - ACTIONS(379), 1, + sym_comment, + ACTIONS(411), 1, anon_sym_DASH, - ACTIONS(381), 1, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(634), 1, + sym_add_operator, + ACTIONS(636), 1, sym_mul_operator, - ACTIONS(383), 1, + ACTIONS(638), 1, sym_pow_operator, - ACTIONS(385), 1, + ACTIONS(640), 1, sym_mod_operator, - ACTIONS(387), 1, + ACTIONS(648), 1, + sym_bit_and_operator, + ACTIONS(650), 1, + sym_bit_xor_operator, + ACTIONS(654), 1, sym_and_operator, - ACTIONS(389), 1, + ACTIONS(656), 1, sym_or_operator, - ACTIONS(393), 1, - sym_bit_and_operator, - ACTIONS(395), 1, + ACTIONS(658), 1, sym_bit_or_operator, - ACTIONS(397), 1, - sym_bit_xor_operator, - ACTIONS(399), 1, - anon_sym_LT, - ACTIONS(401), 1, - anon_sym_GT, - ACTIONS(634), 1, + ACTIONS(716), 1, anon_sym_SEMI, - STATE(16), 1, + STATE(19), 1, sym_sub_operator, - STATE(72), 1, + STATE(88), 1, sym__terminal_symbol, - ACTIONS(391), 2, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + ACTIONS(644), 2, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, + ACTIONS(646), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, - sym_expand_operator, - sym_attribute_access_operator, - STATE(25), 2, + STATE(24), 2, sym_less_operator, sym_greater_operator, - [8417] = 21, + [10778] = 21, ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, - sym_add_operator, - ACTIONS(379), 1, + sym_comment, + ACTIONS(411), 1, anon_sym_DASH, - ACTIONS(381), 1, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(634), 1, + sym_add_operator, + ACTIONS(636), 1, sym_mul_operator, - ACTIONS(383), 1, + ACTIONS(638), 1, sym_pow_operator, - ACTIONS(385), 1, + ACTIONS(640), 1, sym_mod_operator, - ACTIONS(387), 1, + ACTIONS(648), 1, + sym_bit_and_operator, + ACTIONS(650), 1, + sym_bit_xor_operator, + ACTIONS(654), 1, sym_and_operator, - ACTIONS(389), 1, + ACTIONS(656), 1, sym_or_operator, - ACTIONS(393), 1, - sym_bit_and_operator, - ACTIONS(395), 1, + ACTIONS(658), 1, sym_bit_or_operator, - ACTIONS(397), 1, - sym_bit_xor_operator, - ACTIONS(399), 1, - anon_sym_LT, - ACTIONS(401), 1, - anon_sym_GT, - ACTIONS(636), 1, + ACTIONS(718), 1, anon_sym_SEMI, - STATE(16), 1, + STATE(19), 1, sym_sub_operator, - STATE(59), 1, + STATE(78), 1, sym__terminal_symbol, - ACTIONS(391), 2, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + ACTIONS(644), 2, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, + ACTIONS(646), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, - sym_expand_operator, - sym_attribute_access_operator, - STATE(25), 2, + STATE(24), 2, sym_less_operator, sym_greater_operator, - [8486] = 20, + [10847] = 20, ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, - sym_add_operator, - ACTIONS(379), 1, + sym_comment, + ACTIONS(411), 1, anon_sym_DASH, - ACTIONS(381), 1, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(634), 1, + sym_add_operator, + ACTIONS(636), 1, sym_mul_operator, - ACTIONS(383), 1, + ACTIONS(638), 1, sym_pow_operator, - ACTIONS(385), 1, + ACTIONS(640), 1, sym_mod_operator, - ACTIONS(387), 1, + ACTIONS(648), 1, + sym_bit_and_operator, + ACTIONS(650), 1, + sym_bit_xor_operator, + ACTIONS(654), 1, sym_and_operator, - ACTIONS(389), 1, + ACTIONS(656), 1, sym_or_operator, - ACTIONS(393), 1, - sym_bit_and_operator, - ACTIONS(395), 1, + ACTIONS(658), 1, sym_bit_or_operator, - ACTIONS(397), 1, - sym_bit_xor_operator, - ACTIONS(399), 1, - anon_sym_LT, - ACTIONS(401), 1, - anon_sym_GT, - STATE(16), 1, + STATE(19), 1, sym_sub_operator, - ACTIONS(391), 2, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + ACTIONS(644), 2, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, + ACTIONS(646), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, - sym_expand_operator, - sym_attribute_access_operator, - ACTIONS(638), 2, - anon_sym_RBRACK, + ACTIONS(720), 2, anon_sym_COMMA, - STATE(25), 2, + anon_sym_RPAREN, + STATE(24), 2, sym_less_operator, sym_greater_operator, - [8553] = 21, + [10914] = 21, ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, - sym_add_operator, - ACTIONS(379), 1, + sym_comment, + ACTIONS(411), 1, anon_sym_DASH, - ACTIONS(381), 1, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(634), 1, + sym_add_operator, + ACTIONS(636), 1, sym_mul_operator, - ACTIONS(383), 1, + ACTIONS(638), 1, sym_pow_operator, - ACTIONS(385), 1, + ACTIONS(640), 1, sym_mod_operator, - ACTIONS(387), 1, + ACTIONS(648), 1, + sym_bit_and_operator, + ACTIONS(650), 1, + sym_bit_xor_operator, + ACTIONS(654), 1, sym_and_operator, - ACTIONS(389), 1, + ACTIONS(656), 1, sym_or_operator, - ACTIONS(393), 1, - sym_bit_and_operator, - ACTIONS(395), 1, + ACTIONS(658), 1, sym_bit_or_operator, - ACTIONS(397), 1, - sym_bit_xor_operator, - ACTIONS(399), 1, - anon_sym_LT, - ACTIONS(401), 1, - anon_sym_GT, - ACTIONS(640), 1, + ACTIONS(722), 1, anon_sym_SEMI, - STATE(16), 1, + STATE(19), 1, sym_sub_operator, - STATE(56), 1, + STATE(69), 1, sym__terminal_symbol, - ACTIONS(391), 2, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + ACTIONS(644), 2, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, + ACTIONS(646), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, - sym_expand_operator, - sym_attribute_access_operator, - STATE(25), 2, + STATE(24), 2, sym_less_operator, sym_greater_operator, - [8622] = 20, + [10983] = 21, ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, - sym_add_operator, - ACTIONS(379), 1, + sym_comment, + ACTIONS(411), 1, anon_sym_DASH, - ACTIONS(381), 1, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(634), 1, + sym_add_operator, + ACTIONS(636), 1, sym_mul_operator, - ACTIONS(383), 1, + ACTIONS(638), 1, sym_pow_operator, - ACTIONS(385), 1, + ACTIONS(640), 1, sym_mod_operator, - ACTIONS(387), 1, + ACTIONS(648), 1, + sym_bit_and_operator, + ACTIONS(650), 1, + sym_bit_xor_operator, + ACTIONS(654), 1, sym_and_operator, - ACTIONS(389), 1, + ACTIONS(656), 1, sym_or_operator, - ACTIONS(393), 1, - sym_bit_and_operator, - ACTIONS(395), 1, + ACTIONS(658), 1, sym_bit_or_operator, - ACTIONS(397), 1, - sym_bit_xor_operator, - ACTIONS(399), 1, - anon_sym_LT, - ACTIONS(401), 1, - anon_sym_GT, - STATE(16), 1, + ACTIONS(724), 1, + anon_sym_SEMI, + STATE(19), 1, sym_sub_operator, - ACTIONS(391), 2, + STATE(75), 1, + sym__terminal_symbol, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + ACTIONS(644), 2, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, + ACTIONS(646), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, - sym_expand_operator, - sym_attribute_access_operator, - ACTIONS(642), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - STATE(25), 2, + STATE(24), 2, sym_less_operator, sym_greater_operator, - [8689] = 21, + [11052] = 7, ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, - sym_add_operator, - ACTIONS(379), 1, - anon_sym_DASH, - ACTIONS(381), 1, + sym_comment, + ACTIONS(495), 1, + anon_sym_LBRACK, + ACTIONS(499), 1, + anon_sym_LPAREN, + ACTIONS(726), 1, + sym_assign_operator, + STATE(448), 1, + sym_type_argument_list, + ACTIONS(501), 5, sym_mul_operator, - ACTIONS(383), 1, - sym_pow_operator, - ACTIONS(385), 1, - sym_mod_operator, - ACTIONS(387), 1, - sym_and_operator, - ACTIONS(389), 1, - sym_or_operator, - ACTIONS(393), 1, sym_bit_and_operator, - ACTIONS(395), 1, sym_bit_or_operator, - ACTIONS(397), 1, - sym_bit_xor_operator, - ACTIONS(399), 1, anon_sym_LT, - ACTIONS(401), 1, anon_sym_GT, - ACTIONS(644), 1, + ACTIONS(497), 16, anon_sym_SEMI, - STATE(16), 1, - sym_sub_operator, - STATE(222), 1, - sym__terminal_symbol, - ACTIONS(391), 2, + sym_add_operator, + anon_sym_DASH, + sym_pow_operator, + sym_mod_operator, + sym_and_operator, + sym_or_operator, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + sym_bit_xor_operator, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, sym_expand_operator, sym_attribute_access_operator, - STATE(25), 2, - sym_less_operator, - sym_greater_operator, - [8758] = 21, + [11093] = 20, ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, - sym_add_operator, - ACTIONS(379), 1, + sym_comment, + ACTIONS(411), 1, anon_sym_DASH, - ACTIONS(381), 1, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(634), 1, + sym_add_operator, + ACTIONS(636), 1, sym_mul_operator, - ACTIONS(383), 1, + ACTIONS(638), 1, sym_pow_operator, - ACTIONS(385), 1, + ACTIONS(640), 1, sym_mod_operator, - ACTIONS(387), 1, + ACTIONS(648), 1, + sym_bit_and_operator, + ACTIONS(650), 1, + sym_bit_xor_operator, + ACTIONS(654), 1, sym_and_operator, - ACTIONS(389), 1, + ACTIONS(656), 1, sym_or_operator, - ACTIONS(393), 1, - sym_bit_and_operator, - ACTIONS(395), 1, + ACTIONS(658), 1, sym_bit_or_operator, - ACTIONS(397), 1, - sym_bit_xor_operator, - ACTIONS(399), 1, - anon_sym_LT, - ACTIONS(401), 1, - anon_sym_GT, - ACTIONS(646), 1, - anon_sym_SEMI, - STATE(16), 1, + STATE(19), 1, sym_sub_operator, - STATE(60), 1, - sym__terminal_symbol, - ACTIONS(391), 2, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + ACTIONS(644), 2, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, + ACTIONS(646), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, - sym_expand_operator, - sym_attribute_access_operator, - STATE(25), 2, + ACTIONS(728), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(24), 2, sym_less_operator, sym_greater_operator, - [8827] = 20, + [11160] = 20, ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, - sym_add_operator, - ACTIONS(379), 1, + sym_comment, + ACTIONS(411), 1, anon_sym_DASH, - ACTIONS(381), 1, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(634), 1, + sym_add_operator, + ACTIONS(636), 1, sym_mul_operator, - ACTIONS(383), 1, + ACTIONS(638), 1, sym_pow_operator, - ACTIONS(385), 1, + ACTIONS(640), 1, sym_mod_operator, - ACTIONS(387), 1, + ACTIONS(648), 1, + sym_bit_and_operator, + ACTIONS(650), 1, + sym_bit_xor_operator, + ACTIONS(654), 1, sym_and_operator, - ACTIONS(389), 1, + ACTIONS(656), 1, sym_or_operator, - ACTIONS(393), 1, - sym_bit_and_operator, - ACTIONS(395), 1, + ACTIONS(658), 1, sym_bit_or_operator, - ACTIONS(397), 1, - sym_bit_xor_operator, - ACTIONS(399), 1, - anon_sym_LT, - ACTIONS(401), 1, - anon_sym_GT, - STATE(16), 1, + STATE(19), 1, sym_sub_operator, - ACTIONS(391), 2, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + ACTIONS(644), 2, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, + ACTIONS(646), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, - sym_expand_operator, - sym_attribute_access_operator, - ACTIONS(648), 2, + ACTIONS(730), 2, + anon_sym_RBRACK, anon_sym_COMMA, - anon_sym_RPAREN, - STATE(25), 2, + STATE(24), 2, sym_less_operator, sym_greater_operator, - [8894] = 5, + [11227] = 20, ACTIONS(3), 1, - sym__comment, - ACTIONS(650), 1, - anon_sym_SEMI, - ACTIONS(470), 3, - anon_sym_RBRACK, - sym_expand_operator, - sym_attribute_access_operator, - ACTIONS(468), 5, - sym_mul_operator, - sym_bit_and_operator, - sym_bit_or_operator, + sym_comment, + ACTIONS(411), 1, + anon_sym_DASH, + ACTIONS(431), 1, anon_sym_LT, + ACTIONS(433), 1, anon_sym_GT, - ACTIONS(464), 16, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_COMMA, + ACTIONS(634), 1, sym_add_operator, - anon_sym_DASH, + ACTIONS(636), 1, + sym_mul_operator, + ACTIONS(638), 1, sym_pow_operator, + ACTIONS(640), 1, sym_mod_operator, + ACTIONS(648), 1, + sym_bit_and_operator, + ACTIONS(650), 1, + sym_bit_xor_operator, + ACTIONS(654), 1, sym_and_operator, + ACTIONS(656), 1, sym_or_operator, + ACTIONS(658), 1, + sym_bit_or_operator, + STATE(19), 1, + sym_sub_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, sym_shift_left_operator, sym_shift_right_operator, - sym_bit_xor_operator, + ACTIONS(644), 2, sym_less_equal_operator, sym_greater_equal_operator, + ACTIONS(646), 2, sym_equals_operator, sym_not_equals_operator, - [8931] = 21, + ACTIONS(732), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + STATE(24), 2, + sym_less_operator, + sym_greater_operator, + [11294] = 21, ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, - sym_add_operator, - ACTIONS(379), 1, + sym_comment, + ACTIONS(411), 1, anon_sym_DASH, - ACTIONS(381), 1, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(634), 1, + sym_add_operator, + ACTIONS(636), 1, sym_mul_operator, - ACTIONS(383), 1, + ACTIONS(638), 1, sym_pow_operator, - ACTIONS(385), 1, + ACTIONS(640), 1, sym_mod_operator, - ACTIONS(387), 1, + ACTIONS(648), 1, + sym_bit_and_operator, + ACTIONS(650), 1, + sym_bit_xor_operator, + ACTIONS(654), 1, sym_and_operator, - ACTIONS(389), 1, + ACTIONS(656), 1, sym_or_operator, - ACTIONS(393), 1, - sym_bit_and_operator, - ACTIONS(395), 1, + ACTIONS(658), 1, sym_bit_or_operator, - ACTIONS(397), 1, - sym_bit_xor_operator, - ACTIONS(399), 1, - anon_sym_LT, - ACTIONS(401), 1, - anon_sym_GT, - ACTIONS(652), 1, + ACTIONS(734), 1, anon_sym_SEMI, - STATE(16), 1, + STATE(19), 1, sym_sub_operator, STATE(70), 1, sym__terminal_symbol, - ACTIONS(391), 2, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + ACTIONS(644), 2, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, + ACTIONS(646), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, - sym_expand_operator, - sym_attribute_access_operator, - STATE(25), 2, + STATE(24), 2, sym_less_operator, sym_greater_operator, - [9000] = 5, + [11363] = 21, ACTIONS(3), 1, - sym__comment, - ACTIONS(654), 1, - anon_sym_SEMI, - ACTIONS(437), 3, - anon_sym_RBRACK, - sym_expand_operator, - sym_attribute_access_operator, - ACTIONS(435), 5, - sym_mul_operator, - sym_bit_and_operator, - sym_bit_or_operator, + sym_comment, + ACTIONS(411), 1, + anon_sym_DASH, + ACTIONS(431), 1, anon_sym_LT, + ACTIONS(433), 1, anon_sym_GT, - ACTIONS(431), 16, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_COMMA, + ACTIONS(634), 1, sym_add_operator, - anon_sym_DASH, + ACTIONS(636), 1, + sym_mul_operator, + ACTIONS(638), 1, sym_pow_operator, + ACTIONS(640), 1, sym_mod_operator, + ACTIONS(648), 1, + sym_bit_and_operator, + ACTIONS(650), 1, + sym_bit_xor_operator, + ACTIONS(654), 1, sym_and_operator, + ACTIONS(656), 1, sym_or_operator, + ACTIONS(658), 1, + sym_bit_or_operator, + ACTIONS(736), 1, + anon_sym_SEMI, + STATE(19), 1, + sym_sub_operator, + STATE(87), 1, + sym__terminal_symbol, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, sym_shift_left_operator, sym_shift_right_operator, - sym_bit_xor_operator, + ACTIONS(644), 2, sym_less_equal_operator, sym_greater_equal_operator, + ACTIONS(646), 2, sym_equals_operator, sym_not_equals_operator, - [9037] = 21, + STATE(24), 2, + sym_less_operator, + sym_greater_operator, + [11432] = 21, ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, - sym_add_operator, - ACTIONS(379), 1, + sym_comment, + ACTIONS(411), 1, anon_sym_DASH, - ACTIONS(381), 1, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(634), 1, + sym_add_operator, + ACTIONS(636), 1, sym_mul_operator, - ACTIONS(383), 1, + ACTIONS(638), 1, sym_pow_operator, - ACTIONS(385), 1, + ACTIONS(640), 1, sym_mod_operator, - ACTIONS(387), 1, - sym_and_operator, - ACTIONS(389), 1, - sym_or_operator, - ACTIONS(393), 1, + ACTIONS(648), 1, sym_bit_and_operator, - ACTIONS(395), 1, - sym_bit_or_operator, - ACTIONS(397), 1, + ACTIONS(650), 1, sym_bit_xor_operator, - ACTIONS(399), 1, - anon_sym_LT, - ACTIONS(401), 1, - anon_sym_GT, + ACTIONS(654), 1, + sym_and_operator, ACTIONS(656), 1, + sym_or_operator, + ACTIONS(658), 1, + sym_bit_or_operator, + ACTIONS(738), 1, anon_sym_SEMI, - STATE(16), 1, + STATE(19), 1, sym_sub_operator, - STATE(69), 1, + STATE(71), 1, sym__terminal_symbol, - ACTIONS(391), 2, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + ACTIONS(644), 2, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, + ACTIONS(646), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, - sym_expand_operator, - sym_attribute_access_operator, - STATE(25), 2, + STATE(24), 2, sym_less_operator, sym_greater_operator, - [9106] = 21, + [11501] = 21, ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, - sym_add_operator, - ACTIONS(379), 1, + sym_comment, + ACTIONS(411), 1, anon_sym_DASH, - ACTIONS(381), 1, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(634), 1, + sym_add_operator, + ACTIONS(636), 1, sym_mul_operator, - ACTIONS(383), 1, + ACTIONS(638), 1, sym_pow_operator, - ACTIONS(385), 1, + ACTIONS(640), 1, sym_mod_operator, - ACTIONS(387), 1, - sym_and_operator, - ACTIONS(389), 1, - sym_or_operator, - ACTIONS(393), 1, + ACTIONS(648), 1, sym_bit_and_operator, - ACTIONS(395), 1, - sym_bit_or_operator, - ACTIONS(397), 1, + ACTIONS(650), 1, sym_bit_xor_operator, - ACTIONS(399), 1, - anon_sym_LT, - ACTIONS(401), 1, - anon_sym_GT, + ACTIONS(654), 1, + sym_and_operator, + ACTIONS(656), 1, + sym_or_operator, ACTIONS(658), 1, + sym_bit_or_operator, + ACTIONS(740), 1, anon_sym_SEMI, - STATE(16), 1, + STATE(19), 1, sym_sub_operator, - STATE(73), 1, + STATE(242), 1, sym__terminal_symbol, - ACTIONS(391), 2, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + ACTIONS(644), 2, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, + ACTIONS(646), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, - sym_expand_operator, - sym_attribute_access_operator, - STATE(25), 2, + STATE(24), 2, sym_less_operator, sym_greater_operator, - [9175] = 3, + [11570] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(662), 6, + sym_comment, + ACTIONS(744), 6, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, sym_uzumaki_keyword, sym_unary_not, anon_sym_DASH, anon_sym_DQUOTE, - ACTIONS(660), 18, + ACTIONS(742), 18, sym_type_i8, sym_type_i16, sym_type_i32, @@ -12931,17 +14956,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [9207] = 3, + [11602] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(666), 6, + sym_comment, + ACTIONS(748), 6, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, sym_uzumaki_keyword, sym_unary_not, anon_sym_DASH, anon_sym_DQUOTE, - ACTIONS(664), 18, + ACTIONS(746), 18, sym_type_i8, sym_type_i16, sym_type_i32, @@ -12960,17 +14985,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [9239] = 3, + [11634] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(670), 6, + sym_comment, + ACTIONS(752), 6, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, sym_uzumaki_keyword, sym_unary_not, anon_sym_DASH, anon_sym_DQUOTE, - ACTIONS(668), 18, + ACTIONS(750), 18, sym_type_i8, sym_type_i16, sym_type_i32, @@ -12989,138 +15014,138 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [9271] = 20, + [11666] = 20, ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, - sym_add_operator, - ACTIONS(379), 1, + sym_comment, + ACTIONS(411), 1, anon_sym_DASH, - ACTIONS(381), 1, + ACTIONS(431), 1, + anon_sym_LT, + ACTIONS(433), 1, + anon_sym_GT, + ACTIONS(634), 1, + sym_add_operator, + ACTIONS(636), 1, sym_mul_operator, - ACTIONS(383), 1, + ACTIONS(638), 1, sym_pow_operator, - ACTIONS(385), 1, + ACTIONS(640), 1, sym_mod_operator, - ACTIONS(387), 1, + ACTIONS(648), 1, + sym_bit_and_operator, + ACTIONS(650), 1, + sym_bit_xor_operator, + ACTIONS(654), 1, sym_and_operator, - ACTIONS(389), 1, + ACTIONS(656), 1, sym_or_operator, - ACTIONS(393), 1, - sym_bit_and_operator, - ACTIONS(395), 1, + ACTIONS(658), 1, sym_bit_or_operator, - ACTIONS(397), 1, - sym_bit_xor_operator, - ACTIONS(399), 1, - anon_sym_LT, - ACTIONS(401), 1, - anon_sym_GT, - ACTIONS(672), 1, + ACTIONS(754), 1, anon_sym_RBRACK, - STATE(16), 1, + STATE(19), 1, sym_sub_operator, - ACTIONS(391), 2, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + ACTIONS(644), 2, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, + ACTIONS(646), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, - sym_expand_operator, - sym_attribute_access_operator, - STATE(25), 2, + STATE(24), 2, sym_less_operator, sym_greater_operator, - [9337] = 5, + [11732] = 19, ACTIONS(3), 1, - sym__comment, - ACTIONS(674), 1, - anon_sym_SEMI, - ACTIONS(571), 3, - anon_sym_RBRACK, - sym_expand_operator, - sym_attribute_access_operator, - ACTIONS(569), 5, - sym_mul_operator, - sym_bit_and_operator, - sym_bit_or_operator, + sym_comment, + ACTIONS(411), 1, + anon_sym_DASH, + ACTIONS(431), 1, anon_sym_LT, + ACTIONS(433), 1, anon_sym_GT, - ACTIONS(567), 14, - anon_sym_COMMA, + ACTIONS(634), 1, sym_add_operator, - anon_sym_DASH, + ACTIONS(636), 1, + sym_mul_operator, + ACTIONS(638), 1, sym_pow_operator, + ACTIONS(640), 1, sym_mod_operator, + ACTIONS(648), 1, + sym_bit_and_operator, + ACTIONS(650), 1, + sym_bit_xor_operator, + ACTIONS(654), 1, sym_and_operator, + ACTIONS(656), 1, sym_or_operator, + ACTIONS(658), 1, + sym_bit_or_operator, + STATE(19), 1, + sym_sub_operator, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(642), 2, sym_shift_left_operator, sym_shift_right_operator, - sym_bit_xor_operator, + ACTIONS(644), 2, sym_less_equal_operator, sym_greater_equal_operator, + ACTIONS(646), 2, sym_equals_operator, sym_not_equals_operator, - [9372] = 19, + STATE(24), 2, + sym_less_operator, + sym_greater_operator, + [11795] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(377), 1, + sym_comment, + ACTIONS(756), 1, + anon_sym_SEMI, + ACTIONS(603), 3, + anon_sym_RBRACK, + sym_expand_operator, + sym_attribute_access_operator, + ACTIONS(601), 5, + sym_mul_operator, + sym_bit_and_operator, + sym_bit_or_operator, + anon_sym_LT, + anon_sym_GT, + ACTIONS(599), 14, + anon_sym_COMMA, sym_add_operator, - ACTIONS(379), 1, anon_sym_DASH, - ACTIONS(381), 1, - sym_mul_operator, - ACTIONS(383), 1, sym_pow_operator, - ACTIONS(385), 1, sym_mod_operator, - ACTIONS(387), 1, sym_and_operator, - ACTIONS(389), 1, sym_or_operator, - ACTIONS(393), 1, - sym_bit_and_operator, - ACTIONS(395), 1, - sym_bit_or_operator, - ACTIONS(397), 1, - sym_bit_xor_operator, - ACTIONS(399), 1, - anon_sym_LT, - ACTIONS(401), 1, - anon_sym_GT, - STATE(16), 1, - sym_sub_operator, - ACTIONS(391), 2, sym_shift_left_operator, sym_shift_right_operator, - ACTIONS(403), 2, + sym_bit_xor_operator, sym_less_equal_operator, sym_greater_equal_operator, - ACTIONS(405), 2, sym_equals_operator, sym_not_equals_operator, - ACTIONS(407), 2, - sym_expand_operator, - sym_attribute_access_operator, - STATE(25), 2, - sym_less_operator, - sym_greater_operator, - [9435] = 4, + [11830] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(676), 1, + sym_comment, + ACTIONS(758), 1, anon_sym_RPAREN, - ACTIONS(491), 5, + ACTIONS(501), 5, sym_mul_operator, sym_bit_and_operator, sym_bit_or_operator, anon_sym_LT, anon_sym_GT, - ACTIONS(487), 15, + ACTIONS(497), 15, sym_add_operator, anon_sym_DASH, sym_pow_operator, @@ -13136,30 +15161,30 @@ static const uint16_t ts_small_parse_table[] = { sym_not_equals_operator, sym_expand_operator, sym_attribute_access_operator, - [9466] = 12, + [11861] = 12, ACTIONS(3), 1, - sym__comment, - ACTIONS(678), 1, + sym_comment, + ACTIONS(760), 1, ts_builtin_sym_end, - ACTIONS(680), 1, + ACTIONS(762), 1, anon_sym_fn, - ACTIONS(683), 1, + ACTIONS(765), 1, anon_sym_type, - ACTIONS(686), 1, + ACTIONS(768), 1, anon_sym_const, - ACTIONS(689), 1, + ACTIONS(771), 1, anon_sym_spec, - ACTIONS(692), 1, + ACTIONS(774), 1, anon_sym_enum, - ACTIONS(695), 1, + ACTIONS(777), 1, anon_sym_struct, - ACTIONS(698), 1, + ACTIONS(780), 1, anon_sym_external, - ACTIONS(701), 1, + ACTIONS(783), 1, anon_sym_use, - STATE(267), 1, + STATE(311), 1, sym_function_keyword, - STATE(171), 10, + STATE(206), 10, sym__definition, sym_type_definition_statement, sym_constant_definition, @@ -13170,9 +15195,9 @@ static const uint16_t ts_small_parse_table[] = { sym_external_function_definition, sym_use_directive, aux_sym_source_file_repeat1, - [9512] = 12, + [11907] = 12, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(7), 1, anon_sym_fn, ACTIONS(9), 1, @@ -13189,11 +15214,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_external, ACTIONS(21), 1, anon_sym_use, - ACTIONS(704), 1, + ACTIONS(786), 1, ts_builtin_sym_end, - STATE(267), 1, + STATE(311), 1, sym_function_keyword, - STATE(171), 10, + STATE(206), 10, sym__definition, sym_type_definition_statement, sym_constant_definition, @@ -13204,9 +15229,31 @@ static const uint16_t ts_small_parse_table[] = { sym_external_function_definition, sym_use_directive, aux_sym_source_file_repeat1, - [9558] = 11, + [11953] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(469), 1, + anon_sym_COLON, + ACTIONS(467), 16, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + sym_forall_keyword, + anon_sym_LT, + anon_sym_GT, + sym_assign_operator, + sym_expand_operator, + sym_attribute_access_operator, + anon_sym_LBRACE, + anon_sym_RBRACE, + [11978] = 11, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(7), 1, anon_sym_fn, ACTIONS(9), 1, @@ -13219,13 +15266,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, ACTIONS(19), 1, anon_sym_external, - ACTIONS(706), 1, + ACTIONS(788), 1, anon_sym_RBRACE, - STATE(230), 1, + STATE(262), 1, sym__rcb_symbol, - STATE(267), 1, + STATE(311), 1, sym_function_keyword, - STATE(174), 8, + STATE(210), 8, sym__definition, sym_type_definition_statement, sym_constant_definition, @@ -13234,9 +15281,9 @@ static const uint16_t ts_small_parse_table[] = { sym_function_definition, sym_external_function_definition, aux_sym_spec_definition_repeat1, - [9599] = 11, + [12019] = 11, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(7), 1, anon_sym_fn, ACTIONS(9), 1, @@ -13249,13 +15296,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, ACTIONS(19), 1, anon_sym_external, - ACTIONS(708), 1, + ACTIONS(790), 1, anon_sym_RBRACE, - STATE(225), 1, + STATE(270), 1, sym__rcb_symbol, - STATE(267), 1, + STATE(311), 1, sym_function_keyword, - STATE(177), 8, + STATE(212), 8, sym__definition, sym_type_definition_statement, sym_constant_definition, @@ -13264,35 +15311,13 @@ static const uint16_t ts_small_parse_table[] = { sym_function_definition, sym_external_function_definition, aux_sym_spec_definition_repeat1, - [9640] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(458), 1, - anon_sym_COLON, - ACTIONS(456), 16, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_assume, - anon_sym_exists, - anon_sym_unique, - sym_forall_keyword, - anon_sym_LT, - anon_sym_GT, - sym_assign_operator, - sym_expand_operator, - sym_attribute_access_operator, - anon_sym_LBRACE, - anon_sym_RBRACE, - [9665] = 3, + [12060] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(712), 2, + sym_comment, + ACTIONS(794), 2, anon_sym_LPAREN_RPAREN, anon_sym_LBRACK, - ACTIONS(710), 14, + ACTIONS(792), 14, sym_type_i8, sym_type_i16, sym_type_i32, @@ -13307,26 +15332,26 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [9689] = 10, + [12084] = 10, ACTIONS(3), 1, - sym__comment, - ACTIONS(714), 1, + sym_comment, + ACTIONS(796), 1, anon_sym_fn, - ACTIONS(717), 1, + ACTIONS(799), 1, anon_sym_type, - ACTIONS(720), 1, + ACTIONS(802), 1, anon_sym_const, - ACTIONS(723), 1, + ACTIONS(805), 1, anon_sym_enum, - ACTIONS(726), 1, + ACTIONS(808), 1, anon_sym_struct, - ACTIONS(729), 1, + ACTIONS(811), 1, anon_sym_external, - ACTIONS(732), 1, + ACTIONS(814), 1, anon_sym_RBRACE, - STATE(267), 1, + STATE(311), 1, sym_function_keyword, - STATE(177), 8, + STATE(212), 8, sym__definition, sym_type_definition_statement, sym_constant_definition, @@ -13335,16 +15360,39 @@ static const uint16_t ts_small_parse_table[] = { sym_function_definition, sym_external_function_definition, aux_sym_spec_definition_repeat1, - [9727] = 5, + [12122] = 6, ACTIONS(3), 1, - sym__comment, - ACTIONS(421), 1, + sym_comment, + ACTIONS(445), 1, anon_sym_COLON, - ACTIONS(734), 1, + ACTIONS(816), 1, + anon_sym_LT, + ACTIONS(818), 1, + sym_expand_operator, + STATE(100), 1, + sym_type_argument_list, + ACTIONS(443), 11, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + sym_forall_keyword, + sym_assign_operator, + sym_attribute_access_operator, + anon_sym_LBRACE, + [12151] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(445), 1, + anon_sym_COLON, + ACTIONS(816), 1, anon_sym_LT, - STATE(86), 1, + STATE(100), 1, sym_type_argument_list, - ACTIONS(419), 12, + ACTIONS(443), 12, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -13357,40 +15405,39 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [9754] = 10, + [12178] = 10, ACTIONS(3), 1, - sym__comment, - ACTIONS(736), 1, + sym_comment, + ACTIONS(820), 1, anon_sym_DASH_GT, - ACTIONS(738), 1, + ACTIONS(822), 1, anon_sym_assume, - ACTIONS(740), 1, + ACTIONS(824), 1, anon_sym_exists, - ACTIONS(742), 1, + ACTIONS(826), 1, anon_sym_unique, - ACTIONS(744), 1, + ACTIONS(828), 1, sym_forall_keyword, - ACTIONS(746), 1, + ACTIONS(830), 1, anon_sym_LBRACE, - STATE(3), 1, + STATE(5), 1, sym__lcb_symbol, - STATE(128), 1, + STATE(172), 1, sym_rightarrow_operator, - STATE(212), 6, + STATE(289), 6, sym__block, sym_block, sym_assume_block, sym_forall_block, sym_exists_block, sym_unique_block, - [9790] = 3, + [12214] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(750), 1, - anon_sym_COLON, - ACTIONS(748), 13, + sym_comment, + ACTIONS(832), 14, anon_sym_SEMI, anon_sym_RBRACK, + anon_sym_DASH_GT, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_assume, @@ -13402,10 +15449,34 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [9812] = 2, + [12234] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_DASH, + ACTIONS(71), 1, + aux_sym_number_literal_token1, + STATE(208), 1, + sym__reserved_identifier, + STATE(213), 1, + sym_identifier, + STATE(446), 1, + sym_number_literal, + ACTIONS(399), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(428), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + [12266] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(752), 14, + sym_comment, + ACTIONS(834), 14, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_DASH_GT, @@ -13420,60 +15491,38 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [9832] = 10, + [12286] = 10, ACTIONS(3), 1, - sym__comment, - ACTIONS(736), 1, + sym_comment, + ACTIONS(820), 1, anon_sym_DASH_GT, - ACTIONS(738), 1, + ACTIONS(836), 1, anon_sym_assume, - ACTIONS(740), 1, + ACTIONS(838), 1, anon_sym_exists, - ACTIONS(742), 1, + ACTIONS(840), 1, anon_sym_unique, - ACTIONS(744), 1, + ACTIONS(842), 1, sym_forall_keyword, - ACTIONS(746), 1, + ACTIONS(844), 1, anon_sym_LBRACE, STATE(3), 1, sym__lcb_symbol, - STATE(135), 1, + STATE(154), 1, sym_rightarrow_operator, - STATE(206), 6, + STATE(248), 6, sym__block, sym_block, sym_assume_block, sym_forall_block, sym_exists_block, sym_unique_block, - [9868] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(754), 14, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_DASH_GT, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_assume, - anon_sym_exists, - anon_sym_unique, - sym_forall_keyword, - anon_sym_GT, - sym_assign_operator, - sym_expand_operator, - sym_attribute_access_operator, - anon_sym_LBRACE, - [9888] = 5, + [12322] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(734), 1, - anon_sym_LT, - ACTIONS(756), 1, - sym_expand_operator, - STATE(86), 1, - sym_type_argument_list, - ACTIONS(419), 11, + sym_comment, + ACTIONS(573), 1, + anon_sym_COLON, + ACTIONS(571), 13, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -13482,40 +15531,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_exists, anon_sym_unique, sym_forall_keyword, - sym_assign_operator, - sym_attribute_access_operator, - anon_sym_LBRACE, - [9914] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(61), 1, - anon_sym_DASH, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - STATE(175), 1, - sym__reserved_identifier, - STATE(184), 1, - sym_identifier, - STATE(405), 1, - sym_number_literal, - ACTIONS(367), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - STATE(370), 5, - sym__name, - sym_type_qualified_name, - sym__simple_name, - sym_qualified_name, - sym_generic_name, - [9946] = 2, + anon_sym_GT, + sym_assign_operator, + sym_expand_operator, + sym_attribute_access_operator, + anon_sym_LBRACE, + [12344] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(758), 14, + sym_comment, + ACTIONS(848), 1, + anon_sym_COLON, + ACTIONS(846), 13, anon_sym_SEMI, anon_sym_RBRACK, - anon_sym_DASH_GT, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_assume, @@ -13527,114 +15555,106 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [9966] = 10, + [12366] = 10, ACTIONS(3), 1, - sym__comment, - ACTIONS(736), 1, + sym_comment, + ACTIONS(820), 1, anon_sym_DASH_GT, - ACTIONS(760), 1, + ACTIONS(822), 1, anon_sym_assume, - ACTIONS(762), 1, + ACTIONS(824), 1, anon_sym_exists, - ACTIONS(764), 1, + ACTIONS(826), 1, anon_sym_unique, - ACTIONS(766), 1, + ACTIONS(828), 1, sym_forall_keyword, - ACTIONS(768), 1, + ACTIONS(830), 1, anon_sym_LBRACE, - STATE(6), 1, + STATE(5), 1, sym__lcb_symbol, - STATE(143), 1, + STATE(173), 1, sym_rightarrow_operator, - STATE(253), 6, + STATE(290), 6, sym__block, sym_block, sym_assume_block, sym_forall_block, sym_exists_block, sym_unique_block, - [10002] = 10, + [12402] = 10, ACTIONS(3), 1, - sym__comment, - ACTIONS(736), 1, + sym_comment, + ACTIONS(820), 1, anon_sym_DASH_GT, - ACTIONS(760), 1, + ACTIONS(836), 1, anon_sym_assume, - ACTIONS(762), 1, + ACTIONS(838), 1, anon_sym_exists, - ACTIONS(764), 1, + ACTIONS(840), 1, anon_sym_unique, - ACTIONS(766), 1, + ACTIONS(842), 1, sym_forall_keyword, - ACTIONS(768), 1, + ACTIONS(844), 1, anon_sym_LBRACE, - STATE(6), 1, + STATE(3), 1, sym__lcb_symbol, - STATE(142), 1, + STATE(140), 1, sym_rightarrow_operator, - STATE(249), 6, + STATE(255), 6, sym__block, sym_block, sym_assume_block, sym_forall_block, sym_exists_block, sym_unique_block, - [10038] = 11, + [12438] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(770), 1, - anon_sym_fn, - ACTIONS(772), 1, - anon_sym_RBRACE, - STATE(175), 1, - sym__reserved_identifier, - STATE(190), 1, - aux_sym_struct_definition_repeat1, - STATE(214), 1, - sym__rcb_symbol, - STATE(268), 1, - sym_function_definition, - STATE(278), 1, - sym_function_keyword, - STATE(371), 1, - sym_identifier, - STATE(407), 1, - sym_struct_field, - ACTIONS(367), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - [10075] = 11, + sym_comment, + ACTIONS(850), 14, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_DASH_GT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + sym_forall_keyword, + anon_sym_GT, + sym_assign_operator, + sym_expand_operator, + sym_attribute_access_operator, + anon_sym_LBRACE, + [12458] = 11, ACTIONS(3), 1, - sym__comment, - ACTIONS(770), 1, + sym_comment, + ACTIONS(852), 1, anon_sym_fn, - ACTIONS(774), 1, + ACTIONS(854), 1, anon_sym_RBRACE, - STATE(175), 1, + STATE(208), 1, sym__reserved_identifier, - STATE(196), 1, + STATE(227), 1, aux_sym_struct_definition_repeat1, - STATE(211), 1, + STATE(251), 1, sym__rcb_symbol, - STATE(268), 1, + STATE(317), 1, sym_function_definition, - STATE(278), 1, + STATE(320), 1, sym_function_keyword, - STATE(371), 1, + STATE(403), 1, sym_identifier, - STATE(407), 1, + STATE(454), 1, sym_struct_field, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [10112] = 2, + [12495] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(776), 13, + sym_comment, + ACTIONS(856), 13, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -13648,27 +15668,36 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [10131] = 2, + [12514] = 11, ACTIONS(3), 1, - sym__comment, - ACTIONS(674), 13, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_assume, - anon_sym_exists, - anon_sym_unique, - sym_forall_keyword, - anon_sym_GT, - sym_assign_operator, - sym_expand_operator, - sym_attribute_access_operator, - anon_sym_LBRACE, - [10150] = 2, + sym_comment, + ACTIONS(852), 1, + anon_sym_fn, + ACTIONS(858), 1, + anon_sym_RBRACE, + STATE(208), 1, + sym__reserved_identifier, + STATE(236), 1, + aux_sym_struct_definition_repeat1, + STATE(244), 1, + sym__rcb_symbol, + STATE(317), 1, + sym_function_definition, + STATE(320), 1, + sym_function_keyword, + STATE(403), 1, + sym_identifier, + STATE(454), 1, + sym_struct_field, + ACTIONS(399), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [12551] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(778), 13, + sym_comment, + ACTIONS(860), 13, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -13682,10 +15711,10 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [10169] = 2, + [12570] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(780), 13, + sym_comment, + ACTIONS(756), 13, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -13699,10 +15728,10 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [10188] = 2, + [12589] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(650), 13, + sym_comment, + ACTIONS(862), 13, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -13716,185 +15745,225 @@ static const uint16_t ts_small_parse_table[] = { sym_expand_operator, sym_attribute_access_operator, anon_sym_LBRACE, - [10207] = 10, + [12608] = 7, ACTIONS(3), 1, - sym__comment, - ACTIONS(782), 1, - anon_sym_fn, - ACTIONS(785), 1, + sym_comment, + ACTIONS(864), 1, anon_sym_RBRACE, - STATE(175), 1, + STATE(123), 1, + sym__rcb_symbol, + STATE(208), 1, sym__reserved_identifier, - STATE(196), 1, - aux_sym_struct_definition_repeat1, - STATE(268), 1, - sym_function_definition, - STATE(278), 1, - sym_function_keyword, - STATE(371), 1, + STATE(213), 1, sym_identifier, - STATE(407), 1, - sym_struct_field, - ACTIONS(787), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [10241] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(792), 1, - sym_attribute_access_operator, - ACTIONS(790), 11, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_assume, - anon_sym_exists, - anon_sym_unique, - sym_forall_keyword, - sym_assign_operator, - sym_expand_operator, - anon_sym_LBRACE, - [10261] = 8, + STATE(377), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + [12637] = 8, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(63), 1, anon_sym_LBRACE, - ACTIONS(411), 1, + ACTIONS(450), 1, anon_sym_assume, - ACTIONS(413), 1, + ACTIONS(452), 1, anon_sym_exists, - ACTIONS(415), 1, + ACTIONS(454), 1, anon_sym_unique, - ACTIONS(417), 1, + ACTIONS(456), 1, sym_forall_keyword, - STATE(7), 1, + STATE(2), 1, sym__lcb_symbol, - STATE(58), 6, + STATE(85), 6, sym__block, sym_block, sym_assume_block, sym_forall_block, sym_exists_block, sym_unique_block, - [10291] = 8, + [12667] = 8, ACTIONS(3), 1, - sym__comment, - ACTIONS(760), 1, + sym_comment, + ACTIONS(836), 1, anon_sym_assume, - ACTIONS(762), 1, + ACTIONS(838), 1, anon_sym_exists, - ACTIONS(764), 1, + ACTIONS(840), 1, anon_sym_unique, - ACTIONS(766), 1, + ACTIONS(842), 1, sym_forall_keyword, - ACTIONS(768), 1, + ACTIONS(844), 1, anon_sym_LBRACE, - STATE(6), 1, + STATE(3), 1, sym__lcb_symbol, - STATE(258), 6, + STATE(254), 6, sym__block, sym_block, sym_assume_block, sym_forall_block, sym_exists_block, sym_unique_block, - [10321] = 8, + [12697] = 8, ACTIONS(3), 1, - sym__comment, - ACTIONS(760), 1, + sym_comment, + ACTIONS(63), 1, + anon_sym_LBRACE, + ACTIONS(450), 1, anon_sym_assume, - ACTIONS(762), 1, + ACTIONS(452), 1, anon_sym_exists, - ACTIONS(764), 1, + ACTIONS(454), 1, anon_sym_unique, - ACTIONS(766), 1, + ACTIONS(456), 1, sym_forall_keyword, - ACTIONS(768), 1, - anon_sym_LBRACE, - STATE(6), 1, + STATE(2), 1, sym__lcb_symbol, - STATE(255), 6, + STATE(79), 6, sym__block, sym_block, sym_assume_block, sym_forall_block, sym_exists_block, sym_unique_block, - [10351] = 8, + [12727] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(63), 1, + sym_comment, + ACTIONS(868), 1, + sym_attribute_access_operator, + ACTIONS(866), 11, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_assume, + anon_sym_exists, + anon_sym_unique, + sym_forall_keyword, + sym_assign_operator, + sym_expand_operator, anon_sym_LBRACE, - ACTIONS(411), 1, + [12747] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(870), 1, + anon_sym_fn, + ACTIONS(873), 1, + anon_sym_RBRACE, + STATE(208), 1, + sym__reserved_identifier, + STATE(236), 1, + aux_sym_struct_definition_repeat1, + STATE(317), 1, + sym_function_definition, + STATE(320), 1, + sym_function_keyword, + STATE(403), 1, + sym_identifier, + STATE(454), 1, + sym_struct_field, + ACTIONS(875), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [12781] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(822), 1, anon_sym_assume, - ACTIONS(413), 1, + ACTIONS(824), 1, anon_sym_exists, - ACTIONS(415), 1, + ACTIONS(826), 1, anon_sym_unique, - ACTIONS(417), 1, + ACTIONS(828), 1, sym_forall_keyword, - STATE(7), 1, + ACTIONS(830), 1, + anon_sym_LBRACE, + STATE(5), 1, sym__lcb_symbol, - STATE(53), 6, + STATE(285), 6, sym__block, sym_block, sym_assume_block, sym_forall_block, sym_exists_block, sym_unique_block, - [10381] = 8, + [12811] = 8, ACTIONS(3), 1, - sym__comment, - ACTIONS(738), 1, + sym_comment, + ACTIONS(822), 1, anon_sym_assume, - ACTIONS(740), 1, + ACTIONS(824), 1, anon_sym_exists, - ACTIONS(742), 1, + ACTIONS(826), 1, anon_sym_unique, - ACTIONS(744), 1, + ACTIONS(828), 1, sym_forall_keyword, - ACTIONS(746), 1, + ACTIONS(830), 1, anon_sym_LBRACE, - STATE(3), 1, + STATE(5), 1, sym__lcb_symbol, - STATE(213), 6, + STATE(294), 6, sym__block, sym_block, sym_assume_block, sym_forall_block, sym_exists_block, sym_unique_block, - [10411] = 8, + [12841] = 8, ACTIONS(3), 1, - sym__comment, - ACTIONS(738), 1, + sym_comment, + ACTIONS(836), 1, anon_sym_assume, - ACTIONS(740), 1, + ACTIONS(838), 1, anon_sym_exists, - ACTIONS(742), 1, + ACTIONS(840), 1, anon_sym_unique, - ACTIONS(744), 1, + ACTIONS(842), 1, sym_forall_keyword, - ACTIONS(746), 1, + ACTIONS(844), 1, anon_sym_LBRACE, STATE(3), 1, sym__lcb_symbol, - STATE(210), 6, + STATE(256), 6, sym__block, sym_block, sym_assume_block, sym_forall_block, sym_exists_block, sym_unique_block, - [10441] = 3, + [12871] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(796), 1, + sym_comment, + STATE(208), 1, + sym__reserved_identifier, + STATE(213), 1, + sym_identifier, + ACTIONS(399), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(382), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + [12894] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(880), 1, anon_sym_DASH_GT, - ACTIONS(794), 10, + ACTIONS(878), 10, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, @@ -13905,10 +15974,10 @@ static const uint16_t ts_small_parse_table[] = { sym_forall_keyword, sym_assign_operator, anon_sym_LBRACE, - [10460] = 2, + [12913] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(321), 10, + sym_comment, + ACTIONS(329), 10, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -13919,10 +15988,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_external, anon_sym_use, anon_sym_RBRACE, - [10476] = 2, + [12929] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(798), 10, + sym_comment, + ACTIONS(317), 10, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -13933,10 +16002,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_external, anon_sym_use, anon_sym_RBRACE, - [10492] = 2, + [12945] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(800), 10, + sym_comment, + ACTIONS(882), 10, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -13947,10 +16016,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_external, anon_sym_use, anon_sym_RBRACE, - [10508] = 2, + [12961] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(802), 10, + sym_comment, + ACTIONS(309), 10, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -13961,10 +16030,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_external, anon_sym_use, anon_sym_RBRACE, - [10524] = 2, + [12977] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(804), 10, + sym_comment, + ACTIONS(884), 10, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -13975,10 +16044,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_external, anon_sym_use, anon_sym_RBRACE, - [10540] = 2, + [12993] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(806), 10, + sym_comment, + ACTIONS(301), 10, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -13989,10 +16058,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_external, anon_sym_use, anon_sym_RBRACE, - [10556] = 2, + [13009] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(808), 10, + sym_comment, + ACTIONS(886), 10, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -14003,10 +16072,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_external, anon_sym_use, anon_sym_RBRACE, - [10572] = 2, + [13025] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(810), 10, + sym_comment, + ACTIONS(297), 10, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -14017,10 +16086,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_external, anon_sym_use, anon_sym_RBRACE, - [10588] = 2, + [13041] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(812), 10, + sym_comment, + ACTIONS(293), 10, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -14031,10 +16100,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_external, anon_sym_use, anon_sym_RBRACE, - [10604] = 2, + [13057] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(814), 10, + sym_comment, + ACTIONS(888), 10, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -14045,10 +16114,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_external, anon_sym_use, anon_sym_RBRACE, - [10620] = 2, + [13073] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(816), 10, + sym_comment, + ACTIONS(305), 10, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -14059,10 +16128,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_external, anon_sym_use, anon_sym_RBRACE, - [10636] = 2, + [13089] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(273), 10, + sym_comment, + ACTIONS(890), 10, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -14073,10 +16142,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_external, anon_sym_use, anon_sym_RBRACE, - [10652] = 2, + [13105] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(269), 10, + sym_comment, + ACTIONS(892), 10, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -14087,10 +16156,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_external, anon_sym_use, anon_sym_RBRACE, - [10668] = 2, + [13121] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(281), 10, + sym_comment, + ACTIONS(894), 10, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -14101,10 +16170,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_external, anon_sym_use, anon_sym_RBRACE, - [10684] = 2, + [13137] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(265), 10, + sym_comment, + ACTIONS(896), 10, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -14115,10 +16184,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_external, anon_sym_use, anon_sym_RBRACE, - [10700] = 2, + [13153] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(285), 10, + sym_comment, + ACTIONS(357), 10, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -14129,10 +16198,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_external, anon_sym_use, anon_sym_RBRACE, - [10716] = 2, + [13169] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(277), 10, + sym_comment, + ACTIONS(898), 10, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -14143,10 +16212,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_external, anon_sym_use, anon_sym_RBRACE, - [10732] = 2, + [13185] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(333), 10, + sym_comment, + ACTIONS(900), 10, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -14157,10 +16226,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_external, anon_sym_use, anon_sym_RBRACE, - [10748] = 2, + [13201] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(818), 9, + sym_comment, + ACTIONS(902), 9, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -14170,28 +16239,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [10763] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(820), 1, - anon_sym_COMMA, - ACTIONS(822), 1, - anon_sym_GT, - STATE(175), 1, - sym__reserved_identifier, - STATE(305), 1, - sym_identifier, - STATE(312), 1, - aux_sym_type_argument_list_definition_repeat1, - ACTIONS(367), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - [10788] = 2, + [13216] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(824), 9, + sym_comment, + ACTIONS(904), 9, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -14201,10 +16252,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [10803] = 2, + [13231] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(826), 9, + sym_comment, + ACTIONS(906), 9, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -14214,10 +16265,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [10818] = 2, + [13246] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(828), 9, + sym_comment, + ACTIONS(908), 9, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -14227,10 +16278,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [10833] = 2, + [13261] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(830), 9, + sym_comment, + ACTIONS(910), 9, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -14240,10 +16291,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [10848] = 2, + [13276] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(832), 9, + sym_comment, + ACTIONS(912), 9, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -14253,10 +16304,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [10863] = 2, + [13291] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(834), 9, + sym_comment, + ACTIONS(914), 9, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -14266,10 +16317,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [10878] = 2, + [13306] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(836), 9, + sym_comment, + ACTIONS(916), 9, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -14279,10 +16330,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [10893] = 2, + [13321] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(918), 1, + anon_sym_COMMA, + ACTIONS(920), 1, + anon_sym_GT, + STATE(208), 1, + sym__reserved_identifier, + STATE(346), 1, + sym_identifier, + STATE(367), 1, + aux_sym_type_argument_list_definition_repeat1, + ACTIONS(399), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [13346] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(838), 9, + sym_comment, + ACTIONS(922), 9, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -14292,10 +16361,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [10908] = 2, + [13361] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(840), 9, + sym_comment, + ACTIONS(924), 9, ts_builtin_sym_end, anon_sym_fn, anon_sym_type, @@ -14305,14 +16374,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [10923] = 5, + [13376] = 5, ACTIONS(3), 1, - sym__comment, - STATE(79), 1, + sym_comment, + STATE(91), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, - STATE(159), 2, + STATE(103), 2, sym__simple_name, sym_generic_name, ACTIONS(73), 4, @@ -14320,124 +16389,124 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [10943] = 5, + [13396] = 6, ACTIONS(3), 1, - sym__comment, - STATE(79), 1, - sym_identifier, - STATE(87), 1, + sym_comment, + ACTIONS(926), 1, + anon_sym_LBRACE, + STATE(208), 1, sym__reserved_identifier, - STATE(97), 2, - sym__simple_name, - sym_generic_name, - ACTIONS(73), 4, + STATE(315), 1, + sym__lcb_symbol, + STATE(353), 1, + sym_identifier, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [10963] = 5, + [13418] = 6, ACTIONS(3), 1, - sym__comment, - STATE(175), 1, + sym_comment, + ACTIONS(928), 1, + anon_sym_LBRACE, + STATE(208), 1, sym__reserved_identifier, - STATE(288), 1, + STATE(286), 1, + sym__lcb_symbol, + STATE(426), 1, sym_identifier, - STATE(180), 2, - sym__simple_name, - sym_generic_name, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [10983] = 6, + [13440] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(842), 1, - anon_sym_LBRACE, - STATE(175), 1, + sym_comment, + STATE(208), 1, sym__reserved_identifier, - STATE(247), 1, - sym__lcb_symbol, - STATE(298), 1, + STATE(325), 1, sym_identifier, - ACTIONS(367), 4, + STATE(220), 2, + sym__simple_name, + sym_generic_name, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11005] = 5, + [13460] = 5, ACTIONS(3), 1, - sym__comment, - STATE(175), 1, + sym_comment, + STATE(208), 1, sym__reserved_identifier, - STATE(178), 1, + STATE(325), 1, sym_identifier, - STATE(195), 2, + STATE(221), 2, sym__simple_name, sym_generic_name, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11025] = 7, + [13480] = 7, ACTIONS(3), 1, - sym__comment, - ACTIONS(734), 1, + sym_comment, + ACTIONS(816), 1, anon_sym_LT, - ACTIONS(756), 1, + ACTIONS(818), 1, sym_expand_operator, - ACTIONS(844), 1, + ACTIONS(930), 1, anon_sym_COLON, - STATE(86), 1, + STATE(100), 1, sym_type_argument_list, - STATE(127), 1, + STATE(152), 1, sym__typedef_symbol, - ACTIONS(419), 3, + ACTIONS(443), 3, anon_sym_COMMA, anon_sym_RPAREN, sym_attribute_access_operator, - [11049] = 6, + [13504] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(846), 1, - anon_sym_LBRACE, - STATE(175), 1, + sym_comment, + STATE(208), 1, sym__reserved_identifier, - STATE(273), 1, - sym__lcb_symbol, - STATE(386), 1, + STATE(214), 1, sym_identifier, - ACTIONS(367), 4, + STATE(220), 2, + sym__simple_name, + sym_generic_name, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11071] = 6, + [13524] = 6, ACTIONS(3), 1, - sym__comment, - ACTIONS(848), 1, + sym_comment, + ACTIONS(932), 1, anon_sym_LBRACE, - STATE(175), 1, + STATE(208), 1, sym__reserved_identifier, - STATE(250), 1, + STATE(293), 1, sym__lcb_symbol, - STATE(386), 1, + STATE(426), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11093] = 5, + [13546] = 5, ACTIONS(3), 1, - sym__comment, - STATE(79), 1, + sym_comment, + STATE(91), 1, sym_identifier, - STATE(87), 1, + STATE(97), 1, sym__reserved_identifier, - STATE(89), 2, + STATE(179), 2, sym__simple_name, sym_generic_name, ACTIONS(73), 4, @@ -14445,1955 +16514,2094 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11113] = 5, + [13566] = 5, ACTIONS(3), 1, - sym__comment, - STATE(175), 1, + sym_comment, + STATE(208), 1, sym__reserved_identifier, - STATE(178), 1, + STATE(214), 1, sym_identifier, - STATE(180), 2, + STATE(221), 2, sym__simple_name, sym_generic_name, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11133] = 5, + [13586] = 5, ACTIONS(3), 1, - sym__comment, - STATE(175), 1, - sym__reserved_identifier, - STATE(288), 1, + sym_comment, + STATE(91), 1, sym_identifier, - STATE(195), 2, + STATE(97), 1, + sym__reserved_identifier, + STATE(118), 2, sym__simple_name, sym_generic_name, - ACTIONS(367), 4, + ACTIONS(73), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11153] = 5, + [13606] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(850), 1, - anon_sym_self, - STATE(175), 1, - sym__reserved_identifier, - STATE(367), 1, + sym_comment, + STATE(91), 1, sym_identifier, - ACTIONS(367), 4, + STATE(97), 1, + sym__reserved_identifier, + STATE(177), 2, + sym__simple_name, + sym_generic_name, + ACTIONS(73), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11172] = 5, + [13626] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(852), 1, + sym_comment, + ACTIONS(934), 1, sym_mut_keyword, - STATE(175), 1, + STATE(208), 1, sym__reserved_identifier, - STATE(364), 1, + STATE(423), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11191] = 4, + [13645] = 5, ACTIONS(3), 1, - sym__comment, - STATE(175), 1, + sym_comment, + ACTIONS(936), 1, + anon_sym_self, + STATE(208), 1, sym__reserved_identifier, - STATE(289), 1, + STATE(424), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11207] = 3, + [13664] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(856), 1, - anon_sym_RBRACE, - ACTIONS(854), 5, - anon_sym_fn, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - [11221] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(798), 1, + sym_comment, + ACTIONS(892), 1, anon_sym_RBRACE, - ACTIONS(858), 5, + ACTIONS(938), 5, anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11235] = 4, + [13678] = 4, ACTIONS(3), 1, - sym__comment, - STATE(175), 1, + sym_comment, + STATE(208), 1, sym__reserved_identifier, - STATE(282), 1, + STATE(336), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11251] = 4, + [13694] = 4, ACTIONS(3), 1, - sym__comment, - STATE(175), 1, + sym_comment, + STATE(208), 1, sym__reserved_identifier, - STATE(386), 1, + STATE(426), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11267] = 4, + [13710] = 4, ACTIONS(3), 1, - sym__comment, - STATE(175), 1, + sym_comment, + STATE(208), 1, sym__reserved_identifier, - STATE(389), 1, + STATE(427), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11283] = 3, + [13726] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(810), 1, + sym_comment, + ACTIONS(894), 1, anon_sym_RBRACE, - ACTIONS(860), 5, + ACTIONS(940), 5, anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11297] = 4, - ACTIONS(3), 1, - sym__comment, - STATE(175), 1, - sym__reserved_identifier, - STATE(372), 1, - sym_identifier, - ACTIONS(367), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - [11313] = 3, + [13740] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(806), 1, + sym_comment, + ACTIONS(886), 1, anon_sym_RBRACE, - ACTIONS(862), 5, + ACTIONS(942), 5, anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11327] = 4, + [13754] = 6, ACTIONS(3), 1, - sym__comment, - STATE(175), 1, + sym_comment, + ACTIONS(439), 1, + sym_expand_operator, + ACTIONS(944), 1, + sym_attribute_access_operator, + ACTIONS(946), 1, + anon_sym_LBRACE, + STATE(231), 1, + sym__lcb_symbol, + ACTIONS(866), 2, + anon_sym_SEMI, + anon_sym_RBRACK, + [13774] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(208), 1, sym__reserved_identifier, - STATE(330), 1, + STATE(430), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11343] = 4, + [13790] = 4, ACTIONS(3), 1, - sym__comment, - STATE(175), 1, + sym_comment, + STATE(208), 1, sym__reserved_identifier, - STATE(392), 1, + STATE(323), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11359] = 3, + [13806] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(812), 1, + sym_comment, + ACTIONS(896), 1, anon_sym_RBRACE, - ACTIONS(864), 5, + ACTIONS(948), 5, anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11373] = 5, + [13820] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(428), 1, + sym_comment, + ACTIONS(458), 1, sym_expand_operator, - ACTIONS(734), 1, + ACTIONS(816), 1, anon_sym_LT, - STATE(86), 1, + STATE(100), 1, sym_type_argument_list, - ACTIONS(419), 3, + ACTIONS(443), 3, anon_sym_SEMI, anon_sym_RBRACK, sym_attribute_access_operator, - [11391] = 4, + [13838] = 4, ACTIONS(3), 1, - sym__comment, - STATE(175), 1, + sym_comment, + STATE(208), 1, sym__reserved_identifier, - STATE(408), 1, + STATE(422), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11407] = 3, + [13854] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(265), 1, + sym_comment, + ACTIONS(301), 1, anon_sym_RBRACE, - ACTIONS(263), 5, + ACTIONS(299), 5, anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11421] = 3, + [13868] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(269), 1, + sym_comment, + ACTIONS(297), 1, anon_sym_RBRACE, - ACTIONS(267), 5, + ACTIONS(295), 5, anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11435] = 3, + [13882] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(273), 1, + sym_comment, + ACTIONS(293), 1, anon_sym_RBRACE, - ACTIONS(271), 5, + ACTIONS(291), 5, anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11449] = 3, + [13896] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(277), 1, + sym_comment, + ACTIONS(305), 1, anon_sym_RBRACE, - ACTIONS(275), 5, + ACTIONS(303), 5, anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11463] = 3, + [13910] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(281), 1, - anon_sym_RBRACE, - ACTIONS(279), 5, - anon_sym_fn, + sym_comment, + STATE(208), 1, + sym__reserved_identifier, + STATE(435), 1, + sym_identifier, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11477] = 3, + [13926] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(285), 1, + sym_comment, + ACTIONS(317), 1, anon_sym_RBRACE, - ACTIONS(283), 5, + ACTIONS(315), 5, anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11491] = 4, - ACTIONS(3), 1, - sym__comment, - STATE(175), 1, - sym__reserved_identifier, - STATE(286), 1, - sym_identifier, - ACTIONS(367), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - [11507] = 3, + [13940] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(868), 1, + sym_comment, + ACTIONS(952), 1, anon_sym_RBRACE, - ACTIONS(866), 5, + ACTIONS(950), 5, anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11521] = 4, + [13954] = 4, ACTIONS(3), 1, - sym__comment, - STATE(175), 1, + sym_comment, + STATE(208), 1, sym__reserved_identifier, - STATE(373), 1, + STATE(429), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11537] = 5, + [13970] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(870), 1, + sym_comment, + ACTIONS(954), 1, anon_sym_LT, - ACTIONS(872), 1, + ACTIONS(956), 1, sym_expand_operator, - STATE(320), 1, + STATE(389), 1, sym_type_argument_list, - ACTIONS(419), 3, + ACTIONS(443), 3, anon_sym_COMMA, anon_sym_GT, sym_attribute_access_operator, - [11555] = 4, + [13988] = 7, ACTIONS(3), 1, - sym__comment, - STATE(175), 1, + sym_comment, + ACTIONS(439), 1, + sym_expand_operator, + ACTIONS(946), 1, + anon_sym_LBRACE, + ACTIONS(958), 1, + sym_attribute_access_operator, + ACTIONS(960), 1, + anon_sym_COLON, + STATE(34), 1, + sym__typedef_symbol, + STATE(231), 1, + sym__lcb_symbol, + [14010] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(439), 1, + sym_expand_operator, + ACTIONS(946), 1, + anon_sym_LBRACE, + ACTIONS(958), 1, + sym_attribute_access_operator, + ACTIONS(962), 1, + anon_sym_COLON, + STATE(38), 1, + sym__typedef_symbol, + STATE(231), 1, + sym__lcb_symbol, + [14032] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(208), 1, sym__reserved_identifier, - STATE(369), 1, + STATE(409), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11571] = 4, + [14048] = 4, ACTIONS(3), 1, - sym__comment, - STATE(175), 1, + sym_comment, + STATE(208), 1, sym__reserved_identifier, - STATE(357), 1, + STATE(404), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11587] = 4, + [14064] = 4, ACTIONS(3), 1, - sym__comment, - STATE(175), 1, + sym_comment, + STATE(208), 1, sym__reserved_identifier, - STATE(290), 1, + STATE(406), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11603] = 4, + [14080] = 4, ACTIONS(3), 1, - sym__comment, - STATE(175), 1, + sym_comment, + STATE(208), 1, sym__reserved_identifier, - STATE(383), 1, + STATE(330), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11619] = 4, + [14096] = 7, ACTIONS(3), 1, - sym__comment, - STATE(175), 1, + sym_comment, + ACTIONS(439), 1, + sym_expand_operator, + ACTIONS(946), 1, + anon_sym_LBRACE, + ACTIONS(958), 1, + sym_attribute_access_operator, + ACTIONS(964), 1, + anon_sym_COLON, + STATE(40), 1, + sym__typedef_symbol, + STATE(231), 1, + sym__lcb_symbol, + [14118] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(208), 1, sym__reserved_identifier, - STATE(376), 1, + STATE(431), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11635] = 4, + [14134] = 4, ACTIONS(3), 1, - sym__comment, - STATE(175), 1, + sym_comment, + STATE(208), 1, sym__reserved_identifier, - STATE(281), 1, + STATE(365), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11651] = 4, + [14150] = 4, ACTIONS(3), 1, - sym__comment, - STATE(175), 1, + sym_comment, + STATE(208), 1, sym__reserved_identifier, - STATE(397), 1, + STATE(328), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11667] = 4, + [14166] = 4, ACTIONS(3), 1, - sym__comment, - STATE(175), 1, + sym_comment, + STATE(208), 1, sym__reserved_identifier, - STATE(291), 1, + STATE(335), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11683] = 4, + [14182] = 3, ACTIONS(3), 1, - sym__comment, - STATE(175), 1, + sym_comment, + ACTIONS(968), 1, + anon_sym_RBRACE, + ACTIONS(966), 5, + anon_sym_fn, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [14196] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(208), 1, sym__reserved_identifier, - STATE(378), 1, + STATE(444), 1, sym_identifier, - ACTIONS(367), 4, + ACTIONS(399), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [11699] = 6, + [14212] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(874), 1, + sym_comment, + STATE(208), 1, + sym__reserved_identifier, + STATE(455), 1, + sym_identifier, + ACTIONS(399), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [14228] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(208), 1, + sym__reserved_identifier, + STATE(322), 1, + sym_identifier, + ACTIONS(399), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [14244] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(309), 1, + anon_sym_RBRACE, + ACTIONS(307), 5, + anon_sym_fn, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [14258] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(970), 1, + anon_sym_LPAREN, + ACTIONS(972), 1, + anon_sym_LT, + STATE(89), 1, + sym__lrb_symbol, + STATE(215), 1, + sym_argument_list, + STATE(393), 1, + sym_type_argument_list_definition, + [14277] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(974), 1, anon_sym_COMMA, - ACTIONS(876), 1, + ACTIONS(976), 1, anon_sym_RBRACE, - STATE(271), 1, + STATE(292), 1, sym__comma_symbol, - STATE(302), 1, + STATE(331), 1, aux_sym_use_directive_repeat2, - STATE(379), 1, + STATE(401), 1, sym__rcb_symbol, - [11718] = 6, + [14296] = 6, ACTIONS(3), 1, - sym__comment, - ACTIONS(878), 1, + sym_comment, + ACTIONS(652), 1, anon_sym_COMMA, - ACTIONS(880), 1, + ACTIONS(978), 1, anon_sym_RBRACE, - STATE(208), 1, + STATE(114), 1, sym__rcb_symbol, - STATE(279), 1, + STATE(240), 1, sym__comma_symbol, - STATE(283), 1, - aux_sym_enum_definition_repeat1, - [11737] = 6, + STATE(341), 1, + aux_sym_struct_expression_repeat1, + [14315] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(874), 1, + sym_comment, + ACTIONS(954), 1, + anon_sym_LT, + STATE(389), 1, + sym_type_argument_list, + ACTIONS(443), 3, anon_sym_COMMA, - ACTIONS(882), 1, - anon_sym_RBRACE, - STATE(271), 1, - sym__comma_symbol, - STATE(280), 1, - aux_sym_use_directive_repeat2, - STATE(361), 1, - sym__rcb_symbol, - [11756] = 6, + anon_sym_GT, + sym_attribute_access_operator, + [14330] = 6, ACTIONS(3), 1, - sym__comment, - ACTIONS(878), 1, + sym_comment, + ACTIONS(980), 1, anon_sym_COMMA, - ACTIONS(884), 1, + ACTIONS(982), 1, anon_sym_RBRACE, - STATE(209), 1, + STATE(253), 1, sym__rcb_symbol, - STATE(279), 1, + STATE(308), 1, sym__comma_symbol, - STATE(303), 1, + STATE(343), 1, aux_sym_enum_definition_repeat1, - [11775] = 6, + [14349] = 6, ACTIONS(3), 1, - sym__comment, - ACTIONS(886), 1, + sym_comment, + ACTIONS(984), 1, anon_sym_COMMA, - ACTIONS(888), 1, + ACTIONS(986), 1, anon_sym_RPAREN, - STATE(80), 1, + STATE(95), 1, sym__comma_symbol, - STATE(183), 1, + STATE(216), 1, sym__rrb_symbol, - STATE(287), 1, + STATE(329), 1, aux_sym_argument_list_repeat1, - [11794] = 6, + [14368] = 6, ACTIONS(3), 1, - sym__comment, - ACTIONS(874), 1, + sym_comment, + ACTIONS(974), 1, anon_sym_COMMA, - ACTIONS(890), 1, + ACTIONS(988), 1, anon_sym_RBRACE, - STATE(271), 1, + STATE(292), 1, sym__comma_symbol, - STATE(302), 1, + STATE(332), 1, aux_sym_use_directive_repeat2, - STATE(410), 1, + STATE(450), 1, sym__rcb_symbol, - [11813] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(892), 1, - anon_sym_LPAREN, - ACTIONS(894), 1, - anon_sym_LT, - STATE(75), 1, - sym__lrb_symbol, - STATE(182), 1, - sym_argument_list, - STATE(328), 1, - sym_type_argument_list_definition, - [11832] = 6, + [14387] = 6, ACTIONS(3), 1, - sym__comment, - ACTIONS(886), 1, + sym_comment, + ACTIONS(984), 1, anon_sym_COMMA, - ACTIONS(896), 1, + ACTIONS(990), 1, anon_sym_RPAREN, - STATE(80), 1, + STATE(95), 1, sym__comma_symbol, - STATE(186), 1, + STATE(218), 1, sym__rrb_symbol, - STATE(307), 1, + STATE(348), 1, aux_sym_argument_list_repeat1, - [11851] = 4, + [14406] = 6, ACTIONS(3), 1, - sym__comment, - ACTIONS(870), 1, + sym_comment, + ACTIONS(970), 1, + anon_sym_LPAREN, + ACTIONS(972), 1, anon_sym_LT, - STATE(320), 1, - sym_type_argument_list, - ACTIONS(419), 3, - anon_sym_COMMA, - anon_sym_GT, - sym_attribute_access_operator, - [11866] = 6, + STATE(89), 1, + sym__lrb_symbol, + STATE(223), 1, + sym_argument_list, + STATE(395), 1, + sym_type_argument_list_definition, + [14425] = 6, ACTIONS(3), 1, - sym__comment, - ACTIONS(874), 1, + sym_comment, + ACTIONS(974), 1, anon_sym_COMMA, - ACTIONS(898), 1, + ACTIONS(992), 1, anon_sym_RBRACE, - STATE(271), 1, + STATE(292), 1, sym__comma_symbol, - STATE(285), 1, + STATE(352), 1, aux_sym_use_directive_repeat2, - STATE(404), 1, + STATE(425), 1, sym__rcb_symbol, - [11885] = 6, + [14444] = 6, ACTIONS(3), 1, - sym__comment, - ACTIONS(874), 1, + sym_comment, + ACTIONS(974), 1, anon_sym_COMMA, - ACTIONS(900), 1, + ACTIONS(994), 1, anon_sym_RBRACE, - STATE(271), 1, + STATE(292), 1, sym__comma_symbol, - STATE(293), 1, + STATE(352), 1, aux_sym_use_directive_repeat2, - STATE(393), 1, - sym__rcb_symbol, - [11904] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(892), 1, - anon_sym_LPAREN, - ACTIONS(894), 1, - anon_sym_LT, - STATE(75), 1, - sym__lrb_symbol, - STATE(188), 1, - sym_argument_list, - STATE(310), 1, - sym_type_argument_list_definition, - [11923] = 3, + STATE(449), 1, + sym__rcb_symbol, + [14463] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(902), 1, + sym_comment, + ACTIONS(996), 1, anon_sym_DASH_GT, - ACTIONS(794), 4, + ACTIONS(878), 4, anon_sym_SEMI, anon_sym_RBRACK, sym_expand_operator, sym_attribute_access_operator, - [11936] = 6, + [14476] = 6, ACTIONS(3), 1, - sym__comment, - ACTIONS(874), 1, + sym_comment, + ACTIONS(974), 1, anon_sym_COMMA, - ACTIONS(904), 1, + ACTIONS(998), 1, anon_sym_RBRACE, - STATE(271), 1, + STATE(292), 1, sym__comma_symbol, - STATE(302), 1, + STATE(352), 1, aux_sym_use_directive_repeat2, - STATE(360), 1, + STATE(418), 1, + sym__rcb_symbol, + [14495] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(980), 1, + anon_sym_COMMA, + ACTIONS(1000), 1, + anon_sym_RBRACE, + STATE(258), 1, + sym__rcb_symbol, + STATE(308), 1, + sym__comma_symbol, + STATE(326), 1, + aux_sym_enum_definition_repeat1, + [14514] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(974), 1, + anon_sym_COMMA, + ACTIONS(1002), 1, + anon_sym_RBRACE, + STATE(292), 1, + sym__comma_symbol, + STATE(334), 1, + aux_sym_use_directive_repeat2, + STATE(432), 1, sym__rcb_symbol, - [11955] = 5, + [14533] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(906), 1, + sym_comment, + ACTIONS(1004), 1, anon_sym_COMMA, - ACTIONS(908), 1, + ACTIONS(1006), 1, anon_sym_GT, - STATE(130), 1, + STATE(288), 1, sym__comma_symbol, - STATE(295), 1, - aux_sym_type_argument_list_repeat1, - [11971] = 5, + STATE(342), 1, + aux_sym_type_argument_list_definition_repeat2, + [14549] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(910), 1, + sym_comment, + ACTIONS(1008), 1, anon_sym_COMMA, - ACTIONS(913), 1, + ACTIONS(1010), 1, anon_sym_GT, - STATE(130), 1, + STATE(159), 1, sym__comma_symbol, - STATE(295), 1, + STATE(344), 1, aux_sym_type_argument_list_repeat1, - [11987] = 3, + [14565] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(407), 2, + sym_comment, + ACTIONS(439), 1, sym_expand_operator, + ACTIONS(946), 1, + anon_sym_LBRACE, + ACTIONS(958), 1, sym_attribute_access_operator, - ACTIONS(790), 2, - anon_sym_SEMI, - anon_sym_RBRACK, - [11999] = 4, + STATE(231), 1, + sym__lcb_symbol, + [14581] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(407), 1, + sym_comment, + ACTIONS(439), 2, sym_expand_operator, - ACTIONS(915), 1, sym_attribute_access_operator, - ACTIONS(790), 2, + ACTIONS(866), 2, anon_sym_SEMI, anon_sym_RBRACK, - [12013] = 5, - ACTIONS(3), 1, - sym__comment, - ACTIONS(917), 1, - anon_sym_SEMI, - ACTIONS(919), 1, - sym_expand_operator, - STATE(226), 1, - sym__terminal_symbol, - STATE(301), 1, - aux_sym_use_directive_repeat1, - [12029] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(921), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - [12039] = 5, + [14593] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(906), 1, + sym_comment, + ACTIONS(1012), 1, anon_sym_COMMA, - ACTIONS(923), 1, - anon_sym_GT, - STATE(130), 1, + ACTIONS(1015), 1, + anon_sym_RBRACE, + STATE(240), 1, sym__comma_symbol, - STATE(294), 1, - aux_sym_type_argument_list_repeat1, - [12055] = 5, - ACTIONS(3), 1, - sym__comment, - ACTIONS(925), 1, - anon_sym_SEMI, - ACTIONS(927), 1, - sym_expand_operator, - STATE(229), 1, - sym__terminal_symbol, - STATE(353), 1, - aux_sym_use_directive_repeat1, - [12071] = 5, + STATE(341), 1, + aux_sym_struct_expression_repeat1, + [14609] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(929), 1, + sym_comment, + ACTIONS(1017), 1, anon_sym_COMMA, - ACTIONS(932), 1, - anon_sym_RBRACE, - STATE(271), 1, + ACTIONS(1020), 1, + anon_sym_GT, + STATE(288), 1, sym__comma_symbol, - STATE(302), 1, - aux_sym_use_directive_repeat2, - [12087] = 5, + STATE(342), 1, + aux_sym_type_argument_list_definition_repeat2, + [14625] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(934), 1, + sym_comment, + ACTIONS(1022), 1, anon_sym_COMMA, - ACTIONS(937), 1, + ACTIONS(1025), 1, anon_sym_RBRACE, - STATE(279), 1, + STATE(308), 1, sym__comma_symbol, - STATE(303), 1, + STATE(343), 1, aux_sym_enum_definition_repeat1, - [12103] = 5, + [14641] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(906), 1, + sym_comment, + ACTIONS(1008), 1, anon_sym_COMMA, - ACTIONS(939), 1, + ACTIONS(1027), 1, anon_sym_GT, - STATE(130), 1, + STATE(159), 1, sym__comma_symbol, - STATE(306), 1, + STATE(347), 1, aux_sym_type_argument_list_repeat1, - [12119] = 5, + [14657] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1029), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [14667] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(941), 1, + sym_comment, + ACTIONS(1004), 1, anon_sym_COMMA, - ACTIONS(943), 1, + ACTIONS(1031), 1, anon_sym_GT, - STATE(252), 1, + STATE(288), 1, sym__comma_symbol, - STATE(309), 1, + STATE(337), 1, aux_sym_type_argument_list_definition_repeat2, - [12135] = 5, + [14683] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(906), 1, + sym_comment, + ACTIONS(1033), 1, anon_sym_COMMA, - ACTIONS(945), 1, + ACTIONS(1036), 1, anon_sym_GT, - STATE(130), 1, + STATE(159), 1, sym__comma_symbol, - STATE(295), 1, + STATE(347), 1, aux_sym_type_argument_list_repeat1, - [12151] = 5, + [14699] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(947), 1, + sym_comment, + ACTIONS(1038), 1, anon_sym_COMMA, - ACTIONS(950), 1, + ACTIONS(1041), 1, anon_sym_RPAREN, - STATE(80), 1, + STATE(95), 1, sym__comma_symbol, - STATE(307), 1, + STATE(348), 1, aux_sym_argument_list_repeat1, - [12167] = 5, + [14715] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(952), 1, + sym_comment, + ACTIONS(1008), 1, anon_sym_COMMA, - ACTIONS(955), 1, + ACTIONS(1043), 1, anon_sym_GT, - STATE(252), 1, + STATE(159), 1, sym__comma_symbol, - STATE(308), 1, - aux_sym_type_argument_list_definition_repeat2, - [12183] = 5, + STATE(350), 1, + aux_sym_type_argument_list_repeat1, + [14731] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(941), 1, + sym_comment, + ACTIONS(1008), 1, anon_sym_COMMA, - ACTIONS(957), 1, + ACTIONS(1045), 1, anon_sym_GT, - STATE(252), 1, + STATE(159), 1, sym__comma_symbol, - STATE(308), 1, - aux_sym_type_argument_list_definition_repeat2, - [12199] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(892), 1, - anon_sym_LPAREN, - STATE(75), 1, - sym__lrb_symbol, - STATE(187), 1, - sym_argument_list, - [12212] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(622), 1, - anon_sym_COMMA, - ACTIONS(959), 1, - anon_sym_RPAREN, - STATE(341), 1, - aux_sym_function_call_expression_repeat1, - [12225] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(961), 1, - anon_sym_COMMA, - ACTIONS(963), 1, - anon_sym_GT, - STATE(321), 1, - aux_sym_type_argument_list_definition_repeat1, - [12238] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(746), 1, - anon_sym_LBRACE, - STATE(3), 1, - sym__lcb_symbol, - STATE(219), 1, - sym_block, - [12251] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(746), 1, - anon_sym_LBRACE, - STATE(3), 1, - sym__lcb_symbol, - STATE(217), 1, - sym_block, - [12264] = 4, + STATE(347), 1, + aux_sym_type_argument_list_repeat1, + [14747] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(746), 1, + sym_comment, + ACTIONS(439), 1, + sym_expand_operator, + ACTIONS(946), 1, anon_sym_LBRACE, - STATE(3), 1, + ACTIONS(1047), 1, + sym_attribute_access_operator, + STATE(231), 1, sym__lcb_symbol, - STATE(216), 1, - sym_block, - [12277] = 4, + [14763] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(622), 1, + sym_comment, + ACTIONS(1049), 1, anon_sym_COMMA, - ACTIONS(965), 1, - anon_sym_RPAREN, - STATE(341), 1, - aux_sym_function_call_expression_repeat1, - [12290] = 4, + ACTIONS(1052), 1, + anon_sym_RBRACE, + STATE(292), 1, + sym__comma_symbol, + STATE(352), 1, + aux_sym_use_directive_repeat2, + [14779] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(407), 1, + sym_comment, + ACTIONS(1054), 1, + anon_sym_SEMI, + ACTIONS(1056), 1, sym_expand_operator, - ACTIONS(967), 1, - anon_sym_COLON, - ACTIONS(969), 1, - sym_attribute_access_operator, - [12303] = 4, + STATE(267), 1, + sym__terminal_symbol, + STATE(354), 1, + aux_sym_use_directive_repeat1, + [14795] = 5, ACTIONS(3), 1, - sym__comment, - ACTIONS(746), 1, + sym_comment, + ACTIONS(1058), 1, + anon_sym_SEMI, + ACTIONS(1060), 1, + sym_expand_operator, + STATE(261), 1, + sym__terminal_symbol, + STATE(366), 1, + aux_sym_use_directive_repeat1, + [14811] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(441), 1, anon_sym_LBRACE, - STATE(3), 1, + STATE(8), 1, sym__lcb_symbol, - STATE(221), 1, + STATE(62), 1, sym_block, - [12316] = 4, + [14824] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(961), 1, + sym_comment, + ACTIONS(714), 1, anon_sym_COMMA, - ACTIONS(971), 1, - anon_sym_GT, - STATE(321), 1, - aux_sym_type_argument_list_definition_repeat1, - [12329] = 2, + ACTIONS(1062), 1, + anon_sym_RBRACK, + STATE(363), 1, + aux_sym_array_literal_repeat1, + [14837] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(970), 1, + anon_sym_LPAREN, + STATE(89), 1, + sym__lrb_symbol, + STATE(241), 1, + sym_argument_list, + [14850] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(452), 3, + sym_comment, + ACTIONS(483), 3, anon_sym_COMMA, anon_sym_GT, sym_attribute_access_operator, - [12338] = 4, + [14859] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(973), 1, + sym_comment, + ACTIONS(463), 3, anon_sym_COMMA, - ACTIONS(976), 1, anon_sym_GT, - STATE(321), 1, - aux_sym_type_argument_list_definition_repeat1, - [12351] = 2, + sym_attribute_access_operator, + [14868] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(460), 3, + sym_comment, + ACTIONS(1064), 1, anon_sym_COMMA, - anon_sym_GT, - sym_attribute_access_operator, - [12360] = 2, + ACTIONS(1067), 1, + anon_sym_RPAREN, + STATE(360), 1, + aux_sym_function_call_expression_repeat1, + [14881] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(444), 3, + sym_comment, + ACTIONS(471), 3, anon_sym_COMMA, anon_sym_GT, sym_attribute_access_operator, - [12369] = 2, + [14890] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(448), 3, + sym_comment, + ACTIONS(702), 1, anon_sym_COMMA, - anon_sym_GT, - sym_attribute_access_operator, - [12378] = 4, + ACTIONS(1069), 1, + anon_sym_RPAREN, + STATE(360), 1, + aux_sym_function_call_expression_repeat1, + [14903] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(638), 1, + sym_comment, + ACTIONS(730), 1, anon_sym_RBRACK, - ACTIONS(978), 1, + ACTIONS(1071), 1, anon_sym_COMMA, - STATE(325), 1, + STATE(363), 1, aux_sym_array_literal_repeat1, - [12391] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(440), 3, - anon_sym_COMMA, - anon_sym_GT, - sym_attribute_access_operator, - [12400] = 4, + [14916] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(981), 1, + sym_comment, + ACTIONS(1074), 1, anon_sym_SEMI, - ACTIONS(983), 1, + ACTIONS(1076), 1, sym_assign_operator, - STATE(54), 1, + STATE(77), 1, sym__terminal_symbol, - [12413] = 4, + [14929] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(892), 1, + sym_comment, + ACTIONS(970), 1, anon_sym_LPAREN, - STATE(75), 1, + STATE(89), 1, sym__lrb_symbol, - STATE(179), 1, + STATE(396), 1, sym_argument_list, - [12426] = 4, + [14942] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1078), 1, + anon_sym_SEMI, + ACTIONS(1080), 1, + sym_expand_operator, + STATE(366), 1, + aux_sym_use_directive_repeat1, + [14955] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1083), 1, + anon_sym_COMMA, + ACTIONS(1085), 1, + anon_sym_GT, + STATE(383), 1, + aux_sym_type_argument_list_definition_repeat1, + [14968] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(622), 1, + sym_comment, + ACTIONS(702), 1, anon_sym_COMMA, - ACTIONS(985), 1, + ACTIONS(1087), 1, anon_sym_RPAREN, - STATE(341), 1, + STATE(360), 1, aux_sym_function_call_expression_repeat1, - [12439] = 4, + [14981] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(892), 1, - anon_sym_LPAREN, - STATE(75), 1, - sym__lrb_symbol, - STATE(340), 1, - sym_argument_list, - [12452] = 4, + sym_comment, + ACTIONS(844), 1, + anon_sym_LBRACE, + STATE(3), 1, + sym__lcb_symbol, + STATE(247), 1, + sym_block, + [14994] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(987), 1, - anon_sym_SEMI, - ACTIONS(989), 1, - sym_assign_operator, - STATE(57), 1, - sym__terminal_symbol, - [12465] = 4, + sym_comment, + ACTIONS(844), 1, + anon_sym_LBRACE, + STATE(3), 1, + sym__lcb_symbol, + STATE(249), 1, + sym_block, + [15007] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(844), 1, + anon_sym_LBRACE, + STATE(3), 1, + sym__lcb_symbol, + STATE(250), 1, + sym_block, + [15020] = 4, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(63), 1, anon_sym_LBRACE, - STATE(7), 1, + STATE(2), 1, sym__lcb_symbol, - STATE(74), 1, + STATE(81), 1, sym_block, - [12478] = 4, + [15033] = 4, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(63), 1, anon_sym_LBRACE, - STATE(7), 1, + STATE(2), 1, sym__lcb_symbol, - STATE(63), 1, + STATE(82), 1, sym_block, - [12491] = 4, + [15046] = 4, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(63), 1, anon_sym_LBRACE, - STATE(7), 1, + STATE(2), 1, sym__lcb_symbol, - STATE(64), 1, + STATE(73), 1, sym_block, - [12504] = 4, + [15059] = 4, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(63), 1, anon_sym_LBRACE, - STATE(7), 1, + STATE(2), 1, + sym__lcb_symbol, + STATE(67), 1, + sym_block, + [15072] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(844), 1, + anon_sym_LBRACE, + STATE(3), 1, sym__lcb_symbol, - STATE(65), 1, + STATE(252), 1, sym_block, - [12517] = 4, + [15085] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(868), 1, + sym_attribute_access_operator, + ACTIONS(1089), 1, + anon_sym_COLON, + STATE(35), 1, + sym__typedef_symbol, + [15098] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(702), 1, + anon_sym_COMMA, + ACTIONS(1091), 1, + anon_sym_RPAREN, + STATE(360), 1, + aux_sym_function_call_expression_repeat1, + [15111] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(620), 1, + sym_comment, + ACTIONS(1083), 1, + anon_sym_COMMA, + ACTIONS(1093), 1, + anon_sym_GT, + STATE(383), 1, + aux_sym_type_argument_list_definition_repeat1, + [15124] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1083), 1, anon_sym_COMMA, - ACTIONS(991), 1, - anon_sym_RBRACK, - STATE(325), 1, - aux_sym_array_literal_repeat1, - [12530] = 4, + ACTIONS(1095), 1, + anon_sym_GT, + STATE(383), 1, + aux_sym_type_argument_list_definition_repeat1, + [15137] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(892), 1, - anon_sym_LPAREN, - STATE(75), 1, - sym__lrb_symbol, - STATE(204), 1, - sym_argument_list, - [12543] = 4, + sym_comment, + ACTIONS(702), 1, + anon_sym_COMMA, + ACTIONS(1097), 1, + anon_sym_RPAREN, + STATE(360), 1, + aux_sym_function_call_expression_repeat1, + [15150] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(407), 1, - sym_expand_operator, - ACTIONS(969), 1, + sym_comment, + ACTIONS(868), 1, sym_attribute_access_operator, - ACTIONS(993), 1, + ACTIONS(1099), 1, anon_sym_COLON, - [12556] = 4, + STATE(41), 1, + sym__typedef_symbol, + [15163] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(961), 1, + sym_comment, + ACTIONS(1101), 1, anon_sym_COMMA, - ACTIONS(995), 1, + ACTIONS(1104), 1, anon_sym_GT, - STATE(321), 1, + STATE(383), 1, aux_sym_type_argument_list_definition_repeat1, - [12569] = 4, + [15176] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(736), 1, - anon_sym_DASH_GT, - ACTIONS(997), 1, + sym_comment, + ACTIONS(1106), 1, anon_sym_SEMI, - STATE(138), 1, - sym_rightarrow_operator, - [12582] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(999), 1, - anon_sym_COMMA, - ACTIONS(1002), 1, - anon_sym_RPAREN, - STATE(341), 1, - aux_sym_function_call_expression_repeat1, - [12595] = 4, + ACTIONS(1108), 1, + sym_assign_operator, + STATE(83), 1, + sym__terminal_symbol, + [15189] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(768), 1, + sym_comment, + ACTIONS(830), 1, anon_sym_LBRACE, - STATE(6), 1, + STATE(5), 1, sym__lcb_symbol, - STATE(261), 1, + STATE(297), 1, sym_block, - [12608] = 4, + [15202] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(768), 1, + sym_comment, + ACTIONS(830), 1, anon_sym_LBRACE, - STATE(6), 1, + STATE(5), 1, sym__lcb_symbol, - STATE(262), 1, + STATE(298), 1, sym_block, - [12621] = 4, + [15215] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(768), 1, + sym_comment, + ACTIONS(830), 1, anon_sym_LBRACE, - STATE(6), 1, + STATE(5), 1, sym__lcb_symbol, - STATE(263), 1, + STATE(299), 1, sym_block, - [12634] = 4, + [15228] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(768), 1, + sym_comment, + ACTIONS(830), 1, anon_sym_LBRACE, - STATE(6), 1, + STATE(5), 1, sym__lcb_symbol, - STATE(264), 1, + STATE(300), 1, sym_block, - [12647] = 4, + [15241] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(409), 1, - anon_sym_LBRACE, - STATE(9), 1, - sym__lcb_symbol, - STATE(47), 1, - sym_block, - [12660] = 4, + sym_comment, + ACTIONS(479), 3, + anon_sym_COMMA, + anon_sym_GT, + sym_attribute_access_operator, + [15250] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(409), 1, + sym_comment, + ACTIONS(441), 1, anon_sym_LBRACE, - STATE(9), 1, + STATE(8), 1, sym__lcb_symbol, - STATE(48), 1, + STATE(61), 1, sym_block, - [12673] = 4, + [15263] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(409), 1, + sym_comment, + ACTIONS(441), 1, anon_sym_LBRACE, - STATE(9), 1, + STATE(8), 1, sym__lcb_symbol, - STATE(49), 1, + STATE(60), 1, sym_block, - [12686] = 4, + [15276] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(409), 1, + sym_comment, + ACTIONS(441), 1, anon_sym_LBRACE, - STATE(9), 1, + STATE(8), 1, sym__lcb_symbol, - STATE(50), 1, + STATE(63), 1, sym_block, - [12699] = 4, + [15289] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(622), 1, - anon_sym_COMMA, - ACTIONS(1004), 1, - anon_sym_RPAREN, - STATE(341), 1, - aux_sym_function_call_expression_repeat1, - [12712] = 3, + sym_comment, + ACTIONS(970), 1, + anon_sym_LPAREN, + STATE(89), 1, + sym__lrb_symbol, + STATE(222), 1, + sym_argument_list, + [15302] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(1006), 1, + sym_comment, + ACTIONS(1110), 1, sym_attribute_access_operator, - ACTIONS(790), 2, + ACTIONS(866), 2, anon_sym_COMMA, anon_sym_GT, - [12723] = 3, + [15313] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(1008), 1, + sym_comment, + ACTIONS(970), 1, + anon_sym_LPAREN, + STATE(89), 1, + sym__lrb_symbol, + STATE(219), 1, + sym_argument_list, + [15326] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(820), 1, anon_sym_DASH_GT, - ACTIONS(794), 2, + ACTIONS(1112), 1, + anon_sym_SEMI, + STATE(151), 1, + sym_rightarrow_operator, + [15339] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1114), 1, + anon_sym_DASH_GT, + ACTIONS(878), 2, anon_sym_COMMA, anon_sym_GT, - [12734] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(1010), 1, - anon_sym_SEMI, - ACTIONS(1012), 1, - sym_expand_operator, - STATE(353), 1, - aux_sym_use_directive_repeat1, - [12747] = 4, + [15350] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(892), 1, + sym_comment, + ACTIONS(970), 1, anon_sym_LPAREN, - STATE(75), 1, + STATE(89), 1, sym__lrb_symbol, - STATE(292), 1, + STATE(333), 1, sym_argument_list, - [12760] = 4, + [15363] = 4, ACTIONS(3), 1, - sym__comment, - ACTIONS(892), 1, + sym_comment, + ACTIONS(970), 1, anon_sym_LPAREN, - STATE(75), 1, + STATE(89), 1, sym__lrb_symbol, - STATE(352), 1, + STATE(397), 1, sym_argument_list, - [12773] = 4, + [15376] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(407), 1, - sym_expand_operator, - ACTIONS(969), 1, + sym_comment, + ACTIONS(475), 3, + anon_sym_COMMA, + anon_sym_GT, sym_attribute_access_operator, - ACTIONS(1015), 1, + [15385] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1116), 1, + anon_sym_SEMI, + STATE(263), 1, + sym__terminal_symbol, + [15395] = 3, + ACTIONS(1118), 1, + anon_sym_DQUOTE, + ACTIONS(1120), 1, + sym__string_literal_content, + ACTIONS(1122), 1, + sym_comment, + [15405] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1124), 1, anon_sym_COLON, - [12786] = 3, + STATE(150), 1, + sym__typedef_symbol, + [15415] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(1017), 1, + sym_comment, + ACTIONS(1126), 1, anon_sym_LBRACE, - STATE(173), 1, + STATE(316), 1, sym__lcb_symbol, - [12796] = 2, + [15425] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(1019), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [12804] = 3, + sym_comment, + ACTIONS(69), 1, + anon_sym_DQUOTE, + STATE(412), 1, + sym_string_literal, + [15435] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(7), 1, - anon_sym_fn, - STATE(256), 1, - sym_function_keyword, - [12814] = 3, + sym_comment, + ACTIONS(1128), 1, + anon_sym_LBRACE, + STATE(225), 1, + sym__lcb_symbol, + [15445] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(1021), 1, + sym_comment, + ACTIONS(1130), 1, anon_sym_SEMI, - STATE(232), 1, - sym__terminal_symbol, - [12824] = 3, + ACTIONS(1132), 1, + anon_sym_RBRACK, + [15455] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(1023), 1, + sym_comment, + ACTIONS(1134), 1, anon_sym_SEMI, - STATE(228), 1, + STATE(74), 1, sym__terminal_symbol, - [12834] = 3, + [15465] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1025), 1, + sym_comment, + ACTIONS(1136), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [15473] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1138), 2, + anon_sym_COMMA, + anon_sym_GT, + [15481] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(439), 2, + sym_expand_operator, + sym_attribute_access_operator, + [15489] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1140), 1, anon_sym_SEMI, - STATE(62), 1, + STATE(265), 1, sym__terminal_symbol, - [12844] = 3, + [15499] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(1027), 1, + sym_comment, + ACTIONS(1142), 1, anon_sym_SEMI, - ACTIONS(1029), 1, - anon_sym_RBRACK, - [12854] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(1031), 1, - anon_sym_COLON, - STATE(134), 1, - sym__typedef_symbol, - [12864] = 2, + STATE(80), 1, + sym__terminal_symbol, + [15509] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1033), 2, + sym_comment, + ACTIONS(1144), 2, anon_sym_COMMA, anon_sym_RPAREN, - [12872] = 3, + [15517] = 3, ACTIONS(3), 1, - sym__comment, + sym_comment, ACTIONS(69), 1, anon_sym_DQUOTE, - STATE(391), 1, + STATE(420), 1, sym_string_literal, - [12882] = 3, + [15527] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1146), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [15535] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(1035), 1, + sym_comment, + ACTIONS(1148), 1, anon_sym_COLON, - STATE(133), 1, + STATE(146), 1, sym__typedef_symbol, - [12892] = 2, + [15545] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(1037), 2, - anon_sym_COMMA, - anon_sym_GT, - [12900] = 2, + sym_comment, + ACTIONS(1150), 1, + anon_sym_SEMI, + STATE(264), 1, + sym__terminal_symbol, + [15555] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1039), 2, + sym_comment, + ACTIONS(1152), 2, anon_sym_COMMA, - anon_sym_RBRACE, - [12908] = 3, + anon_sym_RPAREN, + [15563] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(792), 1, - sym_attribute_access_operator, - ACTIONS(1041), 1, - anon_sym_RBRACK, - [12918] = 3, + sym_comment, + ACTIONS(1154), 1, + anon_sym_SEMI, + STATE(260), 1, + sym__terminal_symbol, + [15573] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(1043), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_fn, + STATE(314), 1, + sym_function_keyword, + [15583] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1156), 1, anon_sym_COLON, - STATE(139), 1, + STATE(144), 1, sym__typedef_symbol, - [12928] = 3, + [15593] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(1045), 1, + sym_comment, + ACTIONS(1158), 1, anon_sym_COLON, - STATE(131), 1, + STATE(139), 1, sym__typedef_symbol, - [12938] = 3, + [15603] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(1047), 1, + sym_comment, + ACTIONS(1160), 1, anon_sym_COLON, - STATE(136), 1, + STATE(158), 1, sym__typedef_symbol, - [12948] = 3, + [15613] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(1049), 1, + sym_comment, + ACTIONS(1162), 1, anon_sym_SEMI, - STATE(205), 1, + STATE(266), 1, sym__terminal_symbol, - [12958] = 3, + [15623] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1051), 1, + sym_comment, + ACTIONS(1164), 2, anon_sym_SEMI, - STATE(233), 1, - sym__terminal_symbol, - [12968] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(1053), 1, - anon_sym_LBRACE, - STATE(189), 1, - sym__lcb_symbol, - [12978] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(407), 1, sym_expand_operator, - ACTIONS(969), 1, - sym_attribute_access_operator, - [12988] = 2, + [15631] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1055), 2, + sym_comment, + ACTIONS(1166), 2, anon_sym_COMMA, - anon_sym_RBRACE, - [12996] = 3, + anon_sym_GT, + [15639] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(1057), 1, - anon_sym_SEMI, - STATE(227), 1, - sym__terminal_symbol, - [13006] = 3, + sym_comment, + ACTIONS(868), 1, + sym_attribute_access_operator, + ACTIONS(1168), 1, + anon_sym_RBRACK, + [15649] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(1059), 1, - anon_sym_SEMI, - STATE(61), 1, - sym__terminal_symbol, - [13016] = 2, + sym_comment, + ACTIONS(1170), 1, + anon_sym_COLON, + STATE(149), 1, + sym__typedef_symbol, + [15659] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1061), 2, + sym_comment, + ACTIONS(1172), 2, anon_sym_COMMA, - anon_sym_RPAREN, - [13024] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(407), 2, - sym_expand_operator, - sym_attribute_access_operator, - [13032] = 3, + anon_sym_RBRACE, + [15667] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(1063), 1, + sym_comment, + ACTIONS(1174), 1, anon_sym_LBRACE, - STATE(276), 1, + STATE(209), 1, sym__lcb_symbol, - [13042] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(1065), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [13050] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(1067), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [13058] = 2, + [15677] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(1069), 2, + sym_comment, + ACTIONS(1176), 1, anon_sym_SEMI, - sym_expand_operator, - [13066] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(69), 1, - anon_sym_DQUOTE, - STATE(375), 1, - sym_string_literal, - [13076] = 2, + STATE(269), 1, + sym__terminal_symbol, + [15687] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1071), 2, + sym_comment, + ACTIONS(1178), 2, anon_sym_COMMA, anon_sym_RPAREN, - [13084] = 2, + [15695] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1073), 2, + sym_comment, + ACTIONS(1180), 2, anon_sym_COMMA, - anon_sym_GT, - [13092] = 3, + anon_sym_RPAREN, + [15703] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(1075), 1, + sym_comment, + ACTIONS(1182), 1, anon_sym_COLON, - STATE(126), 1, + STATE(175), 1, sym__typedef_symbol, - [13102] = 3, + [15713] = 3, ACTIONS(3), 1, - sym__comment, - ACTIONS(1077), 1, + sym_comment, + ACTIONS(1184), 1, anon_sym_SEMI, - STATE(223), 1, + STATE(257), 1, sym__terminal_symbol, - [13112] = 3, + [15723] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1079), 1, - anon_sym_COLON, - STATE(144), 1, - sym__typedef_symbol, - [13122] = 3, + sym_comment, + ACTIONS(1186), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [15731] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1081), 1, - anon_sym_SEMI, - STATE(231), 1, - sym__terminal_symbol, - [13132] = 2, + sym_comment, + ACTIONS(1188), 1, + anon_sym_LPAREN, + [15738] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1083), 1, + sym_comment, + ACTIONS(1190), 1, anon_sym_LPAREN, - [13139] = 2, + [15745] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1085), 1, - ts_builtin_sym_end, - [13146] = 2, + sym_comment, + ACTIONS(1192), 1, + anon_sym_LPAREN, + [15752] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1087), 1, - anon_sym_SEMI, - [13153] = 2, + sym_comment, + ACTIONS(1194), 1, + aux_sym_number_literal_token1, + [15759] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1089), 1, + sym_comment, + ACTIONS(1196), 1, sym_assign_operator, - [13160] = 2, + [15766] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1091), 1, + sym_comment, + ACTIONS(1198), 1, anon_sym_DQUOTE, - [13167] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(1093), 1, - aux_sym_number_literal_token1, - [13174] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(1095), 1, - anon_sym_LPAREN, - [13181] = 2, + [15773] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1097), 1, + sym_comment, + ACTIONS(1200), 1, sym_assign_operator, - [13188] = 2, + [15780] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1099), 1, + sym_comment, + ACTIONS(1202), 1, sym_assign_operator, - [13195] = 2, + [15787] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1101), 1, + sym_comment, + ACTIONS(1168), 1, + anon_sym_RBRACK, + [15794] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1204), 1, + anon_sym_LPAREN, + [15801] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, anon_sym_LPAREN, - [13202] = 2, + [15808] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1103), 1, + sym_comment, + ACTIONS(1208), 1, anon_sym_from, - [13209] = 2, + [15815] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1041), 1, - anon_sym_RBRACK, - [13216] = 2, + sym_comment, + ACTIONS(1210), 1, + anon_sym_from, + [15822] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1105), 1, - anon_sym_LPAREN, - [13223] = 2, + sym_comment, + ACTIONS(1212), 1, + ts_builtin_sym_end, + [15829] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1107), 1, + sym_comment, + ACTIONS(1214), 1, anon_sym_SEMI, - [13230] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(1109), 1, - sym_assign_operator, - [13237] = 2, + [15836] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1111), 1, + sym_comment, + ACTIONS(1216), 1, anon_sym_SEMI, - [13244] = 2, + [15843] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1113), 1, - anon_sym_from, - [13251] = 2, - ACTIONS(1115), 1, - sym__string_literal_content, - ACTIONS(1117), 1, - sym__comment, - [13258] = 2, + sym_comment, + ACTIONS(1218), 1, + anon_sym_SEMI, + [15850] = 2, ACTIONS(3), 1, - sym__comment, - ACTIONS(1119), 1, - anon_sym_LPAREN, + sym_comment, + ACTIONS(1220), 1, + sym_assign_operator, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(11)] = 0, - [SMALL_STATE(12)] = 118, - [SMALL_STATE(13)] = 213, - [SMALL_STATE(14)] = 308, - [SMALL_STATE(15)] = 403, - [SMALL_STATE(16)] = 495, - [SMALL_STATE(17)] = 587, - [SMALL_STATE(18)] = 679, - [SMALL_STATE(19)] = 771, - [SMALL_STATE(20)] = 863, - [SMALL_STATE(21)] = 955, - [SMALL_STATE(22)] = 1047, - [SMALL_STATE(23)] = 1139, - [SMALL_STATE(24)] = 1231, - [SMALL_STATE(25)] = 1323, - [SMALL_STATE(26)] = 1415, - [SMALL_STATE(27)] = 1507, - [SMALL_STATE(28)] = 1599, - [SMALL_STATE(29)] = 1691, - [SMALL_STATE(30)] = 1783, - [SMALL_STATE(31)] = 1875, - [SMALL_STATE(32)] = 1967, - [SMALL_STATE(33)] = 2059, - [SMALL_STATE(34)] = 2151, - [SMALL_STATE(35)] = 2243, - [SMALL_STATE(36)] = 2335, - [SMALL_STATE(37)] = 2427, - [SMALL_STATE(38)] = 2519, - [SMALL_STATE(39)] = 2611, - [SMALL_STATE(40)] = 2703, - [SMALL_STATE(41)] = 2795, - [SMALL_STATE(42)] = 2889, - [SMALL_STATE(43)] = 2981, - [SMALL_STATE(44)] = 3036, - [SMALL_STATE(45)] = 3089, - [SMALL_STATE(46)] = 3144, - [SMALL_STATE(47)] = 3192, - [SMALL_STATE(48)] = 3240, - [SMALL_STATE(49)] = 3288, - [SMALL_STATE(50)] = 3336, - [SMALL_STATE(51)] = 3384, - [SMALL_STATE(52)] = 3432, - [SMALL_STATE(53)] = 3480, - [SMALL_STATE(54)] = 3526, - [SMALL_STATE(55)] = 3572, - [SMALL_STATE(56)] = 3618, - [SMALL_STATE(57)] = 3664, - [SMALL_STATE(58)] = 3710, - [SMALL_STATE(59)] = 3756, - [SMALL_STATE(60)] = 3802, - [SMALL_STATE(61)] = 3848, - [SMALL_STATE(62)] = 3894, - [SMALL_STATE(63)] = 3940, - [SMALL_STATE(64)] = 3986, - [SMALL_STATE(65)] = 4032, - [SMALL_STATE(66)] = 4078, - [SMALL_STATE(67)] = 4124, - [SMALL_STATE(68)] = 4170, - [SMALL_STATE(69)] = 4216, - [SMALL_STATE(70)] = 4262, - [SMALL_STATE(71)] = 4308, - [SMALL_STATE(72)] = 4354, - [SMALL_STATE(73)] = 4400, - [SMALL_STATE(74)] = 4446, - [SMALL_STATE(75)] = 4492, - [SMALL_STATE(76)] = 4560, - [SMALL_STATE(77)] = 4649, - [SMALL_STATE(78)] = 4738, - [SMALL_STATE(79)] = 4827, - [SMALL_STATE(80)] = 4873, - [SMALL_STATE(81)] = 4935, - [SMALL_STATE(82)] = 4983, - [SMALL_STATE(83)] = 5028, - [SMALL_STATE(84)] = 5069, - [SMALL_STATE(85)] = 5110, - [SMALL_STATE(86)] = 5151, - [SMALL_STATE(87)] = 5192, - [SMALL_STATE(88)] = 5233, - [SMALL_STATE(89)] = 5274, - [SMALL_STATE(90)] = 5319, - [SMALL_STATE(91)] = 5391, - [SMALL_STATE(92)] = 5459, - [SMALL_STATE(93)] = 5517, - [SMALL_STATE(94)] = 5581, - [SMALL_STATE(95)] = 5627, - [SMALL_STATE(96)] = 5667, - [SMALL_STATE(97)] = 5713, - [SMALL_STATE(98)] = 5753, - [SMALL_STATE(99)] = 5805, - [SMALL_STATE(100)] = 5853, - [SMALL_STATE(101)] = 5899, - [SMALL_STATE(102)] = 5969, - [SMALL_STATE(103)] = 6025, - [SMALL_STATE(104)] = 6091, - [SMALL_STATE(105)] = 6161, - [SMALL_STATE(106)] = 6220, - [SMALL_STATE(107)] = 6279, - [SMALL_STATE(108)] = 6316, - [SMALL_STATE(109)] = 6353, - [SMALL_STATE(110)] = 6390, - [SMALL_STATE(111)] = 6427, - [SMALL_STATE(112)] = 6464, - [SMALL_STATE(113)] = 6501, - [SMALL_STATE(114)] = 6538, - [SMALL_STATE(115)] = 6575, - [SMALL_STATE(116)] = 6612, - [SMALL_STATE(117)] = 6649, - [SMALL_STATE(118)] = 6686, - [SMALL_STATE(119)] = 6723, - [SMALL_STATE(120)] = 6760, - [SMALL_STATE(121)] = 6797, - [SMALL_STATE(122)] = 6834, - [SMALL_STATE(123)] = 6873, - [SMALL_STATE(124)] = 6910, - [SMALL_STATE(125)] = 6947, - [SMALL_STATE(126)] = 6997, - [SMALL_STATE(127)] = 7047, - [SMALL_STATE(128)] = 7097, - [SMALL_STATE(129)] = 7147, - [SMALL_STATE(130)] = 7197, - [SMALL_STATE(131)] = 7247, - [SMALL_STATE(132)] = 7297, - [SMALL_STATE(133)] = 7347, - [SMALL_STATE(134)] = 7397, - [SMALL_STATE(135)] = 7447, - [SMALL_STATE(136)] = 7497, - [SMALL_STATE(137)] = 7547, - [SMALL_STATE(138)] = 7597, - [SMALL_STATE(139)] = 7647, - [SMALL_STATE(140)] = 7697, - [SMALL_STATE(141)] = 7747, - [SMALL_STATE(142)] = 7797, - [SMALL_STATE(143)] = 7847, - [SMALL_STATE(144)] = 7897, - [SMALL_STATE(145)] = 7947, - [SMALL_STATE(146)] = 8019, - [SMALL_STATE(147)] = 8091, - [SMALL_STATE(148)] = 8163, - [SMALL_STATE(149)] = 8235, - [SMALL_STATE(150)] = 8307, - [SMALL_STATE(151)] = 8348, - [SMALL_STATE(152)] = 8417, - [SMALL_STATE(153)] = 8486, - [SMALL_STATE(154)] = 8553, - [SMALL_STATE(155)] = 8622, - [SMALL_STATE(156)] = 8689, - [SMALL_STATE(157)] = 8758, - [SMALL_STATE(158)] = 8827, - [SMALL_STATE(159)] = 8894, - [SMALL_STATE(160)] = 8931, - [SMALL_STATE(161)] = 9000, - [SMALL_STATE(162)] = 9037, - [SMALL_STATE(163)] = 9106, - [SMALL_STATE(164)] = 9175, - [SMALL_STATE(165)] = 9207, - [SMALL_STATE(166)] = 9239, - [SMALL_STATE(167)] = 9271, - [SMALL_STATE(168)] = 9337, - [SMALL_STATE(169)] = 9372, - [SMALL_STATE(170)] = 9435, - [SMALL_STATE(171)] = 9466, - [SMALL_STATE(172)] = 9512, - [SMALL_STATE(173)] = 9558, - [SMALL_STATE(174)] = 9599, - [SMALL_STATE(175)] = 9640, - [SMALL_STATE(176)] = 9665, - [SMALL_STATE(177)] = 9689, - [SMALL_STATE(178)] = 9727, - [SMALL_STATE(179)] = 9754, - [SMALL_STATE(180)] = 9790, - [SMALL_STATE(181)] = 9812, - [SMALL_STATE(182)] = 9832, - [SMALL_STATE(183)] = 9868, - [SMALL_STATE(184)] = 9888, - [SMALL_STATE(185)] = 9914, - [SMALL_STATE(186)] = 9946, - [SMALL_STATE(187)] = 9966, - [SMALL_STATE(188)] = 10002, - [SMALL_STATE(189)] = 10038, - [SMALL_STATE(190)] = 10075, - [SMALL_STATE(191)] = 10112, - [SMALL_STATE(192)] = 10131, - [SMALL_STATE(193)] = 10150, - [SMALL_STATE(194)] = 10169, - [SMALL_STATE(195)] = 10188, - [SMALL_STATE(196)] = 10207, - [SMALL_STATE(197)] = 10241, - [SMALL_STATE(198)] = 10261, - [SMALL_STATE(199)] = 10291, - [SMALL_STATE(200)] = 10321, - [SMALL_STATE(201)] = 10351, - [SMALL_STATE(202)] = 10381, - [SMALL_STATE(203)] = 10411, - [SMALL_STATE(204)] = 10441, - [SMALL_STATE(205)] = 10460, - [SMALL_STATE(206)] = 10476, - [SMALL_STATE(207)] = 10492, - [SMALL_STATE(208)] = 10508, - [SMALL_STATE(209)] = 10524, - [SMALL_STATE(210)] = 10540, - [SMALL_STATE(211)] = 10556, - [SMALL_STATE(212)] = 10572, - [SMALL_STATE(213)] = 10588, - [SMALL_STATE(214)] = 10604, - [SMALL_STATE(215)] = 10620, - [SMALL_STATE(216)] = 10636, - [SMALL_STATE(217)] = 10652, - [SMALL_STATE(218)] = 10668, - [SMALL_STATE(219)] = 10684, - [SMALL_STATE(220)] = 10700, - [SMALL_STATE(221)] = 10716, - [SMALL_STATE(222)] = 10732, - [SMALL_STATE(223)] = 10748, - [SMALL_STATE(224)] = 10763, - [SMALL_STATE(225)] = 10788, - [SMALL_STATE(226)] = 10803, - [SMALL_STATE(227)] = 10818, - [SMALL_STATE(228)] = 10833, - [SMALL_STATE(229)] = 10848, - [SMALL_STATE(230)] = 10863, - [SMALL_STATE(231)] = 10878, - [SMALL_STATE(232)] = 10893, - [SMALL_STATE(233)] = 10908, - [SMALL_STATE(234)] = 10923, - [SMALL_STATE(235)] = 10943, - [SMALL_STATE(236)] = 10963, - [SMALL_STATE(237)] = 10983, - [SMALL_STATE(238)] = 11005, - [SMALL_STATE(239)] = 11025, - [SMALL_STATE(240)] = 11049, - [SMALL_STATE(241)] = 11071, - [SMALL_STATE(242)] = 11093, - [SMALL_STATE(243)] = 11113, - [SMALL_STATE(244)] = 11133, - [SMALL_STATE(245)] = 11153, - [SMALL_STATE(246)] = 11172, - [SMALL_STATE(247)] = 11191, - [SMALL_STATE(248)] = 11207, - [SMALL_STATE(249)] = 11221, - [SMALL_STATE(250)] = 11235, - [SMALL_STATE(251)] = 11251, - [SMALL_STATE(252)] = 11267, - [SMALL_STATE(253)] = 11283, - [SMALL_STATE(254)] = 11297, - [SMALL_STATE(255)] = 11313, - [SMALL_STATE(256)] = 11327, - [SMALL_STATE(257)] = 11343, - [SMALL_STATE(258)] = 11359, - [SMALL_STATE(259)] = 11373, - [SMALL_STATE(260)] = 11391, - [SMALL_STATE(261)] = 11407, - [SMALL_STATE(262)] = 11421, - [SMALL_STATE(263)] = 11435, - [SMALL_STATE(264)] = 11449, - [SMALL_STATE(265)] = 11463, - [SMALL_STATE(266)] = 11477, - [SMALL_STATE(267)] = 11491, - [SMALL_STATE(268)] = 11507, - [SMALL_STATE(269)] = 11521, - [SMALL_STATE(270)] = 11537, - [SMALL_STATE(271)] = 11555, - [SMALL_STATE(272)] = 11571, - [SMALL_STATE(273)] = 11587, - [SMALL_STATE(274)] = 11603, - [SMALL_STATE(275)] = 11619, - [SMALL_STATE(276)] = 11635, - [SMALL_STATE(277)] = 11651, - [SMALL_STATE(278)] = 11667, - [SMALL_STATE(279)] = 11683, - [SMALL_STATE(280)] = 11699, - [SMALL_STATE(281)] = 11718, - [SMALL_STATE(282)] = 11737, - [SMALL_STATE(283)] = 11756, - [SMALL_STATE(284)] = 11775, - [SMALL_STATE(285)] = 11794, - [SMALL_STATE(286)] = 11813, - [SMALL_STATE(287)] = 11832, - [SMALL_STATE(288)] = 11851, - [SMALL_STATE(289)] = 11866, - [SMALL_STATE(290)] = 11885, - [SMALL_STATE(291)] = 11904, - [SMALL_STATE(292)] = 11923, - [SMALL_STATE(293)] = 11936, - [SMALL_STATE(294)] = 11955, - [SMALL_STATE(295)] = 11971, - [SMALL_STATE(296)] = 11987, - [SMALL_STATE(297)] = 11999, - [SMALL_STATE(298)] = 12013, - [SMALL_STATE(299)] = 12029, - [SMALL_STATE(300)] = 12039, - [SMALL_STATE(301)] = 12055, - [SMALL_STATE(302)] = 12071, - [SMALL_STATE(303)] = 12087, - [SMALL_STATE(304)] = 12103, - [SMALL_STATE(305)] = 12119, - [SMALL_STATE(306)] = 12135, - [SMALL_STATE(307)] = 12151, - [SMALL_STATE(308)] = 12167, - [SMALL_STATE(309)] = 12183, - [SMALL_STATE(310)] = 12199, - [SMALL_STATE(311)] = 12212, - [SMALL_STATE(312)] = 12225, - [SMALL_STATE(313)] = 12238, - [SMALL_STATE(314)] = 12251, - [SMALL_STATE(315)] = 12264, - [SMALL_STATE(316)] = 12277, - [SMALL_STATE(317)] = 12290, - [SMALL_STATE(318)] = 12303, - [SMALL_STATE(319)] = 12316, - [SMALL_STATE(320)] = 12329, - [SMALL_STATE(321)] = 12338, - [SMALL_STATE(322)] = 12351, - [SMALL_STATE(323)] = 12360, - [SMALL_STATE(324)] = 12369, - [SMALL_STATE(325)] = 12378, - [SMALL_STATE(326)] = 12391, - [SMALL_STATE(327)] = 12400, - [SMALL_STATE(328)] = 12413, - [SMALL_STATE(329)] = 12426, - [SMALL_STATE(330)] = 12439, - [SMALL_STATE(331)] = 12452, - [SMALL_STATE(332)] = 12465, - [SMALL_STATE(333)] = 12478, - [SMALL_STATE(334)] = 12491, - [SMALL_STATE(335)] = 12504, - [SMALL_STATE(336)] = 12517, - [SMALL_STATE(337)] = 12530, - [SMALL_STATE(338)] = 12543, - [SMALL_STATE(339)] = 12556, - [SMALL_STATE(340)] = 12569, - [SMALL_STATE(341)] = 12582, - [SMALL_STATE(342)] = 12595, - [SMALL_STATE(343)] = 12608, - [SMALL_STATE(344)] = 12621, - [SMALL_STATE(345)] = 12634, - [SMALL_STATE(346)] = 12647, - [SMALL_STATE(347)] = 12660, - [SMALL_STATE(348)] = 12673, - [SMALL_STATE(349)] = 12686, - [SMALL_STATE(350)] = 12699, - [SMALL_STATE(351)] = 12712, - [SMALL_STATE(352)] = 12723, - [SMALL_STATE(353)] = 12734, - [SMALL_STATE(354)] = 12747, - [SMALL_STATE(355)] = 12760, - [SMALL_STATE(356)] = 12773, - [SMALL_STATE(357)] = 12786, - [SMALL_STATE(358)] = 12796, - [SMALL_STATE(359)] = 12804, - [SMALL_STATE(360)] = 12814, - [SMALL_STATE(361)] = 12824, - [SMALL_STATE(362)] = 12834, - [SMALL_STATE(363)] = 12844, - [SMALL_STATE(364)] = 12854, - [SMALL_STATE(365)] = 12864, - [SMALL_STATE(366)] = 12872, - [SMALL_STATE(367)] = 12882, - [SMALL_STATE(368)] = 12892, - [SMALL_STATE(369)] = 12900, - [SMALL_STATE(370)] = 12908, - [SMALL_STATE(371)] = 12918, - [SMALL_STATE(372)] = 12928, - [SMALL_STATE(373)] = 12938, - [SMALL_STATE(374)] = 12948, - [SMALL_STATE(375)] = 12958, - [SMALL_STATE(376)] = 12968, - [SMALL_STATE(377)] = 12978, - [SMALL_STATE(378)] = 12988, - [SMALL_STATE(379)] = 12996, - [SMALL_STATE(380)] = 13006, - [SMALL_STATE(381)] = 13016, - [SMALL_STATE(382)] = 13024, - [SMALL_STATE(383)] = 13032, - [SMALL_STATE(384)] = 13042, - [SMALL_STATE(385)] = 13050, - [SMALL_STATE(386)] = 13058, - [SMALL_STATE(387)] = 13066, - [SMALL_STATE(388)] = 13076, - [SMALL_STATE(389)] = 13084, - [SMALL_STATE(390)] = 13092, - [SMALL_STATE(391)] = 13102, - [SMALL_STATE(392)] = 13112, - [SMALL_STATE(393)] = 13122, - [SMALL_STATE(394)] = 13132, - [SMALL_STATE(395)] = 13139, - [SMALL_STATE(396)] = 13146, - [SMALL_STATE(397)] = 13153, - [SMALL_STATE(398)] = 13160, - [SMALL_STATE(399)] = 13167, - [SMALL_STATE(400)] = 13174, - [SMALL_STATE(401)] = 13181, - [SMALL_STATE(402)] = 13188, - [SMALL_STATE(403)] = 13195, - [SMALL_STATE(404)] = 13202, - [SMALL_STATE(405)] = 13209, - [SMALL_STATE(406)] = 13216, - [SMALL_STATE(407)] = 13223, - [SMALL_STATE(408)] = 13230, - [SMALL_STATE(409)] = 13237, - [SMALL_STATE(410)] = 13244, - [SMALL_STATE(411)] = 13251, - [SMALL_STATE(412)] = 13258, + [SMALL_STATE(12)] = 119, + [SMALL_STATE(13)] = 218, + [SMALL_STATE(14)] = 314, + [SMALL_STATE(15)] = 410, + [SMALL_STATE(16)] = 503, + [SMALL_STATE(17)] = 596, + [SMALL_STATE(18)] = 689, + [SMALL_STATE(19)] = 782, + [SMALL_STATE(20)] = 875, + [SMALL_STATE(21)] = 968, + [SMALL_STATE(22)] = 1061, + [SMALL_STATE(23)] = 1154, + [SMALL_STATE(24)] = 1247, + [SMALL_STATE(25)] = 1340, + [SMALL_STATE(26)] = 1433, + [SMALL_STATE(27)] = 1526, + [SMALL_STATE(28)] = 1621, + [SMALL_STATE(29)] = 1714, + [SMALL_STATE(30)] = 1807, + [SMALL_STATE(31)] = 1900, + [SMALL_STATE(32)] = 1993, + [SMALL_STATE(33)] = 2086, + [SMALL_STATE(34)] = 2179, + [SMALL_STATE(35)] = 2272, + [SMALL_STATE(36)] = 2365, + [SMALL_STATE(37)] = 2458, + [SMALL_STATE(38)] = 2551, + [SMALL_STATE(39)] = 2644, + [SMALL_STATE(40)] = 2737, + [SMALL_STATE(41)] = 2830, + [SMALL_STATE(42)] = 2923, + [SMALL_STATE(43)] = 3016, + [SMALL_STATE(44)] = 3109, + [SMALL_STATE(45)] = 3202, + [SMALL_STATE(46)] = 3295, + [SMALL_STATE(47)] = 3388, + [SMALL_STATE(48)] = 3481, + [SMALL_STATE(49)] = 3574, + [SMALL_STATE(50)] = 3667, + [SMALL_STATE(51)] = 3760, + [SMALL_STATE(52)] = 3853, + [SMALL_STATE(53)] = 3946, + [SMALL_STATE(54)] = 4039, + [SMALL_STATE(55)] = 4132, + [SMALL_STATE(56)] = 4225, + [SMALL_STATE(57)] = 4318, + [SMALL_STATE(58)] = 4373, + [SMALL_STATE(59)] = 4426, + [SMALL_STATE(60)] = 4481, + [SMALL_STATE(61)] = 4529, + [SMALL_STATE(62)] = 4577, + [SMALL_STATE(63)] = 4625, + [SMALL_STATE(64)] = 4673, + [SMALL_STATE(65)] = 4721, + [SMALL_STATE(66)] = 4769, + [SMALL_STATE(67)] = 4817, + [SMALL_STATE(68)] = 4863, + [SMALL_STATE(69)] = 4909, + [SMALL_STATE(70)] = 4955, + [SMALL_STATE(71)] = 5001, + [SMALL_STATE(72)] = 5047, + [SMALL_STATE(73)] = 5093, + [SMALL_STATE(74)] = 5139, + [SMALL_STATE(75)] = 5185, + [SMALL_STATE(76)] = 5231, + [SMALL_STATE(77)] = 5277, + [SMALL_STATE(78)] = 5323, + [SMALL_STATE(79)] = 5369, + [SMALL_STATE(80)] = 5415, + [SMALL_STATE(81)] = 5461, + [SMALL_STATE(82)] = 5507, + [SMALL_STATE(83)] = 5553, + [SMALL_STATE(84)] = 5599, + [SMALL_STATE(85)] = 5645, + [SMALL_STATE(86)] = 5691, + [SMALL_STATE(87)] = 5737, + [SMALL_STATE(88)] = 5783, + [SMALL_STATE(89)] = 5829, + [SMALL_STATE(90)] = 5897, + [SMALL_STATE(91)] = 5986, + [SMALL_STATE(92)] = 6033, + [SMALL_STATE(93)] = 6122, + [SMALL_STATE(94)] = 6171, + [SMALL_STATE(95)] = 6260, + [SMALL_STATE(96)] = 6322, + [SMALL_STATE(97)] = 6364, + [SMALL_STATE(98)] = 6406, + [SMALL_STATE(99)] = 6448, + [SMALL_STATE(100)] = 6490, + [SMALL_STATE(101)] = 6532, + [SMALL_STATE(102)] = 6574, + [SMALL_STATE(103)] = 6615, + [SMALL_STATE(104)] = 6656, + [SMALL_STATE(105)] = 6703, + [SMALL_STATE(106)] = 6762, + [SMALL_STATE(107)] = 6821, + [SMALL_STATE(108)] = 6859, + [SMALL_STATE(109)] = 6903, + [SMALL_STATE(110)] = 6941, + [SMALL_STATE(111)] = 6979, + [SMALL_STATE(112)] = 7017, + [SMALL_STATE(113)] = 7055, + [SMALL_STATE(114)] = 7093, + [SMALL_STATE(115)] = 7131, + [SMALL_STATE(116)] = 7169, + [SMALL_STATE(117)] = 7207, + [SMALL_STATE(118)] = 7245, + [SMALL_STATE(119)] = 7289, + [SMALL_STATE(120)] = 7327, + [SMALL_STATE(121)] = 7365, + [SMALL_STATE(122)] = 7403, + [SMALL_STATE(123)] = 7441, + [SMALL_STATE(124)] = 7479, + [SMALL_STATE(125)] = 7517, + [SMALL_STATE(126)] = 7557, + [SMALL_STATE(127)] = 7595, + [SMALL_STATE(128)] = 7633, + [SMALL_STATE(129)] = 7671, + [SMALL_STATE(130)] = 7709, + [SMALL_STATE(131)] = 7747, + [SMALL_STATE(132)] = 7785, + [SMALL_STATE(133)] = 7849, + [SMALL_STATE(134)] = 7911, + [SMALL_STATE(135)] = 7977, + [SMALL_STATE(136)] = 8041, + [SMALL_STATE(137)] = 8119, + [SMALL_STATE(138)] = 8173, + [SMALL_STATE(139)] = 8233, + [SMALL_STATE(140)] = 8283, + [SMALL_STATE(141)] = 8333, + [SMALL_STATE(142)] = 8383, + [SMALL_STATE(143)] = 8431, + [SMALL_STATE(144)] = 8475, + [SMALL_STATE(145)] = 8525, + [SMALL_STATE(146)] = 8567, + [SMALL_STATE(147)] = 8617, + [SMALL_STATE(148)] = 8659, + [SMALL_STATE(149)] = 8725, + [SMALL_STATE(150)] = 8775, + [SMALL_STATE(151)] = 8825, + [SMALL_STATE(152)] = 8875, + [SMALL_STATE(153)] = 8925, + [SMALL_STATE(154)] = 8975, + [SMALL_STATE(155)] = 9025, + [SMALL_STATE(156)] = 9075, + [SMALL_STATE(157)] = 9125, + [SMALL_STATE(158)] = 9177, + [SMALL_STATE(159)] = 9227, + [SMALL_STATE(160)] = 9277, + [SMALL_STATE(161)] = 9327, + [SMALL_STATE(162)] = 9375, + [SMALL_STATE(163)] = 9419, + [SMALL_STATE(164)] = 9461, + [SMALL_STATE(165)] = 9527, + [SMALL_STATE(166)] = 9595, + [SMALL_STATE(167)] = 9647, + [SMALL_STATE(168)] = 9709, + [SMALL_STATE(169)] = 9775, + [SMALL_STATE(170)] = 9829, + [SMALL_STATE(171)] = 9889, + [SMALL_STATE(172)] = 9939, + [SMALL_STATE(173)] = 9989, + [SMALL_STATE(174)] = 10039, + [SMALL_STATE(175)] = 10081, + [SMALL_STATE(176)] = 10131, + [SMALL_STATE(177)] = 10199, + [SMALL_STATE(178)] = 10236, + [SMALL_STATE(179)] = 10273, + [SMALL_STATE(180)] = 10311, + [SMALL_STATE(181)] = 10383, + [SMALL_STATE(182)] = 10455, + [SMALL_STATE(183)] = 10527, + [SMALL_STATE(184)] = 10599, + [SMALL_STATE(185)] = 10671, + [SMALL_STATE(186)] = 10709, + [SMALL_STATE(187)] = 10778, + [SMALL_STATE(188)] = 10847, + [SMALL_STATE(189)] = 10914, + [SMALL_STATE(190)] = 10983, + [SMALL_STATE(191)] = 11052, + [SMALL_STATE(192)] = 11093, + [SMALL_STATE(193)] = 11160, + [SMALL_STATE(194)] = 11227, + [SMALL_STATE(195)] = 11294, + [SMALL_STATE(196)] = 11363, + [SMALL_STATE(197)] = 11432, + [SMALL_STATE(198)] = 11501, + [SMALL_STATE(199)] = 11570, + [SMALL_STATE(200)] = 11602, + [SMALL_STATE(201)] = 11634, + [SMALL_STATE(202)] = 11666, + [SMALL_STATE(203)] = 11732, + [SMALL_STATE(204)] = 11795, + [SMALL_STATE(205)] = 11830, + [SMALL_STATE(206)] = 11861, + [SMALL_STATE(207)] = 11907, + [SMALL_STATE(208)] = 11953, + [SMALL_STATE(209)] = 11978, + [SMALL_STATE(210)] = 12019, + [SMALL_STATE(211)] = 12060, + [SMALL_STATE(212)] = 12084, + [SMALL_STATE(213)] = 12122, + [SMALL_STATE(214)] = 12151, + [SMALL_STATE(215)] = 12178, + [SMALL_STATE(216)] = 12214, + [SMALL_STATE(217)] = 12234, + [SMALL_STATE(218)] = 12266, + [SMALL_STATE(219)] = 12286, + [SMALL_STATE(220)] = 12322, + [SMALL_STATE(221)] = 12344, + [SMALL_STATE(222)] = 12366, + [SMALL_STATE(223)] = 12402, + [SMALL_STATE(224)] = 12438, + [SMALL_STATE(225)] = 12458, + [SMALL_STATE(226)] = 12495, + [SMALL_STATE(227)] = 12514, + [SMALL_STATE(228)] = 12551, + [SMALL_STATE(229)] = 12570, + [SMALL_STATE(230)] = 12589, + [SMALL_STATE(231)] = 12608, + [SMALL_STATE(232)] = 12637, + [SMALL_STATE(233)] = 12667, + [SMALL_STATE(234)] = 12697, + [SMALL_STATE(235)] = 12727, + [SMALL_STATE(236)] = 12747, + [SMALL_STATE(237)] = 12781, + [SMALL_STATE(238)] = 12811, + [SMALL_STATE(239)] = 12841, + [SMALL_STATE(240)] = 12871, + [SMALL_STATE(241)] = 12894, + [SMALL_STATE(242)] = 12913, + [SMALL_STATE(243)] = 12929, + [SMALL_STATE(244)] = 12945, + [SMALL_STATE(245)] = 12961, + [SMALL_STATE(246)] = 12977, + [SMALL_STATE(247)] = 12993, + [SMALL_STATE(248)] = 13009, + [SMALL_STATE(249)] = 13025, + [SMALL_STATE(250)] = 13041, + [SMALL_STATE(251)] = 13057, + [SMALL_STATE(252)] = 13073, + [SMALL_STATE(253)] = 13089, + [SMALL_STATE(254)] = 13105, + [SMALL_STATE(255)] = 13121, + [SMALL_STATE(256)] = 13137, + [SMALL_STATE(257)] = 13153, + [SMALL_STATE(258)] = 13169, + [SMALL_STATE(259)] = 13185, + [SMALL_STATE(260)] = 13201, + [SMALL_STATE(261)] = 13216, + [SMALL_STATE(262)] = 13231, + [SMALL_STATE(263)] = 13246, + [SMALL_STATE(264)] = 13261, + [SMALL_STATE(265)] = 13276, + [SMALL_STATE(266)] = 13291, + [SMALL_STATE(267)] = 13306, + [SMALL_STATE(268)] = 13321, + [SMALL_STATE(269)] = 13346, + [SMALL_STATE(270)] = 13361, + [SMALL_STATE(271)] = 13376, + [SMALL_STATE(272)] = 13396, + [SMALL_STATE(273)] = 13418, + [SMALL_STATE(274)] = 13440, + [SMALL_STATE(275)] = 13460, + [SMALL_STATE(276)] = 13480, + [SMALL_STATE(277)] = 13504, + [SMALL_STATE(278)] = 13524, + [SMALL_STATE(279)] = 13546, + [SMALL_STATE(280)] = 13566, + [SMALL_STATE(281)] = 13586, + [SMALL_STATE(282)] = 13606, + [SMALL_STATE(283)] = 13626, + [SMALL_STATE(284)] = 13645, + [SMALL_STATE(285)] = 13664, + [SMALL_STATE(286)] = 13678, + [SMALL_STATE(287)] = 13694, + [SMALL_STATE(288)] = 13710, + [SMALL_STATE(289)] = 13726, + [SMALL_STATE(290)] = 13740, + [SMALL_STATE(291)] = 13754, + [SMALL_STATE(292)] = 13774, + [SMALL_STATE(293)] = 13790, + [SMALL_STATE(294)] = 13806, + [SMALL_STATE(295)] = 13820, + [SMALL_STATE(296)] = 13838, + [SMALL_STATE(297)] = 13854, + [SMALL_STATE(298)] = 13868, + [SMALL_STATE(299)] = 13882, + [SMALL_STATE(300)] = 13896, + [SMALL_STATE(301)] = 13910, + [SMALL_STATE(302)] = 13926, + [SMALL_STATE(303)] = 13940, + [SMALL_STATE(304)] = 13954, + [SMALL_STATE(305)] = 13970, + [SMALL_STATE(306)] = 13988, + [SMALL_STATE(307)] = 14010, + [SMALL_STATE(308)] = 14032, + [SMALL_STATE(309)] = 14048, + [SMALL_STATE(310)] = 14064, + [SMALL_STATE(311)] = 14080, + [SMALL_STATE(312)] = 14096, + [SMALL_STATE(313)] = 14118, + [SMALL_STATE(314)] = 14134, + [SMALL_STATE(315)] = 14150, + [SMALL_STATE(316)] = 14166, + [SMALL_STATE(317)] = 14182, + [SMALL_STATE(318)] = 14196, + [SMALL_STATE(319)] = 14212, + [SMALL_STATE(320)] = 14228, + [SMALL_STATE(321)] = 14244, + [SMALL_STATE(322)] = 14258, + [SMALL_STATE(323)] = 14277, + [SMALL_STATE(324)] = 14296, + [SMALL_STATE(325)] = 14315, + [SMALL_STATE(326)] = 14330, + [SMALL_STATE(327)] = 14349, + [SMALL_STATE(328)] = 14368, + [SMALL_STATE(329)] = 14387, + [SMALL_STATE(330)] = 14406, + [SMALL_STATE(331)] = 14425, + [SMALL_STATE(332)] = 14444, + [SMALL_STATE(333)] = 14463, + [SMALL_STATE(334)] = 14476, + [SMALL_STATE(335)] = 14495, + [SMALL_STATE(336)] = 14514, + [SMALL_STATE(337)] = 14533, + [SMALL_STATE(338)] = 14549, + [SMALL_STATE(339)] = 14565, + [SMALL_STATE(340)] = 14581, + [SMALL_STATE(341)] = 14593, + [SMALL_STATE(342)] = 14609, + [SMALL_STATE(343)] = 14625, + [SMALL_STATE(344)] = 14641, + [SMALL_STATE(345)] = 14657, + [SMALL_STATE(346)] = 14667, + [SMALL_STATE(347)] = 14683, + [SMALL_STATE(348)] = 14699, + [SMALL_STATE(349)] = 14715, + [SMALL_STATE(350)] = 14731, + [SMALL_STATE(351)] = 14747, + [SMALL_STATE(352)] = 14763, + [SMALL_STATE(353)] = 14779, + [SMALL_STATE(354)] = 14795, + [SMALL_STATE(355)] = 14811, + [SMALL_STATE(356)] = 14824, + [SMALL_STATE(357)] = 14837, + [SMALL_STATE(358)] = 14850, + [SMALL_STATE(359)] = 14859, + [SMALL_STATE(360)] = 14868, + [SMALL_STATE(361)] = 14881, + [SMALL_STATE(362)] = 14890, + [SMALL_STATE(363)] = 14903, + [SMALL_STATE(364)] = 14916, + [SMALL_STATE(365)] = 14929, + [SMALL_STATE(366)] = 14942, + [SMALL_STATE(367)] = 14955, + [SMALL_STATE(368)] = 14968, + [SMALL_STATE(369)] = 14981, + [SMALL_STATE(370)] = 14994, + [SMALL_STATE(371)] = 15007, + [SMALL_STATE(372)] = 15020, + [SMALL_STATE(373)] = 15033, + [SMALL_STATE(374)] = 15046, + [SMALL_STATE(375)] = 15059, + [SMALL_STATE(376)] = 15072, + [SMALL_STATE(377)] = 15085, + [SMALL_STATE(378)] = 15098, + [SMALL_STATE(379)] = 15111, + [SMALL_STATE(380)] = 15124, + [SMALL_STATE(381)] = 15137, + [SMALL_STATE(382)] = 15150, + [SMALL_STATE(383)] = 15163, + [SMALL_STATE(384)] = 15176, + [SMALL_STATE(385)] = 15189, + [SMALL_STATE(386)] = 15202, + [SMALL_STATE(387)] = 15215, + [SMALL_STATE(388)] = 15228, + [SMALL_STATE(389)] = 15241, + [SMALL_STATE(390)] = 15250, + [SMALL_STATE(391)] = 15263, + [SMALL_STATE(392)] = 15276, + [SMALL_STATE(393)] = 15289, + [SMALL_STATE(394)] = 15302, + [SMALL_STATE(395)] = 15313, + [SMALL_STATE(396)] = 15326, + [SMALL_STATE(397)] = 15339, + [SMALL_STATE(398)] = 15350, + [SMALL_STATE(399)] = 15363, + [SMALL_STATE(400)] = 15376, + [SMALL_STATE(401)] = 15385, + [SMALL_STATE(402)] = 15395, + [SMALL_STATE(403)] = 15405, + [SMALL_STATE(404)] = 15415, + [SMALL_STATE(405)] = 15425, + [SMALL_STATE(406)] = 15435, + [SMALL_STATE(407)] = 15445, + [SMALL_STATE(408)] = 15455, + [SMALL_STATE(409)] = 15465, + [SMALL_STATE(410)] = 15473, + [SMALL_STATE(411)] = 15481, + [SMALL_STATE(412)] = 15489, + [SMALL_STATE(413)] = 15499, + [SMALL_STATE(414)] = 15509, + [SMALL_STATE(415)] = 15517, + [SMALL_STATE(416)] = 15527, + [SMALL_STATE(417)] = 15535, + [SMALL_STATE(418)] = 15545, + [SMALL_STATE(419)] = 15555, + [SMALL_STATE(420)] = 15563, + [SMALL_STATE(421)] = 15573, + [SMALL_STATE(422)] = 15583, + [SMALL_STATE(423)] = 15593, + [SMALL_STATE(424)] = 15603, + [SMALL_STATE(425)] = 15613, + [SMALL_STATE(426)] = 15623, + [SMALL_STATE(427)] = 15631, + [SMALL_STATE(428)] = 15639, + [SMALL_STATE(429)] = 15649, + [SMALL_STATE(430)] = 15659, + [SMALL_STATE(431)] = 15667, + [SMALL_STATE(432)] = 15677, + [SMALL_STATE(433)] = 15687, + [SMALL_STATE(434)] = 15695, + [SMALL_STATE(435)] = 15703, + [SMALL_STATE(436)] = 15713, + [SMALL_STATE(437)] = 15723, + [SMALL_STATE(438)] = 15731, + [SMALL_STATE(439)] = 15738, + [SMALL_STATE(440)] = 15745, + [SMALL_STATE(441)] = 15752, + [SMALL_STATE(442)] = 15759, + [SMALL_STATE(443)] = 15766, + [SMALL_STATE(444)] = 15773, + [SMALL_STATE(445)] = 15780, + [SMALL_STATE(446)] = 15787, + [SMALL_STATE(447)] = 15794, + [SMALL_STATE(448)] = 15801, + [SMALL_STATE(449)] = 15808, + [SMALL_STATE(450)] = 15815, + [SMALL_STATE(451)] = 15822, + [SMALL_STATE(452)] = 15829, + [SMALL_STATE(453)] = 15836, + [SMALL_STATE(454)] = 15843, + [SMALL_STATE(455)] = 15850, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -16401,535 +18609,585 @@ static const TSParseActionEntry ts_parse_actions[] = { [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0, 0, 0), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(382), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(354), - [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), - [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), - [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(362), - [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(246), - [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(277), - [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(257), - [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(332), - [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(333), - [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(334), - [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(345), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(309), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(421), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(411), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(398), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(408), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(283), + [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(319), + [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(301), + [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(372), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(373), + [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(374), + [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), - [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), - [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(335), - [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), - [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), - [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(121), - [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), - [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(119), - [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87), - [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), - [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), - [81] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), - [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), - [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [89] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(382), - [92] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(122), - [95] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(13), - [98] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(354), - [101] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(41), - [104] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(15), - [107] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(362), - [110] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(246), - [113] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(277), - [116] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(257), - [119] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(332), - [122] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(333), - [125] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(334), - [128] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(30), - [131] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(11), - [134] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(32), - [137] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(335), - [140] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(160), - [143] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(40), - [146] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(399), - [149] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(7), - [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), - [154] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(121), - [157] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(411), - [160] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(119), - [163] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 35), SHIFT_REPEAT(87), - [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), - [172] = {.entry = {.count = 1, .reusable = false}}, SHIFT(296), - [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), - [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), - [178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), - [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), - [184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), - [208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), - [210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), - [212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), - [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), - [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), - [222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), - [224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), - [228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), - [230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), - [232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), - [236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), - [238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 3, 0, 44), - [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 3, 0, 44), - [242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [244] = {.entry = {.count = 1, .reusable = false}}, SHIFT(201), - [246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 63), - [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 63), - [250] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 63), SHIFT_REPEAT(33), - [253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, 0, 56), - [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, 0, 56), - [257] = {.entry = {.count = 1, .reusable = false}}, SHIFT(198), - [259] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 3, 0, 68), - [261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 3, 0, 68), - [263] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assume_block, 2, 0, 19), - [265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assume_block, 2, 0, 19), - [267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_exists_block, 2, 0, 19), - [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_exists_block, 2, 0, 19), - [271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unique_block, 2, 0, 19), - [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unique_block, 2, 0, 19), - [275] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_forall_block, 2, 0, 19), - [277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_forall_block, 2, 0, 19), - [279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2, 0, 0), - [281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2, 0, 0), - [283] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, 0, 34), - [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, 0, 34), - [287] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, 0, 62), - [289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, 0, 62), - [291] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 5, 0, 9), - [293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 5, 0, 9), - [295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop_statement, 3, 0, 45), - [297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop_statement, 3, 0, 45), - [299] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3, 0, 46), - [301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3, 0, 46), - [303] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 6, 0, 67), - [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 6, 0, 67), - [307] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, 0, 69), - [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, 0, 69), - [311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 7, 0, 40), - [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 7, 0, 40), - [315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 8, 0, 75), - [317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 8, 0, 75), - [319] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition_statement, 5, 0, 9), - [321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition_statement, 5, 0, 9), - [323] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 2, 0, 0), - [325] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 2, 0, 0), - [327] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 1, 0, 20), - [329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 1, 0, 20), - [331] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_definition, 7, 0, 40), - [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_definition, 7, 0, 40), - [335] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2, 0, 0), - [337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2, 0, 0), - [339] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop_statement, 2, 0, 19), - [341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop_statement, 2, 0, 19), - [343] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assign_statement, 4, 0, 59), - [345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assign_statement, 4, 0, 59), + [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), + [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(375), + [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), + [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441), + [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127), + [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), + [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(131), + [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97), + [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), + [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), + [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), + [81] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), + [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [89] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(411), + [92] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(125), + [95] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(12), + [98] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(398), + [101] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(27), + [104] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(29), + [107] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(408), + [110] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(283), + [113] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(319), + [116] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(301), + [119] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(372), + [122] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(373), + [125] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(374), + [128] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(31), + [131] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(11), + [134] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(42), + [137] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(375), + [140] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(189), + [143] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(43), + [146] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(441), + [149] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(2), + [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), + [154] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(127), + [157] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(402), + [160] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(131), + [163] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(97), + [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [170] = {.entry = {.count = 1, .reusable = false}}, SHIFT(340), + [172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), + [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), + [178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), + [186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), + [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), + [210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), + [214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187), + [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), + [226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), + [232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), + [234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), + [236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), + [240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), + [242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 3, 0, 43), + [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 3, 0, 43), + [274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [276] = {.entry = {.count = 1, .reusable = false}}, SHIFT(234), + [278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 63), + [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 63), + [282] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 63), SHIFT_REPEAT(32), + [285] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, 0, 56), + [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, 0, 56), + [289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(232), + [291] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unique_block, 2, 0, 18), + [293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unique_block, 2, 0, 18), + [295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_exists_block, 2, 0, 18), + [297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_exists_block, 2, 0, 18), + [299] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assume_block, 2, 0, 18), + [301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assume_block, 2, 0, 18), + [303] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_forall_block, 2, 0, 18), + [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_forall_block, 2, 0, 18), + [307] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2, 0, 0), + [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2, 0, 0), + [311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 3, 0, 68), + [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 3, 0, 68), + [315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, 0, 33), + [317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, 0, 33), + [319] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2, 0, 0), + [321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2, 0, 0), + [323] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3, 0, 45), + [325] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3, 0, 45), + [327] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_definition, 7, 0, 39), + [329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_definition, 7, 0, 39), + [331] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 1, 0, 19), + [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 1, 0, 19), + [335] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 2, 0, 0), + [337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 2, 0, 0), + [339] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assign_statement, 4, 0, 59), + [341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assign_statement, 4, 0, 59), + [343] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 5, 0, 8), + [345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 5, 0, 8), [347] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assert_statement, 3, 0, 0), [349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assert_statement, 3, 0, 0), - [351] = {.entry = {.count = 1, .reusable = false}}, SHIFT(284), - [353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), - [355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [357] = {.entry = {.count = 1, .reusable = false}}, SHIFT(337), - [359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), - [361] = {.entry = {.count = 1, .reusable = false}}, SHIFT(385), - [363] = {.entry = {.count = 1, .reusable = false}}, SHIFT(390), - [365] = {.entry = {.count = 1, .reusable = false}}, SHIFT(245), - [367] = {.entry = {.count = 1, .reusable = false}}, SHIFT(175), - [369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346), - [371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), - [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348), - [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349), - [377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), - [381] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), - [383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [393] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22), - [395] = {.entry = {.count = 1, .reusable = false}}, SHIFT(23), - [397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [399] = {.entry = {.count = 1, .reusable = false}}, SHIFT(165), - [401] = {.entry = {.count = 1, .reusable = false}}, SHIFT(166), - [403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), - [409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332), - [413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333), - [415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(334), - [417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335), - [419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__simple_name, 1, 0, 0), - [421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__simple_name, 1, 0, 0), - [423] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1, 0, 0), SHIFT(105), - [426] = {.entry = {.count = 1, .reusable = false}}, SHIFT(384), - [428] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__simple_name, 1, 0, 0), SHIFT(243), - [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lval_expression, 1, 0, 0), - [433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__name, 1, 0, 0), - [435] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lval_expression, 1, 0, 0), - [437] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__lval_expression, 1, 0, 0), REDUCE(sym__name, 1, 0, 0), - [440] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list, 4, 0, 30), - [442] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list, 4, 0, 30), - [444] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list, 3, 0, 18), - [446] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list, 3, 0, 18), - [448] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list, 3, 0, 0), - [450] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list, 3, 0, 0), - [452] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_name, 2, 0, 10), - [454] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_name, 2, 0, 10), - [456] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1, 0, 0), - [458] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1, 0, 0), - [460] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list, 2, 0, 0), - [462] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list, 2, 0, 0), - [464] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member_access_expression, 3, 0, 47), - [466] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_name, 3, 0, 24), - [468] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member_access_expression, 3, 0, 47), - [470] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_member_access_expression, 3, 0, 47), REDUCE(sym_qualified_name, 3, 0, 24), - [473] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 48), - [475] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 48), - [477] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prefix_unary_expression, 2, 0, 33), - [479] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prefix_unary_expression, 2, 0, 33), - [481] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_index_access_expression, 4, 0, 57), - [483] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_index_access_expression, 4, 0, 57), - [485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), - [489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [491] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), - [493] = {.entry = {.count = 1, .reusable = false}}, SHIFT(300), - [495] = {.entry = {.count = 1, .reusable = false}}, SHIFT(355), - [497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), - [499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [501] = {.entry = {.count = 1, .reusable = false}}, SHIFT(304), - [503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339), - [505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), - [507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), - [509] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), - [511] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 7, 1500, 73), - [513] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 7, 1500, 73), - [515] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_literal, 2, 0, 0), - [517] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_literal, 2, 0, 0), - [519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 6, 1500, 70), - [521] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 6, 1500, 70), - [523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 4, 1500, 58), - [525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 4, 1500, 58), - [527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 7, 1500, 74), - [529] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 7, 1500, 74), - [531] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 4, 1500, 60), - [533] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 4, 1500, 60), - [535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3, 0, 0), - [537] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3, 0, 0), - [539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 6, 1500, 71), - [541] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 6, 1500, 71), - [543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 3, 1500, 49), - [545] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 3, 1500, 49), - [547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 8, 1500, 76), - [549] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 8, 1500, 76), - [551] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 5, 1500, 64), - [553] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 5, 1500, 64), - [555] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_literal, 1, 0, 0), - [557] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_literal, 1, 0, 0), - [559] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3, 0, 0), - [561] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3, 0, 0), - [563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool_literal, 1, 0, 0), - [565] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool_literal, 1, 0, 0), - [567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unit_literal, 1, 0, 0), - [569] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unit_literal, 1, 0, 0), - [571] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_unit, 1, 0, 0), REDUCE(sym_unit_literal, 1, 0, 0), - [574] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 5, 1500, 66), - [576] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 5, 1500, 66), - [578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4, 0, 0), - [580] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4, 0, 0), - [582] = {.entry = {.count = 1, .reusable = false}}, SHIFT(374), - [584] = {.entry = {.count = 1, .reusable = false}}, SHIFT(381), - [586] = {.entry = {.count = 1, .reusable = false}}, SHIFT(365), - [588] = {.entry = {.count = 1, .reusable = false}}, SHIFT(202), - [590] = {.entry = {.count = 1, .reusable = false}}, SHIFT(193), - [592] = {.entry = {.count = 1, .reusable = false}}, SHIFT(368), - [594] = {.entry = {.count = 1, .reusable = false}}, SHIFT(402), - [596] = {.entry = {.count = 1, .reusable = false}}, SHIFT(363), - [598] = {.entry = {.count = 1, .reusable = false}}, SHIFT(358), - [600] = {.entry = {.count = 1, .reusable = false}}, SHIFT(327), - [602] = {.entry = {.count = 1, .reusable = false}}, SHIFT(203), - [604] = {.entry = {.count = 1, .reusable = false}}, SHIFT(331), - [606] = {.entry = {.count = 1, .reusable = false}}, SHIFT(409), - [608] = {.entry = {.count = 1, .reusable = false}}, SHIFT(396), - [610] = {.entry = {.count = 1, .reusable = false}}, SHIFT(380), - [612] = {.entry = {.count = 1, .reusable = false}}, SHIFT(200), - [614] = {.entry = {.count = 1, .reusable = false}}, SHIFT(199), - [616] = {.entry = {.count = 1, .reusable = false}}, SHIFT(401), - [618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [632] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), - [634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [638] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), - [640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [642] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_expression_repeat1, 2, 0, 22), - [644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), - [646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [648] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_expression_repeat1, 4, 0, 72), - [650] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_name, 3, 0, 24), - [652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [654] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__name, 1, 0, 0), - [656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [660] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sub_operator, 1, 0, 0), - [662] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sub_operator, 1, 0, 0), - [664] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_less_operator, 1, 0, 0), - [666] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_less_operator, 1, 0, 0), - [668] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_greater_operator, 1, 0, 0), - [670] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_greater_operator, 1, 0, 0), - [672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [674] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_unit, 1, 0, 0), - [676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [678] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), - [680] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(299), - [683] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(260), - [686] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(254), - [689] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(272), - [692] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(274), - [695] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(275), - [698] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(359), - [701] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(237), - [704] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), - [706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), - [708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), - [710] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_rightarrow_operator, 1, 0, 0), - [712] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rightarrow_operator, 1, 0, 0), - [714] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(299), - [717] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(260), - [720] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(254), - [723] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(274), - [726] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(275), - [729] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(359), - [732] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), - [734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), - [736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), - [738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), - [740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), - [742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), - [744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), - [746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [748] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_qualified_name, 3, 0, 25), - [750] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_qualified_name, 3, 0, 25), - [752] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0), - [754] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3, 0, 22), - [756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), - [758] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4, 0, 37), - [760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(342), - [762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(343), - [764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(344), - [766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(345), - [768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [770] = {.entry = {.count = 1, .reusable = false}}, SHIFT(299), - [772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), - [774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), - [776] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_array, 5, 0, 52), - [778] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_fn, 4, 0, 39), - [780] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_array, 3, 0, 18), - [782] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 14), SHIFT_REPEAT(299), - [785] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 14), - [787] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 14), SHIFT_REPEAT(175), - [790] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type, 1, 0, 0), - [792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), - [794] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_fn, 2, 0, 8), - [796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [798] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 7), - [800] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_external_function_definition, 7, 0, 41), - [802] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 5, 0, 11), - [804] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 6, 0, 27), - [806] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, 0, 32), - [808] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 5, 0, 13), - [810] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 23), - [812] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, 0, 51), - [814] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 4, 0, 4), - [816] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_external_function_definition, 5, 0, 15), - [818] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 8, 0, 53), - [820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), - [822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412), - [824] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_spec_definition, 5, 0, 2), - [826] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 3, 0, 1), - [828] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 9, 0, 61), - [830] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 8, 0, 55), - [832] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 4, 0, 5), - [834] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_spec_definition, 4, 0, 2), - [836] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 7, 0, 43), - [838] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 8, 0, 54), - [840] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 7, 0, 42), - [842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), - [844] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127), - [846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), - [848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), - [850] = {.entry = {.count = 1, .reusable = false}}, SHIFT(388), - [852] = {.entry = {.count = 1, .reusable = false}}, SHIFT(269), - [854] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 12), - [856] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 12), - [858] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 7), - [860] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 23), - [862] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, 0, 32), - [864] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, 0, 51), - [866] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_struct_definition_repeat1, 1, 0, 3), - [868] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 1, 0, 3), - [870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), - [874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), - [876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379), - [878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), - [880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), - [882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361), - [884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), - [886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), - [890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), - [892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), - [896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), - [898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), - [900] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), - [902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [904] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), - [906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [910] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat1, 2, 0, 31), SHIFT_REPEAT(130), - [913] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat1, 2, 0, 31), - [915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), - [917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), - [919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), - [921] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_keyword, 1, 0, 0), - [923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), - [927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), - [929] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat2, 2, 0, 17), SHIFT_REPEAT(271), - [932] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat2, 2, 0, 17), - [934] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2, 0, 28), SHIFT_REPEAT(279), - [937] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2, 0, 28), - [939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323), - [941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), - [943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(406), - [945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(326), - [947] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 38), SHIFT_REPEAT(80), - [950] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 38), - [952] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_argument_list_definition_repeat2, 2, 0, 31), SHIFT_REPEAT(252), - [955] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_definition_repeat2, 2, 0, 31), - [957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(394), - [959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), - [963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400), - [965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [967] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), - [969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), - [971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [973] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_argument_list_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(321), - [976] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_definition_repeat1, 2, 0, 0), - [978] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(42), - [981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), - [987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [993] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), - [995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), - [997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), - [999] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_expression_repeat1, 2, 0, 65), SHIFT_REPEAT(34), - [1002] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_expression_repeat1, 2, 0, 65), - [1004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), - [1006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), - [1008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [1010] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2, 0, 6), - [1012] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2, 0, 6), SHIFT_REPEAT(251), - [1015] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), - [1017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), - [1019] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_declaration, 4, 0, 50), - [1021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), - [1023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), - [1025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [1027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), - [1029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), - [1031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [1033] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_declaration, 3, 0, 29), - [1035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [1037] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat1, 2, 0, 18), - [1039] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat2, 2, 0, 16), - [1041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), - [1043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), - [1045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), - [1047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [1049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), - [1051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), - [1053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), - [1055] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2, 0, 26), - [1057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), - [1059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [1061] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ignore_argument, 3, 0, 36), - [1063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), - [1065] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 22), - [1067] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_reference, 1, 0, 0), - [1069] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2, 0, 1), - [1071] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_reference, 2, 0, 21), - [1073] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_definition_repeat2, 2, 0, 18), - [1075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [1077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), - [1079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), - [1081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), - [1083] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list_definition, 4, 0, 30), - [1085] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [1087] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field, 3, 0, 29), - [1089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), - [1091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [1093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [1095] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list_definition, 3, 0, 0), - [1097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [1099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [1101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [1103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), - [1105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list_definition, 3, 0, 18), - [1107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), - [1109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [1111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), - [1113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(366), - [1115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398), - [1117] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), - [1119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list_definition, 2, 0, 0), + [351] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, 0, 62), + [353] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, 0, 62), + [355] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition_statement, 5, 0, 8), + [357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition_statement, 5, 0, 8), + [359] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 6, 0, 67), + [361] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 6, 0, 67), + [363] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop_statement, 2, 0, 18), + [365] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop_statement, 2, 0, 18), + [367] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, 0, 69), + [369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, 0, 69), + [371] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop_statement, 3, 0, 44), + [373] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop_statement, 3, 0, 44), + [375] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 7, 0, 39), + [377] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 7, 0, 39), + [379] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 8, 0, 78), + [381] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 8, 0, 78), + [383] = {.entry = {.count = 1, .reusable = false}}, SHIFT(327), + [385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), + [387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [389] = {.entry = {.count = 1, .reusable = false}}, SHIFT(357), + [391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), + [393] = {.entry = {.count = 1, .reusable = false}}, SHIFT(433), + [395] = {.entry = {.count = 1, .reusable = false}}, SHIFT(417), + [397] = {.entry = {.count = 1, .reusable = false}}, SHIFT(284), + [399] = {.entry = {.count = 1, .reusable = false}}, SHIFT(208), + [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355), + [403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390), + [405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(391), + [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392), + [409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), + [413] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), + [415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [425] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), + [427] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), + [429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [431] = {.entry = {.count = 1, .reusable = false}}, SHIFT(199), + [433] = {.entry = {.count = 1, .reusable = false}}, SHIFT(200), + [435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), + [441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [443] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__simple_name, 1, 0, 0), + [445] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__simple_name, 1, 0, 0), + [447] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1, 0, 0), SHIFT(105), + [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(372), + [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373), + [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(374), + [456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(375), + [458] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__simple_name, 1, 0, 0), SHIFT(280), + [461] = {.entry = {.count = 1, .reusable = false}}, SHIFT(416), + [463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list, 3, 0, 0), + [465] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list, 3, 0, 0), + [467] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1, 0, 0), + [469] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1, 0, 0), + [471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list, 4, 0, 29), + [473] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list, 4, 0, 29), + [475] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list, 2, 0, 0), + [477] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list, 2, 0, 0), + [479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_name, 2, 0, 9), + [481] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_name, 2, 0, 9), + [483] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list, 3, 0, 17), + [485] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list, 3, 0, 17), + [487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_index_access_expression, 4, 0, 57), + [489] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_index_access_expression, 4, 0, 57), + [491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member_access_expression, 3, 0, 46), + [493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member_access_expression, 3, 0, 46), + [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [497] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), + [499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [501] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), + [503] = {.entry = {.count = 1, .reusable = false}}, SHIFT(349), + [505] = {.entry = {.count = 1, .reusable = false}}, SHIFT(399), + [507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379), + [509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [511] = {.entry = {.count = 1, .reusable = false}}, SHIFT(338), + [513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(380), + [515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400), + [517] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_expression, 6, 0, 72), + [519] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_expression, 6, 0, 72), + [521] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lval_expression, 1, 0, 0), + [523] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lval_expression, 1, 0, 0), + [525] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__lval_expression, 1, 0, 0), REDUCE(sym__name, 1, 0, 0), + [528] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__name, 1, 0, 0), + [530] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__name, 1, 0, 0), + [532] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 6, 1500, 70), + [534] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 6, 1500, 70), + [536] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 6, 1500, 71), + [538] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 6, 1500, 71), + [540] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [542] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [544] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 7, 1500, 74), + [546] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 7, 1500, 74), + [548] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 7, 1500, 75), + [550] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 7, 1500, 75), + [552] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_expression, 7, 0, 76), + [554] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_expression, 7, 0, 76), + [556] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 8, 1500, 79), + [558] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 8, 1500, 79), + [560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4, 0, 0), + [562] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4, 0, 0), + [564] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 3, 1500, 48), + [566] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 3, 1500, 48), + [568] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_member_access_expression, 3, 0, 46), REDUCE(sym_qualified_name, 3, 0, 23), + [571] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_name, 3, 0, 23), + [573] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_name, 3, 0, 23), + [575] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 4, 1500, 58), + [577] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 4, 1500, 58), + [579] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_literal, 2, 0, 0), + [581] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_literal, 2, 0, 0), + [583] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2, 0, 0), + [585] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2, 0, 0), + [587] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 4, 1500, 60), + [589] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 4, 1500, 60), + [591] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_expression, 3, 0, 49), + [593] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_expression, 3, 0, 49), + [595] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 5, 1500, 64), + [597] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 5, 1500, 64), + [599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unit_literal, 1, 0, 0), + [601] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unit_literal, 1, 0, 0), + [603] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_unit, 1, 0, 0), REDUCE(sym_unit_literal, 1, 0, 0), + [606] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 5, 1500, 66), + [608] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 5, 1500, 66), + [610] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool_literal, 1, 0, 0), + [612] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool_literal, 1, 0, 0), + [614] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3, 0, 0), + [616] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3, 0, 0), + [618] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2, 0, 0), + [620] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2, 0, 0), + [622] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3, 0, 0), + [624] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3, 0, 0), + [626] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_literal, 1, 0, 0), + [628] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_literal, 1, 0, 0), + [630] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 47), + [632] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 47), + [634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [636] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), + [638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [648] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21), + [650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [658] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22), + [660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [662] = {.entry = {.count = 1, .reusable = false}}, SHIFT(364), + [664] = {.entry = {.count = 1, .reusable = false}}, SHIFT(233), + [666] = {.entry = {.count = 1, .reusable = false}}, SHIFT(436), + [668] = {.entry = {.count = 1, .reusable = false}}, SHIFT(384), + [670] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prefix_unary_expression, 2, 0, 32), + [672] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prefix_unary_expression, 2, 0, 32), + [674] = {.entry = {.count = 1, .reusable = false}}, SHIFT(414), + [676] = {.entry = {.count = 1, .reusable = false}}, SHIFT(445), + [678] = {.entry = {.count = 1, .reusable = false}}, SHIFT(452), + [680] = {.entry = {.count = 1, .reusable = false}}, SHIFT(453), + [682] = {.entry = {.count = 1, .reusable = false}}, SHIFT(419), + [684] = {.entry = {.count = 1, .reusable = false}}, SHIFT(413), + [686] = {.entry = {.count = 1, .reusable = false}}, SHIFT(239), + [688] = {.entry = {.count = 1, .reusable = false}}, SHIFT(407), + [690] = {.entry = {.count = 1, .reusable = false}}, SHIFT(226), + [692] = {.entry = {.count = 1, .reusable = false}}, SHIFT(434), + [694] = {.entry = {.count = 1, .reusable = false}}, SHIFT(410), + [696] = {.entry = {.count = 1, .reusable = false}}, SHIFT(237), + [698] = {.entry = {.count = 1, .reusable = false}}, SHIFT(238), + [700] = {.entry = {.count = 1, .reusable = false}}, SHIFT(442), + [702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [720] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_expression_repeat1, 4, 0, 73), + [722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [726] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), + [728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_expression_repeat1, 2, 0, 21), + [730] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), + [732] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_expression_repeat1, 4, 0, 80), + [734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [742] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_less_operator, 1, 0, 0), + [744] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_less_operator, 1, 0, 0), + [746] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_greater_operator, 1, 0, 0), + [748] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_greater_operator, 1, 0, 0), + [750] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sub_operator, 1, 0, 0), + [752] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sub_operator, 1, 0, 0), + [754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [756] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_unit, 1, 0, 0), + [758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [760] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), + [762] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(345), + [765] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(318), + [768] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(304), + [771] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(313), + [774] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(309), + [777] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(310), + [780] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(421), + [783] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(272), + [786] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), + [790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), + [792] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_rightarrow_operator, 1, 0, 0), + [794] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rightarrow_operator, 1, 0, 0), + [796] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(345), + [799] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(318), + [802] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(304), + [805] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(309), + [808] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(310), + [811] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(421), + [814] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), + [816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), + [820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), + [822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385), + [824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(386), + [826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), + [828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(388), + [830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [832] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3, 0, 21), + [834] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4, 0, 36), + [836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369), + [838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370), + [840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371), + [842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(376), + [844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [846] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_qualified_name, 3, 0, 24), + [848] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_qualified_name, 3, 0, 24), + [850] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0), + [852] = {.entry = {.count = 1, .reusable = false}}, SHIFT(345), + [854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), + [856] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_fn, 4, 0, 38), + [858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), + [860] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_array, 5, 0, 52), + [862] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_array, 3, 0, 17), + [864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [866] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type, 1, 0, 0), + [868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), + [870] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 13), SHIFT_REPEAT(345), + [873] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 13), + [875] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 13), SHIFT_REPEAT(208), + [878] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_fn, 2, 0, 7), + [880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [882] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 5, 0, 12), + [884] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_external_function_definition, 5, 0, 14), + [886] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 22), + [888] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 4, 0, 2), + [890] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 6, 0, 26), + [892] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, 0, 31), + [894] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 6), + [896] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, 0, 51), + [898] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 5, 0, 10), + [900] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_external_function_definition, 7, 0, 40), + [902] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 8, 0, 53), + [904] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 4, 0, 4), + [906] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_spec_definition, 4, 0, 2), + [908] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 7, 0, 42), + [910] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 9, 0, 61), + [912] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 7, 0, 41), + [914] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 8, 0, 54), + [916] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 3, 0, 1), + [918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367), + [920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(440), + [922] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 8, 0, 55), + [924] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_spec_definition, 5, 0, 2), + [926] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), + [928] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), + [930] = {.entry = {.count = 1, .reusable = false}}, SHIFT(152), + [932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), + [934] = {.entry = {.count = 1, .reusable = false}}, SHIFT(296), + [936] = {.entry = {.count = 1, .reusable = false}}, SHIFT(437), + [938] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, 0, 31), + [940] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 6), + [942] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 22), + [944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), + [946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), + [948] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, 0, 51), + [950] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 11), + [952] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 11), + [954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), + [958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), + [960] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), + [962] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), + [964] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), + [966] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_struct_definition_repeat1, 1, 0, 3), + [968] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 1, 0, 3), + [970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), + [974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), + [976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401), + [978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), + [982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), + [984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), + [988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(450), + [990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), + [992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), + [994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(449), + [996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), + [1000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), + [1002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(432), + [1004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288), + [1006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(438), + [1008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [1010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358), + [1012] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_expression_repeat1, 2, 0, 77), SHIFT_REPEAT(240), + [1015] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_expression_repeat1, 2, 0, 77), + [1017] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_argument_list_definition_repeat2, 2, 0, 30), SHIFT_REPEAT(288), + [1020] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_definition_repeat2, 2, 0, 30), + [1022] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2, 0, 27), SHIFT_REPEAT(308), + [1025] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2, 0, 27), + [1027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361), + [1029] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_keyword, 1, 0, 0), + [1031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), + [1033] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat1, 2, 0, 30), SHIFT_REPEAT(159), + [1036] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat1, 2, 0, 30), + [1038] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 37), SHIFT_REPEAT(95), + [1041] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 37), + [1043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [1045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [1047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), + [1049] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat2, 2, 0, 16), SHIFT_REPEAT(292), + [1052] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat2, 2, 0, 16), + [1054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), + [1056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [1058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), + [1060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), + [1062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [1064] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_expression_repeat1, 2, 0, 65), SHIFT_REPEAT(33), + [1067] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_expression_repeat1, 2, 0, 65), + [1069] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [1071] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(30), + [1074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [1076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [1078] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2, 0, 5), + [1080] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2, 0, 5), SHIFT_REPEAT(287), + [1083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), + [1085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), + [1087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [1089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [1091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [1093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [1095] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), + [1097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [1099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [1101] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_argument_list_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(383), + [1104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_definition_repeat1, 2, 0, 0), + [1106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [1108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [1110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), + [1112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), + [1114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [1116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), + [1118] = {.entry = {.count = 1, .reusable = false}}, SHIFT(121), + [1120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443), + [1122] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), + [1124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [1126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316), + [1128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), + [1130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), + [1132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), + [1134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [1136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2, 0, 25), + [1138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat1, 2, 0, 17), + [1140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), + [1142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [1144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ignore_argument, 3, 0, 35), + [1146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 21), + [1148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [1150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), + [1152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_declaration, 3, 0, 28), + [1154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), + [1156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [1158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [1160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [1162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), + [1164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2, 0, 1), + [1166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_definition_repeat2, 2, 0, 17), + [1168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), + [1170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [1172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat2, 2, 0, 15), + [1174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), + [1176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), + [1178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_reference, 1, 0, 0), + [1180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_declaration, 4, 0, 50), + [1182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [1184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), + [1186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_reference, 2, 0, 20), + [1188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list_definition, 4, 0, 29), + [1190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list_definition, 3, 0, 0), + [1192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list_definition, 2, 0, 0), + [1194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [1196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [1198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [1200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [1202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [1204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list_definition, 3, 0, 17), + [1206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [1208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), + [1210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), + [1212] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [1214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field, 3, 0, 28), + [1216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), + [1218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), + [1220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), }; #ifdef __cplusplus diff --git a/src/tree_sitter/parser.h b/src/tree_sitter/parser.h index cdbe64c..858107d 100644 --- a/src/tree_sitter/parser.h +++ b/src/tree_sitter/parser.h @@ -18,7 +18,6 @@ typedef uint16_t TSStateId; typedef uint16_t TSSymbol; typedef uint16_t TSFieldId; typedef struct TSLanguage TSLanguage; -typedef struct TSLanguageMetadata TSLanguageMetadata; typedef struct TSLanguageMetadata { uint8_t major_version; uint8_t minor_version; diff --git a/test/corpus/expressions/binary.txt b/test/corpus/expressions/binary.txt index 0152830..b8a85ed 100644 --- a/test/corpus/expressions/binary.txt +++ b/test/corpus/expressions/binary.txt @@ -24,7 +24,6 @@ fn spec_assign() -> () { === Assign expression from function call === - fn assign_from_fn_call() -> () { self.type = get_type(); } diff --git a/test/corpus/expressions/struct.txt b/test/corpus/expressions/struct.txt new file mode 100644 index 0000000..6fbd916 --- /dev/null +++ b/test/corpus/expressions/struct.txt @@ -0,0 +1,31 @@ +=== +Struct expression +=== +fn main() { + let res: Structure = Structure { + a: 1, + b: [], /// empty array literal + c: "" /// empty string literal + }; +} +--- + (source_file + (function_definition + (function_keyword) + (identifier) + (argument_list) + (block + (variable_definition_statement + (identifier) + (identifier) + (assign_operator) + (struct_expression + (identifier) + (identifier) + (number_literal) + (identifier) + (array_literal) + (comment) + (identifier) + (string_literal) + (comment)))))) diff --git a/test/corpus/spec/basic_concepts.txt b/test/corpus/spec/basic_concepts.txt index 769ad3c..1932961 100644 --- a/test/corpus/spec/basic_concepts.txt +++ b/test/corpus/spec/basic_concepts.txt @@ -132,4 +132,5 @@ fn foo() { (identifier) (uzumaki_keyword) (identifier) - (number_literal)))))))))) + (number_literal))) + (comment)))))))) diff --git a/test/corpus/spec/functions.txt b/test/corpus/spec/functions.txt index 7060a1b..4e4382d 100644 --- a/test/corpus/spec/functions.txt +++ b/test/corpus/spec/functions.txt @@ -29,7 +29,8 @@ spec Bridge { (add_operator) (identifier))))) (spec_definition - (identifier))) + (identifier) + (comment))) === 11.2.2 Examples (External functions) diff --git a/test/corpus/spec/general-description.txt b/test/corpus/spec/general-description.txt index a4e6075..0c75eb5 100644 --- a/test/corpus/spec/general-description.txt +++ b/test/corpus/spec/general-description.txt @@ -28,11 +28,16 @@ fn main() { (forall_block (forall_keyword) (block + (comment) + (comment) (variable_definition_statement (identifier) (type_u32) (assign_operator) (uzumaki_keyword)) + (comment) + (comment) + (comment) (if_statement (uzumaki_keyword) (block @@ -45,6 +50,8 @@ fn main() { (function_call_expression (identifier) (identifier))))))) + (comment) + (comment) (expression_statement (function_call_expression (identifier) @@ -78,11 +85,16 @@ fn main() { (block (exists_block (block + (comment) + (comment) (variable_definition_statement (identifier) (type_u32) (assign_operator) (uzumaki_keyword)) + (comment) + (comment) + (comment) (if_statement (uzumaki_keyword) (block @@ -95,6 +107,8 @@ fn main() { (function_call_expression (identifier) (identifier))))))) + (comment) + (comment) (expression_statement (function_call_expression (identifier) @@ -132,21 +146,30 @@ fn main() { (forall_block (forall_keyword) (block + (comment) + (comment) (variable_definition_statement (identifier) (type_u32) (assign_operator) (uzumaki_keyword)) + (comment) + (comment) + (comment) (assume_block (block (expression_statement (function_call_expression (identifier) (identifier))))) + (comment) (expression_statement (function_call_expression (identifier) (identifier))))) + (comment) + (comment) + (comment) (expression_statement (function_call_expression (identifier) @@ -205,8 +228,10 @@ fn main() { (uzumaki_keyword)) (if_statement (identifier) - (block) - (block)) + (block + (comment)) + (block + (comment))) (variable_definition_statement (mut_keyword) (identifier) @@ -226,11 +251,14 @@ fn main() { (identifier) (equals_operator) (number_literal))) - (block) + (block + (comment)) (parenthesized_expression (binary_expression (identifier) (equals_operator) (number_literal))) - (block) - (block))))) + (block + (comment)) + (block + (comment)))))) diff --git a/test/corpus/spec/lexical_structure.txt b/test/corpus/spec/lexical_structure.txt index 4dea4fe..18f11d2 100644 --- a/test/corpus/spec/lexical_structure.txt +++ b/test/corpus/spec/lexical_structure.txt @@ -203,7 +203,8 @@ fn foo(a: T) { (function_keyword) (identifier) (argument_list) - (block)) + (block + (comment))) (function_definition (function_keyword) (identifier) @@ -258,7 +259,8 @@ fn foo(a: T) { (argument_declaration (identifier) (identifier))) - (block)) + (block + (comment))) (function_definition (function_keyword) (identifier) @@ -268,4 +270,5 @@ fn foo(a: T) { (argument_declaration (identifier) (identifier))) - (block))) + (block + (comment)))) diff --git a/test/corpus/spec/statements.txt b/test/corpus/spec/statements.txt index 8525d9d..2576ce2 100644 --- a/test/corpus/spec/statements.txt +++ b/test/corpus/spec/statements.txt @@ -53,7 +53,8 @@ fn bar() { (function_keyword) (identifier) (argument_list) - (block)) + (block + (comment))) (function_definition (function_keyword) (identifier) @@ -66,8 +67,10 @@ fn bar() { (bool_literal)) (if_statement (identifier) - (block) - (block)) + (block + (comment)) + (block + (comment))) (variable_definition_statement (identifier) (type_i32) @@ -75,7 +78,8 @@ fn bar() { (number_literal)) (loop_statement (identifier) - (block))))) + (block + (comment)))))) === 9.2.2 Examples (Return) @@ -137,6 +141,7 @@ fn foo(i: i32) -> () forall { (identifier) (greater_operator) (number_literal))))) + (comment) (if_statement (prefix_unary_expression (unary_not) @@ -146,6 +151,7 @@ fn foo(i: i32) -> () forall { (greater_operator) (number_literal)))) (block + (comment) (return_statement (unit_literal)))))))) === @@ -184,10 +190,12 @@ fn infinite_loop_example() forall { (block (loop_statement (number_literal) - (block)) + (block + (comment))) (loop_statement (number_literal) - (block)) + (block + (comment))) (variable_definition_statement (identifier) (type_i32) @@ -195,7 +203,9 @@ fn infinite_loop_example() forall { (number_literal)) (loop_statement (identifier) - (block)))) + (block + (comment) + (comment))))) (function_definition (function_keyword) (identifier) @@ -208,7 +218,9 @@ fn infinite_loop_example() forall { (loop_statement (unit_literal) (block + (comment) (break_statement))))))))) + === 9.5.2 Examples (If) === @@ -234,8 +246,10 @@ fn foo() { (bool_literal)) (if_statement (identifier) - (block) - (block))))) + (block + (comment)) + (block + (comment)))))) === 9.6.3 Examples (Uzumaki) @@ -261,8 +275,8 @@ fn foo() { (identifier) (type_i32) (assign_operator) - (uzumaki_keyword) - )))) + (uzumaki_keyword)) + (comment)))) === 9.7.2 Examples (Type definition) diff --git a/test/corpus/spec/types.txt b/test/corpus/spec/types.txt index 69af248..5f87d16 100644 --- a/test/corpus/spec/types.txt +++ b/test/corpus/spec/types.txt @@ -44,7 +44,8 @@ fn foo() { (binary_expression (number_literal) (equals_operator) - (number_literal))))))) + (number_literal)))) + (comment)))) === 6.2.2.2 Examples (Integers) @@ -74,6 +75,7 @@ fn foo() { (number_literal))) (sub_operator) (number_literal))) + (comment) (variable_definition_statement (identifier) (type_i16) @@ -86,6 +88,7 @@ fn foo() { (number_literal))) (sub_operator) (number_literal))) + (comment) (variable_definition_statement (identifier) (type_i32) @@ -98,6 +101,7 @@ fn foo() { (number_literal))) (sub_operator) (number_literal))) + (comment) (variable_definition_statement (identifier) (type_i64) @@ -109,7 +113,8 @@ fn foo() { (pow_operator) (number_literal))) (sub_operator) - (number_literal)))))) + (number_literal))) + (comment)))) === 6.2.3.2 Examples (Unsigned Integers) @@ -139,6 +144,7 @@ fn foo() { (number_literal))) (sub_operator) (number_literal))) + (comment) (variable_definition_statement (identifier) (type_u16) @@ -151,6 +157,7 @@ fn foo() { (number_literal))) (sub_operator) (number_literal))) + (comment) (variable_definition_statement (identifier) (type_u32) @@ -163,6 +170,7 @@ fn foo() { (number_literal))) (sub_operator) (number_literal))) + (comment) (variable_definition_statement (identifier) (type_u64) @@ -174,7 +182,8 @@ fn foo() { (pow_operator) (number_literal))) (sub_operator) - (number_literal)))))) + (number_literal))) + (comment)))) === 6.3.2 Examples (Array) === diff --git a/tree-sitter.json b/tree-sitter.json index f9591ef..628acf6 100644 --- a/tree-sitter.json +++ b/tree-sitter.json @@ -1,4 +1,4 @@ -{ +{ "grammars": [ { "name": "inference", @@ -8,10 +8,8 @@ "file-types": [ "inf" ], - "highlights": [ - "queries/highlights.scm" - ], - "injection-regex": "inf" + "injection-regex": "inf", + "highlights": "queries/highlights.scm" } ], "metadata": {