diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ef1db78..a6997ec 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,8 +33,9 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - name: Set up tree-sitter - uses: tree-sitter/setup-action/cli@v1 + uses: tree-sitter/setup-action@v2 - name: Run tests - uses: tree-sitter/parser-test-action@v2 + uses: tree-sitter/parser-test-action@v3 with: test-rust: ${{runner.os == 'Linux'}} + generate: false diff --git a/.gitignore b/.gitignore index eb585ba..29b1825 100644 --- a/.gitignore +++ b/.gitignore @@ -35,4 +35,9 @@ dist/ # Grammar volatiles *.wasm *.obj -*.o \ No newline at end of file +*.o + +.*/ +!.github/ +*.md +!README.md diff --git a/Cargo.toml b/Cargo.toml index c552b9f..0b4e5a6 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.37" +version = "0.0.38" authors = [ "Georgii Plotnikov " ] diff --git a/Makefile b/Makefile index c9084b9..28b8c0e 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -VERSION := 0.0.37 +VERSION := 0.0.38 LANGUAGE_NAME := tree-sitter-Inference diff --git a/grammar.js b/grammar.js index f342af1..8a3c2a0 100644 --- a/grammar.js +++ b/grammar.js @@ -84,6 +84,8 @@ module.exports = grammar({ $.struct_definition, ), + visibility: _ => 'pub', + _type: $ => choice( $._embedded_type, $._bracketed_generic_name, @@ -261,7 +263,11 @@ module.exports = grammar({ )), prefix_unary_expression: $ => prec(PRECEDENCE.UNARY, seq( - field('operator', $.unary_not), + field('operator', choice( + $.unary_not, + $.unary_minus, + $.unary_bitnot, + )), $._expression, )), @@ -282,6 +288,7 @@ module.exports = grammar({ ['+', PRECEDENCE.ADD], ['-', PRECEDENCE.ADD], ['*', PRECEDENCE.MUL], + ['/', PRECEDENCE.MUL], ['%', PRECEDENCE.MUL], ['<', PRECEDENCE.COMPARE], ['<=', PRECEDENCE.COMPARE], @@ -309,6 +316,7 @@ module.exports = grammar({ ), type_definition_statement: $ => seq( + optional(field('visibility', $.visibility)), 'type', field('name', $.identifier), '=', @@ -317,6 +325,7 @@ module.exports = grammar({ ), constant_definition: $ => seq( + optional(field('visibility', $.visibility)), 'const', field('name', $.identifier), ':', @@ -335,6 +344,7 @@ module.exports = grammar({ ), enum_definition: $ => seq( + optional(field('visibility', $.visibility)), 'enum', field('name', $.identifier), '{', @@ -343,12 +353,13 @@ module.exports = grammar({ ), struct_definition: $ => seq( + optional(field('visibility', $.visibility)), 'struct', field('name', $.identifier), '{', repeat(choice( seq(field('field', $.struct_field), ';'), - field('value', $.function_definition), + field('method', $.function_definition), )), '}', ), @@ -366,6 +377,7 @@ module.exports = grammar({ ), function_definition: $ => seq( + optional(field('visibility', $.visibility)), 'fn', field('name', $.identifier), optional(field('type_parameters', $.type_argument_list_definition)), @@ -482,6 +494,8 @@ module.exports = grammar({ uzumaki_keyword: _ => '@', mut_keyword: _ => 'mut', unary_not: _ => '!', + unary_minus: _ => '-', + unary_bitnot: _ => '~', bool_literal: _ => choice( token('true'), token('false'), @@ -495,7 +509,9 @@ module.exports = grammar({ _string_literal_content: _ => token.immediate(prec(1, /[^"\\\n]+/)), - number_literal: _ => seq(optional('-'), /\d+/), + // Higher precedence than UNARY ensures -42 parses as a single number_literal, + // not as unary_minus applied to a positive literal + number_literal: _ => token(prec(PRECEDENCE.UNARY + 1, seq(optional('-'), /\d+/))), unit_literal: _ => seq('(', token.immediate(')')), @@ -551,10 +567,13 @@ module.exports = grammar({ ) )), + // Type argument list - space-separated like definitions + // Note: Nested generics are syntactically valid but rejected at compilation type_argument_list: $ => prec.left(seq( - choice( - sep1(seq(field('type', $._type), token.immediate('\'')), ','), - ), + seq(field('type', $._type), token.immediate('\'')), + repeat( + seq(field('type', $._type), token.immediate('\'')), + ) )), _reserved_identifier: _ => choice( diff --git a/inference.ebnf b/inference.ebnf new file mode 100644 index 0000000..5f03c21 --- /dev/null +++ b/inference.ebnf @@ -0,0 +1,467 @@ +(* ============================================================================ + Inference Language Specification + EBNF Grammar + Semantic Rules + + Inference is a specification/verification language supporting formal methods. + File extension: .inf + ============================================================================ *) + +(* ============================================================================ + 1. LEXICAL STRUCTURE + ============================================================================ *) + +(* 1.1 Comments *) +comment = "//" , { any_char - newline } ; +docstring = "///" , { any_char - newline } ; + +(* 1.2 Identifiers *) +identifier = ( letter | "_" ) , { letter | digit | "_" } ; +letter = "A" | "B" | ... | "Z" | "a" | "b" | ... | "z" ; +digit = "0" | "1" | ... | "9" ; + +(* 1.3 Reserved Identifiers - allowed as identifiers but have special meaning *) +reserved_identifier = "constructor" | "proof" | "uzumaki" ; + +(* 1.4 Keywords *) +keyword = "fn" | "const" | "spec" | "struct" | "enum" | "return" + | "use" | "from" | "external" | "if" | "else" | "let" + | "type" | "loop" | "assert" | "break" | "mut" | "self" + | "assume" | "forall" | "exists" | "unique" ; + +(* 1.5 Literals *) +number_literal = [ "-" ] , digit , { digit } ; +bool_literal = "true" | "false" ; +string_literal = '"' , { string_char } , '"' ; +string_char = any_char - ( '"' | "\" | newline ) ; +unit_literal = "()" ; +array_literal = "[" , [ expression , { "," , expression } ] , "]" ; + +(* 1.6 Operators *) +binary_operator = "**" | "*" | "/" | "%" | "+" | "-" + | "<<" | ">>" | "&" | "^" | "|" + | "<" | "<=" | ">" | ">=" | "==" | "!=" + | "&&" | "||" ; +unary_operator = "!" | "-" | "~" ; + +(* 1.7 Punctuation *) +punctuation = "(" | ")" | "{" | "}" | "[" | "]" + | ":" | "::" | ";" | "," | "." | "=" | "->" | "'" ; + +(* 1.8 Special Symbols *) +uzumaki_keyword = "@" ; (* Represents an arbitrary/symbolic value *) + + +(* ============================================================================ + 2. TYPES + ============================================================================ *) + +type = embedded_type | bracketed_generic_name | name ; + +(* 2.1 Primitive Types *) +embedded_type = integer_type | "bool" | unit_type | array_type | fn_type ; + +integer_type = signed_int | unsigned_int ; +signed_int = "i8" | "i16" | "i32" | "i64" ; +unsigned_int = "u8" | "u16" | "u32" | "u64" ; + +unit_type = "()" ; + +(* 2.2 Array Types *) +array_type = "[" , type , [ ";" , ( number_literal | name ) ] , "]" ; + +(* SEMANTIC: [T; N] is a fixed-size array of N elements of type T + SEMANTIC: [T] is a dynamically-sized array of type T + SEMANTIC: Array length can be a constant name or literal *) + +(* 2.3 Function Types *) +fn_type = "fn" , argument_list , [ "->" , type ] ; + +(* SEMANTIC: fn(T1, T2) -> R represents a function type + SEMANTIC: Return type defaults to () if omitted *) + +(* 2.4 Generic Types *) +generic_name = identifier , type_argument_list ; +type_argument_list = type , "'" , { "," , type , "'" } ; +bracketed_generic_name = "(" , generic_name , ")" ; + +(* SEMANTIC: Generic syntax uses trailing apostrophe: Array u32' or (Array u32') + SEMANTIC: Multiple type parameters: Map key' value' + SEMANTIC: Parentheses required when calling methods: (Array u32')::new() *) + + +(* ============================================================================ + 3. NAMES AND QUALIFIERS + ============================================================================ *) + +name = type_qualified_name | qualified_name | simple_name ; +simple_name = identifier | generic_name ; +qualified_name = name , "." , simple_name ; +type_qualified_name = identifier , "::" , simple_name ; + +(* SEMANTIC: Dot (.) accesses instance members: obj.field, obj.method() + SEMANTIC: Double colon (::) accesses type members: Enum::Variant, Type::static_method() *) + + +(* ============================================================================ + 4. EXPRESSIONS + ============================================================================ *) + +expression = lval_expression | non_lval_expression ; + +(* 4.1 L-value Expressions - can appear on left side of assignment *) +lval_expression = simple_name + | member_access_expression + | array_index_expression + | function_call_expression ; + +member_access_expression = ( name | member_access_expression ) , "." , simple_name ; +array_index_expression = lval_expression , "[" , expression , "]" ; +function_call_expression = ( lval_expression | type_member_access_expression | parenthesized_expression ) , + "(" , [ argument , { "," , argument } ] , ")" ; +argument = [ name , ":" ] , expression ; + +(* SEMANTIC: Named arguments supported: func(param1: value1, param2: value2) + SEMANTIC: Positional and named arguments can be mixed *) + +(* 4.2 Non L-value Expressions *) +non_lval_expression = literal + | type_member_access_expression + | binary_expression + | struct_expression + | prefix_unary_expression + | parenthesized_expression + | uzumaki_keyword ; + +literal = array_literal | bool_literal | string_literal | number_literal | unit_literal ; + +type_member_access_expression = ( type_member_access_expression + | integer_type | "bool" | "fn" + | name | parenthesized_expression + | bracketed_generic_name ) , "::" , simple_name ; + +(* 4.3 Binary Expressions *) +binary_expression = expression , binary_operator , expression ; + +(* 4.4 Struct Instantiation Expression *) +struct_expression = name , "{" , [ field_init , { "," , field_init } ] , "}" ; +field_init = name , ":" , expression ; + +(* 4.5 Unary Expressions *) +prefix_unary_expression = ( "!" | "-" | "~" ) , expression ; + +(* 4.6 Parenthesized Expressions *) +parenthesized_expression = "(" , expression , ")" ; + + +(* ============================================================================ + 5. OPERATOR PRECEDENCE (highest to lowest) + ============================================================================ *) + +(* + Precedence Level | Operators | Associativity + ----------------|---------------------|--------------- + 2000 | . | Left + 1500 | function call () | Left + 1000 | ! - ~ (unary) | Right + 990 | ** | Right + 980 | * / % | Left + 970 | + - | Left + 800 | << >> | Left + 700 | < <= > >= | Left + 600 | == != | Left + 590 | & (bitwise AND) | Left + 580 | ^ (bitwise XOR) | Left + 570 | | (bitwise OR) | Left + 490 | && (logical AND) | Left + 480 | || (logical OR) | Left +*) + +(* SEMANTIC: Power operator ** is right-associative: 2 ** 3 ** 4 = 2 ** (3 ** 4) *) + + +(* ============================================================================ + 6. STATEMENTS + ============================================================================ *) + +statement = block + | expression_statement + | assign_statement + | return_statement + | loop_statement + | if_statement + | variable_definition_statement + | constant_definition + | type_definition_statement + | assert_statement + | break_statement + | assume_block + | forall_block + | exists_block + | unique_block ; + +(* 6.1 Blocks *) +block = "{" , { statement } , "}" ; + +(* 6.2 Expression Statement *) +expression_statement = expression , ";" ; + +(* 6.3 Assignment Statement *) +assign_statement = lval_expression , "=" , expression , ";" ; + +(* SEMANTIC: Target must be mutable (declared with 'mut' keyword) *) + +(* 6.4 Return Statement *) +return_statement = "return" , [ expression ] , ";" ; + +(* SEMANTIC: Expression type must match function return type + SEMANTIC: Omitting expression returns unit () *) + +(* 6.5 Loop Statement *) +loop_statement = "loop" , [ expression ] , block ; + +(* SEMANTIC: If expression is a number N, loop executes N times + SEMANTIC: If expression is boolean, loop continues while true + SEMANTIC: If expression is omitted, loop is infinite (use break to exit) + SEMANTIC: Loop condition evaluated once at start for numeric loops *) + +(* 6.6 If Statement *) +if_statement = "if" , expression , block , + { "else" , "if" , expression , block } , + [ "else" , block ] ; + +(* SEMANTIC: Condition expression must be of type bool *) + +(* 6.7 Variable Definition *) +variable_definition_statement = "let" , [ "mut" ] , identifier , ":" , type , + [ "=" , expression ] , ";" ; + +(* SEMANTIC: 'mut' allows variable to be reassigned + SEMANTIC: If initializer omitted, variable is uninitialized (use @ to represent symbolic value) + SEMANTIC: Type annotation is required *) + +(* 6.8 Type Alias Definition *) +type_definition_statement = "type" , identifier , "=" , type , ";" ; + +(* SEMANTIC: Creates a type alias, not a new distinct type *) + +(* 6.9 Assert Statement *) +assert_statement = "assert" , expression , ";" ; + +(* SEMANTIC: Expression must be of type bool + SEMANTIC: Verification fails if assertion is false on any execution path *) + +(* 6.10 Break Statement *) +break_statement = "break" , ";" ; + +(* SEMANTIC: Exits the innermost enclosing loop *) + + +(* ============================================================================ + 7. VERIFICATION BLOCKS + ============================================================================ *) + +assume_block = "assume" , block ; +forall_block = "forall" , block ; +exists_block = "exists" , block ; +unique_block = "unique" , block ; + +(* SEMANTIC: assume { ... } + - Filters execution paths to only those where block completes successfully + - Acts as a precondition filter + - Paths where assume block fails are not considered +*) + +(* SEMANTIC: forall { ... } + - Verifies property holds for ALL possible values of symbolic variables (@) + - Computation splits into multiple paths, one for each possible value + - Verification succeeds only if ALL paths succeed + - Used to prove universal properties +*) + +(* SEMANTIC: exists { ... } + - Verifies property holds for AT LEAST ONE value of symbolic variables (@) + - Verification succeeds if ANY path succeeds + - Used to prove existence of satisfying values +*) + +(* SEMANTIC: unique { ... } + - Verifies property holds for EXACTLY ONE value of symbolic variables (@) + - Used to prove uniqueness constraints +*) + + +(* ============================================================================ + 8. DEFINITIONS (Top-level declarations) + ============================================================================ *) + +definition = constant_definition + | function_definition + | external_function_definition + | type_definition_statement + | enum_definition + | struct_definition ; + +(* 8.1 Constant Definition *) +constant_definition = "const" , identifier , ":" , type , "=" , expression , ";" ; + +(* SEMANTIC: Constants are immutable and globally accessible + SEMANTIC: Expression must be evaluable at compile time *) + +(* 8.2 Function Definition *) +function_definition = "fn" , identifier , [ type_parameter_list ] , + argument_list_decl , [ "->" , type ] , + ( block | verification_block ) ; + +type_parameter_list = identifier , "'" , { identifier , "'" } ; +argument_list_decl = "(" , [ argument_decl , { "," , argument_decl } ] , ")" ; +argument_decl = argument_declaration | self_reference | ignore_argument | type ; + +argument_declaration = [ "mut" ] , identifier , ":" , type ; +self_reference = [ "mut" ] , "self" ; +ignore_argument = "_" , ":" , type ; + +(* SEMANTIC: Type parameters use trailing apostrophe: fn foo T' U' (x: T, y: U) -> T + SEMANTIC: 'self' in method refers to the enclosing struct instance + SEMANTIC: 'mut self' allows the method to modify the struct + SEMANTIC: '_: Type' ignores a parameter while preserving its type for signature *) + +(* 8.3 External Function Definition *) +external_function_definition = "external" , "fn" , identifier , + argument_list_decl , [ "->" , type ] , ";" ; + +(* SEMANTIC: Declares a function implemented externally (imported from WebAssembly, etc.) + SEMANTIC: No body provided - implementation comes from external source + SEMANTIC: Arguments may omit names: external fn sub(i32, i32) -> i32; *) + +(* 8.4 Enum Definition *) +enum_definition = "enum" , identifier , "{" , identifier , { "," , identifier } , "}" ; + +(* SEMANTIC: Defines a sum type with named variants + SEMANTIC: Variants accessed via :: notation: Enum::Variant *) + +(* 8.5 Struct Definition *) +struct_definition = "struct" , identifier , "{" , + { ( struct_field , ";" ) | function_definition } , + "}" ; +struct_field = identifier , ":" , type ; + +(* SEMANTIC: Structs can contain both fields and methods + SEMANTIC: Methods can use 'self' to access the struct instance + SEMANTIC: Fields are accessed with dot notation: instance.field + SEMANTIC: Static methods accessed with :: notation: Struct::method() *) + +(* 8.6 Spec Definition *) +spec_definition = "spec" , identifier , "{" , { definition } , "}" ; + +(* SEMANTIC: Specs group related definitions for verification + SEMANTIC: Can contain constants, functions, types, structs, enums + SEMANTIC: Typically contains verification properties and proofs *) + + +(* ============================================================================ + 9. USE DIRECTIVES (Imports) + ============================================================================ *) + +use_directive = "use" , ( module_path | from_import ) , ";" ; + +module_path = identifier , { "::" , identifier } , + [ "::" , "{" , identifier , { "," , identifier } , "}" ] ; + +from_import = "{" , identifier , { "," , identifier } , "}" , + "from" , string_literal ; + +(* SEMANTIC: use module::name imports name from module path + SEMANTIC: use module::{A, B} imports multiple items from module + SEMANTIC: use { A, B } from "file.wasm" imports from external file *) + + +(* ============================================================================ + 10. SOURCE FILE + ============================================================================ *) + +source_file = { use_directive | spec_definition | definition } ; + + +(* ============================================================================ + 11. SYMBOLIC VALUES AND VERIFICATION + ============================================================================ *) + +(* SEMANTIC: The @ symbol (uzumaki_keyword) represents a symbolic/arbitrary value + + Usage patterns: + - let x: u32 = @; -- x can be any possible u32 value + - func(@, param2); -- first argument is symbolic + - if @ { ... } else { ... } -- explores both branches + + When used inside verification blocks: + - forall: @ represents all possible values (universal quantification) + - exists: @ searches for any satisfying value (existential quantification) + - unique: @ must have exactly one satisfying value + + Verification explores all possible assignments to @ symbols, + enabling exhaustive property checking. +*) + + +(* ============================================================================ + 12. TYPE SYSTEM RULES + ============================================================================ *) + +(* SEMANTIC: Integer Types and Ranges + i8: -128 to 127 (2^7 - 1) + i16: -32,768 to 32,767 (2^15 - 1) + i32: -2,147,483,648 to 2,147,483,647 (2^31 - 1) + i64: -(2^63) to 2^63 - 1 + u8: 0 to 255 (2^8 - 1) + u16: 0 to 65,535 (2^16 - 1) + u32: 0 to 4,294,967,295 (2^32 - 1) + u64: 0 to 18,446,744,073,709,551,615 (2^64 - 1) +*) + +(* SEMANTIC: Type Compatibility + - Arithmetic operators require matching integer types + - Comparison operators return bool + - Logical operators (&&, ||, !) work on bool only + - Bitwise operators work on integer types + - Array indexing requires integer index type +*) + +(* SEMANTIC: Mutability Rules + - Variables are immutable by default + - 'let mut' creates a mutable binding + - 'mut' on function parameters allows modification within function + - Array elements are mutable if the array binding is mutable +*) + + +(* ============================================================================ + 13. VERIFICATION SEMANTICS + ============================================================================ *) + +(* SEMANTIC: Proof Functions + - Functions named 'proof' conventionally contain verification logic + - Proof functions call specification functions to verify properties + - Pattern: spec_function checks property, proof function invokes it + + Example pattern: + fn property_spec() forall { + let x: T = @; + assume { precondition(x); } + assert postcondition(x); + } + fn proof() { + property_spec(); + } +*) + +(* SEMANTIC: Verification Flow + 1. forall block splits execution for all possible values of @ + 2. assume block filters paths that don't satisfy preconditions + 3. assert statements verify postconditions on remaining paths + 4. Verification succeeds if all assertions pass on all valid paths +*) + + +(* ============================================================================ + End of Inference Language Specification + ============================================================================ *) diff --git a/package-lock.json b/package-lock.json index 65416e0..1f97e26 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "tree-sitter-inference", - "version": "0.0.36", + "version": "0.0.38", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "tree-sitter-inference", - "version": "0.0.36", + "version": "0.0.38", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -14,10 +14,10 @@ "node-gyp-build": "4.8.4" }, "devDependencies": { - "eslint": "9.33.0", + "eslint": "9.39.2", "eslint-config-google": "^0.14.0", "prebuildify": "^6.0.1", - "tree-sitter-cli": "0.25.8" + "tree-sitter-cli": "0.26.3" }, "peerDependencies": { "tree-sitter": "0.25.0" @@ -29,16 +29,20 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", "dev": true, + "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "url": "https://opencollective.com/eslint" + }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } @@ -53,13 +57,13 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz", - "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/object-schema": "^2.1.6", + "@eslint/object-schema": "^2.1.7", "debug": "^4.3.1", "minimatch": "^3.1.2" }, @@ -68,19 +72,22 @@ } }, "node_modules/@eslint/config-helpers": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.1.tgz", - "integrity": "sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", "dev": true, "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/core": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz", - "integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==", + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -115,9 +122,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.33.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.33.0.tgz", - "integrity": "sha512-5K1/mKhWaMfreBGJTwval43JJmkip0RmM+3+IuqupeSKNC/Th2Kc7ucaq5ovTSra/OOKB9c58CGSz3QMVbWt0A==", + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", + "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", "dev": true, "license": "MIT", "engines": { @@ -128,9 +135,9 @@ } }, "node_modules/@eslint/object-schema": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", - "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -138,13 +145,13 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz", - "integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.15.2", + "@eslint/core": "^0.17.0", "levn": "^0.4.1" }, "engines": { @@ -465,25 +472,24 @@ } }, "node_modules/eslint": { - "version": "9.33.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.33.0.tgz", - "integrity": "sha512-TS9bTNIryDzStCpJN93aC5VRSW3uTx9sClUn4B87pwiCaJh220otoI0X8mJKr+VcPtniMdN8GKjlwgWGUv5ZKA==", + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", + "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.0", - "@eslint/config-helpers": "^0.3.1", - "@eslint/core": "^0.15.2", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.33.0", - "@eslint/plugin-kit": "^0.3.5", + "@eslint/js": "9.39.2", + "@eslint/plugin-kit": "^0.4.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", @@ -559,6 +565,7 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -1310,9 +1317,9 @@ } }, "node_modules/tree-sitter-cli": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/tree-sitter-cli/-/tree-sitter-cli-0.25.8.tgz", - "integrity": "sha512-avR7qo4qT+dNv2jj4M2e79vfc2etbWK6/umWcRsnEX1LTRhUL6p5AgGe6dP7+cV/RYFFk/VBz1rJuVCk+w5H2A==", + "version": "0.26.3", + "resolved": "https://registry.npmjs.org/tree-sitter-cli/-/tree-sitter-cli-0.26.3.tgz", + "integrity": "sha512-1VHpmjnTsYJk03HDqzLGn9dmJaLsJ7YeGsnnSudC6XOZu5oasz0GEVOIVCTe6hA01YZJgHd1XGO6XJZe0Sj7tw==", "dev": true, "hasInstallScript": true, "license": "MIT", diff --git a/package.json b/package.json index 5a2858f..5ae3234 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "tree-sitter-inference", - "version": "0.0.37", + "version": "0.0.38", "description": "Inference grammar for tree-sitter", "main": "bindings/node", "types": "bindings/node", @@ -54,10 +54,10 @@ } }, "devDependencies": { - "eslint": "9.33.0", + "eslint": "9.39.2", "eslint-config-google": "^0.14.0", "prebuildify": "^6.0.1", - "tree-sitter-cli": "0.25.8" + "tree-sitter-cli": "0.26.3" }, "files": [ "grammar.js", diff --git a/pyproject.toml b/pyproject.toml index 778b537..70031a9 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.37" +version = "0.0.38" keywords = ["incremental", "parsing", "tree-sitter", "inference"] classifiers = [ "Intended Audience :: Developers", diff --git a/queries/highlights.scm b/queries/highlights.scm index b8abbff..1be1f80 100644 --- a/queries/highlights.scm +++ b/queries/highlights.scm @@ -72,3 +72,12 @@ (function_call_expression function: (identifier) @function.call) +;; Operators +[ "+" "-" "*" "/" "%" "**" ] @operator +[ "&&" "||" ] @operator +[ "&" "|" "^" ] @operator +[ "<<" ">>" ] @operator +[ "==" "!=" "<" "<=" ">" ">=" ] @operator +(unary_not) @operator +(unary_minus) @operator +(unary_bitnot) @operator diff --git a/src/grammar.json b/src/grammar.json index d37bead..6eabbd0 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -104,6 +104,10 @@ } ] }, + "visibility": { + "type": "STRING", + "value": "pub" + }, "_type": { "type": "CHOICE", "members": [ @@ -1034,8 +1038,21 @@ "type": "FIELD", "name": "operator", "content": { - "type": "SYMBOL", - "name": "unary_not" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "unary_not" + }, + { + "type": "SYMBOL", + "name": "unary_minus" + }, + { + "type": "SYMBOL", + "name": "unary_bitnot" + } + ] } }, { @@ -1411,6 +1428,39 @@ ] } }, + { + "type": "PREC_LEFT", + "value": 980, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "/" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + } + }, { "type": "PREC_LEFT", "value": 980, @@ -1721,6 +1771,22 @@ "type_definition_statement": { "type": "SEQ", "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "visibility", + "content": { + "type": "SYMBOL", + "name": "visibility" + } + }, + { + "type": "BLANK" + } + ] + }, { "type": "STRING", "value": "type" @@ -1754,6 +1820,22 @@ "constant_definition": { "type": "SEQ", "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "visibility", + "content": { + "type": "SYMBOL", + "name": "visibility" + } + }, + { + "type": "BLANK" + } + ] + }, { "type": "STRING", "value": "const" @@ -1831,6 +1913,22 @@ "enum_definition": { "type": "SEQ", "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "visibility", + "content": { + "type": "SYMBOL", + "name": "visibility" + } + }, + { + "type": "BLANK" + } + ] + }, { "type": "STRING", "value": "enum" @@ -1889,6 +1987,22 @@ "struct_definition": { "type": "SEQ", "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "visibility", + "content": { + "type": "SYMBOL", + "name": "visibility" + } + }, + { + "type": "BLANK" + } + ] + }, { "type": "STRING", "value": "struct" @@ -1929,7 +2043,7 @@ }, { "type": "FIELD", - "name": "value", + "name": "method", "content": { "type": "SYMBOL", "name": "function_definition" @@ -1996,6 +2110,22 @@ "function_definition": { "type": "SEQ", "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "visibility", + "content": { + "type": "SYMBOL", + "name": "visibility" + } + }, + { + "type": "BLANK" + } + ] + }, { "type": "STRING", "value": "fn" @@ -2700,6 +2830,14 @@ "type": "STRING", "value": "!" }, + "unary_minus": { + "type": "STRING", + "value": "-" + }, + "unary_bitnot": { + "type": "STRING", + "value": "~" + }, "bool_literal": { "type": "CHOICE", "members": [ @@ -2756,25 +2894,32 @@ } }, "number_literal": { - "type": "SEQ", - "members": [ - { - "type": "CHOICE", + "type": "TOKEN", + "content": { + "type": "PREC", + "value": 1001, + "content": { + "type": "SEQ", "members": [ { - "type": "STRING", - "value": "-" + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "BLANK" + } + ] }, { - "type": "BLANK" + "type": "PATTERN", + "value": "\\d+" } ] - }, - { - "type": "PATTERN", - "value": "\\d+" } - ] + } }, "unit_literal": { "type": "SEQ", @@ -3040,66 +3185,47 @@ "type": "SEQ", "members": [ { - "type": "CHOICE", + "type": "SEQ", "members": [ { - "type": "SEQ", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "type", - "content": { - "type": "SYMBOL", - "name": "_type" - } - }, - { - "type": "IMMEDIATE_TOKEN", - "content": { - "type": "STRING", - "value": "'" - } - } - ] - }, - { - "type": "REPEAT", - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "," - }, - { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "type", - "content": { - "type": "SYMBOL", - "name": "_type" - } - }, - { - "type": "IMMEDIATE_TOKEN", - "content": { - "type": "STRING", - "value": "'" - } - } - ] - } - ] - } - } - ] + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "_type" + } + }, + { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "STRING", + "value": "'" + } } ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "_type" + } + }, + { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "STRING", + "value": "'" + } + } + ] + } } ] } diff --git a/src/node-types.json b/src/node-types.json index 9978858..f7dc958 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -679,6 +679,10 @@ "type": "-", "named": false }, + { + "type": "/", + "named": false + }, { "type": "<", "named": false @@ -1036,6 +1040,16 @@ "named": true } ] + }, + "visibility": { + "multiple": false, + "required": false, + "types": [ + { + "type": "visibility", + "named": true + } + ] } } }, @@ -1062,6 +1076,16 @@ "named": true } ] + }, + "visibility": { + "multiple": false, + "required": false, + "types": [ + { + "type": "visibility", + "named": true + } + ] } } }, @@ -1545,6 +1569,16 @@ "named": true } ] + }, + "visibility": { + "multiple": false, + "required": false, + "types": [ + { + "type": "visibility", + "named": true + } + ] } } }, @@ -2035,11 +2069,6 @@ } } }, - { - "type": "number_literal", - "named": true, - "fields": {} - }, { "type": "parenthesized_expression", "named": true, @@ -2123,6 +2152,14 @@ "multiple": false, "required": true, "types": [ + { + "type": "unary_bitnot", + "named": true + }, + { + "type": "unary_minus", + "named": true + }, { "type": "unary_not", "named": true @@ -2444,6 +2481,16 @@ } ] }, + "method": { + "multiple": true, + "required": false, + "types": [ + { + "type": "function_definition", + "named": true + } + ] + }, "name": { "multiple": false, "required": true, @@ -2454,12 +2501,12 @@ } ] }, - "value": { - "multiple": true, + "visibility": { + "multiple": false, "required": false, "types": [ { - "type": "function_definition", + "type": "visibility", "named": true } ] @@ -2981,6 +3028,16 @@ "named": true } ] + }, + "visibility": { + "multiple": false, + "required": false, + "types": [ + { + "type": "visibility", + "named": true + } + ] } } }, @@ -3211,6 +3268,11 @@ "named": true, "fields": {} }, + { + "type": "unary_minus", + "named": true, + "fields": {} + }, { "type": "unique_block", "named": true, @@ -3502,6 +3564,10 @@ "type": ".", "named": false }, + { + "type": "/", + "named": false + }, { "type": ":", "named": false @@ -3630,6 +3696,10 @@ "type": "mut_keyword", "named": true }, + { + "type": "number_literal", + "named": true + }, { "type": "proof", "named": false @@ -3694,6 +3764,10 @@ "type": "type_u8", "named": true }, + { + "type": "unary_bitnot", + "named": true + }, { "type": "unary_not", "named": true @@ -3714,6 +3788,10 @@ "type": "uzumaki_keyword", "named": true }, + { + "type": "visibility", + "named": true + }, { "type": "{", "named": false diff --git a/src/parser.c b/src/parser.c index c8aa1be..d79a2b7 100644 --- a/src/parser.c +++ b/src/parser.c @@ -15,179 +15,183 @@ #endif #define LANGUAGE_VERSION 15 -#define STATE_COUNT 481 +#define STATE_COUNT 518 #define LARGE_STATE_COUNT 11 -#define SYMBOL_COUNT 157 +#define SYMBOL_COUNT 160 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 80 +#define TOKEN_COUNT 83 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 35 +#define FIELD_COUNT 37 #define MAX_ALIAS_SEQUENCE_LENGTH 9 #define MAX_RESERVED_WORD_SET_SIZE 0 -#define PRODUCTION_ID_COUNT 77 +#define PRODUCTION_ID_COUNT 87 #define SUPERTYPE_COUNT 0 enum ts_symbol_identifiers { - sym_type_i8 = 1, - sym_type_i16 = 2, - sym_type_i32 = 3, - sym_type_i64 = 4, - sym_type_u8 = 5, - sym_type_u16 = 6, - sym_type_u32 = 7, - sym_type_u64 = 8, - sym_type_bool = 9, - anon_sym_LPAREN = 10, - anon_sym_RPAREN = 11, - anon_sym_LBRACK = 12, - anon_sym_SEMI = 13, - anon_sym_RBRACK = 14, - anon_sym_fn = 15, - anon_sym_DASH_GT = 16, - anon_sym_DOT = 17, - anon_sym_COLON_COLON = 18, - anon_sym_COLON = 19, - anon_sym_COMMA = 20, - anon_sym_RPAREN2 = 21, - anon_sym_LBRACE = 22, - anon_sym_RBRACE = 23, - anon_sym_EQ = 24, - anon_sym_assert = 25, - anon_sym_break = 26, - anon_sym_STAR_STAR = 27, - anon_sym_AMP_AMP = 28, - anon_sym_PIPE_PIPE = 29, - anon_sym_AMP = 30, - anon_sym_PIPE = 31, - anon_sym_CARET = 32, - anon_sym_LT_LT = 33, - anon_sym_GT_GT = 34, - anon_sym_PLUS = 35, - anon_sym_DASH = 36, - anon_sym_STAR = 37, - anon_sym_PERCENT = 38, - anon_sym_LT = 39, - anon_sym_LT_EQ = 40, - anon_sym_EQ_EQ = 41, - anon_sym_BANG_EQ = 42, - anon_sym_GT_EQ = 43, - anon_sym_GT = 44, - anon_sym_let = 45, - anon_sym_type = 46, - anon_sym_const = 47, - anon_sym_spec = 48, - anon_sym_enum = 49, - anon_sym_struct = 50, - anon_sym_external = 51, - anon_sym_self = 52, - anon_sym__ = 53, - anon_sym_assume = 54, - anon_sym_forall = 55, - anon_sym_exists = 56, - anon_sym_unique = 57, - anon_sym_if = 58, - anon_sym_else = 59, - anon_sym_loop = 60, - anon_sym_use = 61, - anon_sym_COLON_COLON2 = 62, - anon_sym_from = 63, - anon_sym_return = 64, - sym_uzumaki_keyword = 65, - sym_mut_keyword = 66, - sym_unary_not = 67, - anon_sym_true = 68, - anon_sym_false = 69, - anon_sym_DQUOTE = 70, - sym__string_literal_content = 71, - aux_sym_number_literal_token1 = 72, - anon_sym_SQUOTE = 73, - anon_sym_constructor = 74, - anon_sym_proof = 75, - anon_sym_uzumaki = 76, - sym__identifier = 77, - sym__docstring = 78, - sym__comment = 79, - sym_source_file = 80, - sym__statement = 81, - sym__definition = 82, - sym__type = 83, - sym__embedded_type = 84, - sym_type_unit = 85, - sym_type_array = 86, - sym_type_fn = 87, - sym__literal = 88, - sym__expression = 89, - sym__lval_expression = 90, - sym__non_lval_expression = 91, - sym__block = 92, - sym_array_index_access_expression = 93, - sym_member_access_expression = 94, - sym__identifier_like_embedded_type = 95, - sym_type_member_access_expression = 96, - sym_function_call_expression = 97, - sym_struct_expression = 98, - sym_expression_statement = 99, - sym_assign_statement = 100, - sym_assert_statement = 101, - sym_break_statement = 102, - sym_parenthesized_expression = 103, - sym_prefix_unary_expression = 104, - sym_binary_expression = 105, - sym_variable_definition_statement = 106, - sym_type_definition_statement = 107, - sym_constant_definition = 108, - sym_spec_definition = 109, - sym_enum_definition = 110, - sym_struct_definition = 111, - sym_struct_field = 112, - sym_block = 113, - sym_function_definition = 114, - sym_external_function_definition = 115, - sym_argument_list = 116, - sym_argument_declaration = 117, - sym_self_reference = 118, - sym_ignore_argument = 119, - sym_assume_block = 120, - sym_forall_block = 121, - sym_exists_block = 122, - sym_unique_block = 123, - sym_if_statement = 124, - sym_loop_statement = 125, - sym_use_directive = 126, - sym_return_statement = 127, - sym_bool_literal = 128, - sym_string_literal = 129, - sym_number_literal = 130, - sym_unit_literal = 131, - sym_array_literal = 132, - sym__name = 133, - sym_type_qualified_name = 134, - sym__simple_name = 135, - sym_qualified_name = 136, - sym_generic_name = 137, - sym__bracketed_generic_name = 138, - sym_type_argument_list_definition = 139, - sym_type_argument_list = 140, - sym__reserved_identifier = 141, - sym_identifier = 142, - aux_sym_source_file_repeat1 = 143, - aux_sym_function_call_expression_repeat1 = 144, - aux_sym_struct_expression_repeat1 = 145, - aux_sym_spec_definition_repeat1 = 146, - aux_sym_enum_definition_repeat1 = 147, - aux_sym_struct_definition_repeat1 = 148, - aux_sym_block_repeat1 = 149, - aux_sym_argument_list_repeat1 = 150, - aux_sym_if_statement_repeat1 = 151, - aux_sym_use_directive_repeat1 = 152, - aux_sym_use_directive_repeat2 = 153, - aux_sym_array_literal_repeat1 = 154, - aux_sym_type_argument_list_definition_repeat1 = 155, - aux_sym_type_argument_list_repeat1 = 156, + sym_visibility = 1, + sym_type_i8 = 2, + sym_type_i16 = 3, + sym_type_i32 = 4, + sym_type_i64 = 5, + sym_type_u8 = 6, + sym_type_u16 = 7, + sym_type_u32 = 8, + sym_type_u64 = 9, + sym_type_bool = 10, + anon_sym_LPAREN = 11, + anon_sym_RPAREN = 12, + anon_sym_LBRACK = 13, + anon_sym_SEMI = 14, + anon_sym_RBRACK = 15, + anon_sym_fn = 16, + anon_sym_DASH_GT = 17, + anon_sym_DOT = 18, + anon_sym_COLON_COLON = 19, + anon_sym_COLON = 20, + anon_sym_COMMA = 21, + anon_sym_RPAREN2 = 22, + anon_sym_LBRACE = 23, + anon_sym_RBRACE = 24, + anon_sym_EQ = 25, + anon_sym_assert = 26, + anon_sym_break = 27, + anon_sym_STAR_STAR = 28, + anon_sym_AMP_AMP = 29, + anon_sym_PIPE_PIPE = 30, + anon_sym_AMP = 31, + anon_sym_PIPE = 32, + anon_sym_CARET = 33, + anon_sym_LT_LT = 34, + anon_sym_GT_GT = 35, + anon_sym_PLUS = 36, + anon_sym_DASH = 37, + anon_sym_STAR = 38, + anon_sym_SLASH = 39, + anon_sym_PERCENT = 40, + anon_sym_LT = 41, + anon_sym_LT_EQ = 42, + anon_sym_EQ_EQ = 43, + anon_sym_BANG_EQ = 44, + anon_sym_GT_EQ = 45, + anon_sym_GT = 46, + anon_sym_let = 47, + anon_sym_type = 48, + anon_sym_const = 49, + anon_sym_spec = 50, + anon_sym_enum = 51, + anon_sym_struct = 52, + anon_sym_external = 53, + anon_sym_self = 54, + anon_sym__ = 55, + anon_sym_assume = 56, + anon_sym_forall = 57, + anon_sym_exists = 58, + anon_sym_unique = 59, + anon_sym_if = 60, + anon_sym_else = 61, + anon_sym_loop = 62, + anon_sym_use = 63, + anon_sym_COLON_COLON2 = 64, + anon_sym_from = 65, + anon_sym_return = 66, + sym_uzumaki_keyword = 67, + sym_mut_keyword = 68, + sym_unary_not = 69, + sym_unary_bitnot = 70, + anon_sym_true = 71, + anon_sym_false = 72, + anon_sym_DQUOTE = 73, + sym__string_literal_content = 74, + sym_number_literal = 75, + anon_sym_SQUOTE = 76, + anon_sym_constructor = 77, + anon_sym_proof = 78, + anon_sym_uzumaki = 79, + sym__identifier = 80, + sym__docstring = 81, + sym__comment = 82, + sym_source_file = 83, + sym__statement = 84, + sym__definition = 85, + sym__type = 86, + sym__embedded_type = 87, + sym_type_unit = 88, + sym_type_array = 89, + sym_type_fn = 90, + sym__literal = 91, + sym__expression = 92, + sym__lval_expression = 93, + sym__non_lval_expression = 94, + sym__block = 95, + sym_array_index_access_expression = 96, + sym_member_access_expression = 97, + sym__identifier_like_embedded_type = 98, + sym_type_member_access_expression = 99, + sym_function_call_expression = 100, + sym_struct_expression = 101, + sym_expression_statement = 102, + sym_assign_statement = 103, + sym_assert_statement = 104, + sym_break_statement = 105, + sym_parenthesized_expression = 106, + sym_prefix_unary_expression = 107, + sym_binary_expression = 108, + sym_variable_definition_statement = 109, + sym_type_definition_statement = 110, + sym_constant_definition = 111, + sym_spec_definition = 112, + sym_enum_definition = 113, + sym_struct_definition = 114, + sym_struct_field = 115, + sym_block = 116, + sym_function_definition = 117, + sym_external_function_definition = 118, + sym_argument_list = 119, + sym_argument_declaration = 120, + sym_self_reference = 121, + sym_ignore_argument = 122, + sym_assume_block = 123, + sym_forall_block = 124, + sym_exists_block = 125, + sym_unique_block = 126, + sym_if_statement = 127, + sym_loop_statement = 128, + sym_use_directive = 129, + sym_return_statement = 130, + sym_unary_minus = 131, + sym_bool_literal = 132, + sym_string_literal = 133, + sym_unit_literal = 134, + sym_array_literal = 135, + sym__name = 136, + sym_type_qualified_name = 137, + sym__simple_name = 138, + sym_qualified_name = 139, + sym_generic_name = 140, + sym__bracketed_generic_name = 141, + sym_type_argument_list_definition = 142, + sym_type_argument_list = 143, + sym__reserved_identifier = 144, + sym_identifier = 145, + aux_sym_source_file_repeat1 = 146, + aux_sym_function_call_expression_repeat1 = 147, + aux_sym_struct_expression_repeat1 = 148, + aux_sym_spec_definition_repeat1 = 149, + aux_sym_enum_definition_repeat1 = 150, + aux_sym_struct_definition_repeat1 = 151, + aux_sym_block_repeat1 = 152, + aux_sym_argument_list_repeat1 = 153, + aux_sym_if_statement_repeat1 = 154, + aux_sym_use_directive_repeat1 = 155, + aux_sym_use_directive_repeat2 = 156, + aux_sym_array_literal_repeat1 = 157, + aux_sym_type_argument_list_definition_repeat1 = 158, + aux_sym_type_argument_list_repeat1 = 159, }; static const char * const ts_symbol_names[] = { [ts_builtin_sym_end] = "end", + [sym_visibility] = "visibility", [sym_type_i8] = "type_i8", [sym_type_i16] = "type_i16", [sym_type_i32] = "type_i32", @@ -225,6 +229,7 @@ static const char * const ts_symbol_names[] = { [anon_sym_PLUS] = "+", [anon_sym_DASH] = "-", [anon_sym_STAR] = "*", + [anon_sym_SLASH] = "/", [anon_sym_PERCENT] = "%", [anon_sym_LT] = "<", [anon_sym_LT_EQ] = "<=", @@ -255,11 +260,12 @@ static const char * const ts_symbol_names[] = { [sym_uzumaki_keyword] = "uzumaki_keyword", [sym_mut_keyword] = "mut_keyword", [sym_unary_not] = "unary_not", + [sym_unary_bitnot] = "unary_bitnot", [anon_sym_true] = "true", [anon_sym_false] = "false", [anon_sym_DQUOTE] = "\"", [sym__string_literal_content] = "_string_literal_content", - [aux_sym_number_literal_token1] = "number_literal_token1", + [sym_number_literal] = "number_literal", [anon_sym_SQUOTE] = "'", [anon_sym_constructor] = "constructor", [anon_sym_proof] = "proof", @@ -315,9 +321,9 @@ static const char * const ts_symbol_names[] = { [sym_loop_statement] = "loop_statement", [sym_use_directive] = "use_directive", [sym_return_statement] = "return_statement", + [sym_unary_minus] = "unary_minus", [sym_bool_literal] = "bool_literal", [sym_string_literal] = "string_literal", - [sym_number_literal] = "number_literal", [sym_unit_literal] = "unit_literal", [sym_array_literal] = "array_literal", [sym__name] = "_name", @@ -348,6 +354,7 @@ static const char * const ts_symbol_names[] = { static const TSSymbol ts_symbol_map[] = { [ts_builtin_sym_end] = ts_builtin_sym_end, + [sym_visibility] = sym_visibility, [sym_type_i8] = sym_type_i8, [sym_type_i16] = sym_type_i16, [sym_type_i32] = sym_type_i32, @@ -385,6 +392,7 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_PLUS] = anon_sym_PLUS, [anon_sym_DASH] = anon_sym_DASH, [anon_sym_STAR] = anon_sym_STAR, + [anon_sym_SLASH] = anon_sym_SLASH, [anon_sym_PERCENT] = anon_sym_PERCENT, [anon_sym_LT] = anon_sym_LT, [anon_sym_LT_EQ] = anon_sym_LT_EQ, @@ -415,11 +423,12 @@ static const TSSymbol ts_symbol_map[] = { [sym_uzumaki_keyword] = sym_uzumaki_keyword, [sym_mut_keyword] = sym_mut_keyword, [sym_unary_not] = sym_unary_not, + [sym_unary_bitnot] = sym_unary_bitnot, [anon_sym_true] = anon_sym_true, [anon_sym_false] = anon_sym_false, [anon_sym_DQUOTE] = anon_sym_DQUOTE, [sym__string_literal_content] = sym__string_literal_content, - [aux_sym_number_literal_token1] = aux_sym_number_literal_token1, + [sym_number_literal] = sym_number_literal, [anon_sym_SQUOTE] = anon_sym_SQUOTE, [anon_sym_constructor] = anon_sym_constructor, [anon_sym_proof] = anon_sym_proof, @@ -475,9 +484,9 @@ static const TSSymbol ts_symbol_map[] = { [sym_loop_statement] = sym_loop_statement, [sym_use_directive] = sym_use_directive, [sym_return_statement] = sym_return_statement, + [sym_unary_minus] = sym_unary_minus, [sym_bool_literal] = sym_bool_literal, [sym_string_literal] = sym_string_literal, - [sym_number_literal] = sym_number_literal, [sym_unit_literal] = sym_unit_literal, [sym_array_literal] = sym_array_literal, [sym__name] = sym__name, @@ -511,6 +520,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = true, }, + [sym_visibility] = { + .visible = true, + .named = true, + }, [sym_type_i8] = { .visible = true, .named = true, @@ -659,6 +672,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_SLASH] = { + .visible = true, + .named = false, + }, [anon_sym_PERCENT] = { .visible = true, .named = false, @@ -779,6 +796,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_unary_bitnot] = { + .visible = true, + .named = true, + }, [anon_sym_true] = { .visible = true, .named = false, @@ -795,9 +816,9 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = true, }, - [aux_sym_number_literal_token1] = { - .visible = false, - .named = false, + [sym_number_literal] = { + .visible = true, + .named = true, }, [anon_sym_SQUOTE] = { .visible = true, @@ -1019,15 +1040,15 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_bool_literal] = { + [sym_unary_minus] = { .visible = true, .named = true, }, - [sym_string_literal] = { + [sym_bool_literal] = { .visible = true, .named = true, }, - [sym_number_literal] = { + [sym_string_literal] = { .visible = true, .named = true, }, @@ -1161,18 +1182,20 @@ enum ts_field_identifiers { 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, - field_variant = 35, + field_method = 24, + field_mut = 25, + field_name = 26, + field_operator = 27, + field_qualifier = 28, + field_returns = 29, + field_right = 30, + field_segment = 31, + field_statement = 32, + field_type = 33, + field_type_parameters = 34, + field_value = 35, + field_variant = 36, + field_visibility = 37, }; static const char * const ts_field_names[] = { @@ -1200,6 +1223,7 @@ 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", @@ -1212,6 +1236,7 @@ static const char * const ts_field_names[] = { [field_type_parameters] = "type_parameters", [field_value] = "value", [field_variant] = "variant", + [field_visibility] = "visibility", }; static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { @@ -1222,75 +1247,85 @@ static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [5] = {.index = 6, .length = 1}, [6] = {.index = 7, .length = 2}, [7] = {.index = 9, .length = 2}, - [8] = {.index = 11, .length = 1}, - [9] = {.index = 12, .length = 1}, - [10] = {.index = 13, .length = 1}, - [11] = {.index = 14, .length = 1}, - [12] = {.index = 15, .length = 1}, - [13] = {.index = 16, .length = 1}, - [14] = {.index = 17, .length = 4}, - [15] = {.index = 21, .length = 2}, - [16] = {.index = 23, .length = 2}, - [17] = {.index = 25, .length = 2}, - [18] = {.index = 27, .length = 1}, - [19] = {.index = 28, .length = 3}, - [20] = {.index = 31, .length = 4}, - [21] = {.index = 35, .length = 2}, - [22] = {.index = 37, .length = 1}, - [23] = {.index = 38, .length = 2}, - [24] = {.index = 40, .length = 1}, - [25] = {.index = 41, .length = 1}, - [26] = {.index = 42, .length = 2}, - [27] = {.index = 44, .length = 2}, - [28] = {.index = 46, .length = 2}, - [29] = {.index = 48, .length = 2}, - [30] = {.index = 50, .length = 2}, - [31] = {.index = 52, .length = 4}, - [32] = {.index = 56, .length = 1}, - [33] = {.index = 57, .length = 1}, - [34] = {.index = 58, .length = 2}, - [35] = {.index = 60, .length = 2}, - [36] = {.index = 62, .length = 1}, - [37] = {.index = 63, .length = 3}, - [38] = {.index = 66, .length = 2}, - [39] = {.index = 68, .length = 2}, - [40] = {.index = 70, .length = 3}, - [41] = {.index = 73, .length = 2}, - [42] = {.index = 75, .length = 2}, - [43] = {.index = 77, .length = 1}, - [44] = {.index = 78, .length = 3}, - [45] = {.index = 81, .length = 1}, - [46] = {.index = 82, .length = 2}, - [47] = {.index = 84, .length = 1}, - [48] = {.index = 85, .length = 5}, - [49] = {.index = 90, .length = 3}, - [50] = {.index = 93, .length = 3}, - [51] = {.index = 96, .length = 2}, - [52] = {.index = 98, .length = 2}, - [53] = {.index = 100, .length = 2}, - [54] = {.index = 102, .length = 4}, - [55] = {.index = 106, .length = 2}, - [56] = {.index = 108, .length = 2}, - [57] = {.index = 110, .length = 2}, - [58] = {.index = 112, .length = 3}, - [59] = {.index = 115, .length = 3}, - [60] = {.index = 118, .length = 3}, - [61] = {.index = 121, .length = 3}, - [62] = {.index = 124, .length = 4}, - [63] = {.index = 128, .length = 4}, - [64] = {.index = 132, .length = 4}, - [65] = {.index = 136, .length = 4}, - [66] = {.index = 140, .length = 3}, - [67] = {.index = 143, .length = 5}, - [68] = {.index = 148, .length = 3}, - [69] = {.index = 151, .length = 3}, - [70] = {.index = 154, .length = 2}, - [71] = {.index = 156, .length = 2}, - [72] = {.index = 158, .length = 5}, - [73] = {.index = 163, .length = 5}, - [74] = {.index = 168, .length = 4}, - [75] = {.index = 172, .length = 4}, - [76] = {.index = 176, .length = 2}, + [8] = {.index = 11, .length = 4}, + [9] = {.index = 15, .length = 2}, + [10] = {.index = 17, .length = 1}, + [11] = {.index = 18, .length = 1}, + [12] = {.index = 19, .length = 1}, + [13] = {.index = 20, .length = 1}, + [14] = {.index = 21, .length = 1}, + [15] = {.index = 22, .length = 1}, + [16] = {.index = 23, .length = 4}, + [17] = {.index = 27, .length = 2}, + [18] = {.index = 29, .length = 2}, + [19] = {.index = 31, .length = 2}, + [20] = {.index = 33, .length = 1}, + [21] = {.index = 34, .length = 3}, + [22] = {.index = 37, .length = 4}, + [23] = {.index = 41, .length = 2}, + [24] = {.index = 43, .length = 1}, + [25] = {.index = 44, .length = 2}, + [26] = {.index = 46, .length = 5}, + [27] = {.index = 51, .length = 3}, + [28] = {.index = 54, .length = 3}, + [29] = {.index = 57, .length = 4}, + [30] = {.index = 61, .length = 1}, + [31] = {.index = 62, .length = 1}, + [32] = {.index = 63, .length = 2}, + [33] = {.index = 65, .length = 2}, + [34] = {.index = 67, .length = 2}, + [35] = {.index = 69, .length = 2}, + [36] = {.index = 71, .length = 2}, + [37] = {.index = 73, .length = 4}, + [38] = {.index = 77, .length = 1}, + [39] = {.index = 78, .length = 1}, + [40] = {.index = 79, .length = 2}, + [41] = {.index = 81, .length = 2}, + [42] = {.index = 83, .length = 1}, + [43] = {.index = 84, .length = 3}, + [44] = {.index = 87, .length = 2}, + [45] = {.index = 89, .length = 5}, + [46] = {.index = 94, .length = 4}, + [47] = {.index = 98, .length = 2}, + [48] = {.index = 100, .length = 3}, + [49] = {.index = 103, .length = 2}, + [50] = {.index = 105, .length = 2}, + [51] = {.index = 107, .length = 1}, + [52] = {.index = 108, .length = 3}, + [53] = {.index = 111, .length = 1}, + [54] = {.index = 112, .length = 2}, + [55] = {.index = 114, .length = 1}, + [56] = {.index = 115, .length = 5}, + [57] = {.index = 120, .length = 3}, + [58] = {.index = 123, .length = 3}, + [59] = {.index = 126, .length = 2}, + [60] = {.index = 128, .length = 2}, + [61] = {.index = 130, .length = 6}, + [62] = {.index = 136, .length = 4}, + [63] = {.index = 140, .length = 2}, + [64] = {.index = 142, .length = 4}, + [65] = {.index = 146, .length = 2}, + [66] = {.index = 148, .length = 2}, + [67] = {.index = 150, .length = 2}, + [68] = {.index = 152, .length = 3}, + [69] = {.index = 155, .length = 3}, + [70] = {.index = 158, .length = 3}, + [71] = {.index = 161, .length = 3}, + [72] = {.index = 164, .length = 4}, + [73] = {.index = 168, .length = 4}, + [74] = {.index = 172, .length = 4}, + [75] = {.index = 176, .length = 4}, + [76] = {.index = 180, .length = 3}, + [77] = {.index = 183, .length = 5}, + [78] = {.index = 188, .length = 3}, + [79] = {.index = 191, .length = 3}, + [80] = {.index = 194, .length = 2}, + [81] = {.index = 196, .length = 2}, + [82] = {.index = 198, .length = 5}, + [83] = {.index = 203, .length = 5}, + [84] = {.index = 208, .length = 4}, + [85] = {.index = 212, .length = 4}, + [86] = {.index = 216, .length = 2}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -1305,7 +1340,7 @@ static const TSFieldMapEntry ts_field_map_entries[] = { [5] = {field_name, 1}, [6] = - {field_value, 0}, + {field_method, 0}, [7] = {field_segment, 1}, {field_segment, 2, .inherited = true}, @@ -1313,239 +1348,289 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_segment, 0, .inherited = true}, {field_segment, 1, .inherited = true}, [11] = + {field_argument_list, 3}, + {field_body, 4}, + {field_name, 2}, + {field_visibility, 0}, + [15] = + {field_name, 2}, + {field_visibility, 0}, + [17] = {field_arguments, 1}, - [12] = + [18] = {field_mut, 0}, - [13] = + [19] = {field_argument, 1}, - [14] = + [20] = {field_base_type, 0}, - [15] = + [21] = {field_statement, 0}, - [16] = + [22] = {field_body, 1}, - [17] = + [23] = {field_argument_list, 3}, {field_body, 4}, {field_name, 1}, {field_type_parameters, 2}, - [21] = + [27] = {field_type, 0}, {field_type, 2, .inherited = true}, - [23] = + [29] = {field_name, 1}, {field_type, 3}, - [25] = + [31] = {field_name, 1}, {field_variant, 3}, - [27] = + [33] = {field_field, 0}, - [28] = + [34] = {field_field, 3, .inherited = true}, + {field_method, 3, .inherited = true}, {field_name, 1}, - {field_value, 3, .inherited = true}, - [31] = + [37] = {field_field, 0, .inherited = true}, {field_field, 1, .inherited = true}, - {field_value, 0, .inherited = true}, - {field_value, 1, .inherited = true}, - [35] = + {field_method, 0, .inherited = true}, + {field_method, 1, .inherited = true}, + [41] = {field_argument_list, 3}, {field_name, 2}, - [37] = + [43] = {field_imported_type, 1}, - [38] = + [44] = {field_imported_type, 0, .inherited = true}, {field_imported_type, 1, .inherited = true}, - [40] = + [46] = + {field_argument_list, 4}, + {field_body, 5}, + {field_name, 2}, + {field_type_parameters, 3}, + {field_visibility, 0}, + [51] = + {field_name, 2}, + {field_type, 4}, + {field_visibility, 0}, + [54] = + {field_name, 2}, + {field_variant, 4}, + {field_visibility, 0}, + [57] = + {field_field, 4, .inherited = true}, + {field_method, 4, .inherited = true}, + {field_name, 2}, + {field_visibility, 0}, + [61] = {field_type, 1}, - [41] = + [62] = {field_type, 2}, - [42] = + [63] = {field_argument, 1}, {field_argument, 2, .inherited = true}, - [44] = + [65] = {field_argument, 0, .inherited = true}, {field_argument, 1, .inherited = true}, - [46] = + [67] = {field_name, 2}, {field_qualifier, 0}, - [48] = + [69] = {field_name, 0}, {field_type, 2}, - [50] = + [71] = {field_alias, 0}, {field_name, 2}, - [52] = + [73] = {field_argument_list, 2}, {field_body, 5}, {field_name, 1}, {field_returns, 4}, - [56] = + [77] = {field_operator, 0}, - [57] = + [78] = {field_statement, 1, .inherited = true}, - [58] = + [79] = {field_statement, 0, .inherited = true}, {field_statement, 1, .inherited = true}, - [60] = + [81] = {field_type, 0, .inherited = true}, {field_type, 1, .inherited = true}, - [62] = + [83] = {field_variant, 1}, - [63] = + [84] = {field_name, 1}, {field_variant, 3}, {field_variant, 4, .inherited = true}, - [66] = + [87] = {field_variant, 0, .inherited = true}, {field_variant, 1, .inherited = true}, - [68] = + [89] = + {field_argument_list, 3}, + {field_body, 6}, + {field_name, 2}, + {field_returns, 5}, + {field_visibility, 0}, + [94] = + {field_name, 2}, + {field_variant, 4}, + {field_variant, 5, .inherited = true}, + {field_visibility, 0}, + [98] = {field_arguments, 1}, {field_returns, 3}, - [70] = + [100] = {field_mut, 0}, {field_name, 1}, {field_type, 3}, - [73] = + [103] = {field_condition, 1}, {field_if_arm, 2}, - [75] = + [105] = {field_body, 2}, {field_condition, 1}, - [77] = + [107] = {field_expression, 1}, - [78] = + [108] = {field_left, 0}, {field_operator, 1}, {field_right, 2}, - [81] = + [111] = {field_function, 0}, - [82] = + [112] = {field_expression, 0}, {field_name, 2}, - [84] = + [114] = {field_name, 0}, - [85] = + [115] = {field_argument_list, 3}, {field_body, 6}, {field_name, 1}, {field_returns, 5}, {field_type_parameters, 2}, - [90] = + [120] = {field_name, 1}, {field_type, 3}, {field_value, 5}, - [93] = + [123] = {field_argument_list, 3}, {field_name, 2}, {field_returns, 5}, - [96] = + [126] = {field_from_literal, 5}, {field_imported_type, 2}, - [98] = + [128] = {field_imported_type, 4}, {field_segment, 1}, - [100] = + [130] = + {field_argument_list, 4}, + {field_body, 7}, + {field_name, 2}, + {field_returns, 6}, + {field_type_parameters, 3}, + {field_visibility, 0}, + [136] = + {field_name, 2}, + {field_type, 4}, + {field_value, 6}, + {field_visibility, 0}, + [140] = {field_length, 3}, {field_type, 1}, - [102] = + [142] = {field_condition, 1}, {field_else_if_arm, 3, .inherited = true}, {field_else_if_condition, 3, .inherited = true}, {field_if_arm, 2}, - [106] = + [146] = {field_argument, 2}, {field_function, 0}, - [108] = + [148] = {field_array, 0}, {field_index, 2}, - [110] = + [150] = {field_left, 0}, {field_right, 2}, - [112] = + [152] = {field_from_literal, 6}, {field_imported_type, 2}, {field_imported_type, 3, .inherited = true}, - [115] = + [155] = {field_imported_type, 4}, {field_imported_type, 5, .inherited = true}, {field_segment, 1}, - [118] = + [158] = {field_imported_type, 5}, {field_segment, 1}, {field_segment, 2, .inherited = true}, - [121] = + [161] = {field_condition, 1}, {field_else_arm, 4}, {field_if_arm, 2}, - [124] = + [164] = {field_else_if_arm, 0, .inherited = true}, {field_else_if_arm, 1, .inherited = true}, {field_else_if_condition, 0, .inherited = true}, {field_else_if_condition, 1, .inherited = true}, - [128] = + [168] = {field_argument, 2}, {field_argument, 3, .inherited = true}, {field_argument_name, 3, .inherited = true}, {field_function, 0}, - [132] = + [172] = {field_argument, 0, .inherited = true}, {field_argument, 1, .inherited = true}, {field_argument_name, 0, .inherited = true}, {field_argument_name, 1, .inherited = true}, - [136] = + [176] = {field_imported_type, 5}, {field_imported_type, 6, .inherited = true}, {field_segment, 1}, {field_segment, 2, .inherited = true}, - [140] = + [180] = {field_mut, 1}, {field_name, 2}, {field_type, 4}, - [143] = + [183] = {field_condition, 1}, {field_else_arm, 5}, {field_else_if_arm, 3, .inherited = true}, {field_else_if_condition, 3, .inherited = true}, {field_if_arm, 2}, - [148] = + [188] = {field_argument, 4}, {field_argument_name, 2}, {field_function, 0}, - [151] = + [191] = {field_field_name, 2}, {field_field_value, 4}, {field_name, 0}, - [154] = + [194] = {field_else_if_arm, 3}, {field_else_if_condition, 2}, - [156] = + [196] = {field_argument, 3}, {field_argument_name, 1}, - [158] = + [198] = {field_argument, 4}, {field_argument, 5, .inherited = true}, {field_argument_name, 2}, {field_argument_name, 5, .inherited = true}, {field_function, 0}, - [163] = + [203] = {field_field_name, 2}, {field_field_name, 5, .inherited = true}, {field_field_value, 4}, {field_field_value, 5, .inherited = true}, {field_name, 0}, - [168] = + [208] = {field_field_name, 0, .inherited = true}, {field_field_name, 1, .inherited = true}, {field_field_value, 0, .inherited = true}, {field_field_value, 1, .inherited = true}, - [172] = + [212] = {field_mut, 1}, {field_name, 2}, {field_type, 4}, {field_value, 6}, - [176] = + [216] = {field_field_name, 1}, {field_field_value, 3}, }; @@ -1562,38 +1647,38 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [0] = 0, [1] = 1, [2] = 2, - [3] = 3, - [4] = 2, + [3] = 2, + [4] = 4, [5] = 5, - [6] = 3, - [7] = 2, - [8] = 3, - [9] = 3, - [10] = 2, + [6] = 2, + [7] = 5, + [8] = 5, + [9] = 2, + [10] = 5, [11] = 11, [12] = 12, - [13] = 12, - [14] = 12, + [13] = 13, + [14] = 14, [15] = 15, - [16] = 15, - [17] = 15, - [18] = 15, - [19] = 15, + [16] = 16, + [17] = 13, + [18] = 12, + [19] = 16, [20] = 15, - [21] = 21, - [22] = 22, - [23] = 23, - [24] = 24, - [25] = 25, - [26] = 26, - [27] = 27, + [21] = 14, + [22] = 16, + [23] = 14, + [24] = 15, + [25] = 15, + [26] = 14, + [27] = 16, [28] = 28, [29] = 29, [30] = 30, [31] = 31, [32] = 32, [33] = 33, - [34] = 25, + [34] = 34, [35] = 35, [36] = 36, [37] = 37, @@ -1608,37 +1693,37 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [46] = 46, [47] = 47, [48] = 48, - [49] = 48, - [50] = 50, - [51] = 26, - [52] = 27, - [53] = 28, - [54] = 54, - [55] = 29, - [56] = 30, - [57] = 31, - [58] = 32, - [59] = 33, + [49] = 49, + [50] = 32, + [51] = 51, + [52] = 52, + [53] = 53, + [54] = 48, + [55] = 55, + [56] = 51, + [57] = 52, + [58] = 53, + [59] = 55, [60] = 60, - [61] = 50, - [62] = 48, - [63] = 60, - [64] = 50, - [65] = 26, - [66] = 27, - [67] = 28, - [68] = 54, - [69] = 29, - [70] = 30, - [71] = 31, - [72] = 32, - [73] = 33, - [74] = 25, - [75] = 54, - [76] = 76, - [77] = 76, - [78] = 76, - [79] = 76, + [61] = 61, + [62] = 62, + [63] = 63, + [64] = 64, + [65] = 33, + [66] = 34, + [67] = 60, + [68] = 61, + [69] = 62, + [70] = 63, + [71] = 49, + [72] = 64, + [73] = 73, + [74] = 74, + [75] = 73, + [76] = 73, + [77] = 74, + [78] = 73, + [79] = 79, [80] = 80, [81] = 81, [82] = 82, @@ -1646,19 +1731,19 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [84] = 84, [85] = 85, [86] = 86, - [87] = 87, + [87] = 14, [88] = 15, [89] = 89, - [90] = 90, + [90] = 16, [91] = 91, - [92] = 89, - [93] = 86, + [92] = 86, + [93] = 93, [94] = 94, - [95] = 85, + [95] = 95, [96] = 96, [97] = 97, - [98] = 12, - [99] = 87, + [98] = 98, + [99] = 13, [100] = 100, [101] = 101, [102] = 102, @@ -1667,26 +1752,26 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [105] = 105, [106] = 106, [107] = 107, - [108] = 84, - [109] = 109, - [110] = 110, - [111] = 111, - [112] = 83, + [108] = 108, + [109] = 82, + [110] = 83, + [111] = 84, + [112] = 85, [113] = 113, [114] = 114, - [115] = 12, + [115] = 89, [116] = 116, - [117] = 15, - [118] = 118, + [117] = 117, + [118] = 13, [119] = 119, [120] = 120, - [121] = 121, - [122] = 122, - [123] = 123, + [121] = 15, + [122] = 14, + [123] = 16, [124] = 124, - [125] = 12, - [126] = 15, - [127] = 12, + [125] = 125, + [126] = 126, + [127] = 13, [128] = 128, [129] = 129, [130] = 130, @@ -1703,102 +1788,102 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [141] = 141, [142] = 142, [143] = 143, - [144] = 124, - [145] = 141, + [144] = 144, + [145] = 145, [146] = 146, [147] = 147, [148] = 148, [149] = 149, [150] = 150, - [151] = 121, + [151] = 151, [152] = 152, [153] = 153, [154] = 154, [155] = 155, [156] = 156, [157] = 157, - [158] = 142, + [158] = 158, [159] = 159, - [160] = 142, - [161] = 148, - [162] = 153, - [163] = 159, - [164] = 142, + [160] = 160, + [161] = 161, + [162] = 162, + [163] = 154, + [164] = 164, [165] = 165, [166] = 166, [167] = 167, [168] = 168, [169] = 169, [170] = 170, - [171] = 171, + [171] = 154, [172] = 172, - [173] = 173, - [174] = 174, - [175] = 175, - [176] = 176, - [177] = 177, - [178] = 178, - [179] = 179, - [180] = 138, - [181] = 139, - [182] = 182, - [183] = 182, - [184] = 182, + [173] = 166, + [174] = 167, + [175] = 162, + [176] = 145, + [177] = 146, + [178] = 151, + [179] = 157, + [180] = 168, + [181] = 134, + [182] = 136, + [183] = 183, + [184] = 183, [185] = 185, - [186] = 186, - [187] = 185, + [186] = 185, + [187] = 187, [188] = 188, - [189] = 185, + [189] = 189, [190] = 190, - [191] = 191, + [191] = 188, [192] = 192, [193] = 193, [194] = 194, [195] = 195, [196] = 196, - [197] = 197, + [197] = 189, [198] = 198, [199] = 199, [200] = 200, - [201] = 190, - [202] = 191, - [203] = 192, - [204] = 193, - [205] = 188, + [201] = 198, + [202] = 202, + [203] = 199, + [204] = 195, + [205] = 200, [206] = 194, - [207] = 195, + [207] = 192, [208] = 196, - [209] = 197, - [210] = 198, - [211] = 199, - [212] = 196, + [209] = 193, + [210] = 190, + [211] = 211, + [212] = 212, [213] = 213, [214] = 214, - [215] = 188, - [216] = 195, - [217] = 198, - [218] = 194, - [219] = 197, - [220] = 199, + [215] = 215, + [216] = 216, + [217] = 217, + [218] = 218, + [219] = 219, + [220] = 220, [221] = 221, [222] = 222, - [223] = 190, - [224] = 191, - [225] = 192, - [226] = 193, + [223] = 223, + [224] = 224, + [225] = 225, + [226] = 226, [227] = 227, - [228] = 228, + [228] = 223, [229] = 229, [230] = 230, [231] = 231, - [232] = 232, + [232] = 222, [233] = 233, [234] = 234, [235] = 235, [236] = 236, - [237] = 234, + [237] = 237, [238] = 238, - [239] = 239, + [239] = 73, [240] = 240, [241] = 241, [242] = 242, @@ -1808,157 +1893,157 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [246] = 246, [247] = 247, [248] = 248, - [249] = 76, + [249] = 249, [250] = 250, [251] = 251, [252] = 252, [253] = 253, - [254] = 253, - [255] = 255, - [256] = 256, + [254] = 251, + [255] = 250, + [256] = 248, [257] = 257, - [258] = 258, + [258] = 257, [259] = 259, [260] = 260, [261] = 261, [262] = 262, - [263] = 256, + [263] = 263, [264] = 264, [265] = 265, [266] = 266, [267] = 267, [268] = 268, - [269] = 269, - [270] = 266, - [271] = 265, + [269] = 116, + [270] = 270, + [271] = 271, [272] = 272, - [273] = 97, - [274] = 274, - [275] = 275, - [276] = 276, - [277] = 277, - [278] = 94, - [279] = 86, + [273] = 273, + [274] = 83, + [275] = 84, + [276] = 85, + [277] = 86, + [278] = 278, + [279] = 279, [280] = 280, - [281] = 85, - [282] = 84, + [281] = 281, + [282] = 282, [283] = 283, [284] = 284, - [285] = 83, - [286] = 286, - [287] = 89, + [285] = 117, + [286] = 89, + [287] = 281, [288] = 288, - [289] = 289, - [290] = 87, + [289] = 271, + [290] = 290, [291] = 291, - [292] = 292, + [292] = 282, [293] = 293, [294] = 294, [295] = 295, [296] = 296, - [297] = 297, - [298] = 298, - [299] = 295, - [300] = 300, - [301] = 301, + [297] = 82, + [298] = 265, + [299] = 299, + [300] = 114, + [301] = 113, [302] = 302, [303] = 303, [304] = 304, [305] = 305, [306] = 306, - [307] = 303, - [308] = 305, + [307] = 307, + [308] = 308, [309] = 309, [310] = 310, - [311] = 306, - [312] = 309, - [313] = 310, - [314] = 314, - [315] = 315, - [316] = 303, + [311] = 311, + [312] = 312, + [313] = 313, + [314] = 313, + [315] = 312, + [316] = 316, [317] = 317, - [318] = 305, - [319] = 303, - [320] = 305, - [321] = 306, - [322] = 309, - [323] = 310, - [324] = 324, + [318] = 318, + [319] = 319, + [320] = 320, + [321] = 321, + [322] = 317, + [323] = 323, + [324] = 318, [325] = 325, - [326] = 326, - [327] = 327, - [328] = 328, - [329] = 329, - [330] = 330, - [331] = 289, - [332] = 332, + [326] = 323, + [327] = 318, + [328] = 323, + [329] = 320, + [330] = 321, + [331] = 331, + [332] = 278, [333] = 333, [334] = 334, [335] = 335, - [336] = 288, + [336] = 268, [337] = 337, [338] = 338, - [339] = 87, - [340] = 340, - [341] = 341, - [342] = 342, - [343] = 343, - [344] = 83, - [345] = 89, - [346] = 346, - [347] = 347, - [348] = 86, - [349] = 85, - [350] = 350, - [351] = 283, - [352] = 352, - [353] = 353, - [354] = 277, + [339] = 82, + [340] = 83, + [341] = 291, + [342] = 84, + [343] = 85, + [344] = 86, + [345] = 345, + [346] = 299, + [347] = 89, + [348] = 266, + [349] = 349, + [350] = 272, + [351] = 351, + [352] = 267, + [353] = 283, + [354] = 354, [355] = 355, [356] = 356, - [357] = 334, - [358] = 353, - [359] = 330, - [360] = 84, - [361] = 340, - [362] = 329, + [357] = 357, + [358] = 358, + [359] = 359, + [360] = 360, + [361] = 361, + [362] = 362, [363] = 363, [364] = 364, [365] = 365, - [366] = 366, + [366] = 356, [367] = 367, [368] = 368, [369] = 369, [370] = 370, [371] = 371, [372] = 372, - [373] = 340, + [373] = 373, [374] = 374, - [375] = 329, - [376] = 376, - [377] = 377, + [375] = 375, + [376] = 337, + [377] = 351, [378] = 378, - [379] = 379, - [380] = 380, - [381] = 381, - [382] = 382, - [383] = 383, + [379] = 363, + [380] = 362, + [381] = 365, + [382] = 369, + [383] = 378, [384] = 384, [385] = 385, [386] = 386, - [387] = 368, + [387] = 387, [388] = 388, [389] = 389, [390] = 390, [391] = 391, - [392] = 368, + [392] = 392, [393] = 393, [394] = 394, [395] = 395, [396] = 396, [397] = 397, - [398] = 395, - [399] = 396, + [398] = 398, + [399] = 399, [400] = 400, [401] = 401, [402] = 402, @@ -1966,80 +2051,117 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [404] = 404, [405] = 405, [406] = 406, - [407] = 407, + [407] = 405, [408] = 408, [409] = 409, [410] = 410, [411] = 411, - [412] = 401, + [412] = 412, [413] = 413, [414] = 414, - [415] = 397, - [416] = 395, - [417] = 396, + [415] = 415, + [416] = 416, + [417] = 417, [418] = 418, - [419] = 401, + [419] = 419, [420] = 420, [421] = 421, [422] = 422, [423] = 423, - [424] = 340, - [425] = 329, + [424] = 424, + [425] = 425, [426] = 426, - [427] = 422, - [428] = 397, - [429] = 395, - [430] = 396, - [431] = 401, - [432] = 397, - [433] = 422, - [434] = 434, + [427] = 427, + [428] = 428, + [429] = 429, + [430] = 430, + [431] = 431, + [432] = 432, + [433] = 433, + [434] = 416, [435] = 435, - [436] = 422, - [437] = 434, - [438] = 438, - [439] = 439, - [440] = 440, + [436] = 417, + [437] = 418, + [438] = 416, + [439] = 417, + [440] = 418, [441] = 441, - [442] = 442, - [443] = 443, - [444] = 444, - [445] = 445, - [446] = 446, + [442] = 441, + [443] = 416, + [444] = 417, + [445] = 418, + [446] = 441, [447] = 447, - [448] = 442, - [449] = 449, + [448] = 424, + [449] = 422, [450] = 450, [451] = 451, [452] = 452, [453] = 453, - [454] = 454, - [455] = 455, + [454] = 337, + [455] = 351, [456] = 456, - [457] = 457, - [458] = 458, + [457] = 428, + [458] = 428, [459] = 459, - [460] = 460, + [460] = 441, [461] = 461, [462] = 462, [463] = 463, [464] = 464, - [465] = 449, + [465] = 465, [466] = 466, [467] = 467, - [468] = 439, - [469] = 469, - [470] = 464, - [471] = 464, + [468] = 468, + [469] = 463, + [470] = 470, + [471] = 471, [472] = 472, [473] = 473, [474] = 474, [475] = 475, - [476] = 444, - [477] = 477, - [478] = 455, - [479] = 479, - [480] = 480, + [476] = 476, + [477] = 463, + [478] = 478, + [479] = 463, + [480] = 463, + [481] = 481, + [482] = 482, + [483] = 483, + [484] = 476, + [485] = 485, + [486] = 486, + [487] = 487, + [488] = 463, + [489] = 489, + [490] = 490, + [491] = 491, + [492] = 470, + [493] = 493, + [494] = 494, + [495] = 495, + [496] = 496, + [497] = 497, + [498] = 498, + [499] = 490, + [500] = 500, + [501] = 501, + [502] = 467, + [503] = 503, + [504] = 472, + [505] = 505, + [506] = 506, + [507] = 507, + [508] = 507, + [509] = 509, + [510] = 503, + [511] = 511, + [512] = 512, + [513] = 489, + [514] = 482, + [515] = 515, + [516] = 516, + [517] = 506, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -2047,2485 +2169,2544 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(142); + if (eof) ADVANCE(145); ADVANCE_MAP( - '!', 241, - '"', 246, - '%', 196, - '&', 187, - '\'', 254, - '(', 161, - ')', 162, - '*', 195, - '+', 192, - ',', 174, - '-', 194, - '.', 169, - '/', 24, - ':', 172, - ';', 164, - '<', 197, - '=', 179, - '>', 202, - '@', 237, - '[', 163, - ']', 165, - '^', 189, - '_', 216, - 'a', 111, - 'b', 88, - 'c', 87, - 'e', 72, + '!', 248, + '"', 254, + '%', 203, + '&', 192, + '\'', 262, + '(', 166, + ')', 167, + '*', 201, + '+', 197, + ',', 179, + '-', 199, + '.', 174, + '/', 202, + ':', 177, + ';', 169, + '<', 204, + '=', 184, + '>', 209, + '@', 244, + '[', 168, + ']', 170, + '^', 194, + '_', 223, + 'a', 112, + 'b', 90, + 'c', 88, + 'e', 73, 'f', 38, 'i', 25, - 'l', 46, - 'm', 129, - 'p', 106, - 'r', 57, - 's', 56, - 't', 104, + 'l', 47, + 'm', 131, + 'p', 107, + 'r', 59, + 's', 57, + 't', 105, 'u', 26, - '{', 176, - '|', 188, - '}', 177, + '{', 181, + '|', 193, + '}', 182, + '~', 249, ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(139); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(253); + lookahead == ' ') SKIP(142); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(261); END_STATE(); case 1: if (lookahead == '\n') SKIP(14); - if (lookahead == '"') ADVANCE(246); - if (lookahead == '/') ADVANCE(251); + if (lookahead == '"') ADVANCE(254); + if (lookahead == '/') ADVANCE(259); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(250); + lookahead == ' ') ADVANCE(258); if (lookahead != 0 && - lookahead != '\\') ADVANCE(252); + lookahead != '\\') ADVANCE(260); END_STATE(); case 2: ADVANCE_MAP( '!', 35, - '%', 196, - '&', 187, - '\'', 254, - '(', 161, - ')', 175, - '*', 195, - '+', 192, - ',', 174, - '-', 193, - '.', 169, - '/', 24, - ':', 172, - ';', 164, - '<', 197, - '=', 179, - '>', 202, - '[', 163, - ']', 165, - '^', 189, - 'b', 311, - 'c', 316, - 'f', 304, - 'i', 262, - 'p', 325, - 'u', 264, - '{', 176, - '|', 188, - '}', 177, + '%', 203, + '&', 192, + '\'', 262, + '(', 166, + ')', 180, + '*', 201, + '+', 197, + ',', 179, + '-', 198, + '.', 174, + '/', 202, + ':', 177, + ';', 169, + '<', 204, + '=', 184, + '>', 209, + '[', 168, + ']', 170, + '^', 194, + 'b', 320, + 'c', 325, + 'f', 313, + 'i', 270, + 'p', 335, + 'u', 272, + '{', 181, + '|', 193, + '}', 182, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(4); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 3: ADVANCE_MAP( '!', 35, - '%', 196, - '&', 187, - '\'', 254, - '(', 161, - ')', 175, - '*', 195, - '+', 192, - ',', 174, - '-', 193, - '.', 169, - '/', 24, - ':', 173, - ';', 164, - '<', 197, - '=', 179, - '>', 202, - '[', 163, - ']', 165, - '^', 189, - 'b', 311, - 'c', 316, - 'f', 304, - 'i', 262, - 'p', 325, - 'u', 264, - '|', 188, - '}', 177, + '%', 203, + '&', 192, + '\'', 262, + '(', 166, + ')', 180, + '*', 201, + '+', 197, + ',', 179, + '-', 198, + '.', 174, + '/', 202, + ':', 178, + ';', 169, + '<', 204, + '=', 184, + '>', 209, + '[', 168, + ']', 170, + '^', 194, + 'b', 320, + 'c', 325, + 'f', 313, + 'i', 270, + 'p', 335, + 'u', 272, + '|', 193, + '}', 182, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(5); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 4: ADVANCE_MAP( '!', 35, - '%', 196, - '&', 187, - '(', 161, - ')', 175, - '*', 195, - '+', 192, - ',', 174, - '-', 193, - '.', 169, - '/', 24, - ':', 173, - ';', 164, - '<', 197, - '=', 179, - '>', 202, - '[', 163, - ']', 165, - '^', 189, - 'b', 311, - 'c', 316, - 'f', 304, - 'i', 262, - 'p', 325, - 'u', 264, - '{', 176, - '|', 188, - '}', 177, + '%', 203, + '&', 192, + '(', 166, + ')', 180, + '*', 201, + '+', 197, + ',', 179, + '-', 198, + '.', 174, + '/', 202, + ':', 178, + ';', 169, + '<', 204, + '=', 184, + '>', 209, + '[', 168, + ']', 170, + '^', 194, + 'b', 320, + 'c', 325, + 'f', 313, + 'i', 270, + 'p', 335, + 'u', 272, + '{', 181, + '|', 193, + '}', 182, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(4); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 5: ADVANCE_MAP( '!', 35, - '%', 196, - '&', 187, - '(', 161, - ')', 175, - '*', 195, - '+', 192, - ',', 174, - '-', 193, - '.', 169, - '/', 24, - ':', 173, - ';', 164, - '<', 197, - '=', 179, - '>', 202, - '[', 163, - ']', 165, - '^', 189, - 'b', 311, - 'c', 316, - 'f', 304, - 'i', 262, - 'p', 325, - 'u', 264, - '|', 188, - '}', 177, + '%', 203, + '&', 192, + '(', 166, + ')', 180, + '*', 201, + '+', 197, + ',', 179, + '-', 198, + '.', 174, + '/', 202, + ':', 178, + ';', 169, + '<', 204, + '=', 184, + '>', 209, + '[', 168, + ']', 170, + '^', 194, + 'b', 320, + 'c', 325, + 'f', 313, + 'i', 270, + 'p', 335, + 'u', 272, + '|', 193, + '}', 182, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(5); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 6: ADVANCE_MAP( '!', 35, - '%', 196, - '&', 187, - '(', 161, - '*', 195, - '+', 192, - '-', 193, - '.', 169, - '/', 24, + '%', 203, + '&', 192, + '(', 166, + '*', 201, + '+', 197, + '-', 198, + '.', 174, + '/', 202, ':', 34, - '<', 197, + '<', 204, '=', 36, - '>', 202, - '[', 163, - '^', 189, - 'a', 335, - 'b', 311, - 'c', 316, - 'e', 353, - 'f', 303, - 'i', 262, - 'p', 325, - 'u', 263, - '{', 176, - '|', 188, + '>', 209, + '[', 168, + '^', 194, + 'a', 345, + 'b', 320, + 'c', 325, + 'e', 363, + 'f', 312, + 'i', 270, + 'p', 335, + 'u', 271, + '{', 181, + '|', 193, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(6); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('d' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('d' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 7: ADVANCE_MAP( '!', 35, - '%', 196, - '&', 187, - '(', 161, - '*', 195, - '+', 192, - '-', 193, - '.', 169, - '/', 24, + '%', 203, + '&', 192, + '(', 166, + '*', 201, + '+', 197, + '-', 198, + '.', 174, + '/', 202, ':', 33, - '<', 197, + '<', 204, '=', 36, - '>', 202, - '[', 163, - '^', 189, - 'a', 335, - 'b', 311, - 'c', 316, - 'e', 353, - 'f', 303, - 'i', 262, - 'p', 325, - 'u', 263, - '{', 176, - '|', 188, + '>', 209, + '[', 168, + '^', 194, + 'a', 345, + 'b', 320, + 'c', 325, + 'e', 363, + 'f', 312, + 'i', 270, + 'p', 335, + 'u', 271, + '{', 181, + '|', 193, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(6); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('d' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('d' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 8: ADVANCE_MAP( - '!', 240, - '"', 246, - '(', 161, - ')', 162, - '-', 193, - '/', 24, - ';', 164, - '@', 237, - '[', 163, - ']', 165, - 'b', 311, - 'c', 316, - 'f', 272, - 'i', 262, - 'p', 325, - 't', 321, - 'u', 264, + '!', 247, + '"', 254, + '(', 166, + ')', 167, + '-', 200, + '/', 21, + ';', 169, + '@', 244, + '[', 168, + ']', 170, + 'b', 320, + 'c', 325, + 'f', 280, + 'i', 270, + 'p', 335, + 't', 330, + 'u', 272, + '~', 249, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(11); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(253); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(261); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 9: ADVANCE_MAP( - '!', 240, - '"', 246, - '(', 161, - ')', 175, - '-', 193, - '/', 24, - '@', 237, - '[', 163, - 'b', 311, - 'c', 316, - 'f', 272, - 'i', 262, - 'p', 325, - 't', 321, - 'u', 264, + '!', 247, + '"', 254, + '(', 166, + ')', 180, + '-', 200, + '/', 21, + '@', 244, + '[', 168, + 'b', 320, + 'c', 325, + 'f', 280, + 'i', 270, + 'p', 335, + 't', 330, + 'u', 272, + '~', 249, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(9); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(253); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(261); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 10: ADVANCE_MAP( - '!', 240, - '"', 246, - '(', 161, - '-', 193, - '/', 24, + '!', 247, + '"', 254, + '(', 166, + '-', 200, + '/', 21, ':', 34, - ';', 164, - '@', 237, - '[', 163, - 'a', 330, - 'b', 310, - 'c', 308, - 'e', 353, - 'f', 271, - 'i', 261, - 'l', 277, - 'p', 325, - 'r', 285, - 't', 320, - 'u', 263, - '{', 176, - '}', 177, + ';', 169, + '@', 244, + '[', 168, + 'a', 340, + 'b', 319, + 'c', 317, + 'e', 363, + 'f', 279, + 'i', 269, + 'l', 286, + 'p', 334, + 'r', 295, + 't', 329, + 'u', 271, + '{', 181, + '}', 182, + '~', 249, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(10); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(253); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(261); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('d' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('d' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 11: ADVANCE_MAP( - '!', 240, - '"', 246, - '(', 161, - '-', 193, - '/', 24, - ';', 164, - '@', 237, - '[', 163, - ']', 165, - 'b', 311, - 'c', 316, - 'f', 272, - 'i', 262, - 'p', 325, - 't', 321, - 'u', 264, + '!', 247, + '"', 254, + '(', 166, + '-', 200, + '/', 21, + ';', 169, + '@', 244, + '[', 168, + ']', 170, + 'b', 320, + 'c', 325, + 'f', 280, + 'i', 270, + 'p', 335, + 't', 330, + 'u', 272, + '~', 249, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(11); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(253); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(261); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 12: ADVANCE_MAP( - '!', 240, - '"', 246, - '(', 161, - '-', 193, - '/', 24, - '@', 237, - '[', 163, - 'a', 330, - 'b', 310, - 'c', 308, - 'e', 300, - 'f', 271, - 'i', 261, - 'l', 277, - 'p', 325, - 'r', 285, - 't', 320, - 'u', 263, - '{', 176, - '}', 177, + '!', 247, + '"', 254, + '(', 166, + '-', 200, + '/', 21, + '@', 244, + '[', 168, + 'a', 340, + 'b', 319, + 'c', 317, + 'e', 309, + 'f', 279, + 'i', 269, + 'l', 286, + 'p', 334, + 'r', 295, + 't', 329, + 'u', 271, + '{', 181, + '}', 182, + '~', 249, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(12); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(253); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(261); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('d' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('d' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 13: ADVANCE_MAP( - '!', 240, - '"', 246, - '(', 161, - '-', 193, - '/', 24, - '@', 237, - '[', 163, - 'a', 335, - 'b', 311, - 'c', 316, - 'e', 353, - 'f', 271, - 'i', 262, - 'p', 325, - 't', 321, - 'u', 263, - '{', 176, + '!', 247, + '"', 254, + '(', 166, + '-', 200, + '/', 21, + '@', 244, + '[', 168, + 'a', 345, + 'b', 320, + 'c', 325, + 'e', 363, + 'f', 279, + 'i', 270, + 'p', 335, + 't', 330, + 'u', 271, + '{', 181, + '~', 249, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(13); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(253); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(261); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('d' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('d' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 14: - if (lookahead == '"') ADVANCE(246); - if (lookahead == '/') ADVANCE(24); + if (lookahead == '"') ADVANCE(254); + if (lookahead == '/') ADVANCE(21); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(14); END_STATE(); case 15: ADVANCE_MAP( - '\'', 254, - '(', 161, - ')', 162, - ',', 174, - '-', 193, - '/', 24, - ':', 173, - ';', 164, - '=', 178, - 'c', 316, - 'p', 325, - 'u', 354, - '{', 176, - '}', 177, + '\'', 262, + '(', 166, + ')', 167, + ',', 179, + '-', 141, + '/', 21, + ':', 178, + ';', 169, + '=', 183, + 'c', 325, + 'p', 335, + 'u', 364, + '{', 181, + '}', 182, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(19); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(253); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(261); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 16: ADVANCE_MAP( - '\'', 254, - '(', 161, - ')', 175, - ',', 174, + '\'', 262, + '(', 166, + ')', 180, + ',', 179, '-', 37, - '/', 24, + '/', 21, ':', 33, - ';', 164, - '=', 178, - '[', 163, - ']', 165, - '_', 217, - 'b', 311, - 'c', 316, - 'f', 304, - 'i', 262, - 'm', 352, - 'p', 325, - 's', 287, - 'u', 264, + ';', 169, + '=', 183, + '[', 168, + ']', 170, + '_', 224, + 'b', 320, + 'c', 325, + 'f', 313, + 'i', 270, + 'm', 362, + 'p', 335, + 's', 296, + 'u', 272, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(18); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 17: ADVANCE_MAP( - '\'', 254, - ')', 175, - ',', 174, + '\'', 262, + ')', 180, + ',', 179, '-', 37, - '/', 24, + '/', 21, ':', 33, - ';', 164, - '=', 178, - ']', 165, - 'a', 115, - 'e', 137, + ';', 169, + '=', 183, + ']', 170, + 'a', 116, + 'e', 139, 'f', 89, - 'u', 80, - '{', 176, + 'u', 81, + '{', 181, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(20); END_STATE(); case 18: ADVANCE_MAP( - '(', 161, - ')', 175, - ',', 174, + '(', 166, + ')', 180, + ',', 179, '-', 37, - '/', 24, - ';', 164, - '=', 178, - '[', 163, - ']', 165, - '_', 217, - 'b', 311, - 'c', 316, - 'f', 304, - 'i', 262, - 'm', 352, - 'p', 325, - 's', 287, - 'u', 264, + '/', 21, + ';', 169, + '=', 183, + '[', 168, + ']', 170, + '_', 224, + 'b', 320, + 'c', 325, + 'f', 313, + 'i', 270, + 'm', 362, + 'p', 335, + 's', 296, + 'u', 272, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(18); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 19: ADVANCE_MAP( - '(', 161, - ',', 174, - '-', 193, - '/', 24, - ':', 173, - ';', 164, - '=', 178, - 'c', 316, - 'p', 325, - 'u', 354, - '{', 176, - '}', 177, + '(', 166, + ',', 179, + '-', 141, + '/', 21, + ':', 178, + ';', 169, + '=', 183, + 'c', 325, + 'p', 335, + 'u', 364, + '{', 181, + '}', 182, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(19); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(253); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(261); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 20: ADVANCE_MAP( - ')', 175, - ',', 174, + ')', 180, + ',', 179, '-', 37, - '/', 24, - ';', 164, - '=', 178, - ']', 165, - 'a', 115, - 'e', 137, + '/', 21, + ';', 169, + '=', 183, + ']', 170, + 'a', 116, + 'e', 139, 'f', 89, - 'u', 80, - '{', 176, + 'u', 81, + '{', 181, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(20); END_STATE(); case 21: - if (lookahead == '/') ADVANCE(24); - if (lookahead == 'c') ADVANCE(316); - if (lookahead == 'f') ADVANCE(304); - if (lookahead == 'p') ADVANCE(325); - if (lookahead == 'u') ADVANCE(354); - if (lookahead == '}') ADVANCE(177); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(21); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + if (lookahead == '/') ADVANCE(367); END_STATE(); case 22: - if (lookahead == '/') ADVANCE(24); - if (lookahead == 'c') ADVANCE(316); - if (lookahead == 'm') ADVANCE(352); - if (lookahead == 'p') ADVANCE(325); - if (lookahead == 'u') ADVANCE(354); + if (lookahead == '/') ADVANCE(21); + if (lookahead == 'c') ADVANCE(325); + if (lookahead == 'f') ADVANCE(313); + if (lookahead == 'p') ADVANCE(334); + if (lookahead == 'u') ADVANCE(364); + if (lookahead == '}') ADVANCE(182); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(22); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 23: - if (lookahead == '/') ADVANCE(24); - if (lookahead == 'c') ADVANCE(316); - if (lookahead == 'p') ADVANCE(325); - if (lookahead == 's') ADVANCE(287); - if (lookahead == 'u') ADVANCE(354); + if (lookahead == '/') ADVANCE(21); + if (lookahead == 'c') ADVANCE(325); + if (lookahead == 'm') ADVANCE(362); + if (lookahead == 'p') ADVANCE(335); + if (lookahead == 'u') ADVANCE(364); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(23); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 24: - if (lookahead == '/') ADVANCE(357); + if (lookahead == '/') ADVANCE(21); + if (lookahead == 'c') ADVANCE(325); + if (lookahead == 'p') ADVANCE(335); + if (lookahead == 's') ADVANCE(296); + if (lookahead == 'u') ADVANCE(364); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(24); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 25: if (lookahead == '1') ADVANCE(31); if (lookahead == '3') ADVANCE(27); if (lookahead == '6') ADVANCE(29); - if (lookahead == '8') ADVANCE(143); - if (lookahead == 'f') ADVANCE(226); + if (lookahead == '8') ADVANCE(148); + if (lookahead == 'f') ADVANCE(233); END_STATE(); case 26: if (lookahead == '1') ADVANCE(32); if (lookahead == '3') ADVANCE(28); if (lookahead == '6') ADVANCE(30); - if (lookahead == '8') ADVANCE(151); - if (lookahead == 'n') ADVANCE(62); - if (lookahead == 's') ADVANCE(49); - if (lookahead == 'z') ADVANCE(131); + if (lookahead == '8') ADVANCE(156); + if (lookahead == 'n') ADVANCE(63); + if (lookahead == 's') ADVANCE(50); + if (lookahead == 'z') ADVANCE(133); END_STATE(); case 27: - if (lookahead == '2') ADVANCE(147); + if (lookahead == '2') ADVANCE(152); END_STATE(); case 28: - if (lookahead == '2') ADVANCE(155); + if (lookahead == '2') ADVANCE(160); END_STATE(); case 29: - if (lookahead == '4') ADVANCE(149); + if (lookahead == '4') ADVANCE(154); END_STATE(); case 30: - if (lookahead == '4') ADVANCE(157); + if (lookahead == '4') ADVANCE(162); END_STATE(); case 31: - if (lookahead == '6') ADVANCE(145); + if (lookahead == '6') ADVANCE(150); END_STATE(); case 32: - if (lookahead == '6') ADVANCE(153); + if (lookahead == '6') ADVANCE(158); END_STATE(); case 33: - if (lookahead == ':') ADVANCE(170); + if (lookahead == ':') ADVANCE(175); END_STATE(); case 34: - if (lookahead == ':') ADVANCE(233); + if (lookahead == ':') ADVANCE(240); END_STATE(); case 35: - if (lookahead == '=') ADVANCE(200); + if (lookahead == '=') ADVANCE(207); END_STATE(); case 36: - if (lookahead == '=') ADVANCE(199); + if (lookahead == '=') ADVANCE(206); END_STATE(); case 37: - if (lookahead == '>') ADVANCE(168); + if (lookahead == '>') ADVANCE(173); END_STATE(); case 38: - if (lookahead == 'a') ADVANCE(74); - if (lookahead == 'n') ADVANCE(166); - if (lookahead == 'o') ADVANCE(103); - if (lookahead == 'r') ADVANCE(91); + if (lookahead == 'a') ADVANCE(75); + if (lookahead == 'n') ADVANCE(171); + if (lookahead == 'o') ADVANCE(104); + if (lookahead == 'r') ADVANCE(92); END_STATE(); case 39: - if (lookahead == 'a') ADVANCE(66); + if (lookahead == 'a') ADVANCE(67); END_STATE(); case 40: - if (lookahead == 'a') ADVANCE(67); + if (lookahead == 'a') ADVANCE(68); END_STATE(); case 41: - if (lookahead == 'a') ADVANCE(73); + if (lookahead == 'a') ADVANCE(74); END_STATE(); case 42: - if (lookahead == 'a') ADVANCE(71); + if (lookahead == 'a') ADVANCE(72); END_STATE(); case 43: - if (lookahead == 'c') ADVANCE(210); + if (lookahead == 'b') ADVANCE(146); END_STATE(); case 44: - if (lookahead == 'c') ADVANCE(123); + if (lookahead == 'c') ADVANCE(217); END_STATE(); case 45: - if (lookahead == 'c') ADVANCE(127); + if (lookahead == 'c') ADVANCE(124); END_STATE(); case 46: - if (lookahead == 'e') ADVANCE(119); - if (lookahead == 'o') ADVANCE(90); + if (lookahead == 'c') ADVANCE(128); END_STATE(); case 47: - if (lookahead == 'e') ADVANCE(39); + if (lookahead == 'e') ADVANCE(120); + if (lookahead == 'o') ADVANCE(91); END_STATE(); case 48: - if (lookahead == 'e') ADVANCE(43); + if (lookahead == 'e') ADVANCE(39); END_STATE(); case 49: - if (lookahead == 'e') ADVANCE(232); + if (lookahead == 'e') ADVANCE(44); END_STATE(); case 50: - if (lookahead == 'e') ADVANCE(228); + if (lookahead == 'e') ADVANCE(239); END_STATE(); case 51: - if (lookahead == 'e') ADVANCE(242); + if (lookahead == 'e') ADVANCE(235); END_STATE(); case 52: - if (lookahead == 'e') ADVANCE(205); + if (lookahead == 'e') ADVANCE(250); END_STATE(); case 53: - if (lookahead == 'e') ADVANCE(244); + if (lookahead == 'e') ADVANCE(212); END_STATE(); case 54: - if (lookahead == 'e') ADVANCE(218); + if (lookahead == 'e') ADVANCE(252); END_STATE(); case 55: - if (lookahead == 'e') ADVANCE(224); + if (lookahead == 'e') ADVANCE(225); END_STATE(); case 56: - if (lookahead == 'e') ADVANCE(68); - if (lookahead == 'p') ADVANCE(48); - if (lookahead == 't') ADVANCE(107); + if (lookahead == 'e') ADVANCE(231); END_STATE(); case 57: - if (lookahead == 'e') ADVANCE(126); + if (lookahead == 'e') ADVANCE(69); + if (lookahead == 'p') ADVANCE(49); + if (lookahead == 't') ADVANCE(108); END_STATE(); case 58: - if (lookahead == 'e') ADVANCE(108); - if (lookahead == 'u') ADVANCE(77); + if (lookahead == 'e') ADVANCE(109); + if (lookahead == 'u') ADVANCE(78); END_STATE(); case 59: - if (lookahead == 'e') ADVANCE(102); + if (lookahead == 'e') ADVANCE(127); END_STATE(); case 60: - if (lookahead == 'f') ADVANCE(214); + if (lookahead == 'e') ADVANCE(103); END_STATE(); case 61: - if (lookahead == 'f') ADVANCE(257); + if (lookahead == 'f') ADVANCE(221); END_STATE(); case 62: - if (lookahead == 'i') ADVANCE(100); + if (lookahead == 'f') ADVANCE(265); END_STATE(); case 63: - if (lookahead == 'i') ADVANCE(259); + if (lookahead == 'i') ADVANCE(101); END_STATE(); case 64: - if (lookahead == 'i') ADVANCE(114); + if (lookahead == 'i') ADVANCE(267); END_STATE(); case 65: - if (lookahead == 'i') ADVANCE(114); - if (lookahead == 't') ADVANCE(59); + if (lookahead == 'i') ADVANCE(115); END_STATE(); case 66: - if (lookahead == 'k') ADVANCE(182); + if (lookahead == 'i') ADVANCE(115); + if (lookahead == 't') ADVANCE(60); END_STATE(); case 67: - if (lookahead == 'k') ADVANCE(63); + if (lookahead == 'k') ADVANCE(187); END_STATE(); case 68: - if (lookahead == 'l') ADVANCE(60); + if (lookahead == 'k') ADVANCE(64); END_STATE(); case 69: - if (lookahead == 'l') ADVANCE(159); + if (lookahead == 'l') ADVANCE(61); END_STATE(); case 70: - if (lookahead == 'l') ADVANCE(220); + if (lookahead == 'l') ADVANCE(164); END_STATE(); case 71: - if (lookahead == 'l') ADVANCE(213); + if (lookahead == 'l') ADVANCE(227); END_STATE(); case 72: - if (lookahead == 'l') ADVANCE(113); - if (lookahead == 'n') ADVANCE(128); - if (lookahead == 'x') ADVANCE(65); + if (lookahead == 'l') ADVANCE(220); END_STATE(); case 73: - if (lookahead == 'l') ADVANCE(70); + if (lookahead == 'l') ADVANCE(114); + if (lookahead == 'n') ADVANCE(130); + if (lookahead == 'x') ADVANCE(66); END_STATE(); case 74: - if (lookahead == 'l') ADVANCE(117); + if (lookahead == 'l') ADVANCE(71); END_STATE(); case 75: - if (lookahead == 'm') ADVANCE(211); + if (lookahead == 'l') ADVANCE(118); END_STATE(); case 76: - if (lookahead == 'm') ADVANCE(234); + if (lookahead == 'm') ADVANCE(218); END_STATE(); case 77: - if (lookahead == 'm') ADVANCE(54); + if (lookahead == 'm') ADVANCE(241); END_STATE(); case 78: - if (lookahead == 'm') ADVANCE(40); + if (lookahead == 'm') ADVANCE(55); END_STATE(); case 79: - if (lookahead == 'n') ADVANCE(166); - if (lookahead == 'o') ADVANCE(103); + if (lookahead == 'm') ADVANCE(40); END_STATE(); case 80: - if (lookahead == 'n') ADVANCE(62); + if (lookahead == 'n') ADVANCE(171); + if (lookahead == 'o') ADVANCE(104); END_STATE(); case 81: - if (lookahead == 'n') ADVANCE(62); - if (lookahead == 's') ADVANCE(49); + if (lookahead == 'n') ADVANCE(63); END_STATE(); case 82: - if (lookahead == 'n') ADVANCE(235); + if (lookahead == 'n') ADVANCE(63); + if (lookahead == 's') ADVANCE(50); END_STATE(); case 83: - if (lookahead == 'n') ADVANCE(128); - if (lookahead == 'x') ADVANCE(65); + if (lookahead == 'n') ADVANCE(242); END_STATE(); case 84: - if (lookahead == 'n') ADVANCE(112); + if (lookahead == 'n') ADVANCE(130); + if (lookahead == 'x') ADVANCE(66); END_STATE(); case 85: - if (lookahead == 'n') ADVANCE(42); + if (lookahead == 'n') ADVANCE(113); END_STATE(); case 86: - if (lookahead == 'n') ADVANCE(118); + if (lookahead == 'n') ADVANCE(42); END_STATE(); case 87: - if (lookahead == 'o') ADVANCE(84); + if (lookahead == 'n') ADVANCE(119); END_STATE(); case 88: - if (lookahead == 'o') ADVANCE(93); - if (lookahead == 'r') ADVANCE(47); + if (lookahead == 'o') ADVANCE(85); END_STATE(); case 89: - if (lookahead == 'o') ADVANCE(103); + if (lookahead == 'o') ADVANCE(104); END_STATE(); case 90: - if (lookahead == 'o') ADVANCE(97); + if (lookahead == 'o') ADVANCE(94); + if (lookahead == 'r') ADVANCE(48); END_STATE(); case 91: - if (lookahead == 'o') ADVANCE(76); + if (lookahead == 'o') ADVANCE(98); END_STATE(); case 92: - if (lookahead == 'o') ADVANCE(61); + if (lookahead == 'o') ADVANCE(77); END_STATE(); case 93: - if (lookahead == 'o') ADVANCE(69); + if (lookahead == 'o') ADVANCE(62); END_STATE(); case 94: - if (lookahead == 'o') ADVANCE(92); + if (lookahead == 'o') ADVANCE(70); END_STATE(); case 95: - if (lookahead == 'o') ADVANCE(101); + if (lookahead == 'o') ADVANCE(93); END_STATE(); case 96: - if (lookahead == 'o') ADVANCE(86); + if (lookahead == 'o') ADVANCE(102); END_STATE(); case 97: - if (lookahead == 'p') ADVANCE(230); + if (lookahead == 'o') ADVANCE(87); END_STATE(); case 98: - if (lookahead == 'p') ADVANCE(48); - if (lookahead == 't') ADVANCE(107); + if (lookahead == 'p') ADVANCE(237); END_STATE(); case 99: - if (lookahead == 'p') ADVANCE(52); + if (lookahead == 'p') ADVANCE(49); + if (lookahead == 't') ADVANCE(108); END_STATE(); case 100: - if (lookahead == 'q') ADVANCE(135); + if (lookahead == 'p') ADVANCE(53); END_STATE(); case 101: - if (lookahead == 'r') ADVANCE(255); + if (lookahead == 'q') ADVANCE(137); END_STATE(); case 102: - if (lookahead == 'r') ADVANCE(85); + if (lookahead == 'r') ADVANCE(263); END_STATE(); case 103: - if (lookahead == 'r') ADVANCE(41); + if (lookahead == 'r') ADVANCE(86); END_STATE(); case 104: - if (lookahead == 'r') ADVANCE(134); - if (lookahead == 'y') ADVANCE(99); + if (lookahead == 'r') ADVANCE(41); END_STATE(); case 105: - if (lookahead == 'r') ADVANCE(82); + if (lookahead == 'r') ADVANCE(136); + if (lookahead == 'y') ADVANCE(100); END_STATE(); case 106: - if (lookahead == 'r') ADVANCE(94); + if (lookahead == 'r') ADVANCE(83); END_STATE(); case 107: - if (lookahead == 'r') ADVANCE(130); + if (lookahead == 'r') ADVANCE(95); + if (lookahead == 'u') ADVANCE(43); END_STATE(); case 108: - if (lookahead == 'r') ADVANCE(122); + if (lookahead == 'r') ADVANCE(132); END_STATE(); case 109: - if (lookahead == 's') ADVANCE(58); + if (lookahead == 'r') ADVANCE(123); END_STATE(); case 110: - if (lookahead == 's') ADVANCE(222); + if (lookahead == 's') ADVANCE(58); END_STATE(); case 111: - if (lookahead == 's') ADVANCE(109); + if (lookahead == 's') ADVANCE(229); END_STATE(); case 112: - if (lookahead == 's') ADVANCE(121); + if (lookahead == 's') ADVANCE(110); END_STATE(); case 113: - if (lookahead == 's') ADVANCE(50); + if (lookahead == 's') ADVANCE(122); END_STATE(); case 114: - if (lookahead == 's') ADVANCE(125); + if (lookahead == 's') ADVANCE(51); END_STATE(); case 115: - if (lookahead == 's') ADVANCE(116); + if (lookahead == 's') ADVANCE(126); END_STATE(); case 116: - if (lookahead == 's') ADVANCE(132); + if (lookahead == 's') ADVANCE(117); END_STATE(); case 117: - if (lookahead == 's') ADVANCE(53); + if (lookahead == 's') ADVANCE(134); END_STATE(); case 118: - if (lookahead == 's') ADVANCE(124); + if (lookahead == 's') ADVANCE(54); END_STATE(); case 119: - if (lookahead == 't') ADVANCE(203); + if (lookahead == 's') ADVANCE(125); END_STATE(); case 120: - if (lookahead == 't') ADVANCE(238); + if (lookahead == 't') ADVANCE(210); END_STATE(); case 121: - if (lookahead == 't') ADVANCE(209); + if (lookahead == 't') ADVANCE(245); END_STATE(); case 122: - if (lookahead == 't') ADVANCE(180); + if (lookahead == 't') ADVANCE(216); END_STATE(); case 123: - if (lookahead == 't') ADVANCE(212); + if (lookahead == 't') ADVANCE(185); END_STATE(); case 124: - if (lookahead == 't') ADVANCE(207); + if (lookahead == 't') ADVANCE(219); END_STATE(); case 125: - if (lookahead == 't') ADVANCE(110); + if (lookahead == 't') ADVANCE(214); END_STATE(); case 126: - if (lookahead == 't') ADVANCE(133); + if (lookahead == 't') ADVANCE(111); END_STATE(); case 127: - if (lookahead == 't') ADVANCE(95); + if (lookahead == 't') ADVANCE(135); END_STATE(); case 128: - if (lookahead == 'u') ADVANCE(75); + if (lookahead == 't') ADVANCE(96); END_STATE(); case 129: - if (lookahead == 'u') ADVANCE(120); + if (lookahead == 'u') ADVANCE(43); END_STATE(); case 130: - if (lookahead == 'u') ADVANCE(44); + if (lookahead == 'u') ADVANCE(76); END_STATE(); case 131: - if (lookahead == 'u') ADVANCE(78); + if (lookahead == 'u') ADVANCE(121); END_STATE(); case 132: - if (lookahead == 'u') ADVANCE(77); + if (lookahead == 'u') ADVANCE(45); END_STATE(); case 133: - if (lookahead == 'u') ADVANCE(105); + if (lookahead == 'u') ADVANCE(79); END_STATE(); case 134: - if (lookahead == 'u') ADVANCE(51); + if (lookahead == 'u') ADVANCE(78); END_STATE(); case 135: - if (lookahead == 'u') ADVANCE(55); + if (lookahead == 'u') ADVANCE(106); END_STATE(); case 136: - if (lookahead == 'u') ADVANCE(45); + if (lookahead == 'u') ADVANCE(52); END_STATE(); case 137: - if (lookahead == 'x') ADVANCE(64); + if (lookahead == 'u') ADVANCE(56); END_STATE(); case 138: - if (lookahead == 'y') ADVANCE(99); + if (lookahead == 'u') ADVANCE(46); END_STATE(); case 139: - if (eof) ADVANCE(142); + if (lookahead == 'x') ADVANCE(65); + END_STATE(); + case 140: + if (lookahead == 'y') ADVANCE(100); + END_STATE(); + case 141: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(261); + END_STATE(); + case 142: + if (eof) ADVANCE(145); ADVANCE_MAP( - '!', 241, - '"', 246, - '%', 196, - '&', 187, - '(', 161, - ')', 175, - '*', 195, - '+', 192, - ',', 174, - '-', 194, - '.', 169, - '/', 24, - ':', 173, - ';', 164, - '<', 197, - '=', 179, - '>', 202, - '@', 237, - '[', 163, - ']', 165, - '^', 189, - '_', 216, - 'a', 111, - 'b', 88, - 'c', 87, - 'e', 72, + '!', 248, + '"', 254, + '%', 203, + '&', 192, + '(', 166, + ')', 180, + '*', 201, + '+', 197, + ',', 179, + '-', 199, + '.', 174, + '/', 202, + ':', 178, + ';', 169, + '<', 204, + '=', 184, + '>', 209, + '@', 244, + '[', 168, + ']', 170, + '^', 194, + '_', 223, + 'a', 112, + 'b', 90, + 'c', 88, + 'e', 73, 'f', 38, 'i', 25, - 'l', 46, - 'm', 129, - 'p', 106, - 'r', 57, - 's', 56, - 't', 104, + 'l', 47, + 'm', 131, + 'p', 107, + 'r', 59, + 's', 57, + 't', 105, 'u', 26, - '{', 176, - '|', 188, - '}', 177, + '{', 181, + '|', 193, + '}', 182, + '~', 249, ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(139); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(253); + lookahead == ' ') SKIP(142); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(261); END_STATE(); - case 140: - if (eof) ADVANCE(142); + case 143: + if (eof) ADVANCE(145); ADVANCE_MAP( '!', 35, - '%', 196, - '&', 187, - '\'', 254, - '(', 161, - ')', 175, - '*', 195, - '+', 192, - ',', 174, - '-', 193, - '.', 169, - '/', 24, - ':', 172, - ';', 164, - '<', 197, - '=', 179, - '>', 202, - '[', 163, - ']', 165, - '^', 189, - 'a', 115, - 'c', 96, - 'e', 83, - 'f', 79, - 's', 98, - 't', 138, - 'u', 81, - '{', 176, - '|', 188, - '}', 177, + '%', 203, + '&', 192, + '\'', 262, + '(', 166, + ')', 180, + '*', 201, + '+', 197, + ',', 179, + '-', 198, + '.', 174, + '/', 202, + ':', 177, + ';', 169, + '<', 204, + '=', 184, + '>', 209, + '[', 168, + ']', 170, + '^', 194, + 'a', 116, + 'c', 97, + 'e', 84, + 'f', 80, + 'p', 129, + 's', 99, + 't', 140, + 'u', 82, + '{', 181, + '|', 193, + '}', 182, ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(141); + lookahead == ' ') SKIP(144); END_STATE(); - case 141: - if (eof) ADVANCE(142); + case 144: + if (eof) ADVANCE(145); ADVANCE_MAP( '!', 35, - '%', 196, - '&', 187, - '(', 161, - ')', 175, - '*', 195, - '+', 192, - ',', 174, - '-', 193, - '.', 169, - '/', 24, - ':', 171, - ';', 164, - '<', 197, - '=', 179, - '>', 202, - '[', 163, - ']', 165, - '^', 189, - 'a', 115, - 'c', 96, - 'e', 83, - 'f', 79, - 's', 98, - 't', 138, - 'u', 81, - '{', 176, - '|', 188, - '}', 177, + '%', 203, + '&', 192, + '(', 166, + ')', 180, + '*', 201, + '+', 197, + ',', 179, + '-', 198, + '.', 174, + '/', 202, + ':', 176, + ';', 169, + '<', 204, + '=', 184, + '>', 209, + '[', 168, + ']', 170, + '^', 194, + 'a', 116, + 'c', 97, + 'e', 84, + 'f', 80, + 'p', 129, + 's', 99, + 't', 140, + 'u', 82, + '{', 181, + '|', 193, + '}', 182, ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(141); + lookahead == ' ') SKIP(144); END_STATE(); - case 142: + case 145: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); - case 143: + case 146: + ACCEPT_TOKEN(sym_visibility); + END_STATE(); + case 147: + ACCEPT_TOKEN(sym_visibility); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); + END_STATE(); + case 148: ACCEPT_TOKEN(sym_type_i8); END_STATE(); - case 144: + case 149: ACCEPT_TOKEN(sym_type_i8); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 145: + case 150: ACCEPT_TOKEN(sym_type_i16); END_STATE(); - case 146: + case 151: ACCEPT_TOKEN(sym_type_i16); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 147: + case 152: ACCEPT_TOKEN(sym_type_i32); END_STATE(); - case 148: + case 153: ACCEPT_TOKEN(sym_type_i32); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 149: + case 154: ACCEPT_TOKEN(sym_type_i64); END_STATE(); - case 150: + case 155: ACCEPT_TOKEN(sym_type_i64); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 151: + case 156: ACCEPT_TOKEN(sym_type_u8); END_STATE(); - case 152: + case 157: ACCEPT_TOKEN(sym_type_u8); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 153: + case 158: ACCEPT_TOKEN(sym_type_u16); END_STATE(); - case 154: + case 159: ACCEPT_TOKEN(sym_type_u16); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 155: + case 160: ACCEPT_TOKEN(sym_type_u32); END_STATE(); - case 156: + case 161: ACCEPT_TOKEN(sym_type_u32); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 157: + case 162: ACCEPT_TOKEN(sym_type_u64); END_STATE(); - case 158: + case 163: ACCEPT_TOKEN(sym_type_u64); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 159: + case 164: ACCEPT_TOKEN(sym_type_bool); END_STATE(); - case 160: + case 165: ACCEPT_TOKEN(sym_type_bool); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 161: + case 166: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); - case 162: + case 167: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); - case 163: + case 168: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); - case 164: + case 169: ACCEPT_TOKEN(anon_sym_SEMI); END_STATE(); - case 165: + case 170: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); - case 166: + case 171: ACCEPT_TOKEN(anon_sym_fn); END_STATE(); - case 167: + case 172: ACCEPT_TOKEN(anon_sym_fn); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 168: + case 173: ACCEPT_TOKEN(anon_sym_DASH_GT); END_STATE(); - case 169: + case 174: ACCEPT_TOKEN(anon_sym_DOT); END_STATE(); - case 170: + case 175: ACCEPT_TOKEN(anon_sym_COLON_COLON); END_STATE(); - case 171: + case 176: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); - case 172: + case 177: ACCEPT_TOKEN(anon_sym_COLON); - if (lookahead == ':') ADVANCE(170); + if (lookahead == ':') ADVANCE(175); END_STATE(); - case 173: + case 178: ACCEPT_TOKEN(anon_sym_COLON); - if (lookahead == ':') ADVANCE(233); + if (lookahead == ':') ADVANCE(240); END_STATE(); - case 174: + case 179: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 175: + case 180: ACCEPT_TOKEN(anon_sym_RPAREN2); END_STATE(); - case 176: + case 181: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 177: + case 182: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); - case 178: + case 183: ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); - case 179: + case 184: ACCEPT_TOKEN(anon_sym_EQ); - if (lookahead == '=') ADVANCE(199); + if (lookahead == '=') ADVANCE(206); END_STATE(); - case 180: + case 185: ACCEPT_TOKEN(anon_sym_assert); END_STATE(); - case 181: + case 186: ACCEPT_TOKEN(anon_sym_assert); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 182: + case 187: ACCEPT_TOKEN(anon_sym_break); END_STATE(); - case 183: + case 188: ACCEPT_TOKEN(anon_sym_break); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 184: + case 189: ACCEPT_TOKEN(anon_sym_STAR_STAR); END_STATE(); - case 185: + case 190: ACCEPT_TOKEN(anon_sym_AMP_AMP); END_STATE(); - case 186: + case 191: ACCEPT_TOKEN(anon_sym_PIPE_PIPE); END_STATE(); - case 187: + case 192: ACCEPT_TOKEN(anon_sym_AMP); - if (lookahead == '&') ADVANCE(185); + if (lookahead == '&') ADVANCE(190); END_STATE(); - case 188: + case 193: ACCEPT_TOKEN(anon_sym_PIPE); - if (lookahead == '|') ADVANCE(186); + if (lookahead == '|') ADVANCE(191); END_STATE(); - case 189: + case 194: ACCEPT_TOKEN(anon_sym_CARET); END_STATE(); - case 190: + case 195: ACCEPT_TOKEN(anon_sym_LT_LT); END_STATE(); - case 191: + case 196: ACCEPT_TOKEN(anon_sym_GT_GT); END_STATE(); - case 192: + case 197: ACCEPT_TOKEN(anon_sym_PLUS); END_STATE(); - case 193: + case 198: ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); - case 194: + case 199: ACCEPT_TOKEN(anon_sym_DASH); - if (lookahead == '>') ADVANCE(168); + if (lookahead == '>') ADVANCE(173); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(261); END_STATE(); - case 195: + case 200: + ACCEPT_TOKEN(anon_sym_DASH); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(261); + END_STATE(); + case 201: ACCEPT_TOKEN(anon_sym_STAR); - if (lookahead == '*') ADVANCE(184); + if (lookahead == '*') ADVANCE(189); END_STATE(); - case 196: + case 202: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '/') ADVANCE(367); + END_STATE(); + case 203: ACCEPT_TOKEN(anon_sym_PERCENT); END_STATE(); - case 197: + case 204: ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '<') ADVANCE(190); - if (lookahead == '=') ADVANCE(198); + if (lookahead == '<') ADVANCE(195); + if (lookahead == '=') ADVANCE(205); END_STATE(); - case 198: + case 205: ACCEPT_TOKEN(anon_sym_LT_EQ); END_STATE(); - case 199: + case 206: ACCEPT_TOKEN(anon_sym_EQ_EQ); END_STATE(); - case 200: + case 207: ACCEPT_TOKEN(anon_sym_BANG_EQ); END_STATE(); - case 201: + case 208: ACCEPT_TOKEN(anon_sym_GT_EQ); END_STATE(); - case 202: + case 209: ACCEPT_TOKEN(anon_sym_GT); - if (lookahead == '=') ADVANCE(201); - if (lookahead == '>') ADVANCE(191); + if (lookahead == '=') ADVANCE(208); + if (lookahead == '>') ADVANCE(196); END_STATE(); - case 203: + case 210: ACCEPT_TOKEN(anon_sym_let); END_STATE(); - case 204: + case 211: ACCEPT_TOKEN(anon_sym_let); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 205: + case 212: ACCEPT_TOKEN(anon_sym_type); END_STATE(); - case 206: + case 213: ACCEPT_TOKEN(anon_sym_type); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 207: + case 214: ACCEPT_TOKEN(anon_sym_const); END_STATE(); - case 208: + case 215: ACCEPT_TOKEN(anon_sym_const); - if (lookahead == 'r') ADVANCE(347); + if (lookahead == 'r') ADVANCE(357); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 209: + case 216: ACCEPT_TOKEN(anon_sym_const); - if (lookahead == 'r') ADVANCE(136); + if (lookahead == 'r') ADVANCE(138); END_STATE(); - case 210: + case 217: ACCEPT_TOKEN(anon_sym_spec); END_STATE(); - case 211: + case 218: ACCEPT_TOKEN(anon_sym_enum); END_STATE(); - case 212: + case 219: ACCEPT_TOKEN(anon_sym_struct); END_STATE(); - case 213: + case 220: ACCEPT_TOKEN(anon_sym_external); END_STATE(); - case 214: + case 221: ACCEPT_TOKEN(anon_sym_self); END_STATE(); - case 215: + case 222: ACCEPT_TOKEN(anon_sym_self); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 216: + case 223: ACCEPT_TOKEN(anon_sym__); END_STATE(); - case 217: + case 224: ACCEPT_TOKEN(anon_sym__); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 218: + case 225: ACCEPT_TOKEN(anon_sym_assume); END_STATE(); - case 219: + case 226: ACCEPT_TOKEN(anon_sym_assume); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 220: + case 227: ACCEPT_TOKEN(anon_sym_forall); END_STATE(); - case 221: + case 228: ACCEPT_TOKEN(anon_sym_forall); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 222: + case 229: ACCEPT_TOKEN(anon_sym_exists); END_STATE(); - case 223: + case 230: ACCEPT_TOKEN(anon_sym_exists); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 224: + case 231: ACCEPT_TOKEN(anon_sym_unique); END_STATE(); - case 225: + case 232: ACCEPT_TOKEN(anon_sym_unique); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 226: + case 233: ACCEPT_TOKEN(anon_sym_if); END_STATE(); - case 227: + case 234: ACCEPT_TOKEN(anon_sym_if); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 228: + case 235: ACCEPT_TOKEN(anon_sym_else); END_STATE(); - case 229: + case 236: ACCEPT_TOKEN(anon_sym_else); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 230: + case 237: ACCEPT_TOKEN(anon_sym_loop); END_STATE(); - case 231: + case 238: ACCEPT_TOKEN(anon_sym_loop); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 232: + case 239: ACCEPT_TOKEN(anon_sym_use); END_STATE(); - case 233: + case 240: ACCEPT_TOKEN(anon_sym_COLON_COLON2); END_STATE(); - case 234: + case 241: ACCEPT_TOKEN(anon_sym_from); END_STATE(); - case 235: + case 242: ACCEPT_TOKEN(anon_sym_return); END_STATE(); - case 236: + case 243: ACCEPT_TOKEN(anon_sym_return); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 237: + case 244: ACCEPT_TOKEN(sym_uzumaki_keyword); END_STATE(); - case 238: + case 245: ACCEPT_TOKEN(sym_mut_keyword); END_STATE(); - case 239: + case 246: ACCEPT_TOKEN(sym_mut_keyword); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 240: + case 247: ACCEPT_TOKEN(sym_unary_not); END_STATE(); - case 241: + case 248: ACCEPT_TOKEN(sym_unary_not); - if (lookahead == '=') ADVANCE(200); + if (lookahead == '=') ADVANCE(207); END_STATE(); - case 242: + case 249: + ACCEPT_TOKEN(sym_unary_bitnot); + END_STATE(); + case 250: ACCEPT_TOKEN(anon_sym_true); END_STATE(); - case 243: + case 251: ACCEPT_TOKEN(anon_sym_true); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 244: + case 252: ACCEPT_TOKEN(anon_sym_false); END_STATE(); - case 245: + case 253: ACCEPT_TOKEN(anon_sym_false); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - case 246: + case 254: ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); - case 247: + case 255: ACCEPT_TOKEN(sym__string_literal_content); - if (lookahead == '\r') ADVANCE(252); - if (lookahead == '/') ADVANCE(248); + if (lookahead == '\r') ADVANCE(260); + if (lookahead == '/') ADVANCE(256); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(249); + lookahead != '\\') ADVANCE(257); END_STATE(); - case 248: + case 256: ACCEPT_TOKEN(sym__string_literal_content); - if (lookahead == '\r') ADVANCE(252); + if (lookahead == '\r') ADVANCE(260); if (lookahead == '"' || - lookahead == '\\') ADVANCE(356); + lookahead == '\\') ADVANCE(366); if (lookahead != 0 && - lookahead != '\n') ADVANCE(248); + lookahead != '\n') ADVANCE(256); END_STATE(); - case 249: + case 257: ACCEPT_TOKEN(sym__string_literal_content); - if (lookahead == '\r') ADVANCE(252); + if (lookahead == '\r') ADVANCE(260); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(249); + lookahead != '\\') ADVANCE(257); END_STATE(); - case 250: + case 258: ACCEPT_TOKEN(sym__string_literal_content); - if (lookahead == '/') ADVANCE(251); + if (lookahead == '/') ADVANCE(259); if (lookahead == '\t' || (0x0b <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(250); + lookahead == ' ') ADVANCE(258); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && lookahead != '"' && - lookahead != '\\') ADVANCE(252); + lookahead != '\\') ADVANCE(260); END_STATE(); - case 251: + case 259: ACCEPT_TOKEN(sym__string_literal_content); - if (lookahead == '/') ADVANCE(247); + if (lookahead == '/') ADVANCE(255); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(252); + lookahead != '\\') ADVANCE(260); END_STATE(); - case 252: + case 260: ACCEPT_TOKEN(sym__string_literal_content); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(252); - END_STATE(); - case 253: - ACCEPT_TOKEN(aux_sym_number_literal_token1); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(253); - END_STATE(); - case 254: - ACCEPT_TOKEN(anon_sym_SQUOTE); - END_STATE(); - case 255: - ACCEPT_TOKEN(anon_sym_constructor); - END_STATE(); - case 256: - ACCEPT_TOKEN(anon_sym_constructor); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); - END_STATE(); - case 257: - ACCEPT_TOKEN(anon_sym_proof); - END_STATE(); - case 258: - ACCEPT_TOKEN(anon_sym_proof); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); - END_STATE(); - case 259: - ACCEPT_TOKEN(anon_sym_uzumaki); - END_STATE(); - case 260: - ACCEPT_TOKEN(anon_sym_uzumaki); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + lookahead != '\\') ADVANCE(260); END_STATE(); case 261: - ACCEPT_TOKEN(sym__identifier); - if (lookahead == '1') ADVANCE(269); - if (lookahead == '3') ADVANCE(265); - if (lookahead == '6') ADVANCE(267); - if (lookahead == '8') ADVANCE(144); - if (lookahead == 'f') ADVANCE(227); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ACCEPT_TOKEN(sym_number_literal); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(261); END_STATE(); case 262: - ACCEPT_TOKEN(sym__identifier); - if (lookahead == '1') ADVANCE(269); - if (lookahead == '3') ADVANCE(265); - if (lookahead == '6') ADVANCE(267); - if (lookahead == '8') ADVANCE(144); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ACCEPT_TOKEN(anon_sym_SQUOTE); END_STATE(); case 263: - ACCEPT_TOKEN(sym__identifier); - if (lookahead == '1') ADVANCE(270); - if (lookahead == '3') ADVANCE(266); - if (lookahead == '6') ADVANCE(268); - if (lookahead == '8') ADVANCE(152); - if (lookahead == 'n') ADVANCE(290); - if (lookahead == 'z') ADVANCE(346); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'y')) ADVANCE(355); + ACCEPT_TOKEN(anon_sym_constructor); END_STATE(); case 264: - ACCEPT_TOKEN(sym__identifier); - if (lookahead == '1') ADVANCE(270); - if (lookahead == '3') ADVANCE(266); - if (lookahead == '6') ADVANCE(268); - if (lookahead == '8') ADVANCE(152); - if (lookahead == 'z') ADVANCE(346); + ACCEPT_TOKEN(anon_sym_constructor); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'y')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 265: - ACCEPT_TOKEN(sym__identifier); - if (lookahead == '2') ADVANCE(148); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ACCEPT_TOKEN(anon_sym_proof); END_STATE(); case 266: - ACCEPT_TOKEN(sym__identifier); - if (lookahead == '2') ADVANCE(156); + ACCEPT_TOKEN(anon_sym_proof); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 267: - ACCEPT_TOKEN(sym__identifier); - if (lookahead == '4') ADVANCE(150); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ACCEPT_TOKEN(anon_sym_uzumaki); END_STATE(); case 268: - ACCEPT_TOKEN(sym__identifier); - if (lookahead == '4') ADVANCE(158); + ACCEPT_TOKEN(anon_sym_uzumaki); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 269: ACCEPT_TOKEN(sym__identifier); - if (lookahead == '6') ADVANCE(146); + if (lookahead == '1') ADVANCE(277); + if (lookahead == '3') ADVANCE(273); + if (lookahead == '6') ADVANCE(275); + if (lookahead == '8') ADVANCE(149); + if (lookahead == 'f') ADVANCE(234); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 270: ACCEPT_TOKEN(sym__identifier); - if (lookahead == '6') ADVANCE(154); + if (lookahead == '1') ADVANCE(277); + if (lookahead == '3') ADVANCE(273); + if (lookahead == '6') ADVANCE(275); + if (lookahead == '8') ADVANCE(149); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 271: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'a') ADVANCE(298); - if (lookahead == 'n') ADVANCE(167); - if (lookahead == 'o') ADVANCE(324); + if (lookahead == '1') ADVANCE(278); + if (lookahead == '3') ADVANCE(274); + if (lookahead == '6') ADVANCE(276); + if (lookahead == '8') ADVANCE(157); + if (lookahead == 'n') ADVANCE(299); + if (lookahead == 'z') ADVANCE(356); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'y')) ADVANCE(365); END_STATE(); case 272: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'a') ADVANCE(298); - if (lookahead == 'n') ADVANCE(167); + if (lookahead == '1') ADVANCE(278); + if (lookahead == '3') ADVANCE(274); + if (lookahead == '6') ADVANCE(276); + if (lookahead == '8') ADVANCE(157); + if (lookahead == 'z') ADVANCE(356); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'y')) ADVANCE(365); END_STATE(); case 273: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'a') ADVANCE(293); + if (lookahead == '2') ADVANCE(153); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 274: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'a') ADVANCE(294); + if (lookahead == '2') ADVANCE(161); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 275: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'a') ADVANCE(299); + if (lookahead == '4') ADVANCE(155); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 276: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'c') ADVANCE(344); + if (lookahead == '4') ADVANCE(163); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 277: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'e') ADVANCE(338); - if (lookahead == 'o') ADVANCE(313); + if (lookahead == '6') ADVANCE(151); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 278: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'e') ADVANCE(273); + if (lookahead == '6') ADVANCE(159); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 279: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'e') ADVANCE(243); + if (lookahead == 'a') ADVANCE(307); + if (lookahead == 'n') ADVANCE(172); + if (lookahead == 'o') ADVANCE(333); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 280: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'e') ADVANCE(206); + if (lookahead == 'a') ADVANCE(307); + if (lookahead == 'n') ADVANCE(172); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 281: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'e') ADVANCE(245); + if (lookahead == 'a') ADVANCE(302); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 282: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'e') ADVANCE(219); + if (lookahead == 'a') ADVANCE(303); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 283: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'e') ADVANCE(225); + if (lookahead == 'a') ADVANCE(308); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 284: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'e') ADVANCE(229); + if (lookahead == 'b') ADVANCE(147); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 285: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'e') ADVANCE(342); + if (lookahead == 'c') ADVANCE(354); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 286: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'e') ADVANCE(327); - if (lookahead == 'u') ADVANCE(301); + if (lookahead == 'e') ADVANCE(348); + if (lookahead == 'o') ADVANCE(322); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 287: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'e') ADVANCE(297); + if (lookahead == 'e') ADVANCE(281); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 288: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'f') ADVANCE(258); + if (lookahead == 'e') ADVANCE(251); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 289: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'f') ADVANCE(215); + if (lookahead == 'e') ADVANCE(213); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 290: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'i') ADVANCE(319); + if (lookahead == 'e') ADVANCE(253); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 291: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'i') ADVANCE(260); + if (lookahead == 'e') ADVANCE(226); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 292: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'i') ADVANCE(332); + if (lookahead == 'e') ADVANCE(232); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 293: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'k') ADVANCE(183); + if (lookahead == 'e') ADVANCE(236); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 294: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'k') ADVANCE(291); + if (lookahead == 'e') ADVANCE(337); + if (lookahead == 'u') ADVANCE(310); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 295: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'l') ADVANCE(160); + if (lookahead == 'e') ADVANCE(352); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 296: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'l') ADVANCE(221); + if (lookahead == 'e') ADVANCE(306); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 297: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'l') ADVANCE(289); + if (lookahead == 'f') ADVANCE(266); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 298: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'l') ADVANCE(333); + if (lookahead == 'f') ADVANCE(222); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 299: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'l') ADVANCE(296); + if (lookahead == 'i') ADVANCE(328); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 300: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'l') ADVANCE(337); - if (lookahead == 'x') ADVANCE(292); + if (lookahead == 'i') ADVANCE(268); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 301: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'm') ADVANCE(282); + if (lookahead == 'i') ADVANCE(342); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 302: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'm') ADVANCE(274); + if (lookahead == 'k') ADVANCE(188); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 303: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'n') ADVANCE(167); - if (lookahead == 'o') ADVANCE(324); + if (lookahead == 'k') ADVANCE(300); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 304: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'n') ADVANCE(167); + if (lookahead == 'l') ADVANCE(165); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 305: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'n') ADVANCE(236); + if (lookahead == 'l') ADVANCE(228); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 306: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'n') ADVANCE(331); + if (lookahead == 'l') ADVANCE(298); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 307: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'n') ADVANCE(336); + if (lookahead == 'l') ADVANCE(343); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 308: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'o') ADVANCE(306); + if (lookahead == 'l') ADVANCE(305); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 309: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'o') ADVANCE(288); + if (lookahead == 'l') ADVANCE(347); + if (lookahead == 'x') ADVANCE(301); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 310: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'o') ADVANCE(312); - if (lookahead == 'r') ADVANCE(278); + if (lookahead == 'm') ADVANCE(291); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 311: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'o') ADVANCE(312); + if (lookahead == 'm') ADVANCE(282); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 312: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'o') ADVANCE(295); + if (lookahead == 'n') ADVANCE(172); + if (lookahead == 'o') ADVANCE(333); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 313: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'o') ADVANCE(317); + if (lookahead == 'n') ADVANCE(172); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 314: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'o') ADVANCE(309); + if (lookahead == 'n') ADVANCE(243); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 315: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'o') ADVANCE(322); + if (lookahead == 'n') ADVANCE(341); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 316: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'o') ADVANCE(307); + if (lookahead == 'n') ADVANCE(346); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 317: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'p') ADVANCE(231); + if (lookahead == 'o') ADVANCE(315); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 318: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'p') ADVANCE(280); + if (lookahead == 'o') ADVANCE(297); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 319: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'q') ADVANCE(351); + if (lookahead == 'o') ADVANCE(321); + if (lookahead == 'r') ADVANCE(287); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 320: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'r') ADVANCE(349); - if (lookahead == 'y') ADVANCE(318); + if (lookahead == 'o') ADVANCE(321); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 321: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'r') ADVANCE(349); + if (lookahead == 'o') ADVANCE(304); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 322: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'r') ADVANCE(256); + if (lookahead == 'o') ADVANCE(326); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 323: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'r') ADVANCE(305); + if (lookahead == 'o') ADVANCE(331); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 324: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'r') ADVANCE(275); + if (lookahead == 'o') ADVANCE(318); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 325: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'r') ADVANCE(314); + if (lookahead == 'o') ADVANCE(316); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 326: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'r') ADVANCE(347); + if (lookahead == 'p') ADVANCE(238); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 327: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'r') ADVANCE(340); + if (lookahead == 'p') ADVANCE(289); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 328: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 's') ADVANCE(286); + if (lookahead == 'q') ADVANCE(361); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 329: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 's') ADVANCE(223); + if (lookahead == 'r') ADVANCE(359); + if (lookahead == 'y') ADVANCE(327); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 330: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 's') ADVANCE(328); + if (lookahead == 'r') ADVANCE(359); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 331: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 's') ADVANCE(339); + if (lookahead == 'r') ADVANCE(264); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 332: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 's') ADVANCE(343); + if (lookahead == 'r') ADVANCE(314); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 333: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 's') ADVANCE(281); + if (lookahead == 'r') ADVANCE(283); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 334: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 's') ADVANCE(348); + if (lookahead == 'r') ADVANCE(324); + if (lookahead == 'u') ADVANCE(284); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 335: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 's') ADVANCE(334); + if (lookahead == 'r') ADVANCE(324); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 336: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 's') ADVANCE(345); + if (lookahead == 'r') ADVANCE(357); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 337: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 's') ADVANCE(284); + if (lookahead == 'r') ADVANCE(350); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 338: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 't') ADVANCE(204); + if (lookahead == 's') ADVANCE(294); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 339: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 't') ADVANCE(208); + if (lookahead == 's') ADVANCE(230); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 340: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 't') ADVANCE(181); + if (lookahead == 's') ADVANCE(338); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 341: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 't') ADVANCE(239); + if (lookahead == 's') ADVANCE(349); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 342: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 't') ADVANCE(350); + if (lookahead == 's') ADVANCE(353); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 343: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 't') ADVANCE(329); + if (lookahead == 's') ADVANCE(290); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 344: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 't') ADVANCE(315); + if (lookahead == 's') ADVANCE(358); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 345: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 't') ADVANCE(326); + if (lookahead == 's') ADVANCE(344); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 346: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'u') ADVANCE(302); + if (lookahead == 's') ADVANCE(355); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 347: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'u') ADVANCE(276); + if (lookahead == 's') ADVANCE(293); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 348: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'u') ADVANCE(301); + if (lookahead == 't') ADVANCE(211); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 349: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'u') ADVANCE(279); + if (lookahead == 't') ADVANCE(215); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 350: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'u') ADVANCE(323); + if (lookahead == 't') ADVANCE(186); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 351: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'u') ADVANCE(283); + if (lookahead == 't') ADVANCE(246); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 352: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'u') ADVANCE(341); + if (lookahead == 't') ADVANCE(360); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 353: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'x') ADVANCE(292); + if (lookahead == 't') ADVANCE(339); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 354: ACCEPT_TOKEN(sym__identifier); - if (lookahead == 'z') ADVANCE(346); + if (lookahead == 't') ADVANCE(323); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'y')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 355: ACCEPT_TOKEN(sym__identifier); + if (lookahead == 't') ADVANCE(336); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(355); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 356: - ACCEPT_TOKEN(sym__docstring); - if (lookahead != 0 && - lookahead != '\n' && - lookahead != '\r') ADVANCE(356); + ACCEPT_TOKEN(sym__identifier); + if (lookahead == 'u') ADVANCE(311); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 357: - ACCEPT_TOKEN(sym__comment); - if (lookahead == '/') ADVANCE(356); - if (lookahead != 0 && - lookahead != '\n' && - lookahead != '\r') ADVANCE(358); + ACCEPT_TOKEN(sym__identifier); + if (lookahead == 'u') ADVANCE(285); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); case 358: - ACCEPT_TOKEN(sym__comment); - if (lookahead != 0 && - lookahead != '\n' && - lookahead != '\r') ADVANCE(358); + ACCEPT_TOKEN(sym__identifier); + if (lookahead == 'u') ADVANCE(310); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); END_STATE(); - default: - return false; - } -} - -static const TSLexerMode ts_lex_modes[STATE_COUNT] = { - [0] = {.lex_state = 0}, - [1] = {.lex_state = 140}, - [2] = {.lex_state = 10}, - [3] = {.lex_state = 10}, - [4] = {.lex_state = 10}, - [5] = {.lex_state = 10}, - [6] = {.lex_state = 10}, - [7] = {.lex_state = 10}, - [8] = {.lex_state = 10}, - [9] = {.lex_state = 10}, - [10] = {.lex_state = 10}, - [11] = {.lex_state = 13}, - [12] = {.lex_state = 2}, - [13] = {.lex_state = 2}, - [14] = {.lex_state = 7}, - [15] = {.lex_state = 2}, - [16] = {.lex_state = 2}, - [17] = {.lex_state = 7}, - [18] = {.lex_state = 7}, - [19] = {.lex_state = 2}, - [20] = {.lex_state = 2}, - [21] = {.lex_state = 8}, - [22] = {.lex_state = 8}, - [23] = {.lex_state = 8}, - [24] = {.lex_state = 9}, - [25] = {.lex_state = 8}, - [26] = {.lex_state = 8}, - [27] = {.lex_state = 8}, - [28] = {.lex_state = 8}, - [29] = {.lex_state = 8}, - [30] = {.lex_state = 8}, - [31] = {.lex_state = 8}, + case 359: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == 'u') ADVANCE(288); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); + END_STATE(); + case 360: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == 'u') ADVANCE(332); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); + END_STATE(); + case 361: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == 'u') ADVANCE(292); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); + END_STATE(); + case 362: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == 'u') ADVANCE(351); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); + END_STATE(); + case 363: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == 'x') ADVANCE(301); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); + END_STATE(); + case 364: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == 'z') ADVANCE(356); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'y')) ADVANCE(365); + END_STATE(); + case 365: + ACCEPT_TOKEN(sym__identifier); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(365); + END_STATE(); + case 366: + ACCEPT_TOKEN(sym__docstring); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '\r') ADVANCE(366); + END_STATE(); + case 367: + ACCEPT_TOKEN(sym__comment); + if (lookahead == '/') ADVANCE(366); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '\r') ADVANCE(368); + END_STATE(); + case 368: + ACCEPT_TOKEN(sym__comment); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '\r') ADVANCE(368); + END_STATE(); + default: + return false; + } +} + +static const TSLexerMode ts_lex_modes[STATE_COUNT] = { + [0] = {.lex_state = 0}, + [1] = {.lex_state = 143}, + [2] = {.lex_state = 10}, + [3] = {.lex_state = 10}, + [4] = {.lex_state = 10}, + [5] = {.lex_state = 10}, + [6] = {.lex_state = 10}, + [7] = {.lex_state = 10}, + [8] = {.lex_state = 10}, + [9] = {.lex_state = 10}, + [10] = {.lex_state = 10}, + [11] = {.lex_state = 13}, + [12] = {.lex_state = 2}, + [13] = {.lex_state = 2}, + [14] = {.lex_state = 2}, + [15] = {.lex_state = 2}, + [16] = {.lex_state = 2}, + [17] = {.lex_state = 7}, + [18] = {.lex_state = 7}, + [19] = {.lex_state = 7}, + [20] = {.lex_state = 7}, + [21] = {.lex_state = 7}, + [22] = {.lex_state = 2}, + [23] = {.lex_state = 2}, + [24] = {.lex_state = 2}, + [25] = {.lex_state = 7}, + [26] = {.lex_state = 7}, + [27] = {.lex_state = 7}, + [28] = {.lex_state = 8}, + [29] = {.lex_state = 8}, + [30] = {.lex_state = 9}, + [31] = {.lex_state = 8}, [32] = {.lex_state = 8}, [33] = {.lex_state = 8}, [34] = {.lex_state = 8}, @@ -4567,13 +4748,13 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [70] = {.lex_state = 8}, [71] = {.lex_state = 8}, [72] = {.lex_state = 8}, - [73] = {.lex_state = 8}, - [74] = {.lex_state = 8}, - [75] = {.lex_state = 8}, - [76] = {.lex_state = 2}, - [77] = {.lex_state = 3}, - [78] = {.lex_state = 7}, - [79] = {.lex_state = 6}, + [73] = {.lex_state = 2}, + [74] = {.lex_state = 2}, + [75] = {.lex_state = 3}, + [76] = {.lex_state = 7}, + [77] = {.lex_state = 7}, + [78] = {.lex_state = 6}, + [79] = {.lex_state = 12}, [80] = {.lex_state = 12}, [81] = {.lex_state = 12}, [82] = {.lex_state = 12}, @@ -4581,19 +4762,19 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [84] = {.lex_state = 12}, [85] = {.lex_state = 12}, [86] = {.lex_state = 12}, - [87] = {.lex_state = 12}, + [87] = {.lex_state = 2}, [88] = {.lex_state = 2}, [89] = {.lex_state = 12}, - [90] = {.lex_state = 12}, - [91] = {.lex_state = 10}, + [90] = {.lex_state = 2}, + [91] = {.lex_state = 12}, [92] = {.lex_state = 10}, [93] = {.lex_state = 10}, [94] = {.lex_state = 10}, [95] = {.lex_state = 10}, [96] = {.lex_state = 10}, [97] = {.lex_state = 10}, - [98] = {.lex_state = 3}, - [99] = {.lex_state = 10}, + [98] = {.lex_state = 10}, + [99] = {.lex_state = 3}, [100] = {.lex_state = 10}, [101] = {.lex_state = 10}, [102] = {.lex_state = 10}, @@ -4609,203 +4790,203 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [112] = {.lex_state = 10}, [113] = {.lex_state = 10}, [114] = {.lex_state = 10}, - [115] = {.lex_state = 6}, - [116] = {.lex_state = 16}, - [117] = {.lex_state = 7}, - [118] = {.lex_state = 140}, - [119] = {.lex_state = 140}, - [120] = {.lex_state = 3}, - [121] = {.lex_state = 140}, - [122] = {.lex_state = 16}, - [123] = {.lex_state = 140}, - [124] = {.lex_state = 140}, - [125] = {.lex_state = 3}, - [126] = {.lex_state = 2}, + [115] = {.lex_state = 10}, + [116] = {.lex_state = 10}, + [117] = {.lex_state = 10}, + [118] = {.lex_state = 6}, + [119] = {.lex_state = 143}, + [120] = {.lex_state = 16}, + [121] = {.lex_state = 7}, + [122] = {.lex_state = 7}, + [123] = {.lex_state = 7}, + [124] = {.lex_state = 3}, + [125] = {.lex_state = 16}, + [126] = {.lex_state = 143}, [127] = {.lex_state = 2}, - [128] = {.lex_state = 140}, - [129] = {.lex_state = 140}, - [130] = {.lex_state = 140}, - [131] = {.lex_state = 140}, - [132] = {.lex_state = 140}, - [133] = {.lex_state = 140}, - [134] = {.lex_state = 140}, - [135] = {.lex_state = 140}, - [136] = {.lex_state = 140}, - [137] = {.lex_state = 140}, - [138] = {.lex_state = 140}, - [139] = {.lex_state = 140}, - [140] = {.lex_state = 2}, + [128] = {.lex_state = 143}, + [129] = {.lex_state = 143}, + [130] = {.lex_state = 143}, + [131] = {.lex_state = 143}, + [132] = {.lex_state = 143}, + [133] = {.lex_state = 143}, + [134] = {.lex_state = 143}, + [135] = {.lex_state = 143}, + [136] = {.lex_state = 143}, + [137] = {.lex_state = 143}, + [138] = {.lex_state = 143}, + [139] = {.lex_state = 143}, + [140] = {.lex_state = 143}, [141] = {.lex_state = 2}, - [142] = {.lex_state = 2}, + [142] = {.lex_state = 143}, [143] = {.lex_state = 2}, - [144] = {.lex_state = 140}, + [144] = {.lex_state = 143}, [145] = {.lex_state = 2}, - [146] = {.lex_state = 140}, - [147] = {.lex_state = 140}, + [146] = {.lex_state = 2}, + [147] = {.lex_state = 143}, [148] = {.lex_state = 2}, - [149] = {.lex_state = 2}, + [149] = {.lex_state = 143}, [150] = {.lex_state = 2}, - [151] = {.lex_state = 140}, + [151] = {.lex_state = 2}, [152] = {.lex_state = 2}, [153] = {.lex_state = 2}, [154] = {.lex_state = 2}, - [155] = {.lex_state = 140}, - [156] = {.lex_state = 2}, + [155] = {.lex_state = 2}, + [156] = {.lex_state = 143}, [157] = {.lex_state = 2}, - [158] = {.lex_state = 2}, - [159] = {.lex_state = 2}, - [160] = {.lex_state = 2}, + [158] = {.lex_state = 143}, + [159] = {.lex_state = 143}, + [160] = {.lex_state = 143}, [161] = {.lex_state = 2}, [162] = {.lex_state = 2}, [163] = {.lex_state = 2}, - [164] = {.lex_state = 2}, - [165] = {.lex_state = 2}, + [164] = {.lex_state = 143}, + [165] = {.lex_state = 143}, [166] = {.lex_state = 2}, - [167] = {.lex_state = 140}, - [168] = {.lex_state = 140}, - [169] = {.lex_state = 140}, - [170] = {.lex_state = 140}, - [171] = {.lex_state = 140}, - [172] = {.lex_state = 140}, - [173] = {.lex_state = 140}, - [174] = {.lex_state = 140}, - [175] = {.lex_state = 140}, - [176] = {.lex_state = 140}, - [177] = {.lex_state = 140}, - [178] = {.lex_state = 140}, - [179] = {.lex_state = 140}, - [180] = {.lex_state = 140}, - [181] = {.lex_state = 140}, - [182] = {.lex_state = 140}, - [183] = {.lex_state = 140}, - [184] = {.lex_state = 140}, - [185] = {.lex_state = 140}, - [186] = {.lex_state = 140}, - [187] = {.lex_state = 140}, - [188] = {.lex_state = 140}, - [189] = {.lex_state = 140}, - [190] = {.lex_state = 140}, - [191] = {.lex_state = 140}, - [192] = {.lex_state = 140}, - [193] = {.lex_state = 140}, - [194] = {.lex_state = 140}, - [195] = {.lex_state = 140}, - [196] = {.lex_state = 140}, - [197] = {.lex_state = 140}, - [198] = {.lex_state = 140}, - [199] = {.lex_state = 140}, - [200] = {.lex_state = 140}, - [201] = {.lex_state = 140}, - [202] = {.lex_state = 140}, - [203] = {.lex_state = 140}, - [204] = {.lex_state = 140}, - [205] = {.lex_state = 140}, - [206] = {.lex_state = 140}, - [207] = {.lex_state = 140}, - [208] = {.lex_state = 140}, - [209] = {.lex_state = 140}, - [210] = {.lex_state = 140}, - [211] = {.lex_state = 140}, - [212] = {.lex_state = 140}, - [213] = {.lex_state = 140}, - [214] = {.lex_state = 140}, - [215] = {.lex_state = 140}, - [216] = {.lex_state = 140}, - [217] = {.lex_state = 140}, - [218] = {.lex_state = 140}, - [219] = {.lex_state = 140}, - [220] = {.lex_state = 140}, - [221] = {.lex_state = 140}, - [222] = {.lex_state = 140}, - [223] = {.lex_state = 140}, - [224] = {.lex_state = 140}, - [225] = {.lex_state = 140}, - [226] = {.lex_state = 140}, - [227] = {.lex_state = 140}, - [228] = {.lex_state = 140}, - [229] = {.lex_state = 140}, - [230] = {.lex_state = 140}, - [231] = {.lex_state = 140}, - [232] = {.lex_state = 140}, - [233] = {.lex_state = 140}, - [234] = {.lex_state = 140}, - [235] = {.lex_state = 140}, - [236] = {.lex_state = 140}, - [237] = {.lex_state = 140}, - [238] = {.lex_state = 140}, - [239] = {.lex_state = 140}, - [240] = {.lex_state = 140}, - [241] = {.lex_state = 140}, - [242] = {.lex_state = 140}, - [243] = {.lex_state = 140}, - [244] = {.lex_state = 140}, - [245] = {.lex_state = 140}, - [246] = {.lex_state = 140}, - [247] = {.lex_state = 140}, - [248] = {.lex_state = 15}, - [249] = {.lex_state = 15}, + [167] = {.lex_state = 2}, + [168] = {.lex_state = 2}, + [169] = {.lex_state = 143}, + [170] = {.lex_state = 143}, + [171] = {.lex_state = 2}, + [172] = {.lex_state = 2}, + [173] = {.lex_state = 2}, + [174] = {.lex_state = 2}, + [175] = {.lex_state = 2}, + [176] = {.lex_state = 2}, + [177] = {.lex_state = 2}, + [178] = {.lex_state = 2}, + [179] = {.lex_state = 2}, + [180] = {.lex_state = 2}, + [181] = {.lex_state = 143}, + [182] = {.lex_state = 143}, + [183] = {.lex_state = 143}, + [184] = {.lex_state = 143}, + [185] = {.lex_state = 143}, + [186] = {.lex_state = 143}, + [187] = {.lex_state = 143}, + [188] = {.lex_state = 143}, + [189] = {.lex_state = 143}, + [190] = {.lex_state = 143}, + [191] = {.lex_state = 143}, + [192] = {.lex_state = 143}, + [193] = {.lex_state = 143}, + [194] = {.lex_state = 143}, + [195] = {.lex_state = 143}, + [196] = {.lex_state = 143}, + [197] = {.lex_state = 143}, + [198] = {.lex_state = 143}, + [199] = {.lex_state = 143}, + [200] = {.lex_state = 143}, + [201] = {.lex_state = 143}, + [202] = {.lex_state = 8}, + [203] = {.lex_state = 143}, + [204] = {.lex_state = 143}, + [205] = {.lex_state = 143}, + [206] = {.lex_state = 143}, + [207] = {.lex_state = 143}, + [208] = {.lex_state = 143}, + [209] = {.lex_state = 143}, + [210] = {.lex_state = 143}, + [211] = {.lex_state = 143}, + [212] = {.lex_state = 143}, + [213] = {.lex_state = 143}, + [214] = {.lex_state = 143}, + [215] = {.lex_state = 143}, + [216] = {.lex_state = 143}, + [217] = {.lex_state = 143}, + [218] = {.lex_state = 143}, + [219] = {.lex_state = 143}, + [220] = {.lex_state = 143}, + [221] = {.lex_state = 143}, + [222] = {.lex_state = 143}, + [223] = {.lex_state = 143}, + [224] = {.lex_state = 143}, + [225] = {.lex_state = 143}, + [226] = {.lex_state = 143}, + [227] = {.lex_state = 143}, + [228] = {.lex_state = 143}, + [229] = {.lex_state = 143}, + [230] = {.lex_state = 143}, + [231] = {.lex_state = 143}, + [232] = {.lex_state = 143}, + [233] = {.lex_state = 143}, + [234] = {.lex_state = 143}, + [235] = {.lex_state = 143}, + [236] = {.lex_state = 143}, + [237] = {.lex_state = 143}, + [238] = {.lex_state = 143}, + [239] = {.lex_state = 15}, + [240] = {.lex_state = 17}, + [241] = {.lex_state = 17}, + [242] = {.lex_state = 17}, + [243] = {.lex_state = 0}, + [244] = {.lex_state = 143}, + [245] = {.lex_state = 15}, + [246] = {.lex_state = 143}, + [247] = {.lex_state = 22}, + [248] = {.lex_state = 17}, + [249] = {.lex_state = 143}, [250] = {.lex_state = 17}, [251] = {.lex_state = 17}, - [252] = {.lex_state = 17}, - [253] = {.lex_state = 17}, + [252] = {.lex_state = 0}, + [253] = {.lex_state = 22}, [254] = {.lex_state = 17}, - [255] = {.lex_state = 140}, + [255] = {.lex_state = 17}, [256] = {.lex_state = 17}, - [257] = {.lex_state = 140}, - [258] = {.lex_state = 140}, - [259] = {.lex_state = 15}, - [260] = {.lex_state = 0}, - [261] = {.lex_state = 140}, - [262] = {.lex_state = 0}, - [263] = {.lex_state = 17}, - [264] = {.lex_state = 140}, + [257] = {.lex_state = 17}, + [258] = {.lex_state = 17}, + [259] = {.lex_state = 22}, + [260] = {.lex_state = 15}, + [261] = {.lex_state = 143}, + [262] = {.lex_state = 143}, + [263] = {.lex_state = 22}, + [264] = {.lex_state = 22}, [265] = {.lex_state = 0}, - [266] = {.lex_state = 0}, - [267] = {.lex_state = 21}, - [268] = {.lex_state = 21}, - [269] = {.lex_state = 15}, - [270] = {.lex_state = 0}, + [266] = {.lex_state = 143}, + [267] = {.lex_state = 143}, + [268] = {.lex_state = 143}, + [269] = {.lex_state = 143}, + [270] = {.lex_state = 143}, [271] = {.lex_state = 0}, - [272] = {.lex_state = 21}, - [273] = {.lex_state = 140}, - [274] = {.lex_state = 140}, - [275] = {.lex_state = 140}, - [276] = {.lex_state = 140}, - [277] = {.lex_state = 140}, - [278] = {.lex_state = 140}, - [279] = {.lex_state = 140}, - [280] = {.lex_state = 140}, - [281] = {.lex_state = 140}, - [282] = {.lex_state = 140}, - [283] = {.lex_state = 140}, - [284] = {.lex_state = 140}, - [285] = {.lex_state = 140}, - [286] = {.lex_state = 140}, - [287] = {.lex_state = 140}, - [288] = {.lex_state = 140}, - [289] = {.lex_state = 140}, - [290] = {.lex_state = 140}, - [291] = {.lex_state = 140}, - [292] = {.lex_state = 140}, - [293] = {.lex_state = 140}, - [294] = {.lex_state = 140}, - [295] = {.lex_state = 15}, - [296] = {.lex_state = 140}, - [297] = {.lex_state = 140}, - [298] = {.lex_state = 140}, - [299] = {.lex_state = 15}, - [300] = {.lex_state = 140}, - [301] = {.lex_state = 140}, - [302] = {.lex_state = 140}, - [303] = {.lex_state = 15}, - [304] = {.lex_state = 15}, - [305] = {.lex_state = 15}, - [306] = {.lex_state = 15}, - [307] = {.lex_state = 15}, - [308] = {.lex_state = 15}, - [309] = {.lex_state = 15}, - [310] = {.lex_state = 15}, - [311] = {.lex_state = 15}, + [272] = {.lex_state = 143}, + [273] = {.lex_state = 143}, + [274] = {.lex_state = 143}, + [275] = {.lex_state = 143}, + [276] = {.lex_state = 143}, + [277] = {.lex_state = 143}, + [278] = {.lex_state = 143}, + [279] = {.lex_state = 143}, + [280] = {.lex_state = 143}, + [281] = {.lex_state = 0}, + [282] = {.lex_state = 0}, + [283] = {.lex_state = 143}, + [284] = {.lex_state = 143}, + [285] = {.lex_state = 143}, + [286] = {.lex_state = 143}, + [287] = {.lex_state = 0}, + [288] = {.lex_state = 15}, + [289] = {.lex_state = 0}, + [290] = {.lex_state = 143}, + [291] = {.lex_state = 143}, + [292] = {.lex_state = 0}, + [293] = {.lex_state = 143}, + [294] = {.lex_state = 143}, + [295] = {.lex_state = 143}, + [296] = {.lex_state = 143}, + [297] = {.lex_state = 143}, + [298] = {.lex_state = 0}, + [299] = {.lex_state = 143}, + [300] = {.lex_state = 143}, + [301] = {.lex_state = 143}, + [302] = {.lex_state = 143}, + [303] = {.lex_state = 143}, + [304] = {.lex_state = 143}, + [305] = {.lex_state = 143}, + [306] = {.lex_state = 143}, + [307] = {.lex_state = 143}, + [308] = {.lex_state = 143}, + [309] = {.lex_state = 143}, + [310] = {.lex_state = 143}, + [311] = {.lex_state = 143}, [312] = {.lex_state = 15}, [313] = {.lex_state = 15}, [314] = {.lex_state = 15}, @@ -4819,117 +5000,117 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [322] = {.lex_state = 15}, [323] = {.lex_state = 15}, [324] = {.lex_state = 15}, - [325] = {.lex_state = 22}, + [325] = {.lex_state = 15}, [326] = {.lex_state = 15}, - [327] = {.lex_state = 23}, + [327] = {.lex_state = 15}, [328] = {.lex_state = 15}, - [329] = {.lex_state = 17}, + [329] = {.lex_state = 15}, [330] = {.lex_state = 15}, - [331] = {.lex_state = 21}, - [332] = {.lex_state = 15}, - [333] = {.lex_state = 15}, - [334] = {.lex_state = 15}, + [331] = {.lex_state = 15}, + [332] = {.lex_state = 22}, + [333] = {.lex_state = 23}, + [334] = {.lex_state = 24}, [335] = {.lex_state = 15}, - [336] = {.lex_state = 21}, - [337] = {.lex_state = 15}, + [336] = {.lex_state = 22}, + [337] = {.lex_state = 143}, [338] = {.lex_state = 15}, - [339] = {.lex_state = 21}, - [340] = {.lex_state = 0}, - [341] = {.lex_state = 15}, - [342] = {.lex_state = 15}, - [343] = {.lex_state = 15}, - [344] = {.lex_state = 21}, - [345] = {.lex_state = 21}, - [346] = {.lex_state = 21}, - [347] = {.lex_state = 15}, - [348] = {.lex_state = 21}, - [349] = {.lex_state = 21}, - [350] = {.lex_state = 15}, - [351] = {.lex_state = 21}, - [352] = {.lex_state = 15}, - [353] = {.lex_state = 15}, - [354] = {.lex_state = 21}, - [355] = {.lex_state = 21}, + [339] = {.lex_state = 22}, + [340] = {.lex_state = 22}, + [341] = {.lex_state = 22}, + [342] = {.lex_state = 22}, + [343] = {.lex_state = 22}, + [344] = {.lex_state = 22}, + [345] = {.lex_state = 15}, + [346] = {.lex_state = 22}, + [347] = {.lex_state = 22}, + [348] = {.lex_state = 22}, + [349] = {.lex_state = 22}, + [350] = {.lex_state = 22}, + [351] = {.lex_state = 16}, + [352] = {.lex_state = 22}, + [353] = {.lex_state = 22}, + [354] = {.lex_state = 22}, + [355] = {.lex_state = 15}, [356] = {.lex_state = 15}, [357] = {.lex_state = 15}, [358] = {.lex_state = 15}, [359] = {.lex_state = 15}, - [360] = {.lex_state = 21}, - [361] = {.lex_state = 0}, - [362] = {.lex_state = 16}, + [360] = {.lex_state = 15}, + [361] = {.lex_state = 15}, + [362] = {.lex_state = 15}, [363] = {.lex_state = 15}, - [364] = {.lex_state = 0}, - [365] = {.lex_state = 0}, - [366] = {.lex_state = 0}, - [367] = {.lex_state = 140}, - [368] = {.lex_state = 0}, - [369] = {.lex_state = 140}, - [370] = {.lex_state = 0}, - [371] = {.lex_state = 10}, - [372] = {.lex_state = 0}, - [373] = {.lex_state = 140}, - [374] = {.lex_state = 0}, - [375] = {.lex_state = 16}, + [364] = {.lex_state = 15}, + [365] = {.lex_state = 15}, + [366] = {.lex_state = 15}, + [367] = {.lex_state = 15}, + [368] = {.lex_state = 15}, + [369] = {.lex_state = 15}, + [370] = {.lex_state = 15}, + [371] = {.lex_state = 15}, + [372] = {.lex_state = 15}, + [373] = {.lex_state = 15}, + [374] = {.lex_state = 15}, + [375] = {.lex_state = 15}, [376] = {.lex_state = 0}, - [377] = {.lex_state = 0}, - [378] = {.lex_state = 0}, - [379] = {.lex_state = 10}, - [380] = {.lex_state = 0}, - [381] = {.lex_state = 140}, - [382] = {.lex_state = 0}, - [383] = {.lex_state = 140}, - [384] = {.lex_state = 0}, - [385] = {.lex_state = 0}, - [386] = {.lex_state = 140}, + [377] = {.lex_state = 17}, + [378] = {.lex_state = 15}, + [379] = {.lex_state = 15}, + [380] = {.lex_state = 15}, + [381] = {.lex_state = 15}, + [382] = {.lex_state = 15}, + [383] = {.lex_state = 15}, + [384] = {.lex_state = 143}, + [385] = {.lex_state = 15}, + [386] = {.lex_state = 0}, [387] = {.lex_state = 0}, - [388] = {.lex_state = 140}, - [389] = {.lex_state = 0}, - [390] = {.lex_state = 10}, - [391] = {.lex_state = 0}, + [388] = {.lex_state = 0}, + [389] = {.lex_state = 143}, + [390] = {.lex_state = 0}, + [391] = {.lex_state = 10}, [392] = {.lex_state = 0}, - [393] = {.lex_state = 0}, + [393] = {.lex_state = 143}, [394] = {.lex_state = 0}, - [395] = {.lex_state = 0}, + [395] = {.lex_state = 143}, [396] = {.lex_state = 0}, [397] = {.lex_state = 0}, [398] = {.lex_state = 0}, - [399] = {.lex_state = 0}, - [400] = {.lex_state = 0}, - [401] = {.lex_state = 0}, + [399] = {.lex_state = 10}, + [400] = {.lex_state = 143}, + [401] = {.lex_state = 143}, [402] = {.lex_state = 0}, [403] = {.lex_state = 0}, [404] = {.lex_state = 0}, - [405] = {.lex_state = 140}, - [406] = {.lex_state = 10}, - [407] = {.lex_state = 16}, + [405] = {.lex_state = 0}, + [406] = {.lex_state = 0}, + [407] = {.lex_state = 0}, [408] = {.lex_state = 0}, [409] = {.lex_state = 0}, [410] = {.lex_state = 0}, - [411] = {.lex_state = 0}, - [412] = {.lex_state = 0}, - [413] = {.lex_state = 140}, - [414] = {.lex_state = 140}, + [411] = {.lex_state = 143}, + [412] = {.lex_state = 10}, + [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 = 1}, - [421] = {.lex_state = 140}, + [419] = {.lex_state = 143}, + [420] = {.lex_state = 0}, + [421] = {.lex_state = 143}, [422] = {.lex_state = 0}, - [423] = {.lex_state = 140}, + [423] = {.lex_state = 0}, [424] = {.lex_state = 0}, - [425] = {.lex_state = 16}, - [426] = {.lex_state = 140}, - [427] = {.lex_state = 0}, + [425] = {.lex_state = 0}, + [426] = {.lex_state = 0}, + [427] = {.lex_state = 143}, [428] = {.lex_state = 0}, - [429] = {.lex_state = 0}, + [429] = {.lex_state = 143}, [430] = {.lex_state = 0}, - [431] = {.lex_state = 0}, - [432] = {.lex_state = 0}, + [431] = {.lex_state = 143}, + [432] = {.lex_state = 16}, [433] = {.lex_state = 0}, [434] = {.lex_state = 0}, - [435] = {.lex_state = 0}, + [435] = {.lex_state = 1}, [436] = {.lex_state = 0}, [437] = {.lex_state = 0}, [438] = {.lex_state = 0}, @@ -4944,20 +5125,20 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [447] = {.lex_state = 0}, [448] = {.lex_state = 0}, [449] = {.lex_state = 0}, - [450] = {.lex_state = 0}, + [450] = {.lex_state = 143}, [451] = {.lex_state = 0}, [452] = {.lex_state = 0}, - [453] = {.lex_state = 0}, + [453] = {.lex_state = 143}, [454] = {.lex_state = 0}, - [455] = {.lex_state = 0}, + [455] = {.lex_state = 16}, [456] = {.lex_state = 0}, [457] = {.lex_state = 0}, [458] = {.lex_state = 0}, - [459] = {.lex_state = 0}, + [459] = {.lex_state = 10}, [460] = {.lex_state = 0}, [461] = {.lex_state = 0}, [462] = {.lex_state = 0}, - [463] = {.lex_state = 140}, + [463] = {.lex_state = 0}, [464] = {.lex_state = 0}, [465] = {.lex_state = 0}, [466] = {.lex_state = 0}, @@ -4975,11 +5156,49 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [478] = {.lex_state = 0}, [479] = {.lex_state = 0}, [480] = {.lex_state = 0}, + [481] = {.lex_state = 0}, + [482] = {.lex_state = 0}, + [483] = {.lex_state = 0}, + [484] = {.lex_state = 0}, + [485] = {.lex_state = 0}, + [486] = {.lex_state = 0}, + [487] = {.lex_state = 0}, + [488] = {.lex_state = 0}, + [489] = {.lex_state = 0}, + [490] = {.lex_state = 0}, + [491] = {.lex_state = 0}, + [492] = {.lex_state = 0}, + [493] = {.lex_state = 0}, + [494] = {.lex_state = 143}, + [495] = {.lex_state = 0}, + [496] = {.lex_state = 0}, + [497] = {.lex_state = 0}, + [498] = {.lex_state = 0}, + [499] = {.lex_state = 0}, + [500] = {.lex_state = 0}, + [501] = {.lex_state = 0}, + [502] = {.lex_state = 0}, + [503] = {.lex_state = 0}, + [504] = {.lex_state = 0}, + [505] = {.lex_state = 0}, + [506] = {.lex_state = 0}, + [507] = {.lex_state = 0}, + [508] = {.lex_state = 0}, + [509] = {.lex_state = 0}, + [510] = {.lex_state = 0}, + [511] = {.lex_state = 0}, + [512] = {.lex_state = 0}, + [513] = {.lex_state = 0}, + [514] = {.lex_state = 0}, + [515] = {.lex_state = 0}, + [516] = {.lex_state = 0}, + [517] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [STATE(0)] = { [ts_builtin_sym_end] = ACTIONS(1), + [sym_visibility] = ACTIONS(1), [sym_type_i8] = ACTIONS(1), [sym_type_i16] = ACTIONS(1), [sym_type_i32] = ACTIONS(1), @@ -5017,6 +5236,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_PLUS] = ACTIONS(1), [anon_sym_DASH] = ACTIONS(1), [anon_sym_STAR] = ACTIONS(1), + [anon_sym_SLASH] = ACTIONS(1), [anon_sym_PERCENT] = ACTIONS(1), [anon_sym_LT] = ACTIONS(1), [anon_sym_LT_EQ] = ACTIONS(1), @@ -5047,10 +5267,11 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_uzumaki_keyword] = ACTIONS(1), [sym_mut_keyword] = ACTIONS(1), [sym_unary_not] = ACTIONS(1), + [sym_unary_bitnot] = ACTIONS(1), [anon_sym_true] = ACTIONS(1), [anon_sym_false] = ACTIONS(1), [anon_sym_DQUOTE] = ACTIONS(1), - [aux_sym_number_literal_token1] = ACTIONS(1), + [sym_number_literal] = ACTIONS(1), [anon_sym_SQUOTE] = ACTIONS(1), [anon_sym_constructor] = ACTIONS(1), [anon_sym_proof] = ACTIONS(1), @@ -5059,800 +5280,819 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__comment] = ACTIONS(5), }, [STATE(1)] = { - [sym_source_file] = STATE(447), - [sym__definition] = STATE(232), - [sym_type_definition_statement] = STATE(232), - [sym_constant_definition] = STATE(232), - [sym_spec_definition] = STATE(232), - [sym_enum_definition] = STATE(232), - [sym_struct_definition] = STATE(232), - [sym_function_definition] = STATE(232), - [sym_external_function_definition] = STATE(232), - [sym_use_directive] = STATE(232), - [aux_sym_source_file_repeat1] = STATE(232), + [sym_source_file] = STATE(466), + [sym__definition] = STATE(226), + [sym_type_definition_statement] = STATE(226), + [sym_constant_definition] = STATE(226), + [sym_spec_definition] = STATE(226), + [sym_enum_definition] = STATE(226), + [sym_struct_definition] = STATE(226), + [sym_function_definition] = STATE(226), + [sym_external_function_definition] = STATE(226), + [sym_use_directive] = STATE(226), + [aux_sym_source_file_repeat1] = STATE(226), [ts_builtin_sym_end] = ACTIONS(7), - [anon_sym_fn] = ACTIONS(9), - [anon_sym_type] = ACTIONS(11), - [anon_sym_const] = ACTIONS(13), - [anon_sym_spec] = ACTIONS(15), - [anon_sym_enum] = ACTIONS(17), - [anon_sym_struct] = ACTIONS(19), - [anon_sym_external] = ACTIONS(21), - [anon_sym_use] = ACTIONS(23), + [sym_visibility] = ACTIONS(9), + [anon_sym_fn] = ACTIONS(11), + [anon_sym_type] = ACTIONS(13), + [anon_sym_const] = ACTIONS(15), + [anon_sym_spec] = ACTIONS(17), + [anon_sym_enum] = ACTIONS(19), + [anon_sym_struct] = ACTIONS(21), + [anon_sym_external] = ACTIONS(23), + [anon_sym_use] = ACTIONS(25), [sym__docstring] = ACTIONS(3), [sym__comment] = ACTIONS(5), }, [STATE(2)] = { - [sym__statement] = STATE(96), - [sym_type_fn] = STATE(464), - [sym__literal] = STATE(233), - [sym__expression] = STATE(233), - [sym__lval_expression] = STATE(200), - [sym__non_lval_expression] = STATE(233), - [sym__block] = STATE(96), - [sym_array_index_access_expression] = STATE(200), + [sym__statement] = STATE(95), + [sym_type_fn] = STATE(470), + [sym__literal] = STATE(230), + [sym__expression] = STATE(230), + [sym__lval_expression] = STATE(211), + [sym__non_lval_expression] = STATE(230), + [sym__block] = STATE(95), + [sym_array_index_access_expression] = STATE(211), [sym_member_access_expression] = STATE(183), - [sym__identifier_like_embedded_type] = STATE(464), - [sym_type_member_access_expression] = STATE(189), - [sym_function_call_expression] = STATE(200), - [sym_struct_expression] = STATE(233), - [sym_expression_statement] = STATE(96), - [sym_assign_statement] = STATE(96), - [sym_assert_statement] = STATE(96), - [sym_break_statement] = STATE(96), - [sym_parenthesized_expression] = STATE(189), - [sym_prefix_unary_expression] = STATE(233), - [sym_binary_expression] = STATE(233), - [sym_variable_definition_statement] = STATE(96), - [sym_type_definition_statement] = STATE(96), - [sym_constant_definition] = STATE(96), - [sym_block] = STATE(96), - [sym_assume_block] = STATE(96), - [sym_forall_block] = STATE(96), - [sym_exists_block] = STATE(96), - [sym_unique_block] = STATE(96), - [sym_if_statement] = STATE(96), - [sym_loop_statement] = STATE(96), - [sym_return_statement] = STATE(96), - [sym_bool_literal] = STATE(233), - [sym_string_literal] = STATE(233), - [sym_number_literal] = STATE(233), - [sym_unit_literal] = STATE(233), - [sym_array_literal] = STATE(233), - [sym__name] = STATE(387), - [sym_type_qualified_name] = STATE(387), - [sym__simple_name] = STATE(138), - [sym_qualified_name] = STATE(387), - [sym_generic_name] = STATE(138), - [sym__bracketed_generic_name] = STATE(464), - [sym__reserved_identifier] = STATE(76), + [sym__identifier_like_embedded_type] = STATE(470), + [sym_type_member_access_expression] = STATE(185), + [sym_function_call_expression] = STATE(211), + [sym_struct_expression] = STATE(230), + [sym_expression_statement] = STATE(95), + [sym_assign_statement] = STATE(95), + [sym_assert_statement] = STATE(95), + [sym_break_statement] = STATE(95), + [sym_parenthesized_expression] = STATE(185), + [sym_prefix_unary_expression] = STATE(230), + [sym_binary_expression] = STATE(230), + [sym_variable_definition_statement] = STATE(95), + [sym_type_definition_statement] = STATE(95), + [sym_constant_definition] = STATE(95), + [sym_block] = STATE(95), + [sym_assume_block] = STATE(95), + [sym_forall_block] = STATE(95), + [sym_exists_block] = STATE(95), + [sym_unique_block] = STATE(95), + [sym_if_statement] = STATE(95), + [sym_loop_statement] = STATE(95), + [sym_return_statement] = STATE(95), + [sym_unary_minus] = STATE(48), + [sym_bool_literal] = STATE(230), + [sym_string_literal] = STATE(230), + [sym_unit_literal] = STATE(230), + [sym_array_literal] = STATE(230), + [sym__name] = STATE(405), + [sym_type_qualified_name] = STATE(405), + [sym__simple_name] = STATE(136), + [sym_qualified_name] = STATE(405), + [sym_generic_name] = STATE(136), + [sym__bracketed_generic_name] = STATE(470), + [sym__reserved_identifier] = STATE(73), [sym_identifier] = STATE(13), - [aux_sym_block_repeat1] = STATE(5), - [sym_type_i8] = ACTIONS(25), - [sym_type_i16] = ACTIONS(25), - [sym_type_i32] = ACTIONS(25), - [sym_type_i64] = ACTIONS(25), - [sym_type_u8] = ACTIONS(25), - [sym_type_u16] = ACTIONS(25), - [sym_type_u32] = ACTIONS(25), - [sym_type_u64] = ACTIONS(25), - [sym_type_bool] = ACTIONS(25), - [anon_sym_LPAREN] = ACTIONS(27), - [anon_sym_LBRACK] = ACTIONS(29), - [anon_sym_fn] = ACTIONS(31), - [anon_sym_LBRACE] = ACTIONS(33), - [anon_sym_RBRACE] = ACTIONS(35), - [anon_sym_assert] = ACTIONS(37), - [anon_sym_break] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(41), - [anon_sym_let] = ACTIONS(43), - [anon_sym_type] = ACTIONS(45), - [anon_sym_const] = ACTIONS(47), - [anon_sym_assume] = ACTIONS(49), - [anon_sym_forall] = ACTIONS(51), - [anon_sym_exists] = ACTIONS(53), - [anon_sym_unique] = ACTIONS(55), - [anon_sym_if] = ACTIONS(57), - [anon_sym_loop] = ACTIONS(59), - [anon_sym_return] = ACTIONS(61), - [sym_uzumaki_keyword] = ACTIONS(63), - [sym_unary_not] = ACTIONS(65), - [anon_sym_true] = ACTIONS(67), - [anon_sym_false] = ACTIONS(67), - [anon_sym_DQUOTE] = ACTIONS(69), - [aux_sym_number_literal_token1] = ACTIONS(71), - [anon_sym_constructor] = ACTIONS(73), - [anon_sym_proof] = ACTIONS(73), - [anon_sym_uzumaki] = ACTIONS(73), - [sym__identifier] = ACTIONS(73), + [aux_sym_block_repeat1] = STATE(4), + [sym_visibility] = ACTIONS(27), + [sym_type_i8] = ACTIONS(29), + [sym_type_i16] = ACTIONS(29), + [sym_type_i32] = ACTIONS(29), + [sym_type_i64] = ACTIONS(29), + [sym_type_u8] = ACTIONS(29), + [sym_type_u16] = ACTIONS(29), + [sym_type_u32] = ACTIONS(29), + [sym_type_u64] = ACTIONS(29), + [sym_type_bool] = ACTIONS(29), + [anon_sym_LPAREN] = ACTIONS(31), + [anon_sym_LBRACK] = ACTIONS(33), + [anon_sym_fn] = ACTIONS(35), + [anon_sym_LBRACE] = ACTIONS(37), + [anon_sym_RBRACE] = ACTIONS(39), + [anon_sym_assert] = ACTIONS(41), + [anon_sym_break] = ACTIONS(43), + [anon_sym_DASH] = ACTIONS(45), + [anon_sym_let] = ACTIONS(47), + [anon_sym_type] = ACTIONS(49), + [anon_sym_const] = ACTIONS(51), + [anon_sym_assume] = ACTIONS(53), + [anon_sym_forall] = ACTIONS(55), + [anon_sym_exists] = ACTIONS(57), + [anon_sym_unique] = ACTIONS(59), + [anon_sym_if] = ACTIONS(61), + [anon_sym_loop] = ACTIONS(63), + [anon_sym_return] = ACTIONS(65), + [sym_uzumaki_keyword] = ACTIONS(67), + [sym_unary_not] = ACTIONS(69), + [sym_unary_bitnot] = ACTIONS(69), + [anon_sym_true] = ACTIONS(71), + [anon_sym_false] = ACTIONS(71), + [anon_sym_DQUOTE] = ACTIONS(73), + [sym_number_literal] = ACTIONS(67), + [anon_sym_constructor] = ACTIONS(75), + [anon_sym_proof] = ACTIONS(75), + [anon_sym_uzumaki] = ACTIONS(75), + [sym__identifier] = ACTIONS(75), [sym__docstring] = ACTIONS(3), [sym__comment] = ACTIONS(5), }, [STATE(3)] = { - [sym__statement] = STATE(96), - [sym_type_fn] = STATE(464), - [sym__literal] = STATE(233), - [sym__expression] = STATE(233), - [sym__lval_expression] = STATE(200), - [sym__non_lval_expression] = STATE(233), - [sym__block] = STATE(96), - [sym_array_index_access_expression] = STATE(200), + [sym__statement] = STATE(95), + [sym_type_fn] = STATE(470), + [sym__literal] = STATE(230), + [sym__expression] = STATE(230), + [sym__lval_expression] = STATE(211), + [sym__non_lval_expression] = STATE(230), + [sym__block] = STATE(95), + [sym_array_index_access_expression] = STATE(211), [sym_member_access_expression] = STATE(183), - [sym__identifier_like_embedded_type] = STATE(464), - [sym_type_member_access_expression] = STATE(189), - [sym_function_call_expression] = STATE(200), - [sym_struct_expression] = STATE(233), - [sym_expression_statement] = STATE(96), - [sym_assign_statement] = STATE(96), - [sym_assert_statement] = STATE(96), - [sym_break_statement] = STATE(96), - [sym_parenthesized_expression] = STATE(189), - [sym_prefix_unary_expression] = STATE(233), - [sym_binary_expression] = STATE(233), - [sym_variable_definition_statement] = STATE(96), - [sym_type_definition_statement] = STATE(96), - [sym_constant_definition] = STATE(96), - [sym_block] = STATE(96), - [sym_assume_block] = STATE(96), - [sym_forall_block] = STATE(96), - [sym_exists_block] = STATE(96), - [sym_unique_block] = STATE(96), - [sym_if_statement] = STATE(96), - [sym_loop_statement] = STATE(96), - [sym_return_statement] = STATE(96), - [sym_bool_literal] = STATE(233), - [sym_string_literal] = STATE(233), - [sym_number_literal] = STATE(233), - [sym_unit_literal] = STATE(233), - [sym_array_literal] = STATE(233), - [sym__name] = STATE(387), - [sym_type_qualified_name] = STATE(387), - [sym__simple_name] = STATE(138), - [sym_qualified_name] = STATE(387), - [sym_generic_name] = STATE(138), - [sym__bracketed_generic_name] = STATE(464), - [sym__reserved_identifier] = STATE(76), + [sym__identifier_like_embedded_type] = STATE(470), + [sym_type_member_access_expression] = STATE(185), + [sym_function_call_expression] = STATE(211), + [sym_struct_expression] = STATE(230), + [sym_expression_statement] = STATE(95), + [sym_assign_statement] = STATE(95), + [sym_assert_statement] = STATE(95), + [sym_break_statement] = STATE(95), + [sym_parenthesized_expression] = STATE(185), + [sym_prefix_unary_expression] = STATE(230), + [sym_binary_expression] = STATE(230), + [sym_variable_definition_statement] = STATE(95), + [sym_type_definition_statement] = STATE(95), + [sym_constant_definition] = STATE(95), + [sym_block] = STATE(95), + [sym_assume_block] = STATE(95), + [sym_forall_block] = STATE(95), + [sym_exists_block] = STATE(95), + [sym_unique_block] = STATE(95), + [sym_if_statement] = STATE(95), + [sym_loop_statement] = STATE(95), + [sym_return_statement] = STATE(95), + [sym_unary_minus] = STATE(48), + [sym_bool_literal] = STATE(230), + [sym_string_literal] = STATE(230), + [sym_unit_literal] = STATE(230), + [sym_array_literal] = STATE(230), + [sym__name] = STATE(405), + [sym_type_qualified_name] = STATE(405), + [sym__simple_name] = STATE(136), + [sym_qualified_name] = STATE(405), + [sym_generic_name] = STATE(136), + [sym__bracketed_generic_name] = STATE(470), + [sym__reserved_identifier] = STATE(73), [sym_identifier] = STATE(13), [aux_sym_block_repeat1] = STATE(4), - [sym_type_i8] = ACTIONS(25), - [sym_type_i16] = ACTIONS(25), - [sym_type_i32] = ACTIONS(25), - [sym_type_i64] = ACTIONS(25), - [sym_type_u8] = ACTIONS(25), - [sym_type_u16] = ACTIONS(25), - [sym_type_u32] = ACTIONS(25), - [sym_type_u64] = ACTIONS(25), - [sym_type_bool] = ACTIONS(25), - [anon_sym_LPAREN] = ACTIONS(27), - [anon_sym_LBRACK] = ACTIONS(29), - [anon_sym_fn] = ACTIONS(31), - [anon_sym_LBRACE] = ACTIONS(33), - [anon_sym_RBRACE] = ACTIONS(75), - [anon_sym_assert] = ACTIONS(37), - [anon_sym_break] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(41), - [anon_sym_let] = ACTIONS(43), - [anon_sym_type] = ACTIONS(45), - [anon_sym_const] = ACTIONS(47), - [anon_sym_assume] = ACTIONS(49), - [anon_sym_forall] = ACTIONS(51), - [anon_sym_exists] = ACTIONS(53), - [anon_sym_unique] = ACTIONS(55), - [anon_sym_if] = ACTIONS(57), - [anon_sym_loop] = ACTIONS(59), - [anon_sym_return] = ACTIONS(61), - [sym_uzumaki_keyword] = ACTIONS(63), - [sym_unary_not] = ACTIONS(65), - [anon_sym_true] = ACTIONS(67), - [anon_sym_false] = ACTIONS(67), - [anon_sym_DQUOTE] = ACTIONS(69), - [aux_sym_number_literal_token1] = ACTIONS(71), - [anon_sym_constructor] = ACTIONS(73), - [anon_sym_proof] = ACTIONS(73), - [anon_sym_uzumaki] = ACTIONS(73), - [sym__identifier] = ACTIONS(73), + [sym_visibility] = ACTIONS(27), + [sym_type_i8] = ACTIONS(29), + [sym_type_i16] = ACTIONS(29), + [sym_type_i32] = ACTIONS(29), + [sym_type_i64] = ACTIONS(29), + [sym_type_u8] = ACTIONS(29), + [sym_type_u16] = ACTIONS(29), + [sym_type_u32] = ACTIONS(29), + [sym_type_u64] = ACTIONS(29), + [sym_type_bool] = ACTIONS(29), + [anon_sym_LPAREN] = ACTIONS(31), + [anon_sym_LBRACK] = ACTIONS(33), + [anon_sym_fn] = ACTIONS(35), + [anon_sym_LBRACE] = ACTIONS(37), + [anon_sym_RBRACE] = ACTIONS(77), + [anon_sym_assert] = ACTIONS(41), + [anon_sym_break] = ACTIONS(43), + [anon_sym_DASH] = ACTIONS(45), + [anon_sym_let] = ACTIONS(47), + [anon_sym_type] = ACTIONS(49), + [anon_sym_const] = ACTIONS(51), + [anon_sym_assume] = ACTIONS(53), + [anon_sym_forall] = ACTIONS(55), + [anon_sym_exists] = ACTIONS(57), + [anon_sym_unique] = ACTIONS(59), + [anon_sym_if] = ACTIONS(61), + [anon_sym_loop] = ACTIONS(63), + [anon_sym_return] = ACTIONS(65), + [sym_uzumaki_keyword] = ACTIONS(67), + [sym_unary_not] = ACTIONS(69), + [sym_unary_bitnot] = ACTIONS(69), + [anon_sym_true] = ACTIONS(71), + [anon_sym_false] = ACTIONS(71), + [anon_sym_DQUOTE] = ACTIONS(73), + [sym_number_literal] = ACTIONS(67), + [anon_sym_constructor] = ACTIONS(75), + [anon_sym_proof] = ACTIONS(75), + [anon_sym_uzumaki] = ACTIONS(75), + [sym__identifier] = ACTIONS(75), [sym__docstring] = ACTIONS(3), [sym__comment] = ACTIONS(5), }, [STATE(4)] = { - [sym__statement] = STATE(96), - [sym_type_fn] = STATE(464), - [sym__literal] = STATE(233), - [sym__expression] = STATE(233), - [sym__lval_expression] = STATE(200), - [sym__non_lval_expression] = STATE(233), - [sym__block] = STATE(96), - [sym_array_index_access_expression] = STATE(200), + [sym__statement] = STATE(95), + [sym_type_fn] = STATE(470), + [sym__literal] = STATE(230), + [sym__expression] = STATE(230), + [sym__lval_expression] = STATE(211), + [sym__non_lval_expression] = STATE(230), + [sym__block] = STATE(95), + [sym_array_index_access_expression] = STATE(211), [sym_member_access_expression] = STATE(183), - [sym__identifier_like_embedded_type] = STATE(464), - [sym_type_member_access_expression] = STATE(189), - [sym_function_call_expression] = STATE(200), - [sym_struct_expression] = STATE(233), - [sym_expression_statement] = STATE(96), - [sym_assign_statement] = STATE(96), - [sym_assert_statement] = STATE(96), - [sym_break_statement] = STATE(96), - [sym_parenthesized_expression] = STATE(189), - [sym_prefix_unary_expression] = STATE(233), - [sym_binary_expression] = STATE(233), - [sym_variable_definition_statement] = STATE(96), - [sym_type_definition_statement] = STATE(96), - [sym_constant_definition] = STATE(96), - [sym_block] = STATE(96), - [sym_assume_block] = STATE(96), - [sym_forall_block] = STATE(96), - [sym_exists_block] = STATE(96), - [sym_unique_block] = STATE(96), - [sym_if_statement] = STATE(96), - [sym_loop_statement] = STATE(96), - [sym_return_statement] = STATE(96), - [sym_bool_literal] = STATE(233), - [sym_string_literal] = STATE(233), - [sym_number_literal] = STATE(233), - [sym_unit_literal] = STATE(233), - [sym_array_literal] = STATE(233), - [sym__name] = STATE(387), - [sym_type_qualified_name] = STATE(387), - [sym__simple_name] = STATE(138), - [sym_qualified_name] = STATE(387), - [sym_generic_name] = STATE(138), - [sym__bracketed_generic_name] = STATE(464), - [sym__reserved_identifier] = STATE(76), + [sym__identifier_like_embedded_type] = STATE(470), + [sym_type_member_access_expression] = STATE(185), + [sym_function_call_expression] = STATE(211), + [sym_struct_expression] = STATE(230), + [sym_expression_statement] = STATE(95), + [sym_assign_statement] = STATE(95), + [sym_assert_statement] = STATE(95), + [sym_break_statement] = STATE(95), + [sym_parenthesized_expression] = STATE(185), + [sym_prefix_unary_expression] = STATE(230), + [sym_binary_expression] = STATE(230), + [sym_variable_definition_statement] = STATE(95), + [sym_type_definition_statement] = STATE(95), + [sym_constant_definition] = STATE(95), + [sym_block] = STATE(95), + [sym_assume_block] = STATE(95), + [sym_forall_block] = STATE(95), + [sym_exists_block] = STATE(95), + [sym_unique_block] = STATE(95), + [sym_if_statement] = STATE(95), + [sym_loop_statement] = STATE(95), + [sym_return_statement] = STATE(95), + [sym_unary_minus] = STATE(48), + [sym_bool_literal] = STATE(230), + [sym_string_literal] = STATE(230), + [sym_unit_literal] = STATE(230), + [sym_array_literal] = STATE(230), + [sym__name] = STATE(405), + [sym_type_qualified_name] = STATE(405), + [sym__simple_name] = STATE(136), + [sym_qualified_name] = STATE(405), + [sym_generic_name] = STATE(136), + [sym__bracketed_generic_name] = STATE(470), + [sym__reserved_identifier] = STATE(73), [sym_identifier] = STATE(13), - [aux_sym_block_repeat1] = STATE(5), - [sym_type_i8] = ACTIONS(25), - [sym_type_i16] = ACTIONS(25), - [sym_type_i32] = ACTIONS(25), - [sym_type_i64] = ACTIONS(25), - [sym_type_u8] = ACTIONS(25), - [sym_type_u16] = ACTIONS(25), - [sym_type_u32] = ACTIONS(25), - [sym_type_u64] = ACTIONS(25), - [sym_type_bool] = ACTIONS(25), - [anon_sym_LPAREN] = ACTIONS(27), - [anon_sym_LBRACK] = ACTIONS(29), - [anon_sym_fn] = ACTIONS(31), - [anon_sym_LBRACE] = ACTIONS(33), - [anon_sym_RBRACE] = ACTIONS(77), - [anon_sym_assert] = ACTIONS(37), - [anon_sym_break] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(41), - [anon_sym_let] = ACTIONS(43), - [anon_sym_type] = ACTIONS(45), - [anon_sym_const] = ACTIONS(47), - [anon_sym_assume] = ACTIONS(49), - [anon_sym_forall] = ACTIONS(51), - [anon_sym_exists] = ACTIONS(53), - [anon_sym_unique] = ACTIONS(55), - [anon_sym_if] = ACTIONS(57), - [anon_sym_loop] = ACTIONS(59), - [anon_sym_return] = ACTIONS(61), - [sym_uzumaki_keyword] = ACTIONS(63), - [sym_unary_not] = ACTIONS(65), - [anon_sym_true] = ACTIONS(67), - [anon_sym_false] = ACTIONS(67), - [anon_sym_DQUOTE] = ACTIONS(69), - [aux_sym_number_literal_token1] = ACTIONS(71), - [anon_sym_constructor] = ACTIONS(73), - [anon_sym_proof] = ACTIONS(73), - [anon_sym_uzumaki] = ACTIONS(73), - [sym__identifier] = ACTIONS(73), + [aux_sym_block_repeat1] = STATE(4), + [sym_visibility] = ACTIONS(79), + [sym_type_i8] = ACTIONS(82), + [sym_type_i16] = ACTIONS(82), + [sym_type_i32] = ACTIONS(82), + [sym_type_i64] = ACTIONS(82), + [sym_type_u8] = ACTIONS(82), + [sym_type_u16] = ACTIONS(82), + [sym_type_u32] = ACTIONS(82), + [sym_type_u64] = ACTIONS(82), + [sym_type_bool] = ACTIONS(82), + [anon_sym_LPAREN] = ACTIONS(85), + [anon_sym_LBRACK] = ACTIONS(88), + [anon_sym_fn] = ACTIONS(91), + [anon_sym_LBRACE] = ACTIONS(94), + [anon_sym_RBRACE] = ACTIONS(97), + [anon_sym_assert] = ACTIONS(99), + [anon_sym_break] = ACTIONS(102), + [anon_sym_DASH] = ACTIONS(105), + [anon_sym_let] = ACTIONS(108), + [anon_sym_type] = ACTIONS(111), + [anon_sym_const] = ACTIONS(114), + [anon_sym_assume] = ACTIONS(117), + [anon_sym_forall] = ACTIONS(120), + [anon_sym_exists] = ACTIONS(123), + [anon_sym_unique] = ACTIONS(126), + [anon_sym_if] = ACTIONS(129), + [anon_sym_loop] = ACTIONS(132), + [anon_sym_return] = ACTIONS(135), + [sym_uzumaki_keyword] = ACTIONS(138), + [sym_unary_not] = ACTIONS(141), + [sym_unary_bitnot] = ACTIONS(141), + [anon_sym_true] = ACTIONS(144), + [anon_sym_false] = ACTIONS(144), + [anon_sym_DQUOTE] = ACTIONS(147), + [sym_number_literal] = ACTIONS(138), + [anon_sym_constructor] = ACTIONS(150), + [anon_sym_proof] = ACTIONS(150), + [anon_sym_uzumaki] = ACTIONS(150), + [sym__identifier] = ACTIONS(150), [sym__docstring] = ACTIONS(3), [sym__comment] = ACTIONS(5), }, [STATE(5)] = { - [sym__statement] = STATE(96), - [sym_type_fn] = STATE(464), - [sym__literal] = STATE(233), - [sym__expression] = STATE(233), - [sym__lval_expression] = STATE(200), - [sym__non_lval_expression] = STATE(233), - [sym__block] = STATE(96), - [sym_array_index_access_expression] = STATE(200), + [sym__statement] = STATE(95), + [sym_type_fn] = STATE(470), + [sym__literal] = STATE(230), + [sym__expression] = STATE(230), + [sym__lval_expression] = STATE(211), + [sym__non_lval_expression] = STATE(230), + [sym__block] = STATE(95), + [sym_array_index_access_expression] = STATE(211), [sym_member_access_expression] = STATE(183), - [sym__identifier_like_embedded_type] = STATE(464), - [sym_type_member_access_expression] = STATE(189), - [sym_function_call_expression] = STATE(200), - [sym_struct_expression] = STATE(233), - [sym_expression_statement] = STATE(96), - [sym_assign_statement] = STATE(96), - [sym_assert_statement] = STATE(96), - [sym_break_statement] = STATE(96), - [sym_parenthesized_expression] = STATE(189), - [sym_prefix_unary_expression] = STATE(233), - [sym_binary_expression] = STATE(233), - [sym_variable_definition_statement] = STATE(96), - [sym_type_definition_statement] = STATE(96), - [sym_constant_definition] = STATE(96), - [sym_block] = STATE(96), - [sym_assume_block] = STATE(96), - [sym_forall_block] = STATE(96), - [sym_exists_block] = STATE(96), - [sym_unique_block] = STATE(96), - [sym_if_statement] = STATE(96), - [sym_loop_statement] = STATE(96), - [sym_return_statement] = STATE(96), - [sym_bool_literal] = STATE(233), - [sym_string_literal] = STATE(233), - [sym_number_literal] = STATE(233), - [sym_unit_literal] = STATE(233), - [sym_array_literal] = STATE(233), - [sym__name] = STATE(387), - [sym_type_qualified_name] = STATE(387), - [sym__simple_name] = STATE(138), - [sym_qualified_name] = STATE(387), - [sym_generic_name] = STATE(138), - [sym__bracketed_generic_name] = STATE(464), - [sym__reserved_identifier] = STATE(76), + [sym__identifier_like_embedded_type] = STATE(470), + [sym_type_member_access_expression] = STATE(185), + [sym_function_call_expression] = STATE(211), + [sym_struct_expression] = STATE(230), + [sym_expression_statement] = STATE(95), + [sym_assign_statement] = STATE(95), + [sym_assert_statement] = STATE(95), + [sym_break_statement] = STATE(95), + [sym_parenthesized_expression] = STATE(185), + [sym_prefix_unary_expression] = STATE(230), + [sym_binary_expression] = STATE(230), + [sym_variable_definition_statement] = STATE(95), + [sym_type_definition_statement] = STATE(95), + [sym_constant_definition] = STATE(95), + [sym_block] = STATE(95), + [sym_assume_block] = STATE(95), + [sym_forall_block] = STATE(95), + [sym_exists_block] = STATE(95), + [sym_unique_block] = STATE(95), + [sym_if_statement] = STATE(95), + [sym_loop_statement] = STATE(95), + [sym_return_statement] = STATE(95), + [sym_unary_minus] = STATE(48), + [sym_bool_literal] = STATE(230), + [sym_string_literal] = STATE(230), + [sym_unit_literal] = STATE(230), + [sym_array_literal] = STATE(230), + [sym__name] = STATE(405), + [sym_type_qualified_name] = STATE(405), + [sym__simple_name] = STATE(136), + [sym_qualified_name] = STATE(405), + [sym_generic_name] = STATE(136), + [sym__bracketed_generic_name] = STATE(470), + [sym__reserved_identifier] = STATE(73), [sym_identifier] = STATE(13), - [aux_sym_block_repeat1] = STATE(5), - [sym_type_i8] = ACTIONS(79), - [sym_type_i16] = ACTIONS(79), - [sym_type_i32] = ACTIONS(79), - [sym_type_i64] = ACTIONS(79), - [sym_type_u8] = ACTIONS(79), - [sym_type_u16] = ACTIONS(79), - [sym_type_u32] = ACTIONS(79), - [sym_type_u64] = ACTIONS(79), - [sym_type_bool] = ACTIONS(79), - [anon_sym_LPAREN] = ACTIONS(82), - [anon_sym_LBRACK] = ACTIONS(85), - [anon_sym_fn] = ACTIONS(88), - [anon_sym_LBRACE] = ACTIONS(91), - [anon_sym_RBRACE] = ACTIONS(94), - [anon_sym_assert] = ACTIONS(96), - [anon_sym_break] = ACTIONS(99), - [anon_sym_DASH] = ACTIONS(102), - [anon_sym_let] = ACTIONS(105), - [anon_sym_type] = ACTIONS(108), - [anon_sym_const] = ACTIONS(111), - [anon_sym_assume] = ACTIONS(114), - [anon_sym_forall] = ACTIONS(117), - [anon_sym_exists] = ACTIONS(120), - [anon_sym_unique] = ACTIONS(123), - [anon_sym_if] = ACTIONS(126), - [anon_sym_loop] = ACTIONS(129), - [anon_sym_return] = ACTIONS(132), - [sym_uzumaki_keyword] = ACTIONS(135), - [sym_unary_not] = ACTIONS(138), - [anon_sym_true] = ACTIONS(141), - [anon_sym_false] = ACTIONS(141), - [anon_sym_DQUOTE] = ACTIONS(144), - [aux_sym_number_literal_token1] = ACTIONS(147), - [anon_sym_constructor] = ACTIONS(150), - [anon_sym_proof] = ACTIONS(150), - [anon_sym_uzumaki] = ACTIONS(150), - [sym__identifier] = ACTIONS(150), + [aux_sym_block_repeat1] = STATE(3), + [sym_visibility] = ACTIONS(27), + [sym_type_i8] = ACTIONS(29), + [sym_type_i16] = ACTIONS(29), + [sym_type_i32] = ACTIONS(29), + [sym_type_i64] = ACTIONS(29), + [sym_type_u8] = ACTIONS(29), + [sym_type_u16] = ACTIONS(29), + [sym_type_u32] = ACTIONS(29), + [sym_type_u64] = ACTIONS(29), + [sym_type_bool] = ACTIONS(29), + [anon_sym_LPAREN] = ACTIONS(31), + [anon_sym_LBRACK] = ACTIONS(33), + [anon_sym_fn] = ACTIONS(35), + [anon_sym_LBRACE] = ACTIONS(37), + [anon_sym_RBRACE] = ACTIONS(153), + [anon_sym_assert] = ACTIONS(41), + [anon_sym_break] = ACTIONS(43), + [anon_sym_DASH] = ACTIONS(45), + [anon_sym_let] = ACTIONS(47), + [anon_sym_type] = ACTIONS(49), + [anon_sym_const] = ACTIONS(51), + [anon_sym_assume] = ACTIONS(53), + [anon_sym_forall] = ACTIONS(55), + [anon_sym_exists] = ACTIONS(57), + [anon_sym_unique] = ACTIONS(59), + [anon_sym_if] = ACTIONS(61), + [anon_sym_loop] = ACTIONS(63), + [anon_sym_return] = ACTIONS(65), + [sym_uzumaki_keyword] = ACTIONS(67), + [sym_unary_not] = ACTIONS(69), + [sym_unary_bitnot] = ACTIONS(69), + [anon_sym_true] = ACTIONS(71), + [anon_sym_false] = ACTIONS(71), + [anon_sym_DQUOTE] = ACTIONS(73), + [sym_number_literal] = ACTIONS(67), + [anon_sym_constructor] = ACTIONS(75), + [anon_sym_proof] = ACTIONS(75), + [anon_sym_uzumaki] = ACTIONS(75), + [sym__identifier] = ACTIONS(75), [sym__docstring] = ACTIONS(3), [sym__comment] = ACTIONS(5), }, [STATE(6)] = { - [sym__statement] = STATE(96), - [sym_type_fn] = STATE(464), - [sym__literal] = STATE(233), - [sym__expression] = STATE(233), - [sym__lval_expression] = STATE(200), - [sym__non_lval_expression] = STATE(233), - [sym__block] = STATE(96), - [sym_array_index_access_expression] = STATE(200), + [sym__statement] = STATE(95), + [sym_type_fn] = STATE(470), + [sym__literal] = STATE(230), + [sym__expression] = STATE(230), + [sym__lval_expression] = STATE(211), + [sym__non_lval_expression] = STATE(230), + [sym__block] = STATE(95), + [sym_array_index_access_expression] = STATE(211), [sym_member_access_expression] = STATE(183), - [sym__identifier_like_embedded_type] = STATE(464), - [sym_type_member_access_expression] = STATE(189), - [sym_function_call_expression] = STATE(200), - [sym_struct_expression] = STATE(233), - [sym_expression_statement] = STATE(96), - [sym_assign_statement] = STATE(96), - [sym_assert_statement] = STATE(96), - [sym_break_statement] = STATE(96), - [sym_parenthesized_expression] = STATE(189), - [sym_prefix_unary_expression] = STATE(233), - [sym_binary_expression] = STATE(233), - [sym_variable_definition_statement] = STATE(96), - [sym_type_definition_statement] = STATE(96), - [sym_constant_definition] = STATE(96), - [sym_block] = STATE(96), - [sym_assume_block] = STATE(96), - [sym_forall_block] = STATE(96), - [sym_exists_block] = STATE(96), - [sym_unique_block] = STATE(96), - [sym_if_statement] = STATE(96), - [sym_loop_statement] = STATE(96), - [sym_return_statement] = STATE(96), - [sym_bool_literal] = STATE(233), - [sym_string_literal] = STATE(233), - [sym_number_literal] = STATE(233), - [sym_unit_literal] = STATE(233), - [sym_array_literal] = STATE(233), - [sym__name] = STATE(387), - [sym_type_qualified_name] = STATE(387), - [sym__simple_name] = STATE(138), - [sym_qualified_name] = STATE(387), - [sym_generic_name] = STATE(138), - [sym__bracketed_generic_name] = STATE(464), - [sym__reserved_identifier] = STATE(76), + [sym__identifier_like_embedded_type] = STATE(470), + [sym_type_member_access_expression] = STATE(185), + [sym_function_call_expression] = STATE(211), + [sym_struct_expression] = STATE(230), + [sym_expression_statement] = STATE(95), + [sym_assign_statement] = STATE(95), + [sym_assert_statement] = STATE(95), + [sym_break_statement] = STATE(95), + [sym_parenthesized_expression] = STATE(185), + [sym_prefix_unary_expression] = STATE(230), + [sym_binary_expression] = STATE(230), + [sym_variable_definition_statement] = STATE(95), + [sym_type_definition_statement] = STATE(95), + [sym_constant_definition] = STATE(95), + [sym_block] = STATE(95), + [sym_assume_block] = STATE(95), + [sym_forall_block] = STATE(95), + [sym_exists_block] = STATE(95), + [sym_unique_block] = STATE(95), + [sym_if_statement] = STATE(95), + [sym_loop_statement] = STATE(95), + [sym_return_statement] = STATE(95), + [sym_unary_minus] = STATE(48), + [sym_bool_literal] = STATE(230), + [sym_string_literal] = STATE(230), + [sym_unit_literal] = STATE(230), + [sym_array_literal] = STATE(230), + [sym__name] = STATE(405), + [sym_type_qualified_name] = STATE(405), + [sym__simple_name] = STATE(136), + [sym_qualified_name] = STATE(405), + [sym_generic_name] = STATE(136), + [sym__bracketed_generic_name] = STATE(470), + [sym__reserved_identifier] = STATE(73), [sym_identifier] = STATE(13), - [aux_sym_block_repeat1] = STATE(2), - [sym_type_i8] = ACTIONS(25), - [sym_type_i16] = ACTIONS(25), - [sym_type_i32] = ACTIONS(25), - [sym_type_i64] = ACTIONS(25), - [sym_type_u8] = ACTIONS(25), - [sym_type_u16] = ACTIONS(25), - [sym_type_u32] = ACTIONS(25), - [sym_type_u64] = ACTIONS(25), - [sym_type_bool] = ACTIONS(25), - [anon_sym_LPAREN] = ACTIONS(27), - [anon_sym_LBRACK] = ACTIONS(29), - [anon_sym_fn] = ACTIONS(31), - [anon_sym_LBRACE] = ACTIONS(33), - [anon_sym_RBRACE] = ACTIONS(153), - [anon_sym_assert] = ACTIONS(37), - [anon_sym_break] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(41), - [anon_sym_let] = ACTIONS(43), - [anon_sym_type] = ACTIONS(45), - [anon_sym_const] = ACTIONS(47), - [anon_sym_assume] = ACTIONS(49), - [anon_sym_forall] = ACTIONS(51), - [anon_sym_exists] = ACTIONS(53), - [anon_sym_unique] = ACTIONS(55), - [anon_sym_if] = ACTIONS(57), - [anon_sym_loop] = ACTIONS(59), - [anon_sym_return] = ACTIONS(61), - [sym_uzumaki_keyword] = ACTIONS(63), - [sym_unary_not] = ACTIONS(65), - [anon_sym_true] = ACTIONS(67), - [anon_sym_false] = ACTIONS(67), - [anon_sym_DQUOTE] = ACTIONS(69), - [aux_sym_number_literal_token1] = ACTIONS(71), - [anon_sym_constructor] = ACTIONS(73), - [anon_sym_proof] = ACTIONS(73), - [anon_sym_uzumaki] = ACTIONS(73), - [sym__identifier] = ACTIONS(73), + [aux_sym_block_repeat1] = STATE(4), + [sym_visibility] = ACTIONS(27), + [sym_type_i8] = ACTIONS(29), + [sym_type_i16] = ACTIONS(29), + [sym_type_i32] = ACTIONS(29), + [sym_type_i64] = ACTIONS(29), + [sym_type_u8] = ACTIONS(29), + [sym_type_u16] = ACTIONS(29), + [sym_type_u32] = ACTIONS(29), + [sym_type_u64] = ACTIONS(29), + [sym_type_bool] = ACTIONS(29), + [anon_sym_LPAREN] = ACTIONS(31), + [anon_sym_LBRACK] = ACTIONS(33), + [anon_sym_fn] = ACTIONS(35), + [anon_sym_LBRACE] = ACTIONS(37), + [anon_sym_RBRACE] = ACTIONS(155), + [anon_sym_assert] = ACTIONS(41), + [anon_sym_break] = ACTIONS(43), + [anon_sym_DASH] = ACTIONS(45), + [anon_sym_let] = ACTIONS(47), + [anon_sym_type] = ACTIONS(49), + [anon_sym_const] = ACTIONS(51), + [anon_sym_assume] = ACTIONS(53), + [anon_sym_forall] = ACTIONS(55), + [anon_sym_exists] = ACTIONS(57), + [anon_sym_unique] = ACTIONS(59), + [anon_sym_if] = ACTIONS(61), + [anon_sym_loop] = ACTIONS(63), + [anon_sym_return] = ACTIONS(65), + [sym_uzumaki_keyword] = ACTIONS(67), + [sym_unary_not] = ACTIONS(69), + [sym_unary_bitnot] = ACTIONS(69), + [anon_sym_true] = ACTIONS(71), + [anon_sym_false] = ACTIONS(71), + [anon_sym_DQUOTE] = ACTIONS(73), + [sym_number_literal] = ACTIONS(67), + [anon_sym_constructor] = ACTIONS(75), + [anon_sym_proof] = ACTIONS(75), + [anon_sym_uzumaki] = ACTIONS(75), + [sym__identifier] = ACTIONS(75), [sym__docstring] = ACTIONS(3), [sym__comment] = ACTIONS(5), }, [STATE(7)] = { - [sym__statement] = STATE(96), - [sym_type_fn] = STATE(464), - [sym__literal] = STATE(233), - [sym__expression] = STATE(233), - [sym__lval_expression] = STATE(200), - [sym__non_lval_expression] = STATE(233), - [sym__block] = STATE(96), - [sym_array_index_access_expression] = STATE(200), + [sym__statement] = STATE(95), + [sym_type_fn] = STATE(470), + [sym__literal] = STATE(230), + [sym__expression] = STATE(230), + [sym__lval_expression] = STATE(211), + [sym__non_lval_expression] = STATE(230), + [sym__block] = STATE(95), + [sym_array_index_access_expression] = STATE(211), [sym_member_access_expression] = STATE(183), - [sym__identifier_like_embedded_type] = STATE(464), - [sym_type_member_access_expression] = STATE(189), - [sym_function_call_expression] = STATE(200), - [sym_struct_expression] = STATE(233), - [sym_expression_statement] = STATE(96), - [sym_assign_statement] = STATE(96), - [sym_assert_statement] = STATE(96), - [sym_break_statement] = STATE(96), - [sym_parenthesized_expression] = STATE(189), - [sym_prefix_unary_expression] = STATE(233), - [sym_binary_expression] = STATE(233), - [sym_variable_definition_statement] = STATE(96), - [sym_type_definition_statement] = STATE(96), - [sym_constant_definition] = STATE(96), - [sym_block] = STATE(96), - [sym_assume_block] = STATE(96), - [sym_forall_block] = STATE(96), - [sym_exists_block] = STATE(96), - [sym_unique_block] = STATE(96), - [sym_if_statement] = STATE(96), - [sym_loop_statement] = STATE(96), - [sym_return_statement] = STATE(96), - [sym_bool_literal] = STATE(233), - [sym_string_literal] = STATE(233), - [sym_number_literal] = STATE(233), - [sym_unit_literal] = STATE(233), - [sym_array_literal] = STATE(233), - [sym__name] = STATE(387), - [sym_type_qualified_name] = STATE(387), - [sym__simple_name] = STATE(138), - [sym_qualified_name] = STATE(387), - [sym_generic_name] = STATE(138), - [sym__bracketed_generic_name] = STATE(464), - [sym__reserved_identifier] = STATE(76), + [sym__identifier_like_embedded_type] = STATE(470), + [sym_type_member_access_expression] = STATE(185), + [sym_function_call_expression] = STATE(211), + [sym_struct_expression] = STATE(230), + [sym_expression_statement] = STATE(95), + [sym_assign_statement] = STATE(95), + [sym_assert_statement] = STATE(95), + [sym_break_statement] = STATE(95), + [sym_parenthesized_expression] = STATE(185), + [sym_prefix_unary_expression] = STATE(230), + [sym_binary_expression] = STATE(230), + [sym_variable_definition_statement] = STATE(95), + [sym_type_definition_statement] = STATE(95), + [sym_constant_definition] = STATE(95), + [sym_block] = STATE(95), + [sym_assume_block] = STATE(95), + [sym_forall_block] = STATE(95), + [sym_exists_block] = STATE(95), + [sym_unique_block] = STATE(95), + [sym_if_statement] = STATE(95), + [sym_loop_statement] = STATE(95), + [sym_return_statement] = STATE(95), + [sym_unary_minus] = STATE(48), + [sym_bool_literal] = STATE(230), + [sym_string_literal] = STATE(230), + [sym_unit_literal] = STATE(230), + [sym_array_literal] = STATE(230), + [sym__name] = STATE(405), + [sym_type_qualified_name] = STATE(405), + [sym__simple_name] = STATE(136), + [sym_qualified_name] = STATE(405), + [sym_generic_name] = STATE(136), + [sym__bracketed_generic_name] = STATE(470), + [sym__reserved_identifier] = STATE(73), [sym_identifier] = STATE(13), - [aux_sym_block_repeat1] = STATE(5), - [sym_type_i8] = ACTIONS(25), - [sym_type_i16] = ACTIONS(25), - [sym_type_i32] = ACTIONS(25), - [sym_type_i64] = ACTIONS(25), - [sym_type_u8] = ACTIONS(25), - [sym_type_u16] = ACTIONS(25), - [sym_type_u32] = ACTIONS(25), - [sym_type_u64] = ACTIONS(25), - [sym_type_bool] = ACTIONS(25), - [anon_sym_LPAREN] = ACTIONS(27), - [anon_sym_LBRACK] = ACTIONS(29), - [anon_sym_fn] = ACTIONS(31), - [anon_sym_LBRACE] = ACTIONS(33), - [anon_sym_RBRACE] = ACTIONS(155), - [anon_sym_assert] = ACTIONS(37), - [anon_sym_break] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(41), - [anon_sym_let] = ACTIONS(43), - [anon_sym_type] = ACTIONS(45), - [anon_sym_const] = ACTIONS(47), - [anon_sym_assume] = ACTIONS(49), - [anon_sym_forall] = ACTIONS(51), - [anon_sym_exists] = ACTIONS(53), - [anon_sym_unique] = ACTIONS(55), - [anon_sym_if] = ACTIONS(57), - [anon_sym_loop] = ACTIONS(59), - [anon_sym_return] = ACTIONS(61), - [sym_uzumaki_keyword] = ACTIONS(63), - [sym_unary_not] = ACTIONS(65), - [anon_sym_true] = ACTIONS(67), - [anon_sym_false] = ACTIONS(67), - [anon_sym_DQUOTE] = ACTIONS(69), - [aux_sym_number_literal_token1] = ACTIONS(71), - [anon_sym_constructor] = ACTIONS(73), - [anon_sym_proof] = ACTIONS(73), - [anon_sym_uzumaki] = ACTIONS(73), - [sym__identifier] = ACTIONS(73), + [aux_sym_block_repeat1] = STATE(6), + [sym_visibility] = ACTIONS(27), + [sym_type_i8] = ACTIONS(29), + [sym_type_i16] = ACTIONS(29), + [sym_type_i32] = ACTIONS(29), + [sym_type_i64] = ACTIONS(29), + [sym_type_u8] = ACTIONS(29), + [sym_type_u16] = ACTIONS(29), + [sym_type_u32] = ACTIONS(29), + [sym_type_u64] = ACTIONS(29), + [sym_type_bool] = ACTIONS(29), + [anon_sym_LPAREN] = ACTIONS(31), + [anon_sym_LBRACK] = ACTIONS(33), + [anon_sym_fn] = ACTIONS(35), + [anon_sym_LBRACE] = ACTIONS(37), + [anon_sym_RBRACE] = ACTIONS(157), + [anon_sym_assert] = ACTIONS(41), + [anon_sym_break] = ACTIONS(43), + [anon_sym_DASH] = ACTIONS(45), + [anon_sym_let] = ACTIONS(47), + [anon_sym_type] = ACTIONS(49), + [anon_sym_const] = ACTIONS(51), + [anon_sym_assume] = ACTIONS(53), + [anon_sym_forall] = ACTIONS(55), + [anon_sym_exists] = ACTIONS(57), + [anon_sym_unique] = ACTIONS(59), + [anon_sym_if] = ACTIONS(61), + [anon_sym_loop] = ACTIONS(63), + [anon_sym_return] = ACTIONS(65), + [sym_uzumaki_keyword] = ACTIONS(67), + [sym_unary_not] = ACTIONS(69), + [sym_unary_bitnot] = ACTIONS(69), + [anon_sym_true] = ACTIONS(71), + [anon_sym_false] = ACTIONS(71), + [anon_sym_DQUOTE] = ACTIONS(73), + [sym_number_literal] = ACTIONS(67), + [anon_sym_constructor] = ACTIONS(75), + [anon_sym_proof] = ACTIONS(75), + [anon_sym_uzumaki] = ACTIONS(75), + [sym__identifier] = ACTIONS(75), [sym__docstring] = ACTIONS(3), [sym__comment] = ACTIONS(5), }, [STATE(8)] = { - [sym__statement] = STATE(96), - [sym_type_fn] = STATE(464), - [sym__literal] = STATE(233), - [sym__expression] = STATE(233), - [sym__lval_expression] = STATE(200), - [sym__non_lval_expression] = STATE(233), - [sym__block] = STATE(96), - [sym_array_index_access_expression] = STATE(200), + [sym__statement] = STATE(95), + [sym_type_fn] = STATE(470), + [sym__literal] = STATE(230), + [sym__expression] = STATE(230), + [sym__lval_expression] = STATE(211), + [sym__non_lval_expression] = STATE(230), + [sym__block] = STATE(95), + [sym_array_index_access_expression] = STATE(211), [sym_member_access_expression] = STATE(183), - [sym__identifier_like_embedded_type] = STATE(464), - [sym_type_member_access_expression] = STATE(189), - [sym_function_call_expression] = STATE(200), - [sym_struct_expression] = STATE(233), - [sym_expression_statement] = STATE(96), - [sym_assign_statement] = STATE(96), - [sym_assert_statement] = STATE(96), - [sym_break_statement] = STATE(96), - [sym_parenthesized_expression] = STATE(189), - [sym_prefix_unary_expression] = STATE(233), - [sym_binary_expression] = STATE(233), - [sym_variable_definition_statement] = STATE(96), - [sym_type_definition_statement] = STATE(96), - [sym_constant_definition] = STATE(96), - [sym_block] = STATE(96), - [sym_assume_block] = STATE(96), - [sym_forall_block] = STATE(96), - [sym_exists_block] = STATE(96), - [sym_unique_block] = STATE(96), - [sym_if_statement] = STATE(96), - [sym_loop_statement] = STATE(96), - [sym_return_statement] = STATE(96), - [sym_bool_literal] = STATE(233), - [sym_string_literal] = STATE(233), - [sym_number_literal] = STATE(233), - [sym_unit_literal] = STATE(233), - [sym_array_literal] = STATE(233), - [sym__name] = STATE(387), - [sym_type_qualified_name] = STATE(387), - [sym__simple_name] = STATE(138), - [sym_qualified_name] = STATE(387), - [sym_generic_name] = STATE(138), - [sym__bracketed_generic_name] = STATE(464), - [sym__reserved_identifier] = STATE(76), + [sym__identifier_like_embedded_type] = STATE(470), + [sym_type_member_access_expression] = STATE(185), + [sym_function_call_expression] = STATE(211), + [sym_struct_expression] = STATE(230), + [sym_expression_statement] = STATE(95), + [sym_assign_statement] = STATE(95), + [sym_assert_statement] = STATE(95), + [sym_break_statement] = STATE(95), + [sym_parenthesized_expression] = STATE(185), + [sym_prefix_unary_expression] = STATE(230), + [sym_binary_expression] = STATE(230), + [sym_variable_definition_statement] = STATE(95), + [sym_type_definition_statement] = STATE(95), + [sym_constant_definition] = STATE(95), + [sym_block] = STATE(95), + [sym_assume_block] = STATE(95), + [sym_forall_block] = STATE(95), + [sym_exists_block] = STATE(95), + [sym_unique_block] = STATE(95), + [sym_if_statement] = STATE(95), + [sym_loop_statement] = STATE(95), + [sym_return_statement] = STATE(95), + [sym_unary_minus] = STATE(48), + [sym_bool_literal] = STATE(230), + [sym_string_literal] = STATE(230), + [sym_unit_literal] = STATE(230), + [sym_array_literal] = STATE(230), + [sym__name] = STATE(405), + [sym_type_qualified_name] = STATE(405), + [sym__simple_name] = STATE(136), + [sym_qualified_name] = STATE(405), + [sym_generic_name] = STATE(136), + [sym__bracketed_generic_name] = STATE(470), + [sym__reserved_identifier] = STATE(73), [sym_identifier] = STATE(13), - [aux_sym_block_repeat1] = STATE(10), - [sym_type_i8] = ACTIONS(25), - [sym_type_i16] = ACTIONS(25), - [sym_type_i32] = ACTIONS(25), - [sym_type_i64] = ACTIONS(25), - [sym_type_u8] = ACTIONS(25), - [sym_type_u16] = ACTIONS(25), - [sym_type_u32] = ACTIONS(25), - [sym_type_u64] = ACTIONS(25), - [sym_type_bool] = ACTIONS(25), - [anon_sym_LPAREN] = ACTIONS(27), - [anon_sym_LBRACK] = ACTIONS(29), - [anon_sym_fn] = ACTIONS(31), - [anon_sym_LBRACE] = ACTIONS(33), - [anon_sym_RBRACE] = ACTIONS(157), - [anon_sym_assert] = ACTIONS(37), - [anon_sym_break] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(41), - [anon_sym_let] = ACTIONS(43), - [anon_sym_type] = ACTIONS(45), - [anon_sym_const] = ACTIONS(47), - [anon_sym_assume] = ACTIONS(49), - [anon_sym_forall] = ACTIONS(51), - [anon_sym_exists] = ACTIONS(53), - [anon_sym_unique] = ACTIONS(55), - [anon_sym_if] = ACTIONS(57), - [anon_sym_loop] = ACTIONS(59), - [anon_sym_return] = ACTIONS(61), - [sym_uzumaki_keyword] = ACTIONS(63), - [sym_unary_not] = ACTIONS(65), - [anon_sym_true] = ACTIONS(67), - [anon_sym_false] = ACTIONS(67), - [anon_sym_DQUOTE] = ACTIONS(69), - [aux_sym_number_literal_token1] = ACTIONS(71), - [anon_sym_constructor] = ACTIONS(73), - [anon_sym_proof] = ACTIONS(73), - [anon_sym_uzumaki] = ACTIONS(73), - [sym__identifier] = ACTIONS(73), + [aux_sym_block_repeat1] = STATE(9), + [sym_visibility] = ACTIONS(27), + [sym_type_i8] = ACTIONS(29), + [sym_type_i16] = ACTIONS(29), + [sym_type_i32] = ACTIONS(29), + [sym_type_i64] = ACTIONS(29), + [sym_type_u8] = ACTIONS(29), + [sym_type_u16] = ACTIONS(29), + [sym_type_u32] = ACTIONS(29), + [sym_type_u64] = ACTIONS(29), + [sym_type_bool] = ACTIONS(29), + [anon_sym_LPAREN] = ACTIONS(31), + [anon_sym_LBRACK] = ACTIONS(33), + [anon_sym_fn] = ACTIONS(35), + [anon_sym_LBRACE] = ACTIONS(37), + [anon_sym_RBRACE] = ACTIONS(159), + [anon_sym_assert] = ACTIONS(41), + [anon_sym_break] = ACTIONS(43), + [anon_sym_DASH] = ACTIONS(45), + [anon_sym_let] = ACTIONS(47), + [anon_sym_type] = ACTIONS(49), + [anon_sym_const] = ACTIONS(51), + [anon_sym_assume] = ACTIONS(53), + [anon_sym_forall] = ACTIONS(55), + [anon_sym_exists] = ACTIONS(57), + [anon_sym_unique] = ACTIONS(59), + [anon_sym_if] = ACTIONS(61), + [anon_sym_loop] = ACTIONS(63), + [anon_sym_return] = ACTIONS(65), + [sym_uzumaki_keyword] = ACTIONS(67), + [sym_unary_not] = ACTIONS(69), + [sym_unary_bitnot] = ACTIONS(69), + [anon_sym_true] = ACTIONS(71), + [anon_sym_false] = ACTIONS(71), + [anon_sym_DQUOTE] = ACTIONS(73), + [sym_number_literal] = ACTIONS(67), + [anon_sym_constructor] = ACTIONS(75), + [anon_sym_proof] = ACTIONS(75), + [anon_sym_uzumaki] = ACTIONS(75), + [sym__identifier] = ACTIONS(75), [sym__docstring] = ACTIONS(3), [sym__comment] = ACTIONS(5), }, [STATE(9)] = { - [sym__statement] = STATE(96), - [sym_type_fn] = STATE(464), - [sym__literal] = STATE(233), - [sym__expression] = STATE(233), - [sym__lval_expression] = STATE(200), - [sym__non_lval_expression] = STATE(233), - [sym__block] = STATE(96), - [sym_array_index_access_expression] = STATE(200), + [sym__statement] = STATE(95), + [sym_type_fn] = STATE(470), + [sym__literal] = STATE(230), + [sym__expression] = STATE(230), + [sym__lval_expression] = STATE(211), + [sym__non_lval_expression] = STATE(230), + [sym__block] = STATE(95), + [sym_array_index_access_expression] = STATE(211), [sym_member_access_expression] = STATE(183), - [sym__identifier_like_embedded_type] = STATE(464), - [sym_type_member_access_expression] = STATE(189), - [sym_function_call_expression] = STATE(200), - [sym_struct_expression] = STATE(233), - [sym_expression_statement] = STATE(96), - [sym_assign_statement] = STATE(96), - [sym_assert_statement] = STATE(96), - [sym_break_statement] = STATE(96), - [sym_parenthesized_expression] = STATE(189), - [sym_prefix_unary_expression] = STATE(233), - [sym_binary_expression] = STATE(233), - [sym_variable_definition_statement] = STATE(96), - [sym_type_definition_statement] = STATE(96), - [sym_constant_definition] = STATE(96), - [sym_block] = STATE(96), - [sym_assume_block] = STATE(96), - [sym_forall_block] = STATE(96), - [sym_exists_block] = STATE(96), - [sym_unique_block] = STATE(96), - [sym_if_statement] = STATE(96), - [sym_loop_statement] = STATE(96), - [sym_return_statement] = STATE(96), - [sym_bool_literal] = STATE(233), - [sym_string_literal] = STATE(233), - [sym_number_literal] = STATE(233), - [sym_unit_literal] = STATE(233), - [sym_array_literal] = STATE(233), - [sym__name] = STATE(387), - [sym_type_qualified_name] = STATE(387), - [sym__simple_name] = STATE(138), - [sym_qualified_name] = STATE(387), - [sym_generic_name] = STATE(138), - [sym__bracketed_generic_name] = STATE(464), - [sym__reserved_identifier] = STATE(76), + [sym__identifier_like_embedded_type] = STATE(470), + [sym_type_member_access_expression] = STATE(185), + [sym_function_call_expression] = STATE(211), + [sym_struct_expression] = STATE(230), + [sym_expression_statement] = STATE(95), + [sym_assign_statement] = STATE(95), + [sym_assert_statement] = STATE(95), + [sym_break_statement] = STATE(95), + [sym_parenthesized_expression] = STATE(185), + [sym_prefix_unary_expression] = STATE(230), + [sym_binary_expression] = STATE(230), + [sym_variable_definition_statement] = STATE(95), + [sym_type_definition_statement] = STATE(95), + [sym_constant_definition] = STATE(95), + [sym_block] = STATE(95), + [sym_assume_block] = STATE(95), + [sym_forall_block] = STATE(95), + [sym_exists_block] = STATE(95), + [sym_unique_block] = STATE(95), + [sym_if_statement] = STATE(95), + [sym_loop_statement] = STATE(95), + [sym_return_statement] = STATE(95), + [sym_unary_minus] = STATE(48), + [sym_bool_literal] = STATE(230), + [sym_string_literal] = STATE(230), + [sym_unit_literal] = STATE(230), + [sym_array_literal] = STATE(230), + [sym__name] = STATE(405), + [sym_type_qualified_name] = STATE(405), + [sym__simple_name] = STATE(136), + [sym_qualified_name] = STATE(405), + [sym_generic_name] = STATE(136), + [sym__bracketed_generic_name] = STATE(470), + [sym__reserved_identifier] = STATE(73), [sym_identifier] = STATE(13), - [aux_sym_block_repeat1] = STATE(7), - [sym_type_i8] = ACTIONS(25), - [sym_type_i16] = ACTIONS(25), - [sym_type_i32] = ACTIONS(25), - [sym_type_i64] = ACTIONS(25), - [sym_type_u8] = ACTIONS(25), - [sym_type_u16] = ACTIONS(25), - [sym_type_u32] = ACTIONS(25), - [sym_type_u64] = ACTIONS(25), - [sym_type_bool] = ACTIONS(25), - [anon_sym_LPAREN] = ACTIONS(27), - [anon_sym_LBRACK] = ACTIONS(29), - [anon_sym_fn] = ACTIONS(31), - [anon_sym_LBRACE] = ACTIONS(33), - [anon_sym_RBRACE] = ACTIONS(159), - [anon_sym_assert] = ACTIONS(37), - [anon_sym_break] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(41), - [anon_sym_let] = ACTIONS(43), - [anon_sym_type] = ACTIONS(45), - [anon_sym_const] = ACTIONS(47), - [anon_sym_assume] = ACTIONS(49), - [anon_sym_forall] = ACTIONS(51), - [anon_sym_exists] = ACTIONS(53), - [anon_sym_unique] = ACTIONS(55), - [anon_sym_if] = ACTIONS(57), - [anon_sym_loop] = ACTIONS(59), - [anon_sym_return] = ACTIONS(61), - [sym_uzumaki_keyword] = ACTIONS(63), - [sym_unary_not] = ACTIONS(65), - [anon_sym_true] = ACTIONS(67), - [anon_sym_false] = ACTIONS(67), - [anon_sym_DQUOTE] = ACTIONS(69), - [aux_sym_number_literal_token1] = ACTIONS(71), - [anon_sym_constructor] = ACTIONS(73), - [anon_sym_proof] = ACTIONS(73), - [anon_sym_uzumaki] = ACTIONS(73), - [sym__identifier] = ACTIONS(73), + [aux_sym_block_repeat1] = STATE(4), + [sym_visibility] = ACTIONS(27), + [sym_type_i8] = ACTIONS(29), + [sym_type_i16] = ACTIONS(29), + [sym_type_i32] = ACTIONS(29), + [sym_type_i64] = ACTIONS(29), + [sym_type_u8] = ACTIONS(29), + [sym_type_u16] = ACTIONS(29), + [sym_type_u32] = ACTIONS(29), + [sym_type_u64] = ACTIONS(29), + [sym_type_bool] = ACTIONS(29), + [anon_sym_LPAREN] = ACTIONS(31), + [anon_sym_LBRACK] = ACTIONS(33), + [anon_sym_fn] = ACTIONS(35), + [anon_sym_LBRACE] = ACTIONS(37), + [anon_sym_RBRACE] = ACTIONS(161), + [anon_sym_assert] = ACTIONS(41), + [anon_sym_break] = ACTIONS(43), + [anon_sym_DASH] = ACTIONS(45), + [anon_sym_let] = ACTIONS(47), + [anon_sym_type] = ACTIONS(49), + [anon_sym_const] = ACTIONS(51), + [anon_sym_assume] = ACTIONS(53), + [anon_sym_forall] = ACTIONS(55), + [anon_sym_exists] = ACTIONS(57), + [anon_sym_unique] = ACTIONS(59), + [anon_sym_if] = ACTIONS(61), + [anon_sym_loop] = ACTIONS(63), + [anon_sym_return] = ACTIONS(65), + [sym_uzumaki_keyword] = ACTIONS(67), + [sym_unary_not] = ACTIONS(69), + [sym_unary_bitnot] = ACTIONS(69), + [anon_sym_true] = ACTIONS(71), + [anon_sym_false] = ACTIONS(71), + [anon_sym_DQUOTE] = ACTIONS(73), + [sym_number_literal] = ACTIONS(67), + [anon_sym_constructor] = ACTIONS(75), + [anon_sym_proof] = ACTIONS(75), + [anon_sym_uzumaki] = ACTIONS(75), + [sym__identifier] = ACTIONS(75), [sym__docstring] = ACTIONS(3), [sym__comment] = ACTIONS(5), }, [STATE(10)] = { - [sym__statement] = STATE(96), - [sym_type_fn] = STATE(464), - [sym__literal] = STATE(233), - [sym__expression] = STATE(233), - [sym__lval_expression] = STATE(200), - [sym__non_lval_expression] = STATE(233), - [sym__block] = STATE(96), - [sym_array_index_access_expression] = STATE(200), + [sym__statement] = STATE(95), + [sym_type_fn] = STATE(470), + [sym__literal] = STATE(230), + [sym__expression] = STATE(230), + [sym__lval_expression] = STATE(211), + [sym__non_lval_expression] = STATE(230), + [sym__block] = STATE(95), + [sym_array_index_access_expression] = STATE(211), [sym_member_access_expression] = STATE(183), - [sym__identifier_like_embedded_type] = STATE(464), - [sym_type_member_access_expression] = STATE(189), - [sym_function_call_expression] = STATE(200), - [sym_struct_expression] = STATE(233), - [sym_expression_statement] = STATE(96), - [sym_assign_statement] = STATE(96), - [sym_assert_statement] = STATE(96), - [sym_break_statement] = STATE(96), - [sym_parenthesized_expression] = STATE(189), - [sym_prefix_unary_expression] = STATE(233), - [sym_binary_expression] = STATE(233), - [sym_variable_definition_statement] = STATE(96), - [sym_type_definition_statement] = STATE(96), - [sym_constant_definition] = STATE(96), - [sym_block] = STATE(96), - [sym_assume_block] = STATE(96), - [sym_forall_block] = STATE(96), - [sym_exists_block] = STATE(96), - [sym_unique_block] = STATE(96), - [sym_if_statement] = STATE(96), - [sym_loop_statement] = STATE(96), - [sym_return_statement] = STATE(96), - [sym_bool_literal] = STATE(233), - [sym_string_literal] = STATE(233), - [sym_number_literal] = STATE(233), - [sym_unit_literal] = STATE(233), - [sym_array_literal] = STATE(233), - [sym__name] = STATE(387), - [sym_type_qualified_name] = STATE(387), - [sym__simple_name] = STATE(138), - [sym_qualified_name] = STATE(387), - [sym_generic_name] = STATE(138), - [sym__bracketed_generic_name] = STATE(464), - [sym__reserved_identifier] = STATE(76), + [sym__identifier_like_embedded_type] = STATE(470), + [sym_type_member_access_expression] = STATE(185), + [sym_function_call_expression] = STATE(211), + [sym_struct_expression] = STATE(230), + [sym_expression_statement] = STATE(95), + [sym_assign_statement] = STATE(95), + [sym_assert_statement] = STATE(95), + [sym_break_statement] = STATE(95), + [sym_parenthesized_expression] = STATE(185), + [sym_prefix_unary_expression] = STATE(230), + [sym_binary_expression] = STATE(230), + [sym_variable_definition_statement] = STATE(95), + [sym_type_definition_statement] = STATE(95), + [sym_constant_definition] = STATE(95), + [sym_block] = STATE(95), + [sym_assume_block] = STATE(95), + [sym_forall_block] = STATE(95), + [sym_exists_block] = STATE(95), + [sym_unique_block] = STATE(95), + [sym_if_statement] = STATE(95), + [sym_loop_statement] = STATE(95), + [sym_return_statement] = STATE(95), + [sym_unary_minus] = STATE(48), + [sym_bool_literal] = STATE(230), + [sym_string_literal] = STATE(230), + [sym_unit_literal] = STATE(230), + [sym_array_literal] = STATE(230), + [sym__name] = STATE(405), + [sym_type_qualified_name] = STATE(405), + [sym__simple_name] = STATE(136), + [sym_qualified_name] = STATE(405), + [sym_generic_name] = STATE(136), + [sym__bracketed_generic_name] = STATE(470), + [sym__reserved_identifier] = STATE(73), [sym_identifier] = STATE(13), - [aux_sym_block_repeat1] = STATE(5), - [sym_type_i8] = ACTIONS(25), - [sym_type_i16] = ACTIONS(25), - [sym_type_i32] = ACTIONS(25), - [sym_type_i64] = ACTIONS(25), - [sym_type_u8] = ACTIONS(25), - [sym_type_u16] = ACTIONS(25), - [sym_type_u32] = ACTIONS(25), - [sym_type_u64] = ACTIONS(25), - [sym_type_bool] = ACTIONS(25), - [anon_sym_LPAREN] = ACTIONS(27), - [anon_sym_LBRACK] = ACTIONS(29), - [anon_sym_fn] = ACTIONS(31), - [anon_sym_LBRACE] = ACTIONS(33), - [anon_sym_RBRACE] = ACTIONS(161), - [anon_sym_assert] = ACTIONS(37), - [anon_sym_break] = ACTIONS(39), - [anon_sym_DASH] = ACTIONS(41), - [anon_sym_let] = ACTIONS(43), - [anon_sym_type] = ACTIONS(45), - [anon_sym_const] = ACTIONS(47), - [anon_sym_assume] = ACTIONS(49), - [anon_sym_forall] = ACTIONS(51), - [anon_sym_exists] = ACTIONS(53), - [anon_sym_unique] = ACTIONS(55), - [anon_sym_if] = ACTIONS(57), - [anon_sym_loop] = ACTIONS(59), - [anon_sym_return] = ACTIONS(61), - [sym_uzumaki_keyword] = ACTIONS(63), - [sym_unary_not] = ACTIONS(65), - [anon_sym_true] = ACTIONS(67), - [anon_sym_false] = ACTIONS(67), - [anon_sym_DQUOTE] = ACTIONS(69), - [aux_sym_number_literal_token1] = ACTIONS(71), - [anon_sym_constructor] = ACTIONS(73), - [anon_sym_proof] = ACTIONS(73), - [anon_sym_uzumaki] = ACTIONS(73), - [sym__identifier] = ACTIONS(73), + [aux_sym_block_repeat1] = STATE(2), + [sym_visibility] = ACTIONS(27), + [sym_type_i8] = ACTIONS(29), + [sym_type_i16] = ACTIONS(29), + [sym_type_i32] = ACTIONS(29), + [sym_type_i64] = ACTIONS(29), + [sym_type_u8] = ACTIONS(29), + [sym_type_u16] = ACTIONS(29), + [sym_type_u32] = ACTIONS(29), + [sym_type_u64] = ACTIONS(29), + [sym_type_bool] = ACTIONS(29), + [anon_sym_LPAREN] = ACTIONS(31), + [anon_sym_LBRACK] = ACTIONS(33), + [anon_sym_fn] = ACTIONS(35), + [anon_sym_LBRACE] = ACTIONS(37), + [anon_sym_RBRACE] = ACTIONS(163), + [anon_sym_assert] = ACTIONS(41), + [anon_sym_break] = ACTIONS(43), + [anon_sym_DASH] = ACTIONS(45), + [anon_sym_let] = ACTIONS(47), + [anon_sym_type] = ACTIONS(49), + [anon_sym_const] = ACTIONS(51), + [anon_sym_assume] = ACTIONS(53), + [anon_sym_forall] = ACTIONS(55), + [anon_sym_exists] = ACTIONS(57), + [anon_sym_unique] = ACTIONS(59), + [anon_sym_if] = ACTIONS(61), + [anon_sym_loop] = ACTIONS(63), + [anon_sym_return] = ACTIONS(65), + [sym_uzumaki_keyword] = ACTIONS(67), + [sym_unary_not] = ACTIONS(69), + [sym_unary_bitnot] = ACTIONS(69), + [anon_sym_true] = ACTIONS(71), + [anon_sym_false] = ACTIONS(71), + [anon_sym_DQUOTE] = ACTIONS(73), + [sym_number_literal] = ACTIONS(67), + [anon_sym_constructor] = ACTIONS(75), + [anon_sym_proof] = ACTIONS(75), + [anon_sym_uzumaki] = ACTIONS(75), + [sym__identifier] = ACTIONS(75), [sym__docstring] = ACTIONS(3), [sym__comment] = ACTIONS(5), }, @@ -5864,60 +6104,62 @@ static const uint16_t ts_small_parse_table[] = { sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(33), 1, + ACTIONS(37), 1, anon_sym_LBRACE, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(49), 1, + ACTIONS(53), 1, anon_sym_assume, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_forall, - ACTIONS(53), 1, + ACTIONS(57), 1, anon_sym_exists, - ACTIONS(55), 1, + ACTIONS(59), 1, anon_sym_unique, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(165), 1, - sym_uzumaki_keyword, - ACTIONS(167), 1, - sym_unary_not, - STATE(14), 1, + STATE(17), 1, sym_identifier, - STATE(78), 1, + STATE(54), 1, + sym_unary_minus, + STATE(76), 1, sym__reserved_identifier, - STATE(182), 1, + STATE(184), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(180), 2, + ACTIONS(167), 2, + sym_uzumaki_keyword, + sym_number_literal, + ACTIONS(169), 2, + sym_unary_not, + sym_unary_bitnot, + STATE(182), 2, sym__simple_name, sym_generic_name, - STATE(185), 2, + STATE(186), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(368), 3, + STATE(407), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(470), 3, + STATE(492), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(169), 4, + ACTIONS(171), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, @@ -5929,7 +6171,7 @@ static const uint16_t ts_small_parse_table[] = { sym_forall_block, sym_exists_block, sym_unique_block, - ACTIONS(163), 9, + ACTIONS(165), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -5939,7 +6181,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(147), 11, + STATE(140), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -5948,54 +6190,53 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [120] = 15, + [121] = 14, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(173), 1, - anon_sym_LPAREN, ACTIONS(176), 1, + anon_sym_LPAREN, + ACTIONS(179), 1, anon_sym_LBRACK, - ACTIONS(181), 1, + ACTIONS(184), 1, anon_sym_fn, - ACTIONS(185), 1, - anon_sym_COLON_COLON2, - STATE(77), 1, + STATE(12), 1, + aux_sym_type_argument_list_repeat1, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - STATE(123), 1, - sym_type_argument_list, - ACTIONS(187), 4, + ACTIONS(189), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - ACTIONS(183), 6, - anon_sym_COLON, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - STATE(442), 6, + STATE(499), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(171), 9, + ACTIONS(187), 8, + anon_sym_COLON, + anon_sym_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(173), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -6005,7 +6246,8 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - ACTIONS(179), 20, + ACTIONS(182), 22, + anon_sym_SEMI, anon_sym_RBRACK, anon_sym_DOT, anon_sym_COLON_COLON, @@ -6026,51 +6268,54 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - [210] = 15, + anon_sym_SQUOTE, + [212] = 15, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(173), 1, + ACTIONS(194), 1, anon_sym_LPAREN, - ACTIONS(176), 1, + ACTIONS(197), 1, anon_sym_LBRACK, - ACTIONS(181), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(185), 1, + ACTIONS(206), 1, anon_sym_COLON_COLON2, - STATE(77), 1, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - STATE(123), 1, + STATE(119), 1, sym_type_argument_list, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - ACTIONS(183), 6, - anon_sym_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - STATE(448), 6, + STATE(469), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(189), 9, + ACTIONS(204), 8, + anon_sym_COLON, + anon_sym_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -6080,13 +6325,15 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - ACTIONS(179), 19, + ACTIONS(200), 21, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_DOT, anon_sym_COLON_COLON, + anon_sym_COMMA, anon_sym_RPAREN2, anon_sym_LBRACE, + anon_sym_RBRACE, anon_sym_STAR_STAR, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, @@ -6100,54 +6347,51 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - [299] = 15, + [305] = 14, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(173), 1, + ACTIONS(194), 1, anon_sym_LPAREN, - ACTIONS(176), 1, + ACTIONS(197), 1, anon_sym_LBRACK, - ACTIONS(181), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(185), 1, - anon_sym_COLON_COLON2, - STATE(77), 1, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - STATE(123), 1, + STATE(119), 1, sym_type_argument_list, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(448), 6, + STATE(469), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(183), 9, + ACTIONS(204), 8, + anon_sym_COLON, + anon_sym_EQ, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - ACTIONS(189), 9, + ACTIONS(192), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -6157,10 +6401,15 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - ACTIONS(179), 16, + ACTIONS(200), 21, + anon_sym_SEMI, + anon_sym_RBRACK, anon_sym_DOT, anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN2, anon_sym_LBRACE, + anon_sym_RBRACE, anon_sym_STAR_STAR, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, @@ -6174,49 +6423,47 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - [388] = 14, + [395] = 12, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(173), 1, - anon_sym_LPAREN, - ACTIONS(176), 1, - anon_sym_LBRACK, - ACTIONS(181), 1, + ACTIONS(202), 1, anon_sym_fn, - STATE(77), 1, + STATE(16), 1, + aux_sym_type_argument_list_repeat1, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - STATE(123), 1, - sym_type_argument_list, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - ACTIONS(183), 6, - anon_sym_COLON, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - STATE(442), 6, + STATE(499), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(171), 9, + ACTIONS(214), 8, + anon_sym_COLON, + anon_sym_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(210), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -6226,7 +6473,10 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - ACTIONS(179), 20, + ACTIONS(212), 23, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_SEMI, anon_sym_RBRACK, anon_sym_DOT, anon_sym_COLON_COLON, @@ -6247,49 +6497,47 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - [475] = 14, + [481] = 12, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(173), 1, - anon_sym_LPAREN, - ACTIONS(176), 1, - anon_sym_LBRACK, - ACTIONS(181), 1, + ACTIONS(202), 1, anon_sym_fn, - STATE(77), 1, + STATE(12), 1, + aux_sym_type_argument_list_repeat1, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - STATE(123), 1, - sym_type_argument_list, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - ACTIONS(183), 6, - anon_sym_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - STATE(448), 6, + STATE(499), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(189), 9, + ACTIONS(218), 8, + anon_sym_COLON, + anon_sym_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(210), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -6299,13 +6547,17 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - ACTIONS(179), 19, + ACTIONS(216), 23, + anon_sym_LPAREN, + anon_sym_LBRACK, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_DOT, anon_sym_COLON_COLON, + anon_sym_COMMA, anon_sym_RPAREN2, anon_sym_LBRACE, + anon_sym_RBRACE, anon_sym_STAR_STAR, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, @@ -6319,52 +6571,44 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - [561] = 14, + [567] = 15, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(173), 1, + ACTIONS(194), 1, anon_sym_LPAREN, - ACTIONS(176), 1, + ACTIONS(197), 1, anon_sym_LBRACK, - ACTIONS(181), 1, + ACTIONS(202), 1, anon_sym_fn, - STATE(77), 1, + ACTIONS(206), 1, + anon_sym_COLON_COLON2, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - STATE(123), 1, + STATE(119), 1, sym_type_argument_list, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(448), 6, + STATE(477), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(183), 9, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - ACTIONS(189), 9, + ACTIONS(220), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -6374,7 +6618,18 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - ACTIONS(179), 16, + ACTIONS(204), 10, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + ACTIONS(200), 16, anon_sym_DOT, anon_sym_COLON_COLON, anon_sym_LBRACE, @@ -6391,52 +6646,42 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - [647] = 14, + [657] = 14, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(173), 1, + ACTIONS(176), 1, anon_sym_LPAREN, - ACTIONS(181), 1, - anon_sym_fn, - ACTIONS(191), 1, + ACTIONS(179), 1, anon_sym_LBRACK, - STATE(77), 1, + ACTIONS(184), 1, + anon_sym_fn, + STATE(18), 1, + aux_sym_type_argument_list_repeat1, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - STATE(123), 1, - sym_type_argument_list, - ACTIONS(187), 4, + ACTIONS(189), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(448), 6, + STATE(490), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(183), 9, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - ACTIONS(189), 9, + ACTIONS(222), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -6446,7 +6691,19 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - ACTIONS(179), 15, + ACTIONS(187), 10, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + ACTIONS(182), 16, + anon_sym_DOT, anon_sym_COLON_COLON, anon_sym_LBRACE, anon_sym_STAR_STAR, @@ -6462,48 +6719,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - [732] = 14, + [744] = 12, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(173), 1, - anon_sym_LPAREN, - ACTIONS(181), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(191), 1, - anon_sym_LBRACK, - STATE(77), 1, + STATE(18), 1, + aux_sym_type_argument_list_repeat1, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - STATE(123), 1, - sym_type_argument_list, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(183), 5, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(442), 6, + STATE(490), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(171), 9, + ACTIONS(225), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -6513,12 +6760,23 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - ACTIONS(179), 18, - anon_sym_RBRACK, + ACTIONS(218), 10, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + ACTIONS(216), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_DOT, anon_sym_COLON_COLON, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_RBRACE, + anon_sym_LBRACE, anon_sym_STAR_STAR, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, @@ -6532,48 +6790,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - [816] = 14, + [827] = 12, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(173), 1, - anon_sym_LPAREN, - ACTIONS(181), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(191), 1, - anon_sym_LBRACK, - STATE(77), 1, + STATE(19), 1, + aux_sym_type_argument_list_repeat1, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - STATE(123), 1, - sym_type_argument_list, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(183), 5, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(448), 6, + STATE(490), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(189), 9, + ACTIONS(225), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -6583,11 +6831,23 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - ACTIONS(179), 17, - anon_sym_SEMI, - anon_sym_RBRACK, + ACTIONS(214), 10, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + ACTIONS(212), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_DOT, anon_sym_COLON_COLON, - anon_sym_RPAREN2, + anon_sym_LBRACE, anon_sym_STAR_STAR, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, @@ -6601,63 +6861,42 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - [899] = 24, + [910] = 14, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(194), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(197), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(41), 1, - anon_sym_DASH, - ACTIONS(65), 1, - sym_unary_not, - ACTIONS(69), 1, - anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(193), 1, - anon_sym_RPAREN, - ACTIONS(195), 1, - sym_uzumaki_keyword, - STATE(13), 1, - sym_identifier, - STATE(76), 1, + STATE(75), 1, sym__reserved_identifier, - STATE(138), 1, - sym__simple_name, - STATE(183), 1, - sym_member_access_expression, - STATE(186), 1, - sym_generic_name, - ACTIONS(67), 2, - anon_sym_true, - anon_sym_false, - STATE(189), 2, - sym_type_member_access_expression, - sym_parenthesized_expression, - STATE(135), 3, - sym__lval_expression, - sym_array_index_access_expression, - sym_function_call_expression, - STATE(387), 3, + STATE(99), 1, + sym_identifier, + STATE(119), 1, + sym_type_argument_list, + ACTIONS(208), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(337), 5, sym__name, sym_type_qualified_name, + sym__simple_name, sym_qualified_name, - STATE(464), 3, + sym_generic_name, + STATE(477), 6, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, sym_type_fn, - sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - ACTIONS(25), 9, + ACTIONS(220), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -6667,74 +6906,75 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(238), 11, - sym__literal, - sym__expression, - sym__non_lval_expression, - sym_struct_expression, - sym_prefix_unary_expression, - sym_binary_expression, - sym_bool_literal, - sym_string_literal, - sym_number_literal, - sym_unit_literal, - sym_array_literal, - [1001] = 23, + ACTIONS(204), 10, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + ACTIONS(200), 16, + anon_sym_DOT, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + [997] = 13, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, - anon_sym_LPAREN, - ACTIONS(29), 1, - anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(41), 1, - anon_sym_DASH, - ACTIONS(65), 1, - sym_unary_not, - ACTIONS(69), 1, - anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(197), 1, - anon_sym_SEMI, - ACTIONS(199), 1, - sym_uzumaki_keyword, - STATE(13), 1, - sym_identifier, - STATE(76), 1, + ACTIONS(227), 1, + anon_sym_LBRACK, + STATE(12), 1, + aux_sym_type_argument_list_repeat1, + STATE(75), 1, sym__reserved_identifier, - STATE(183), 1, - sym_member_access_expression, - ACTIONS(67), 2, - anon_sym_true, - anon_sym_false, - STATE(138), 2, - sym__simple_name, - sym_generic_name, - STATE(189), 2, - sym_type_member_access_expression, - sym_parenthesized_expression, - STATE(135), 3, - sym__lval_expression, - sym_array_index_access_expression, - sym_function_call_expression, - STATE(387), 3, + STATE(99), 1, + sym_identifier, + ACTIONS(208), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(337), 5, sym__name, sym_type_qualified_name, + sym__simple_name, sym_qualified_name, - STATE(464), 3, + sym_generic_name, + ACTIONS(218), 6, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + STATE(499), 6, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, sym_type_fn, - sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - ACTIONS(25), 9, + ACTIONS(210), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -6744,75 +6984,71 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(242), 11, - sym__literal, - sym__expression, - sym__non_lval_expression, - sym_struct_expression, - sym_prefix_unary_expression, - sym_binary_expression, - sym_bool_literal, - sym_string_literal, - sym_number_literal, - sym_unit_literal, - sym_array_literal, - [1101] = 23, + ACTIONS(216), 20, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + [1081] = 14, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(194), 1, anon_sym_LPAREN, - ACTIONS(29), 1, - anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(41), 1, - anon_sym_DASH, - ACTIONS(69), 1, - anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(203), 1, - anon_sym_RBRACK, - ACTIONS(205), 1, - sym_uzumaki_keyword, - ACTIONS(207), 1, - sym_unary_not, - STATE(12), 1, - sym_identifier, - STATE(76), 1, + ACTIONS(227), 1, + anon_sym_LBRACK, + STATE(75), 1, sym__reserved_identifier, - STATE(184), 1, - sym_member_access_expression, - ACTIONS(67), 2, - anon_sym_true, - anon_sym_false, - STATE(138), 2, - sym__simple_name, - sym_generic_name, - STATE(187), 2, - sym_type_member_access_expression, - sym_parenthesized_expression, - STATE(135), 3, - sym__lval_expression, - sym_array_index_access_expression, - sym_function_call_expression, - STATE(392), 3, - sym__name, - sym_type_qualified_name, - sym_qualified_name, - STATE(471), 3, - sym_type_fn, - sym__identifier_like_embedded_type, - sym__bracketed_generic_name, - ACTIONS(73), 4, + STATE(99), 1, + sym_identifier, + STATE(119), 1, + sym_type_argument_list, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(201), 9, - sym_type_i8, + STATE(337), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + ACTIONS(204), 6, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + STATE(479), 6, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + sym__bracketed_generic_name, + ACTIONS(229), 9, + sym_type_i8, sym_type_i16, sym_type_i32, sym_type_i64, @@ -6821,74 +7057,67 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(222), 11, - sym__literal, - sym__expression, - sym__non_lval_expression, - sym_struct_expression, - sym_prefix_unary_expression, - sym_binary_expression, - sym_bool_literal, - sym_string_literal, - sym_number_literal, - sym_unit_literal, - sym_array_literal, - [1201] = 23, + ACTIONS(200), 19, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + [1167] = 13, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, - anon_sym_LPAREN, - ACTIONS(29), 1, - anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(41), 1, - anon_sym_DASH, - ACTIONS(69), 1, - anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(207), 1, - sym_unary_not, - ACTIONS(209), 1, - anon_sym_RPAREN2, - ACTIONS(211), 1, - sym_uzumaki_keyword, - STATE(12), 1, - sym_identifier, - STATE(76), 1, + ACTIONS(227), 1, + anon_sym_LBRACK, + STATE(22), 1, + aux_sym_type_argument_list_repeat1, + STATE(75), 1, sym__reserved_identifier, - STATE(184), 1, - sym_member_access_expression, - ACTIONS(67), 2, - anon_sym_true, - anon_sym_false, - STATE(138), 2, - sym__simple_name, - sym_generic_name, - STATE(187), 2, - sym_type_member_access_expression, - sym_parenthesized_expression, - STATE(135), 3, - sym__lval_expression, - sym_array_index_access_expression, - sym_function_call_expression, - STATE(365), 3, + STATE(99), 1, + sym_identifier, + ACTIONS(208), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(337), 5, sym__name, sym_type_qualified_name, + sym__simple_name, sym_qualified_name, - STATE(471), 3, + sym_generic_name, + ACTIONS(214), 6, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + STATE(499), 6, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, sym_type_fn, - sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - ACTIONS(201), 9, + ACTIONS(210), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -6898,72 +7127,61 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(221), 11, - sym__literal, - sym__expression, - sym__non_lval_expression, - sym_struct_expression, - sym_prefix_unary_expression, - sym_binary_expression, - sym_bool_literal, - sym_string_literal, - sym_number_literal, - sym_unit_literal, - sym_array_literal, - [1301] = 22, + ACTIONS(212), 20, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + [1251] = 13, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, - anon_sym_LPAREN, - ACTIONS(29), 1, - anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(41), 1, - anon_sym_DASH, - ACTIONS(69), 1, - anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(167), 1, - sym_unary_not, - ACTIONS(213), 1, - sym_uzumaki_keyword, - STATE(14), 1, - sym_identifier, - STATE(78), 1, + ACTIONS(227), 1, + anon_sym_LBRACK, + STATE(27), 1, + aux_sym_type_argument_list_repeat1, + STATE(75), 1, sym__reserved_identifier, - STATE(182), 1, - sym_member_access_expression, - ACTIONS(67), 2, - anon_sym_true, - anon_sym_false, - STATE(180), 2, - sym__simple_name, - sym_generic_name, - STATE(185), 2, - sym_type_member_access_expression, - sym_parenthesized_expression, - STATE(135), 3, - sym__lval_expression, - sym_array_index_access_expression, - sym_function_call_expression, - STATE(368), 3, + STATE(99), 1, + sym_identifier, + ACTIONS(208), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(337), 5, sym__name, sym_type_qualified_name, + sym__simple_name, sym_qualified_name, - STATE(470), 3, + sym_generic_name, + STATE(490), 6, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, sym_type_fn, - sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(169), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - ACTIONS(163), 9, + ACTIONS(225), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -6973,72 +7191,70 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(199), 11, - sym__literal, - sym__expression, - sym__non_lval_expression, - sym_struct_expression, - sym_prefix_unary_expression, - sym_binary_expression, - sym_bool_literal, - sym_string_literal, - sym_number_literal, - sym_unit_literal, - sym_array_literal, - [1398] = 22, + ACTIONS(214), 10, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + ACTIONS(212), 16, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + [1335] = 14, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(194), 1, anon_sym_LPAREN, - ACTIONS(29), 1, - anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(41), 1, - anon_sym_DASH, - ACTIONS(65), 1, - sym_unary_not, - ACTIONS(69), 1, - anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(215), 1, - sym_uzumaki_keyword, - STATE(13), 1, - sym_identifier, - STATE(76), 1, + ACTIONS(227), 1, + anon_sym_LBRACK, + STATE(75), 1, sym__reserved_identifier, - STATE(183), 1, - sym_member_access_expression, - ACTIONS(67), 2, - anon_sym_true, - anon_sym_false, - STATE(138), 2, - sym__simple_name, - sym_generic_name, - STATE(189), 2, - sym_type_member_access_expression, - sym_parenthesized_expression, - STATE(135), 3, - sym__lval_expression, - sym_array_index_access_expression, - sym_function_call_expression, - STATE(387), 3, + STATE(99), 1, + sym_identifier, + STATE(119), 1, + sym_type_argument_list, + ACTIONS(208), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(337), 5, sym__name, sym_type_qualified_name, + sym__simple_name, sym_qualified_name, - STATE(464), 3, + sym_generic_name, + STATE(480), 6, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, sym_type_fn, - sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - ACTIONS(25), 9, + ACTIONS(231), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -7048,72 +7264,162 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(224), 11, - sym__literal, - sym__expression, - sym__non_lval_expression, - sym_struct_expression, - sym_prefix_unary_expression, - sym_binary_expression, - sym_bool_literal, - sym_string_literal, - sym_number_literal, - sym_unit_literal, - sym_array_literal, - [1495] = 22, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(27), 1, - anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(204), 10, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + ACTIONS(200), 15, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + [1421] = 13, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(202), 1, + anon_sym_fn, + ACTIONS(227), 1, anon_sym_LBRACK, + STATE(18), 1, + aux_sym_type_argument_list_repeat1, + STATE(75), 1, + sym__reserved_identifier, + STATE(99), 1, + sym_identifier, + ACTIONS(208), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(337), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + STATE(490), 6, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + sym__bracketed_generic_name, + ACTIONS(225), 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, + ACTIONS(218), 10, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + ACTIONS(216), 16, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + [1505] = 23, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(33), 1, + anon_sym_LBRACK, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(65), 1, - sym_unary_not, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(217), 1, - sym_uzumaki_keyword, + ACTIONS(233), 1, + anon_sym_RBRACK, STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(235), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, - STATE(189), 2, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(387), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(464), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(25), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -7123,7 +7429,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(225), 11, + STATE(213), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -7132,63 +7438,67 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [1592] = 22, + [1606] = 24, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(65), 1, - sym_unary_not, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(219), 1, - sym_uzumaki_keyword, + ACTIONS(237), 1, + anon_sym_RPAREN, STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, + STATE(136), 1, + sym__simple_name, STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + STATE(187), 1, + sym_generic_name, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, - sym__simple_name, - sym_generic_name, - STATE(189), 2, + ACTIONS(239), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(387), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(464), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(25), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -7198,7 +7508,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(226), 11, + STATE(224), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -7207,46 +7517,49 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [1689] = 22, + [1709] = 23, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(65), 1, - sym_unary_not, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(221), 1, - sym_uzumaki_keyword, + ACTIONS(241), 1, + anon_sym_RPAREN2, STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(243), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, - STATE(189), 2, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, @@ -7254,16 +7567,16 @@ static const uint16_t ts_small_parse_table[] = { sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(464), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(25), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -7273,7 +7586,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(218), 11, + STATE(214), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -7282,63 +7595,66 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [1786] = 22, + [1810] = 23, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(65), 1, - sym_unary_not, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(223), 1, - sym_uzumaki_keyword, + ACTIONS(245), 1, + anon_sym_SEMI, STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(247), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, - STATE(189), 2, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(387), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(464), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(25), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -7348,7 +7664,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(216), 11, + STATE(229), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -7357,63 +7673,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [1883] = 22, + [1911] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(65), 1, - sym_unary_not, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(225), 1, - sym_uzumaki_keyword, STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(249), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, - STATE(189), 2, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(387), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(464), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(25), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -7423,7 +7740,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(212), 11, + STATE(232), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -7432,63 +7749,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [1980] = 22, + [2009] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(65), 1, - sym_unary_not, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(227), 1, - sym_uzumaki_keyword, STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(251), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, - STATE(189), 2, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(387), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(464), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(25), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -7498,7 +7816,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(219), 11, + STATE(203), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -7507,63 +7825,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [2077] = 22, + [2107] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(65), 1, - sym_unary_not, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(229), 1, - sym_uzumaki_keyword, STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(253), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, - STATE(189), 2, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(387), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(464), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(25), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -7573,7 +7892,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(217), 11, + STATE(205), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -7582,63 +7901,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [2174] = 22, + [2205] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(65), 1, - sym_unary_not, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(231), 1, - sym_uzumaki_keyword, STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(255), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, - STATE(189), 2, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(387), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(464), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(25), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -7648,7 +7968,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(220), 11, + STATE(231), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -7657,63 +7977,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [2271] = 22, + [2303] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(65), 1, - sym_unary_not, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(233), 1, - sym_uzumaki_keyword, STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(257), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, - STATE(189), 2, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(387), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(464), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(25), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -7723,7 +8044,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(240), 11, + STATE(227), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -7732,63 +8053,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [2368] = 22, + [2401] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(65), 1, - sym_unary_not, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(235), 1, - sym_uzumaki_keyword, STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(259), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, - STATE(189), 2, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(387), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(464), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(25), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -7798,7 +8120,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(239), 11, + STATE(225), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -7807,63 +8129,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [2465] = 22, + [2499] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(207), 1, - sym_unary_not, - ACTIONS(237), 1, - sym_uzumaki_keyword, - STATE(12), 1, + STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(261), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, - STATE(187), 2, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(392), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(471), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(201), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -7873,7 +8196,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(229), 11, + STATE(216), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -7882,63 +8205,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [2562] = 22, + [2597] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(207), 1, - sym_unary_not, - ACTIONS(239), 1, - sym_uzumaki_keyword, - STATE(12), 1, + STATE(17), 1, sym_identifier, + STATE(54), 1, + sym_unary_minus, STATE(76), 1, sym__reserved_identifier, STATE(184), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(169), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(263), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(182), 2, sym__simple_name, sym_generic_name, - STATE(187), 2, + STATE(186), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(364), 3, + STATE(407), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(471), 3, + STATE(492), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(171), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(201), 9, + ACTIONS(165), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -7948,7 +8272,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(230), 11, + STATE(142), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -7957,63 +8281,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [2659] = 22, + [2695] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(207), 1, - sym_unary_not, - ACTIONS(241), 1, - sym_uzumaki_keyword, - STATE(12), 1, + STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(265), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, - STATE(187), 2, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(392), 3, + STATE(386), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(471), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(201), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8023,7 +8348,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(213), 11, + STATE(219), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -8032,63 +8357,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [2756] = 22, + [2793] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(207), 1, - sym_unary_not, - ACTIONS(243), 1, - sym_uzumaki_keyword, - STATE(12), 1, + STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(267), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, - STATE(187), 2, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(392), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(471), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(201), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8098,7 +8424,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(214), 11, + STATE(215), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -8107,63 +8433,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [2853] = 22, + [2891] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(65), 1, - sym_unary_not, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(245), 1, - sym_uzumaki_keyword, STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(269), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, - STATE(189), 2, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(387), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(464), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(25), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8173,7 +8500,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(236), 11, + STATE(212), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -8182,50 +8509,51 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [2950] = 22, + [2989] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(167), 1, - sym_unary_not, - ACTIONS(247), 1, - sym_uzumaki_keyword, - STATE(14), 1, + STATE(13), 1, sym_identifier, - STATE(78), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, - STATE(182), 1, + STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(180), 2, + ACTIONS(271), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(368), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -8233,12 +8561,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(169), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(163), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8248,7 +8576,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(155), 11, + STATE(233), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -8257,63 +8585,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [3047] = 22, + [3087] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(65), 1, - sym_unary_not, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(249), 1, - sym_uzumaki_keyword, - STATE(13), 1, + STATE(17), 1, sym_identifier, + STATE(54), 1, + sym_unary_minus, STATE(76), 1, sym__reserved_identifier, - STATE(183), 1, + STATE(184), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(169), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(273), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(182), 2, sym__simple_name, sym_generic_name, - STATE(189), 2, + STATE(186), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(387), 3, + STATE(407), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(464), 3, + STATE(492), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(171), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(25), 9, + ACTIONS(165), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8323,7 +8652,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(231), 11, + STATE(139), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -8332,63 +8661,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [3144] = 22, + [3185] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(207), 1, - sym_unary_not, - ACTIONS(251), 1, - sym_uzumaki_keyword, - STATE(12), 1, + STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(275), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, - STATE(187), 2, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(392), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(471), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(201), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8398,7 +8728,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(227), 11, + STATE(221), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -8407,63 +8737,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [3241] = 22, + [3283] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(207), 1, - sym_unary_not, - ACTIONS(253), 1, - sym_uzumaki_keyword, - STATE(12), 1, + STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(277), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, - STATE(187), 2, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(392), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(471), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(201), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8473,7 +8804,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(228), 11, + STATE(218), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -8482,63 +8813,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [3338] = 22, + [3381] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(65), 1, - sym_unary_not, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(255), 1, - sym_uzumaki_keyword, STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(279), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, - STATE(189), 2, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(387), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(464), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(25), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8548,7 +8880,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(241), 11, + STATE(217), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -8557,50 +8889,51 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [3435] = 22, + [3479] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(167), 1, - sym_unary_not, - ACTIONS(257), 1, - sym_uzumaki_keyword, - STATE(14), 1, + STATE(13), 1, sym_identifier, - STATE(78), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, - STATE(182), 1, + STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(180), 2, + ACTIONS(281), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(368), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -8608,12 +8941,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(169), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(163), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8623,7 +8956,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(146), 11, + STATE(169), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -8632,63 +8965,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [3532] = 22, + [3577] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(65), 1, - sym_unary_not, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(259), 1, - sym_uzumaki_keyword, STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(283), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, - STATE(189), 2, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(387), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(464), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(25), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8698,7 +9032,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(169), 11, + STATE(223), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -8707,50 +9041,51 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [3629] = 22, + [3675] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(167), 1, - sym_unary_not, - ACTIONS(259), 1, - sym_uzumaki_keyword, - STATE(14), 1, + STATE(13), 1, sym_identifier, - STATE(78), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, - STATE(182), 1, + STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(180), 2, + ACTIONS(285), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(368), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -8758,12 +9093,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(169), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(163), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8773,7 +9108,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(169), 11, + STATE(222), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -8782,50 +9117,51 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [3726] = 22, + [3773] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(167), 1, - sym_unary_not, - ACTIONS(261), 1, - sym_uzumaki_keyword, - STATE(14), 1, + STATE(13), 1, sym_identifier, - STATE(78), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, - STATE(182), 1, + STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(180), 2, + ACTIONS(287), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(368), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -8833,12 +9169,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(169), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(163), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8848,7 +9184,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(190), 11, + STATE(210), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -8857,50 +9193,51 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [3823] = 22, + [3871] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(167), 1, - sym_unary_not, - ACTIONS(263), 1, - sym_uzumaki_keyword, - STATE(14), 1, + STATE(13), 1, sym_identifier, - STATE(78), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, - STATE(182), 1, + STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(180), 2, + ACTIONS(289), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(368), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -8908,12 +9245,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(169), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(163), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8923,7 +9260,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(191), 11, + STATE(188), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -8932,50 +9269,51 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [3920] = 22, + [3969] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(167), 1, - sym_unary_not, - ACTIONS(265), 1, - sym_uzumaki_keyword, - STATE(14), 1, + STATE(13), 1, sym_identifier, - STATE(78), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, - STATE(182), 1, + STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(180), 2, + ACTIONS(291), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(368), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -8983,12 +9321,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(169), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(163), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -8998,7 +9336,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(192), 11, + STATE(207), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -9007,63 +9345,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [4017] = 22, + [4067] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(167), 1, - sym_unary_not, - ACTIONS(267), 1, - sym_uzumaki_keyword, - STATE(14), 1, + STATE(17), 1, sym_identifier, - STATE(78), 1, + STATE(54), 1, + sym_unary_minus, + STATE(76), 1, sym__reserved_identifier, - STATE(182), 1, + STATE(184), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(180), 2, + ACTIONS(169), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(281), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(182), 2, sym__simple_name, sym_generic_name, - STATE(185), 2, + STATE(186), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(368), 3, + STATE(407), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(470), 3, + STATE(492), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(169), 4, + ACTIONS(171), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(163), 9, + ACTIONS(165), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -9073,7 +9412,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(193), 11, + STATE(169), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -9082,50 +9421,51 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [4114] = 22, + [4165] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(167), 1, - sym_unary_not, - ACTIONS(269), 1, - sym_uzumaki_keyword, - STATE(14), 1, + STATE(13), 1, sym_identifier, - STATE(78), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, - STATE(182), 1, + STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(180), 2, + ACTIONS(293), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(368), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, @@ -9133,12 +9473,12 @@ static const uint16_t ts_small_parse_table[] = { sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(169), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(163), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -9148,7 +9488,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(188), 11, + STATE(209), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -9157,63 +9497,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [4211] = 22, + [4263] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(167), 1, - sym_unary_not, - ACTIONS(271), 1, - sym_uzumaki_keyword, - STATE(14), 1, + STATE(17), 1, sym_identifier, - STATE(78), 1, + STATE(54), 1, + sym_unary_minus, + STATE(76), 1, sym__reserved_identifier, - STATE(182), 1, + STATE(184), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(180), 2, + ACTIONS(169), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(295), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(182), 2, sym__simple_name, sym_generic_name, - STATE(185), 2, + STATE(186), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(368), 3, + STATE(407), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(470), 3, + STATE(492), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(169), 4, + ACTIONS(171), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(163), 9, + ACTIONS(165), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -9223,7 +9564,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(194), 11, + STATE(190), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -9232,63 +9573,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [4308] = 22, + [4361] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(167), 1, - sym_unary_not, - ACTIONS(273), 1, - sym_uzumaki_keyword, - STATE(14), 1, + STATE(17), 1, sym_identifier, - STATE(78), 1, + STATE(54), 1, + sym_unary_minus, + STATE(76), 1, sym__reserved_identifier, - STATE(182), 1, + STATE(184), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(180), 2, + ACTIONS(169), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(297), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(182), 2, sym__simple_name, sym_generic_name, - STATE(185), 2, + STATE(186), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(368), 3, + STATE(407), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(470), 3, + STATE(492), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(169), 4, + ACTIONS(171), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(163), 9, + ACTIONS(165), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -9298,7 +9640,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(195), 11, + STATE(191), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -9307,63 +9649,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [4405] = 22, + [4459] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(167), 1, - sym_unary_not, - ACTIONS(275), 1, - sym_uzumaki_keyword, - STATE(14), 1, + STATE(17), 1, sym_identifier, - STATE(78), 1, + STATE(54), 1, + sym_unary_minus, + STATE(76), 1, sym__reserved_identifier, - STATE(182), 1, + STATE(184), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(180), 2, + ACTIONS(169), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(299), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(182), 2, sym__simple_name, sym_generic_name, - STATE(185), 2, + STATE(186), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(368), 3, + STATE(407), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(470), 3, + STATE(492), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(169), 4, + ACTIONS(171), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(163), 9, + ACTIONS(165), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -9373,7 +9716,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(196), 11, + STATE(192), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -9382,63 +9725,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [4502] = 22, + [4557] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(167), 1, - sym_unary_not, - ACTIONS(277), 1, - sym_uzumaki_keyword, - STATE(14), 1, + STATE(17), 1, sym_identifier, - STATE(78), 1, + STATE(54), 1, + sym_unary_minus, + STATE(76), 1, sym__reserved_identifier, - STATE(182), 1, + STATE(184), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(180), 2, + ACTIONS(169), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(301), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(182), 2, sym__simple_name, sym_generic_name, - STATE(185), 2, + STATE(186), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(368), 3, + STATE(407), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(470), 3, + STATE(492), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(169), 4, + ACTIONS(171), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(163), 9, + ACTIONS(165), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -9448,7 +9792,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(197), 11, + STATE(193), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -9457,63 +9801,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [4599] = 22, + [4655] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(167), 1, - sym_unary_not, - ACTIONS(279), 1, - sym_uzumaki_keyword, - STATE(14), 1, + STATE(17), 1, sym_identifier, - STATE(78), 1, + STATE(54), 1, + sym_unary_minus, + STATE(76), 1, sym__reserved_identifier, - STATE(182), 1, + STATE(184), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(180), 2, + ACTIONS(169), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(303), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(182), 2, sym__simple_name, sym_generic_name, - STATE(185), 2, + STATE(186), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(368), 3, + STATE(407), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(470), 3, + STATE(492), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(169), 4, + ACTIONS(171), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(163), 9, + ACTIONS(165), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -9523,7 +9868,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(198), 11, + STATE(194), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -9532,63 +9877,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [4696] = 22, + [4753] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(65), 1, - sym_unary_not, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(281), 1, - sym_uzumaki_keyword, - STATE(13), 1, + STATE(17), 1, sym_identifier, + STATE(54), 1, + sym_unary_minus, STATE(76), 1, sym__reserved_identifier, - STATE(183), 1, + STATE(184), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(169), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(305), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(182), 2, sym__simple_name, sym_generic_name, - STATE(189), 2, + STATE(186), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(387), 3, + STATE(407), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(464), 3, + STATE(492), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(171), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(25), 9, + ACTIONS(165), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -9598,7 +9944,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(234), 11, + STATE(195), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -9607,63 +9953,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [4793] = 22, + [4851] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(65), 1, - sym_unary_not, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(283), 1, - sym_uzumaki_keyword, - STATE(13), 1, + STATE(17), 1, sym_identifier, + STATE(54), 1, + sym_unary_minus, STATE(76), 1, sym__reserved_identifier, - STATE(183), 1, + STATE(184), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(169), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(307), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(182), 2, sym__simple_name, sym_generic_name, - STATE(189), 2, + STATE(186), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(387), 3, + STATE(407), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(464), 3, + STATE(492), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(171), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(25), 9, + ACTIONS(165), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -9673,7 +10020,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(223), 11, + STATE(196), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -9682,63 +10029,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [4890] = 22, + [4949] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(207), 1, - sym_unary_not, - ACTIONS(259), 1, - sym_uzumaki_keyword, - STATE(12), 1, + STATE(17), 1, sym_identifier, + STATE(54), 1, + sym_unary_minus, STATE(76), 1, sym__reserved_identifier, STATE(184), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(169), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(309), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(182), 2, sym__simple_name, sym_generic_name, - STATE(187), 2, + STATE(186), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(392), 3, + STATE(407), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(471), 3, + STATE(492), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(171), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(201), 9, + ACTIONS(165), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -9748,7 +10096,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(169), 11, + STATE(197), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -9757,63 +10105,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [4987] = 22, + [5047] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(65), 1, - sym_unary_not, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(285), 1, - sym_uzumaki_keyword, - STATE(13), 1, + STATE(17), 1, sym_identifier, + STATE(54), 1, + sym_unary_minus, STATE(76), 1, sym__reserved_identifier, - STATE(183), 1, + STATE(184), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(169), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(311), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(182), 2, sym__simple_name, sym_generic_name, - STATE(189), 2, + STATE(186), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(387), 3, + STATE(407), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(464), 3, + STATE(492), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(171), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(25), 9, + ACTIONS(165), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -9823,7 +10172,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(237), 11, + STATE(198), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -9832,63 +10181,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [5084] = 22, + [5145] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(207), 1, - sym_unary_not, - ACTIONS(287), 1, - sym_uzumaki_keyword, - STATE(12), 1, + STATE(17), 1, sym_identifier, + STATE(54), 1, + sym_unary_minus, STATE(76), 1, sym__reserved_identifier, STATE(184), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(169), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(313), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(182), 2, sym__simple_name, sym_generic_name, - STATE(187), 2, + STATE(186), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(392), 3, + STATE(407), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(471), 3, + STATE(492), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(171), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(201), 9, + ACTIONS(165), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -9898,7 +10248,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(201), 11, + STATE(199), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -9907,63 +10257,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [5181] = 22, + [5243] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(207), 1, - sym_unary_not, - ACTIONS(289), 1, - sym_uzumaki_keyword, - STATE(12), 1, + STATE(17), 1, sym_identifier, + STATE(54), 1, + sym_unary_minus, STATE(76), 1, sym__reserved_identifier, STATE(184), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(169), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(315), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(182), 2, sym__simple_name, sym_generic_name, - STATE(187), 2, + STATE(186), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(392), 3, + STATE(407), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(471), 3, + STATE(492), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(171), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(201), 9, + ACTIONS(165), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -9973,7 +10324,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(202), 11, + STATE(200), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -9982,63 +10333,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [5278] = 22, + [5341] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(207), 1, - sym_unary_not, - ACTIONS(291), 1, - sym_uzumaki_keyword, - STATE(12), 1, + STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(317), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, - STATE(187), 2, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(392), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(471), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(201), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -10048,7 +10400,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(203), 11, + STATE(206), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -10057,63 +10409,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [5375] = 22, + [5439] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(207), 1, - sym_unary_not, - ACTIONS(293), 1, - sym_uzumaki_keyword, - STATE(12), 1, + STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(319), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, - STATE(187), 2, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(392), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(471), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(201), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -10123,7 +10476,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(204), 11, + STATE(204), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -10132,63 +10485,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [5472] = 22, + [5537] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(207), 1, - sym_unary_not, - ACTIONS(295), 1, - sym_uzumaki_keyword, - STATE(12), 1, + STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(321), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, - STATE(187), 2, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(392), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(471), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(201), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -10198,7 +10552,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(205), 11, + STATE(208), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -10207,63 +10561,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [5569] = 22, + [5635] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(207), 1, - sym_unary_not, - ACTIONS(297), 1, - sym_uzumaki_keyword, - STATE(12), 1, + STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(323), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, - STATE(187), 2, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(392), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(471), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(201), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -10273,7 +10628,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(206), 11, + STATE(189), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -10282,63 +10637,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [5666] = 22, + [5733] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(207), 1, - sym_unary_not, - ACTIONS(299), 1, - sym_uzumaki_keyword, - STATE(12), 1, + STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(325), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, - STATE(187), 2, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(392), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(471), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(201), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -10348,7 +10704,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(207), 11, + STATE(228), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -10357,63 +10713,64 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [5763] = 22, + [5831] = 22, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, + ACTIONS(31), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(33), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(35), 1, anon_sym_fn, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_DASH, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(207), 1, - sym_unary_not, - ACTIONS(301), 1, - sym_uzumaki_keyword, - STATE(12), 1, + STATE(13), 1, sym_identifier, - STATE(76), 1, + STATE(48), 1, + sym_unary_minus, + STATE(73), 1, sym__reserved_identifier, - STATE(184), 1, + STATE(183), 1, sym_member_access_expression, - ACTIONS(67), 2, + ACTIONS(69), 2, + sym_unary_not, + sym_unary_bitnot, + ACTIONS(71), 2, anon_sym_true, anon_sym_false, - STATE(138), 2, + ACTIONS(327), 2, + sym_uzumaki_keyword, + sym_number_literal, + STATE(136), 2, sym__simple_name, sym_generic_name, - STATE(187), 2, + STATE(185), 2, sym_type_member_access_expression, sym_parenthesized_expression, - STATE(135), 3, + STATE(138), 3, sym__lval_expression, sym_array_index_access_expression, sym_function_call_expression, - STATE(392), 3, + STATE(405), 3, sym__name, sym_type_qualified_name, sym_qualified_name, - STATE(471), 3, + STATE(470), 3, sym_type_fn, sym__identifier_like_embedded_type, sym__bracketed_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(201), 9, + ACTIONS(29), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -10423,7 +10780,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(208), 11, + STATE(201), 10, sym__literal, sym__expression, sym__non_lval_expression, @@ -10432,138 +10789,14 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_bool_literal, sym_string_literal, - sym_number_literal, sym_unit_literal, sym_array_literal, - [5860] = 22, + [5929] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(27), 1, - anon_sym_LPAREN, - ACTIONS(29), 1, - anon_sym_LBRACK, - ACTIONS(31), 1, - anon_sym_fn, - ACTIONS(41), 1, - anon_sym_DASH, - ACTIONS(69), 1, - anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(207), 1, - sym_unary_not, - ACTIONS(303), 1, - sym_uzumaki_keyword, - STATE(12), 1, - sym_identifier, - STATE(76), 1, - sym__reserved_identifier, - STATE(184), 1, - sym_member_access_expression, - ACTIONS(67), 2, - anon_sym_true, - anon_sym_false, - STATE(138), 2, - sym__simple_name, - sym_generic_name, - STATE(187), 2, - sym_type_member_access_expression, - sym_parenthesized_expression, - STATE(135), 3, - sym__lval_expression, - sym_array_index_access_expression, - sym_function_call_expression, - STATE(392), 3, - sym__name, - sym_type_qualified_name, - sym_qualified_name, - STATE(471), 3, - sym_type_fn, - sym__identifier_like_embedded_type, - sym__bracketed_generic_name, - ACTIONS(73), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - ACTIONS(201), 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(209), 11, - sym__literal, - sym__expression, - sym__non_lval_expression, - sym_struct_expression, - sym_prefix_unary_expression, - sym_binary_expression, - sym_bool_literal, - sym_string_literal, - sym_number_literal, - sym_unit_literal, - sym_array_literal, - [5957] = 22, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(27), 1, - anon_sym_LPAREN, - ACTIONS(29), 1, - anon_sym_LBRACK, - ACTIONS(31), 1, - anon_sym_fn, - ACTIONS(41), 1, - anon_sym_DASH, - ACTIONS(69), 1, - anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(207), 1, - sym_unary_not, - ACTIONS(305), 1, - sym_uzumaki_keyword, - STATE(12), 1, - sym_identifier, - STATE(76), 1, - sym__reserved_identifier, - STATE(184), 1, - sym_member_access_expression, - ACTIONS(67), 2, - anon_sym_true, - anon_sym_false, - STATE(138), 2, - sym__simple_name, - sym_generic_name, - STATE(187), 2, - sym_type_member_access_expression, - sym_parenthesized_expression, - STATE(135), 3, - sym__lval_expression, - sym_array_index_access_expression, - sym_function_call_expression, - STATE(392), 3, - sym__name, - sym_type_qualified_name, - sym_qualified_name, - STATE(471), 3, - sym_type_fn, - sym__identifier_like_embedded_type, - sym__bracketed_generic_name, - ACTIONS(73), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - ACTIONS(201), 9, + ACTIONS(329), 23, sym_type_i8, sym_type_i16, sym_type_i32, @@ -10573,174 +10806,50 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(210), 11, - sym__literal, - sym__expression, - sym__non_lval_expression, - sym_struct_expression, - sym_prefix_unary_expression, - sym_binary_expression, - sym_bool_literal, - sym_string_literal, - sym_number_literal, - sym_unit_literal, - sym_array_literal, - [6054] = 22, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(27), 1, - anon_sym_LPAREN, - ACTIONS(29), 1, - anon_sym_LBRACK, - ACTIONS(31), 1, anon_sym_fn, - ACTIONS(41), 1, - anon_sym_DASH, - ACTIONS(69), 1, - anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(207), 1, - sym_unary_not, - ACTIONS(307), 1, - sym_uzumaki_keyword, - STATE(12), 1, - sym_identifier, - STATE(76), 1, - sym__reserved_identifier, - STATE(184), 1, - sym_member_access_expression, - ACTIONS(67), 2, - anon_sym_true, - anon_sym_false, - STATE(138), 2, - sym__simple_name, - sym_generic_name, - STATE(187), 2, - sym_type_member_access_expression, - sym_parenthesized_expression, - STATE(135), 3, - sym__lval_expression, - sym_array_index_access_expression, - sym_function_call_expression, - STATE(392), 3, - sym__name, - sym_type_qualified_name, - sym_qualified_name, - STATE(471), 3, - sym_type_fn, - sym__identifier_like_embedded_type, - sym__bracketed_generic_name, - ACTIONS(73), 4, + anon_sym_COLON, + anon_sym_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_COLON_COLON2, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(201), 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(211), 11, - sym__literal, - sym__expression, - sym__non_lval_expression, - sym_struct_expression, - sym_prefix_unary_expression, - sym_binary_expression, - sym_bool_literal, - sym_string_literal, - sym_number_literal, - sym_unit_literal, - sym_array_literal, - [6151] = 22, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(27), 1, + ACTIONS(331), 23, anon_sym_LPAREN, - ACTIONS(29), 1, anon_sym_LBRACK, - ACTIONS(31), 1, - anon_sym_fn, - ACTIONS(41), 1, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_DOT, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, anon_sym_DASH, - ACTIONS(65), 1, - sym_unary_not, - ACTIONS(69), 1, - anon_sym_DQUOTE, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - ACTIONS(309), 1, - sym_uzumaki_keyword, - STATE(13), 1, - sym_identifier, - STATE(76), 1, - sym__reserved_identifier, - STATE(183), 1, - sym_member_access_expression, - ACTIONS(67), 2, - anon_sym_true, - anon_sym_false, - STATE(138), 2, - sym__simple_name, - sym_generic_name, - STATE(189), 2, - sym_type_member_access_expression, - sym_parenthesized_expression, - STATE(135), 3, - sym__lval_expression, - sym_array_index_access_expression, - sym_function_call_expression, - STATE(387), 3, - sym__name, - sym_type_qualified_name, - sym_qualified_name, - STATE(464), 3, - sym_type_fn, - sym__identifier_like_embedded_type, - sym__bracketed_generic_name, - ACTIONS(73), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - ACTIONS(25), 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(215), 11, - sym__literal, - sym__expression, - sym__non_lval_expression, - sym_struct_expression, - sym_prefix_unary_expression, - sym_binary_expression, - sym_bool_literal, - sym_string_literal, - sym_number_literal, - sym_unit_literal, - sym_array_literal, - [6248] = 4, + anon_sym_PERCENT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + [5986] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(311), 22, + ACTIONS(333), 22, sym_type_i8, sym_type_i16, sym_type_i32, @@ -10756,14 +10865,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - anon_sym_COLON_COLON2, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(313), 23, + ACTIONS(335), 24, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_SEMI, @@ -10787,12 +10896,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - [6304] = 4, + anon_sym_SQUOTE, + [6043] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(311), 21, + ACTIONS(329), 22, sym_type_i8, sym_type_i16, sym_type_i32, @@ -10808,13 +10918,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(313), 23, + ACTIONS(331), 23, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_SEMI, @@ -10838,12 +10949,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_COLON_COLON2, anon_sym_SQUOTE, - [6359] = 4, + [6099] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(313), 18, + ACTIONS(331), 18, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_DOT, @@ -10862,7 +10973,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - ACTIONS(311), 24, + ACTIONS(329), 25, sym_type_i8, sym_type_i16, sym_type_i32, @@ -10876,6 +10987,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, anon_sym_assume, @@ -10887,15 +10999,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [6412] = 4, + [6153] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(313), 18, + ACTIONS(335), 18, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_DOT, + anon_sym_COLON_COLON, anon_sym_LBRACE, anon_sym_STAR_STAR, anon_sym_AMP_AMP, @@ -10910,8 +11023,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - anon_sym_COLON_COLON2, - ACTIONS(311), 23, + ACTIONS(333), 24, sym_type_i8, sym_type_i16, sym_type_i32, @@ -10925,6 +11037,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, anon_sym_assume, @@ -10935,29 +11048,79 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [6464] = 6, + [6206] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(319), 1, - anon_sym_else, - STATE(81), 1, - aux_sym_if_statement_repeat1, - ACTIONS(317), 9, + ACTIONS(331), 18, anon_sym_LPAREN, anon_sym_LBRACK, + anon_sym_DOT, anon_sym_LBRACE, - anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, anon_sym_DASH, - sym_uzumaki_keyword, - sym_unary_not, - anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(315), 28, - sym_type_i8, - sym_type_i16, - sym_type_i32, + anon_sym_PERCENT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON_COLON2, + ACTIONS(329), 24, + 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_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [6259] = 6, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(341), 1, + anon_sym_else, + STATE(80), 1, + aux_sym_if_statement_repeat1, + ACTIONS(339), 9, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_uzumaki_keyword, + sym_unary_not, + sym_unary_bitnot, + anon_sym_DQUOTE, + sym_number_literal, + ACTIONS(337), 30, + sym_visibility, + sym_type_i8, + sym_type_i16, + sym_type_i32, sym_type_i64, sym_type_u8, sym_type_u16, @@ -10967,6 +11130,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -10983,26 +11147,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [6518] = 6, + [6315] = 6, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(325), 1, + ACTIONS(347), 1, anon_sym_else, STATE(81), 1, aux_sym_if_statement_repeat1, - ACTIONS(323), 9, + ACTIONS(345), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(321), 28, + sym_number_literal, + ACTIONS(343), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11015,6 +11180,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -11031,26 +11197,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [6572] = 6, + [6371] = 6, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(332), 1, + ACTIONS(353), 1, anon_sym_else, - STATE(80), 1, + STATE(81), 1, aux_sym_if_statement_repeat1, - ACTIONS(330), 9, + ACTIONS(351), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(328), 28, + sym_number_literal, + ACTIONS(349), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11063,6 +11230,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -11079,22 +11247,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [6626] = 4, + [6427] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(336), 9, + ACTIONS(358), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(334), 29, + sym_number_literal, + ACTIONS(356), 31, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11107,6 +11276,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -11124,22 +11294,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [6675] = 4, + [6478] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(340), 9, + ACTIONS(362), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(338), 29, + sym_number_literal, + ACTIONS(360), 31, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11152,6 +11323,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -11169,22 +11341,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [6724] = 4, + [6529] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(344), 9, + ACTIONS(366), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(342), 29, + sym_number_literal, + ACTIONS(364), 31, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11197,6 +11370,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -11214,22 +11388,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [6773] = 4, + [6580] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(348), 9, + ACTIONS(370), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(346), 29, + sym_number_literal, + ACTIONS(368), 31, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11242,6 +11417,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -11259,22 +11435,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [6822] = 4, + [6631] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(352), 9, + ACTIONS(374), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(350), 29, + sym_number_literal, + ACTIONS(372), 31, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11287,6 +11464,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -11304,52 +11482,54 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [6871] = 14, + [6682] = 14, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(181), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(183), 1, + ACTIONS(204), 1, anon_sym_COLON, - ACTIONS(191), 1, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - STATE(77), 1, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - STATE(123), 1, + STATE(119), 1, sym_type_argument_list, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(448), 6, + STATE(488), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(179), 7, + ACTIONS(200), 9, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_DOT, anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN2, anon_sym_LBRACE, anon_sym_EQ, anon_sym_SQUOTE, - ACTIONS(189), 9, + ACTIONS(376), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11359,22 +11539,80 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [6940] = 4, + [6753] = 14, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(358), 9, + ACTIONS(202), 1, + anon_sym_fn, + ACTIONS(214), 1, + anon_sym_COLON, + ACTIONS(227), 1, + anon_sym_LBRACK, + ACTIONS(378), 1, + anon_sym_LPAREN, + STATE(75), 1, + sym__reserved_identifier, + STATE(90), 1, + aux_sym_type_argument_list_repeat1, + STATE(99), 1, + sym_identifier, + ACTIONS(208), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(337), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + STATE(499), 6, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + sym__bracketed_generic_name, + ACTIONS(210), 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, + ACTIONS(212), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_DOT, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_SQUOTE, + [6824] = 4, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(382), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(356), 29, + sym_number_literal, + ACTIONS(380), 31, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11387,6 +11625,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -11404,22 +11643,80 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [6989] = 4, + [6875] = 14, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(362), 9, + ACTIONS(202), 1, + anon_sym_fn, + ACTIONS(218), 1, + anon_sym_COLON, + ACTIONS(227), 1, + anon_sym_LBRACK, + ACTIONS(378), 1, + anon_sym_LPAREN, + STATE(12), 1, + aux_sym_type_argument_list_repeat1, + STATE(75), 1, + sym__reserved_identifier, + STATE(99), 1, + sym_identifier, + ACTIONS(208), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(337), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + STATE(499), 6, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + sym__bracketed_generic_name, + ACTIONS(210), 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, + ACTIONS(216), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_DOT, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_SQUOTE, + [6946] = 4, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(386), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(360), 29, + sym_number_literal, + ACTIONS(384), 31, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11432,6 +11729,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -11449,22 +11747,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [7038] = 4, + [6997] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(366), 9, + ACTIONS(374), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(364), 28, + sym_number_literal, + ACTIONS(372), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11477,6 +11776,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -11493,22 +11793,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [7086] = 4, + [7047] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(358), 9, + ACTIONS(390), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(356), 28, + sym_number_literal, + ACTIONS(388), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11521,6 +11822,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -11537,22 +11839,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [7134] = 4, + [7097] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(348), 9, + ACTIONS(394), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(346), 28, + sym_number_literal, + ACTIONS(392), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11565,6 +11868,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -11581,22 +11885,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [7182] = 4, + [7147] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(370), 9, + ACTIONS(398), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(368), 28, + sym_number_literal, + ACTIONS(396), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11609,6 +11914,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -11625,22 +11931,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [7230] = 4, + [7197] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(344), 9, + ACTIONS(402), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(342), 28, + sym_number_literal, + ACTIONS(400), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11653,6 +11960,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -11669,22 +11977,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [7278] = 4, + [7247] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(374), 9, + ACTIONS(406), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(372), 28, + sym_number_literal, + ACTIONS(404), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11697,6 +12006,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -11713,22 +12023,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [7326] = 4, + [7297] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(378), 9, + ACTIONS(410), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(376), 28, + sym_number_literal, + ACTIONS(408), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11741,6 +12052,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -11757,52 +12069,54 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [7374] = 15, + [7347] = 15, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(181), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(183), 1, + ACTIONS(204), 1, anon_sym_COLON, - ACTIONS(191), 1, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - ACTIONS(380), 1, + ACTIONS(412), 1, anon_sym_COLON_COLON2, - STATE(77), 1, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - STATE(123), 1, + STATE(119), 1, sym_type_argument_list, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(179), 5, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_DOT, - anon_sym_EQ, - anon_sym_SQUOTE, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(448), 6, + STATE(488), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(189), 9, + ACTIONS(200), 7, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_EQ, + anon_sym_SQUOTE, + ACTIONS(376), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11812,22 +12126,23 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [7444] = 4, + [7419] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(352), 9, + ACTIONS(416), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(350), 28, + sym_number_literal, + ACTIONS(414), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11840,6 +12155,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -11856,22 +12172,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [7492] = 4, + [7469] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(384), 9, + ACTIONS(420), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(382), 28, + sym_number_literal, + ACTIONS(418), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11884,6 +12201,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -11900,22 +12218,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [7540] = 4, + [7519] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(388), 9, + ACTIONS(424), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(386), 28, + sym_number_literal, + ACTIONS(422), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11928,6 +12247,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -11944,22 +12264,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [7588] = 4, + [7569] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(392), 9, + ACTIONS(428), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(390), 28, + sym_number_literal, + ACTIONS(426), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -11972,6 +12293,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -11988,22 +12310,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [7636] = 4, + [7619] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(396), 9, + ACTIONS(432), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(394), 28, + sym_number_literal, + ACTIONS(430), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -12016,6 +12339,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -12032,22 +12356,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [7684] = 4, + [7669] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(400), 9, + ACTIONS(436), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(398), 28, + sym_number_literal, + ACTIONS(434), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -12060,6 +12385,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -12076,22 +12402,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [7732] = 4, + [7719] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(404), 9, + ACTIONS(440), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(402), 28, + sym_number_literal, + ACTIONS(438), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -12104,6 +12431,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -12120,22 +12448,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [7780] = 4, + [7769] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(408), 9, + ACTIONS(444), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(406), 28, + sym_number_literal, + ACTIONS(442), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -12148,6 +12477,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -12164,22 +12494,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [7828] = 4, + [7819] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(412), 9, + ACTIONS(448), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(410), 28, + sym_number_literal, + ACTIONS(446), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -12192,6 +12523,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -12208,22 +12540,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [7876] = 4, + [7869] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(340), 9, + ACTIONS(358), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(338), 28, + sym_number_literal, + ACTIONS(356), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -12236,6 +12569,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -12252,22 +12586,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [7924] = 4, + [7919] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(416), 9, + ACTIONS(362), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(414), 28, + sym_number_literal, + ACTIONS(360), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -12280,6 +12615,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -12296,22 +12632,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [7972] = 4, + [7969] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(420), 9, + ACTIONS(366), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(418), 28, + sym_number_literal, + ACTIONS(364), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -12324,6 +12661,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -12340,22 +12678,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [8020] = 4, + [8019] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(424), 9, + ACTIONS(370), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(422), 28, + sym_number_literal, + ACTIONS(368), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -12368,6 +12707,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -12384,22 +12724,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [8068] = 4, + [8069] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(336), 9, + ACTIONS(452), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(334), 28, + sym_number_literal, + ACTIONS(450), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -12412,6 +12753,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -12428,22 +12770,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [8116] = 4, + [8119] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(428), 9, + ACTIONS(456), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(426), 28, + sym_number_literal, + ACTIONS(454), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -12456,6 +12799,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -12472,22 +12816,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [8164] = 4, + [8169] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(432), 9, + ACTIONS(382), 9, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DASH, sym_uzumaki_keyword, sym_unary_not, + sym_unary_bitnot, anon_sym_DQUOTE, - aux_sym_number_literal_token1, - ACTIONS(430), 28, + sym_number_literal, + ACTIONS(380), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -12500,6 +12845,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, anon_sym_assert, anon_sym_break, + anon_sym_DASH, anon_sym_let, anon_sym_type, anon_sym_const, @@ -12516,52 +12862,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [8212] = 15, + [8219] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(181), 1, - anon_sym_fn, - ACTIONS(191), 1, - anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(460), 9, anon_sym_LPAREN, - ACTIONS(434), 1, - anon_sym_COLON_COLON2, - STATE(77), 1, - sym__reserved_identifier, - STATE(98), 1, - sym_identifier, - STATE(123), 1, - sym_type_argument_list, - ACTIONS(179), 2, - anon_sym_DOT, + anon_sym_LBRACK, anon_sym_LBRACE, - ACTIONS(183), 4, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - ACTIONS(187), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - STATE(361), 5, - sym__name, - sym_type_qualified_name, - sym__simple_name, - sym_qualified_name, - sym_generic_name, - STATE(448), 6, - sym__type, - sym__embedded_type, - sym_type_unit, - sym_type_array, - sym_type_fn, - sym__bracketed_generic_name, - ACTIONS(189), 9, + anon_sym_RBRACE, + sym_uzumaki_keyword, + sym_unary_not, + sym_unary_bitnot, + anon_sym_DQUOTE, + sym_number_literal, + ACTIONS(458), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -12571,41 +12888,43 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [8282] = 15, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(191), 1, - anon_sym_LBRACK, - ACTIONS(354), 1, - anon_sym_LPAREN, - ACTIONS(438), 1, anon_sym_fn, - ACTIONS(440), 1, - anon_sym_RPAREN2, - ACTIONS(442), 1, - anon_sym_self, - ACTIONS(444), 1, - anon_sym__, - ACTIONS(446), 1, - sym_mut_keyword, - STATE(77), 1, - sym__reserved_identifier, - STATE(120), 1, - sym_identifier, - ACTIONS(187), 4, + anon_sym_assert, + anon_sym_break, + anon_sym_DASH, + anon_sym_let, + anon_sym_type, + anon_sym_const, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + anon_sym_if, + anon_sym_loop, + anon_sym_return, + anon_sym_true, + anon_sym_false, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(373), 5, - sym__name, - sym_type_qualified_name, - sym__simple_name, - sym_qualified_name, - sym_generic_name, - ACTIONS(436), 9, + [8269] = 4, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(464), 9, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_uzumaki_keyword, + sym_unary_not, + sym_unary_bitnot, + anon_sym_DQUOTE, + sym_number_literal, + ACTIONS(462), 30, + sym_visibility, sym_type_i8, sym_type_i16, sym_type_i32, @@ -12615,60 +12934,72 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(381), 9, - sym__type, - sym__embedded_type, - sym_type_unit, - sym_type_array, - sym_type_fn, - sym_argument_declaration, - sym_self_reference, - sym_ignore_argument, - sym__bracketed_generic_name, - [8351] = 14, + anon_sym_fn, + anon_sym_assert, + anon_sym_break, + anon_sym_DASH, + anon_sym_let, + anon_sym_type, + anon_sym_const, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + anon_sym_if, + anon_sym_loop, + anon_sym_return, + anon_sym_true, + anon_sym_false, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [8319] = 15, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(181), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(191), 1, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - STATE(77), 1, + ACTIONS(468), 1, + anon_sym_COLON_COLON2, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - STATE(123), 1, + STATE(119), 1, sym_type_argument_list, - ACTIONS(179), 2, + ACTIONS(200), 2, anon_sym_DOT, anon_sym_LBRACE, - ACTIONS(183), 4, + ACTIONS(204), 4, anon_sym_assume, anon_sym_forall, anon_sym_exists, anon_sym_unique, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(448), 6, + STATE(463), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(189), 9, + ACTIONS(466), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -12678,30 +13009,28 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [8418] = 6, + [8389] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(452), 1, - anon_sym_COMMA, - STATE(118), 1, - aux_sym_type_argument_list_repeat1, - ACTIONS(450), 7, + ACTIONS(472), 8, anon_sym_COLON, anon_sym_EQ, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(448), 27, + ACTIONS(470), 28, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_DOT, anon_sym_COLON_COLON, + anon_sym_COMMA, anon_sym_RPAREN2, anon_sym_LBRACE, anon_sym_RBRACE, @@ -12723,92 +13052,104 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_exists, anon_sym_unique, anon_sym_SQUOTE, - [8469] = 4, + [8436] = 15, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(457), 7, - anon_sym_COLON, - anon_sym_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - ACTIONS(455), 28, - anon_sym_LPAREN, + ACTIONS(202), 1, + anon_sym_fn, + ACTIONS(227), 1, anon_sym_LBRACK, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_DOT, - anon_sym_COLON_COLON, - anon_sym_COMMA, + ACTIONS(378), 1, + anon_sym_LPAREN, + ACTIONS(476), 1, anon_sym_RPAREN2, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - anon_sym_SQUOTE, - [8515] = 15, + ACTIONS(478), 1, + anon_sym_self, + ACTIONS(480), 1, + anon_sym__, + ACTIONS(482), 1, + sym_mut_keyword, + STATE(75), 1, + sym__reserved_identifier, + STATE(124), 1, + sym_identifier, + ACTIONS(208), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(337), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + ACTIONS(474), 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(395), 9, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + sym_argument_declaration, + sym_self_reference, + sym_ignore_argument, + sym__bracketed_generic_name, + [8505] = 14, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(181), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(191), 1, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - ACTIONS(459), 1, - anon_sym_COLON, - ACTIONS(461), 1, - anon_sym_COLON_COLON2, - STATE(77), 1, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, STATE(123), 1, - sym_type_argument_list, - ACTIONS(179), 3, + aux_sym_type_argument_list_repeat1, + ACTIONS(212), 2, anon_sym_DOT, - anon_sym_COMMA, - anon_sym_RPAREN2, - ACTIONS(187), 4, + anon_sym_LBRACE, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + ACTIONS(214), 4, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(442), 6, + STATE(490), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(171), 9, + ACTIONS(225), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -12818,83 +13159,50 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [8583] = 6, + [8572] = 14, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(467), 1, - anon_sym_COMMA, - STATE(118), 1, - aux_sym_type_argument_list_repeat1, - ACTIONS(465), 7, - anon_sym_COLON, - anon_sym_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - ACTIONS(463), 26, - anon_sym_LPAREN, + ACTIONS(202), 1, + anon_sym_fn, + ACTIONS(227), 1, anon_sym_LBRACK, - anon_sym_SEMI, - anon_sym_RBRACK, + ACTIONS(378), 1, + anon_sym_LPAREN, + STATE(75), 1, + sym__reserved_identifier, + STATE(99), 1, + sym_identifier, + STATE(119), 1, + sym_type_argument_list, + ACTIONS(200), 2, anon_sym_DOT, - anon_sym_COLON_COLON, - anon_sym_RPAREN2, anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, + ACTIONS(204), 4, anon_sym_assume, anon_sym_forall, anon_sym_exists, anon_sym_unique, - anon_sym_SQUOTE, - [8633] = 14, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(191), 1, - anon_sym_LBRACK, - ACTIONS(354), 1, - anon_sym_LPAREN, - ACTIONS(438), 1, - anon_sym_fn, - ACTIONS(442), 1, - anon_sym_self, - ACTIONS(444), 1, - anon_sym__, - ACTIONS(446), 1, - sym_mut_keyword, - STATE(77), 1, - sym__reserved_identifier, - STATE(120), 1, - sym_identifier, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(373), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - ACTIONS(469), 9, + STATE(463), 6, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + sym__bracketed_generic_name, + ACTIONS(466), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -12904,144 +13212,50 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - STATE(413), 9, - sym__type, - sym__embedded_type, - sym_type_unit, - sym_type_array, - sym_type_fn, - sym_argument_declaration, - sym_self_reference, - sym_ignore_argument, - sym__bracketed_generic_name, - [8699] = 4, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(473), 7, - anon_sym_COLON, - anon_sym_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - ACTIONS(471), 28, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_DOT, - anon_sym_COLON_COLON, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - anon_sym_SQUOTE, - [8745] = 6, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(467), 1, - anon_sym_COMMA, - STATE(121), 1, - aux_sym_type_argument_list_repeat1, - ACTIONS(477), 7, - anon_sym_COLON, - anon_sym_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - ACTIONS(475), 26, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_DOT, - anon_sym_COLON_COLON, - anon_sym_RPAREN2, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - anon_sym_SQUOTE, - [8795] = 14, + [8639] = 14, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(181), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(191), 1, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - ACTIONS(461), 1, - anon_sym_COLON_COLON2, - STATE(77), 1, + STATE(18), 1, + aux_sym_type_argument_list_repeat1, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - STATE(123), 1, - sym_type_argument_list, - ACTIONS(179), 3, + ACTIONS(216), 2, anon_sym_DOT, - anon_sym_COMMA, - anon_sym_RPAREN2, - ACTIONS(187), 4, + anon_sym_LBRACE, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + ACTIONS(218), 4, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(442), 6, + STATE(490), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(171), 9, + ACTIONS(225), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -13051,46 +13265,50 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [8860] = 13, + [8706] = 15, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(181), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(191), 1, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - STATE(77), 1, + ACTIONS(412), 1, + anon_sym_COLON_COLON2, + ACTIONS(484), 1, + anon_sym_COLON, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - STATE(123), 1, + STATE(119), 1, sym_type_argument_list, - ACTIONS(179), 3, + ACTIONS(200), 3, anon_sym_DOT, anon_sym_COMMA, anon_sym_RPAREN2, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(442), 6, + STATE(488), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(171), 9, + ACTIONS(376), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -13100,47 +13318,39 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [8922] = 14, + [8774] = 14, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(181), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(185), 1, - anon_sym_COLON_COLON2, - ACTIONS(191), 1, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - STATE(77), 1, + ACTIONS(478), 1, + anon_sym_self, + ACTIONS(480), 1, + anon_sym__, + ACTIONS(482), 1, + sym_mut_keyword, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(124), 1, sym_identifier, - STATE(123), 1, - sym_type_argument_list, - ACTIONS(179), 2, - anon_sym_DOT, - anon_sym_COLON_COLON, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(448), 6, - sym__type, - sym__embedded_type, - sym_type_unit, - sym_type_array, - sym_type_fn, - sym__bracketed_generic_name, - ACTIONS(189), 9, + ACTIONS(486), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -13150,19 +13360,30 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [8986] = 4, + STATE(453), 9, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + sym_argument_declaration, + sym_self_reference, + sym_ignore_argument, + sym__bracketed_generic_name, + [8840] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(481), 6, + ACTIONS(490), 7, anon_sym_EQ, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(479), 26, + ACTIONS(488), 26, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_SEMI, @@ -13189,19 +13410,70 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_forall, anon_sym_exists, anon_sym_unique, - [9029] = 4, + [8884] = 14, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(202), 1, + anon_sym_fn, + ACTIONS(206), 1, + anon_sym_COLON_COLON2, + ACTIONS(227), 1, + anon_sym_LBRACK, + ACTIONS(378), 1, + anon_sym_LPAREN, + STATE(75), 1, + sym__reserved_identifier, + STATE(99), 1, + sym_identifier, + STATE(119), 1, + sym_type_argument_list, + ACTIONS(200), 2, + anon_sym_DOT, + anon_sym_COLON_COLON, + ACTIONS(208), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(337), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + STATE(488), 6, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + sym__bracketed_generic_name, + ACTIONS(376), 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, + [8948] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(485), 6, + ACTIONS(494), 7, anon_sym_EQ, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(483), 25, + ACTIONS(492), 25, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_SEMI, @@ -13227,19 +13499,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_forall, anon_sym_exists, anon_sym_unique, - [9071] = 4, + [8991] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(489), 6, + ACTIONS(498), 7, anon_sym_EQ, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(487), 25, + ACTIONS(496), 25, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_SEMI, @@ -13265,19 +13538,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_forall, anon_sym_exists, anon_sym_unique, - [9113] = 4, + [9034] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(493), 6, + ACTIONS(502), 7, anon_sym_EQ, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(491), 25, + ACTIONS(500), 25, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_SEMI, @@ -13303,19 +13577,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_forall, anon_sym_exists, anon_sym_unique, - [9155] = 4, + [9077] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(497), 6, + ACTIONS(506), 7, anon_sym_EQ, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(495), 25, + ACTIONS(504), 25, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_SEMI, @@ -13341,19 +13616,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_forall, anon_sym_exists, anon_sym_unique, - [9197] = 4, + [9120] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(501), 6, + ACTIONS(510), 7, anon_sym_EQ, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(499), 25, + ACTIONS(508), 25, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_SEMI, @@ -13379,19 +13655,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_forall, anon_sym_exists, anon_sym_unique, - [9239] = 4, + [9163] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(505), 6, + ACTIONS(514), 7, anon_sym_EQ, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(503), 25, + ACTIONS(512), 25, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_SEMI, @@ -13417,27 +13694,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_forall, anon_sym_exists, anon_sym_unique, - [9281] = 6, + [9206] = 7, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(507), 1, - anon_sym_LPAREN, - ACTIONS(509), 1, - anon_sym_LBRACK, - ACTIONS(513), 5, + ACTIONS(516), 1, + anon_sym_DOT, + ACTIONS(521), 1, + anon_sym_COLON, + ACTIONS(519), 2, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + ACTIONS(490), 7, + anon_sym_EQ, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(511), 23, + ACTIONS(488), 20, + anon_sym_LPAREN, + anon_sym_LBRACK, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN2, - anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_STAR_STAR, anon_sym_AMP_AMP, @@ -13452,22 +13735,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - [9326] = 4, + [9254] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(517), 5, + ACTIONS(525), 6, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(515), 25, + ACTIONS(523), 25, anon_sym_LPAREN, anon_sym_SEMI, anon_sym_RBRACK, @@ -13493,25 +13773,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_forall, anon_sym_exists, anon_sym_unique, - [9367] = 4, + [9296] = 6, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(521), 5, + ACTIONS(531), 1, + anon_sym_COLON, + ACTIONS(529), 3, + anon_sym_DOT, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + ACTIONS(533), 7, + anon_sym_EQ, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(519), 25, + ACTIONS(527), 20, anon_sym_LPAREN, + anon_sym_LBRACK, anon_sym_SEMI, anon_sym_RBRACK, - anon_sym_COLON_COLON, anon_sym_COMMA, anon_sym_RPAREN2, - anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_STAR_STAR, anon_sym_AMP_AMP, @@ -13526,35 +13813,26 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - [9408] = 6, + [9342] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(527), 1, - anon_sym_COLON, - ACTIONS(525), 3, - anon_sym_DOT, - anon_sym_COLON_COLON, - anon_sym_LBRACE, - ACTIONS(529), 6, - anon_sym_EQ, + ACTIONS(537), 6, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(523), 20, + ACTIONS(535), 25, anon_sym_LPAREN, - anon_sym_LBRACK, anon_sym_SEMI, anon_sym_RBRACK, + anon_sym_COLON_COLON, anon_sym_COMMA, anon_sym_RPAREN2, + anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_STAR_STAR, anon_sym_AMP_AMP, @@ -13569,32 +13847,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - [9453] = 7, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + [9384] = 6, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(531), 1, - anon_sym_DOT, - ACTIONS(536), 1, - anon_sym_COLON, - ACTIONS(534), 2, - anon_sym_COLON_COLON, - anon_sym_LBRACE, - ACTIONS(481), 6, - anon_sym_EQ, + ACTIONS(539), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_LBRACK, + ACTIONS(545), 6, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(479), 20, - anon_sym_LPAREN, - anon_sym_LBRACK, + ACTIONS(543), 23, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN2, + anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_STAR_STAR, anon_sym_AMP_AMP, @@ -13609,42 +13887,154 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - [9500] = 12, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + [9430] = 21, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(181), 1, - anon_sym_fn, - ACTIONS(191), 1, - anon_sym_LBRACK, - ACTIONS(354), 1, - anon_sym_LPAREN, - STATE(77), 1, - sym__reserved_identifier, - STATE(98), 1, - sym_identifier, - STATE(123), 1, - sym_type_argument_list, - ACTIONS(187), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - STATE(361), 5, - sym__name, - sym_type_qualified_name, - sym__simple_name, - sym_qualified_name, - sym_generic_name, - STATE(448), 6, - sym__type, - sym__embedded_type, - sym_type_unit, + ACTIONS(547), 1, + anon_sym_LBRACE, + ACTIONS(549), 1, + anon_sym_STAR_STAR, + ACTIONS(551), 1, + anon_sym_AMP_AMP, + ACTIONS(553), 1, + anon_sym_PIPE_PIPE, + ACTIONS(555), 1, + anon_sym_AMP, + ACTIONS(557), 1, + anon_sym_PIPE, + ACTIONS(559), 1, + anon_sym_CARET, + ACTIONS(567), 1, + anon_sym_PERCENT, + ACTIONS(575), 1, + anon_sym_assume, + ACTIONS(577), 1, + anon_sym_forall, + ACTIONS(579), 1, + anon_sym_exists, + ACTIONS(581), 1, + anon_sym_unique, + ACTIONS(561), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(563), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(565), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(569), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(571), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(573), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + STATE(91), 6, + sym__block, + sym_block, + sym_assume_block, + sym_forall_block, + sym_exists_block, + sym_unique_block, + [9505] = 21, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(37), 1, + anon_sym_LBRACE, + ACTIONS(549), 1, + anon_sym_STAR_STAR, + ACTIONS(551), 1, + anon_sym_AMP_AMP, + ACTIONS(553), 1, + anon_sym_PIPE_PIPE, + ACTIONS(555), 1, + anon_sym_AMP, + ACTIONS(557), 1, + anon_sym_PIPE, + ACTIONS(559), 1, + anon_sym_CARET, + ACTIONS(567), 1, + anon_sym_PERCENT, + ACTIONS(583), 1, + anon_sym_assume, + ACTIONS(585), 1, + anon_sym_forall, + ACTIONS(587), 1, + anon_sym_exists, + ACTIONS(589), 1, + anon_sym_unique, + ACTIONS(561), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(563), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(565), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(569), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(571), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(573), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + STATE(108), 6, + sym__block, + sym_block, + sym_assume_block, + sym_forall_block, + sym_exists_block, + sym_unique_block, + [9580] = 12, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(202), 1, + anon_sym_fn, + ACTIONS(227), 1, + anon_sym_LBRACK, + ACTIONS(378), 1, + anon_sym_LPAREN, + STATE(75), 1, + sym__reserved_identifier, + STATE(99), 1, + sym_identifier, + STATE(119), 1, + sym_type_argument_list, + ACTIONS(208), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(337), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + STATE(488), 6, + sym__type, + sym__embedded_type, + sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(189), 9, + ACTIONS(376), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -13654,40 +14044,94 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [9557] = 11, + [9637] = 21, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(547), 1, + anon_sym_LBRACE, + ACTIONS(549), 1, + anon_sym_STAR_STAR, + ACTIONS(551), 1, + anon_sym_AMP_AMP, + ACTIONS(553), 1, + anon_sym_PIPE_PIPE, + ACTIONS(555), 1, + anon_sym_AMP, + ACTIONS(557), 1, + anon_sym_PIPE, + ACTIONS(559), 1, + anon_sym_CARET, + ACTIONS(567), 1, + anon_sym_PERCENT, + ACTIONS(575), 1, + anon_sym_assume, + ACTIONS(577), 1, + anon_sym_forall, + ACTIONS(579), 1, + anon_sym_exists, + ACTIONS(581), 1, + anon_sym_unique, + ACTIONS(561), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(563), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(565), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(569), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(571), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(573), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + STATE(79), 6, + sym__block, + sym_block, + sym_assume_block, + sym_forall_block, + sym_exists_block, + sym_unique_block, + [9712] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(181), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(191), 1, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - STATE(77), 1, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(439), 6, + STATE(419), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(538), 9, + ACTIONS(591), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -13697,40 +14141,76 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [9611] = 11, + [9766] = 4, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(595), 6, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(593), 23, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + [9806] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(191), 1, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - ACTIONS(438), 1, + ACTIONS(599), 1, anon_sym_fn, - STATE(77), 1, + STATE(78), 1, sym__reserved_identifier, - STATE(125), 1, + STATE(118), 1, sym_identifier, - ACTIONS(187), 4, + ACTIONS(601), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(373), 5, + STATE(376), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(264), 6, + STATE(298), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(540), 9, + ACTIONS(597), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -13740,40 +14220,40 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [9665] = 11, + [9860] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(191), 1, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - ACTIONS(438), 1, + ACTIONS(599), 1, anon_sym_fn, - STATE(77), 1, + STATE(78), 1, sym__reserved_identifier, - STATE(125), 1, + STATE(118), 1, sym_identifier, - ACTIONS(187), 4, + ACTIONS(601), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(373), 5, + STATE(376), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(414), 6, + STATE(287), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(542), 9, + ACTIONS(603), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -13783,26 +14263,21 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [9719] = 5, + [9914] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(151), 1, - aux_sym_type_argument_list_repeat1, - ACTIONS(477), 6, - anon_sym_COLON, + ACTIONS(607), 6, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(475), 22, - anon_sym_LPAREN, - anon_sym_LBRACK, + ACTIONS(605), 23, + anon_sym_SEMI, anon_sym_RBRACK, - anon_sym_DOT, - anon_sym_COLON_COLON, anon_sym_COMMA, anon_sym_RPAREN2, anon_sym_LBRACE, @@ -13820,40 +14295,44 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - [9761] = 11, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + [9954] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(181), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(191), 1, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - STATE(77), 1, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(468), 6, + STATE(486), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(544), 9, + ACTIONS(609), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -13863,146 +14342,76 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [9815] = 21, + [10008] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(546), 1, - anon_sym_LBRACE, - ACTIONS(548), 1, - anon_sym_STAR_STAR, - ACTIONS(550), 1, - anon_sym_AMP_AMP, - ACTIONS(552), 1, - anon_sym_PIPE_PIPE, - ACTIONS(554), 1, + ACTIONS(613), 6, anon_sym_AMP, - ACTIONS(556), 1, anon_sym_PIPE, - ACTIONS(558), 1, - anon_sym_CARET, - ACTIONS(564), 1, anon_sym_STAR, - ACTIONS(566), 1, - anon_sym_PERCENT, - ACTIONS(574), 1, - anon_sym_assume, - ACTIONS(576), 1, - anon_sym_forall, - ACTIONS(578), 1, - anon_sym_exists, - ACTIONS(580), 1, - anon_sym_unique, - ACTIONS(560), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(562), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(568), 2, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(570), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(572), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - STATE(82), 6, - sym__block, - sym_block, - sym_assume_block, - sym_forall_block, - sym_exists_block, - sym_unique_block, - [9889] = 21, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(33), 1, + ACTIONS(611), 23, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN2, anon_sym_LBRACE, - ACTIONS(548), 1, + anon_sym_RBRACE, anon_sym_STAR_STAR, - ACTIONS(550), 1, anon_sym_AMP_AMP, - ACTIONS(552), 1, anon_sym_PIPE_PIPE, - ACTIONS(554), 1, - anon_sym_AMP, - ACTIONS(556), 1, - anon_sym_PIPE, - ACTIONS(558), 1, anon_sym_CARET, - ACTIONS(564), 1, - anon_sym_STAR, - ACTIONS(566), 1, - anon_sym_PERCENT, - ACTIONS(582), 1, - anon_sym_assume, - ACTIONS(584), 1, - anon_sym_forall, - ACTIONS(586), 1, - anon_sym_exists, - ACTIONS(588), 1, - anon_sym_unique, - ACTIONS(560), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(562), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(568), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(570), 2, + anon_sym_PERCENT, anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(572), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - STATE(110), 6, - sym__block, - sym_block, - sym_assume_block, - sym_forall_block, - sym_exists_block, - sym_unique_block, - [9963] = 11, + anon_sym_GT_EQ, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + [10048] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(181), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(191), 1, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - STATE(77), 1, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(476), 6, + STATE(487), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(590), 9, + ACTIONS(615), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -14012,40 +14421,40 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [10017] = 11, + [10102] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(181), 1, - anon_sym_fn, - ACTIONS(191), 1, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - STATE(77), 1, + ACTIONS(599), 1, + anon_sym_fn, + STATE(78), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(118), 1, sym_identifier, - ACTIONS(187), 4, + ACTIONS(601), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + STATE(376), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(404), 6, + STATE(292), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(592), 9, + ACTIONS(617), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -14055,40 +14464,40 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [10071] = 11, + [10156] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(181), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(191), 1, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - STATE(77), 1, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(466), 6, + STATE(425), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(594), 9, + ACTIONS(619), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -14098,77 +14507,40 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [10125] = 5, + [10210] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(118), 1, - aux_sym_type_argument_list_repeat1, - ACTIONS(465), 6, - anon_sym_COLON, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - ACTIONS(463), 22, - anon_sym_LPAREN, + ACTIONS(202), 1, + anon_sym_fn, + ACTIONS(227), 1, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, - anon_sym_COLON_COLON, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - [10167] = 11, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(181), 1, - anon_sym_fn, - ACTIONS(191), 1, - anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - STATE(77), 1, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(435), 6, + STATE(450), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(596), 9, + ACTIONS(621), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -14178,40 +14550,40 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [10221] = 11, + [10264] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(191), 1, + ACTIONS(202), 1, + anon_sym_fn, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - ACTIONS(600), 1, - anon_sym_fn, - STATE(79), 1, + STATE(75), 1, sym__reserved_identifier, - STATE(115), 1, + STATE(99), 1, sym_identifier, - ACTIONS(602), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(340), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(270), 6, + STATE(262), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(598), 9, + ACTIONS(623), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -14221,40 +14593,40 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [10275] = 11, + [10318] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(181), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(191), 1, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - STATE(77), 1, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(418), 6, + STATE(431), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(604), 9, + ACTIONS(625), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -14264,93 +14636,76 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [10329] = 21, + [10372] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(546), 1, + ACTIONS(629), 6, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(627), 23, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN2, anon_sym_LBRACE, - ACTIONS(548), 1, + anon_sym_RBRACE, anon_sym_STAR_STAR, - ACTIONS(550), 1, anon_sym_AMP_AMP, - ACTIONS(552), 1, anon_sym_PIPE_PIPE, - ACTIONS(554), 1, - anon_sym_AMP, - ACTIONS(556), 1, - anon_sym_PIPE, - ACTIONS(558), 1, anon_sym_CARET, - ACTIONS(564), 1, - anon_sym_STAR, - ACTIONS(566), 1, - anon_sym_PERCENT, - ACTIONS(574), 1, - anon_sym_assume, - ACTIONS(576), 1, - anon_sym_forall, - ACTIONS(578), 1, - anon_sym_exists, - ACTIONS(580), 1, - anon_sym_unique, - ACTIONS(560), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(562), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(568), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(570), 2, + anon_sym_PERCENT, anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(572), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - STATE(90), 6, - sym__block, - sym_block, - sym_assume_block, - sym_forall_block, - sym_exists_block, - sym_unique_block, - [10403] = 11, + anon_sym_GT_EQ, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + [10412] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(191), 1, + ACTIONS(202), 1, + anon_sym_fn, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - ACTIONS(438), 1, - anon_sym_fn, - STATE(77), 1, + STATE(75), 1, sym__reserved_identifier, - STATE(125), 1, + STATE(99), 1, sym_identifier, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(373), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(405), 6, + STATE(517), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(606), 9, + ACTIONS(631), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -14360,40 +14715,148 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [10457] = 11, + [10466] = 4, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(635), 6, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(633), 23, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + [10506] = 4, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(639), 6, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(637), 23, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + [10546] = 4, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(643), 6, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(641), 23, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + [10586] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(191), 1, + ACTIONS(202), 1, + anon_sym_fn, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - ACTIONS(438), 1, - anon_sym_fn, - STATE(77), 1, + STATE(75), 1, sym__reserved_identifier, - STATE(125), 1, + STATE(99), 1, sym_identifier, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(373), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(421), 6, + STATE(430), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(608), 9, + ACTIONS(645), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -14403,40 +14866,40 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [10511] = 11, + [10640] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(191), 1, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - ACTIONS(600), 1, + ACTIONS(599), 1, anon_sym_fn, - STATE(79), 1, + STATE(78), 1, sym__reserved_identifier, - STATE(115), 1, + STATE(118), 1, sym_identifier, - ACTIONS(602), 4, + ACTIONS(601), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(340), 5, + STATE(376), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(264), 6, + STATE(289), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(540), 9, + ACTIONS(647), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -14446,40 +14909,40 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [10565] = 11, + [10694] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(191), 1, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - ACTIONS(600), 1, + ACTIONS(599), 1, anon_sym_fn, - STATE(79), 1, + STATE(78), 1, sym__reserved_identifier, - STATE(115), 1, + STATE(118), 1, sym_identifier, - ACTIONS(602), 4, + ACTIONS(601), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(340), 5, + STATE(376), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(265), 6, + STATE(262), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(610), 9, + ACTIONS(623), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -14489,40 +14952,112 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [10619] = 11, + [10748] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(31), 1, + ACTIONS(651), 6, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(649), 23, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + [10788] = 4, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(655), 6, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(653), 23, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + [10828] = 11, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(191), 1, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - STATE(76), 1, + STATE(75), 1, sym__reserved_identifier, - STATE(127), 1, + STATE(99), 1, sym_identifier, - ACTIONS(73), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(424), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(264), 6, + STATE(484), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(540), 9, + ACTIONS(657), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -14532,40 +15067,40 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [10673] = 11, + [10882] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(181), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(191), 1, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - STATE(77), 1, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(444), 6, + STATE(502), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(612), 9, + ACTIONS(659), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -14575,40 +15110,40 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [10727] = 11, + [10936] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(191), 1, + ACTIONS(202), 1, + anon_sym_fn, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - ACTIONS(600), 1, - anon_sym_fn, - STATE(79), 1, + STATE(75), 1, sym__reserved_identifier, - STATE(115), 1, + STATE(99), 1, sym_identifier, - ACTIONS(602), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(340), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(266), 6, + STATE(508), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(614), 9, + ACTIONS(661), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -14618,40 +15153,112 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [10781] = 11, + [10990] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(191), 1, - anon_sym_LBRACK, - ACTIONS(354), 1, - anon_sym_LPAREN, - ACTIONS(600), 1, - anon_sym_fn, - STATE(79), 1, - sym__reserved_identifier, - STATE(115), 1, - sym_identifier, - ACTIONS(602), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - STATE(340), 5, - sym__name, - sym_type_qualified_name, - sym__simple_name, - sym_qualified_name, - sym_generic_name, - STATE(271), 6, - sym__type, - sym__embedded_type, - sym_type_unit, - sym_type_array, - sym_type_fn, - sym__bracketed_generic_name, - ACTIONS(616), 9, + ACTIONS(665), 6, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(663), 23, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + [11030] = 4, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(669), 6, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(667), 23, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + [11070] = 11, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(35), 1, + anon_sym_fn, + ACTIONS(227), 1, + anon_sym_LBRACK, + ACTIONS(378), 1, + anon_sym_LPAREN, + STATE(73), 1, + sym__reserved_identifier, + STATE(127), 1, + sym_identifier, + ACTIONS(75), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(454), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + STATE(262), 6, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + sym__bracketed_generic_name, + ACTIONS(623), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -14661,40 +15268,40 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [10835] = 11, + [11124] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(181), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(191), 1, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - STATE(77), 1, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(264), 6, + STATE(456), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(540), 9, + ACTIONS(671), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -14704,40 +15311,40 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [10889] = 11, + [11178] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(181), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(191), 1, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - STATE(77), 1, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(454), 6, + STATE(476), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(618), 9, + ACTIONS(673), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -14747,40 +15354,40 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [10943] = 11, + [11232] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(181), 1, + ACTIONS(202), 1, anon_sym_fn, - ACTIONS(191), 1, + ACTIONS(227), 1, anon_sym_LBRACK, - ACTIONS(354), 1, + ACTIONS(378), 1, anon_sym_LPAREN, - STATE(77), 1, + STATE(75), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(99), 1, sym_identifier, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(361), 5, + STATE(337), 5, sym__name, sym_type_qualified_name, sym__simple_name, sym_qualified_name, sym_generic_name, - STATE(460), 6, + STATE(467), 6, sym__type, sym__embedded_type, sym_type_unit, sym_type_array, sym_type_fn, sym__bracketed_generic_name, - ACTIONS(620), 9, + ACTIONS(675), 9, sym_type_i8, sym_type_i16, sym_type_i32, @@ -14790,130 +15397,285 @@ static const uint16_t ts_small_parse_table[] = { sym_type_u32, sym_type_u64, sym_type_bool, - [10997] = 4, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(624), 5, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - ACTIONS(622), 23, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - [11036] = 4, + [11286] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(628), 5, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - ACTIONS(626), 23, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - [11075] = 4, + ACTIONS(227), 1, + anon_sym_LBRACK, + ACTIONS(378), 1, + anon_sym_LPAREN, + ACTIONS(599), 1, + anon_sym_fn, + STATE(78), 1, + sym__reserved_identifier, + STATE(118), 1, + sym_identifier, + ACTIONS(601), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(376), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + STATE(271), 6, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + sym__bracketed_generic_name, + ACTIONS(677), 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, + [11340] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(632), 5, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - ACTIONS(630), 23, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - [11114] = 4, + ACTIONS(227), 1, + anon_sym_LBRACK, + ACTIONS(378), 1, + anon_sym_LPAREN, + ACTIONS(599), 1, + anon_sym_fn, + STATE(78), 1, + sym__reserved_identifier, + STATE(118), 1, + sym_identifier, + ACTIONS(601), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(376), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + STATE(265), 6, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + sym__bracketed_generic_name, + ACTIONS(679), 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, + [11394] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(636), 5, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - ACTIONS(634), 23, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_STAR_STAR, + ACTIONS(227), 1, + anon_sym_LBRACK, + ACTIONS(378), 1, + anon_sym_LPAREN, + ACTIONS(599), 1, + anon_sym_fn, + STATE(78), 1, + sym__reserved_identifier, + STATE(118), 1, + sym_identifier, + ACTIONS(601), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(376), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + STATE(281), 6, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + sym__bracketed_generic_name, + ACTIONS(681), 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, + [11448] = 11, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(227), 1, + anon_sym_LBRACK, + ACTIONS(378), 1, + anon_sym_LPAREN, + ACTIONS(599), 1, + anon_sym_fn, + STATE(78), 1, + sym__reserved_identifier, + STATE(118), 1, + sym_identifier, + ACTIONS(601), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(376), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + STATE(282), 6, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + sym__bracketed_generic_name, + ACTIONS(683), 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, + [11502] = 11, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(202), 1, + anon_sym_fn, + ACTIONS(227), 1, + anon_sym_LBRACK, + ACTIONS(378), 1, + anon_sym_LPAREN, + STATE(75), 1, + sym__reserved_identifier, + STATE(99), 1, + sym_identifier, + ACTIONS(208), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(337), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + STATE(506), 6, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + sym__bracketed_generic_name, + ACTIONS(685), 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, + [11556] = 11, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(202), 1, + anon_sym_fn, + ACTIONS(227), 1, + anon_sym_LBRACK, + ACTIONS(378), 1, + anon_sym_LPAREN, + STATE(75), 1, + sym__reserved_identifier, + STATE(99), 1, + sym_identifier, + ACTIONS(208), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(337), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + STATE(507), 6, + sym__type, + sym__embedded_type, + sym_type_unit, + sym_type_array, + sym_type_fn, + sym__bracketed_generic_name, + ACTIONS(687), 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, + [11610] = 6, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(519), 1, + anon_sym_COLON_COLON, + ACTIONS(516), 2, + anon_sym_DOT, + anon_sym_LBRACE, + ACTIONS(490), 6, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(488), 19, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_STAR_STAR, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_CARET, @@ -14930,24 +15692,26 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_forall, anon_sym_exists, anon_sym_unique, - [11153] = 4, + [11653] = 6, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(640), 5, + ACTIONS(689), 1, + anon_sym_LBRACE, + ACTIONS(529), 2, + anon_sym_DOT, + anon_sym_COLON_COLON, + ACTIONS(533), 6, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(638), 23, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_LBRACE, - anon_sym_RBRACE, + ACTIONS(527), 19, + anon_sym_LPAREN, + anon_sym_LBRACK, anon_sym_STAR_STAR, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, @@ -14965,23 +15729,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_forall, anon_sym_exists, anon_sym_unique, - [11192] = 4, + [11696] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(644), 5, + ACTIONS(692), 1, + anon_sym_DOT, + ACTIONS(533), 7, + anon_sym_EQ, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(642), 23, + ACTIONS(527), 20, + anon_sym_LPAREN, + anon_sym_LBRACK, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN2, - anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_STAR_STAR, anon_sym_AMP_AMP, @@ -14996,28 +15765,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - [11231] = 4, + [11737] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(648), 5, + ACTIONS(694), 1, + anon_sym_DOT, + ACTIONS(533), 6, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(646), 23, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN2, + ACTIONS(527), 20, + anon_sym_LPAREN, + anon_sym_LBRACK, anon_sym_LBRACE, - anon_sym_RBRACE, anon_sym_STAR_STAR, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, @@ -15035,23 +15800,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_forall, anon_sym_exists, anon_sym_unique, - [11270] = 4, + [11777] = 6, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(652), 5, + ACTIONS(539), 1, + anon_sym_LPAREN, + ACTIONS(698), 1, + anon_sym_COLON_COLON, + ACTIONS(700), 6, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(650), 23, + ACTIONS(696), 18, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN2, - anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_STAR_STAR, anon_sym_AMP_AMP, @@ -15066,28 +15835,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - [11309] = 4, + [11818] = 6, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(656), 5, + ACTIONS(539), 1, + anon_sym_LPAREN, + ACTIONS(702), 1, + anon_sym_COLON_COLON, + ACTIONS(700), 6, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(654), 23, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN2, + ACTIONS(696), 18, anon_sym_LBRACE, - anon_sym_RBRACE, anon_sym_STAR_STAR, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, @@ -15105,24 +15870,26 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_forall, anon_sym_exists, anon_sym_unique, - [11348] = 4, + [11859] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(660), 5, + ACTIONS(704), 1, + anon_sym_RPAREN2, + ACTIONS(204), 6, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(658), 23, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN2, + ACTIONS(200), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_COLON_COLON, anon_sym_LBRACE, - anon_sym_RBRACE, anon_sym_STAR_STAR, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, @@ -15136,29 +15903,70 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - [11387] = 4, + [11897] = 14, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(664), 5, + ACTIONS(709), 1, + anon_sym_STAR_STAR, + ACTIONS(711), 1, anon_sym_AMP, + ACTIONS(713), 1, anon_sym_PIPE, + ACTIONS(715), 1, + anon_sym_CARET, + ACTIONS(723), 1, + anon_sym_PERCENT, + ACTIONS(717), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(719), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(721), 2, anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(662), 23, + ACTIONS(727), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(729), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(707), 7, anon_sym_SEMI, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN2, - anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [11952] = 7, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(709), 1, anon_sym_STAR_STAR, + ACTIONS(723), 1, + anon_sym_PERCENT, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(731), 4, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + ACTIONS(707), 16, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_RBRACE, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_CARET, @@ -15166,34 +15974,26 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_GT, anon_sym_PLUS, anon_sym_DASH, - anon_sym_PERCENT, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - [11426] = 4, + [11993] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(668), 5, + ACTIONS(549), 1, + anon_sym_STAR_STAR, + ACTIONS(731), 6, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(666), 23, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN2, + ACTIONS(707), 17, anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_STAR_STAR, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_CARET, @@ -15210,231 +16010,263 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_forall, anon_sym_exists, anon_sym_unique, - [11465] = 4, + [12030] = 14, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(672), 5, + ACTIONS(549), 1, + anon_sym_STAR_STAR, + ACTIONS(555), 1, anon_sym_AMP, + ACTIONS(557), 1, anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - ACTIONS(670), 23, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, + ACTIONS(559), 1, anon_sym_CARET, + ACTIONS(567), 1, + anon_sym_PERCENT, + ACTIONS(561), 2, anon_sym_LT_LT, anon_sym_GT_GT, + ACTIONS(563), 2, anon_sym_PLUS, anon_sym_DASH, - anon_sym_PERCENT, + ACTIONS(565), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(569), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(571), 2, anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(573), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_GT_EQ, + ACTIONS(707), 7, + anon_sym_LBRACE, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, anon_sym_assume, anon_sym_forall, anon_sym_exists, anon_sym_unique, - [11504] = 6, + [12085] = 15, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(674), 1, - anon_sym_LBRACE, - ACTIONS(525), 2, - anon_sym_DOT, - anon_sym_COLON_COLON, - ACTIONS(529), 5, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - ACTIONS(523), 19, - anon_sym_LPAREN, - anon_sym_LBRACK, + ACTIONS(549), 1, anon_sym_STAR_STAR, + ACTIONS(551), 1, anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, + ACTIONS(555), 1, + anon_sym_AMP, + ACTIONS(557), 1, + anon_sym_PIPE, + ACTIONS(559), 1, anon_sym_CARET, + ACTIONS(567), 1, + anon_sym_PERCENT, + ACTIONS(561), 2, anon_sym_LT_LT, anon_sym_GT_GT, + ACTIONS(563), 2, anon_sym_PLUS, anon_sym_DASH, - anon_sym_PERCENT, + ACTIONS(565), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(569), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(571), 2, anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(573), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_GT_EQ, + ACTIONS(707), 6, + anon_sym_LBRACE, + anon_sym_PIPE_PIPE, anon_sym_assume, anon_sym_forall, anon_sym_exists, anon_sym_unique, - [11546] = 6, + [12142] = 12, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(534), 1, - anon_sym_COLON_COLON, - ACTIONS(531), 2, - anon_sym_DOT, - anon_sym_LBRACE, - ACTIONS(481), 5, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - ACTIONS(479), 19, - anon_sym_LPAREN, - anon_sym_LBRACK, + ACTIONS(549), 1, anon_sym_STAR_STAR, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET, + ACTIONS(567), 1, + anon_sym_PERCENT, + ACTIONS(561), 2, anon_sym_LT_LT, anon_sym_GT_GT, + ACTIONS(563), 2, anon_sym_PLUS, anon_sym_DASH, - anon_sym_PERCENT, + ACTIONS(565), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(569), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(571), 2, anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(573), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_GT_EQ, + ACTIONS(731), 2, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(707), 8, + anon_sym_LBRACE, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, anon_sym_assume, anon_sym_forall, anon_sym_exists, anon_sym_unique, - [11588] = 5, + [12193] = 14, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(677), 1, - anon_sym_DOT, - ACTIONS(529), 5, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - ACTIONS(523), 20, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_LBRACE, + ACTIONS(549), 1, anon_sym_STAR_STAR, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, + ACTIONS(555), 1, + anon_sym_AMP, + ACTIONS(559), 1, anon_sym_CARET, + ACTIONS(567), 1, + anon_sym_PERCENT, + ACTIONS(731), 1, + anon_sym_PIPE, + ACTIONS(561), 2, anon_sym_LT_LT, anon_sym_GT_GT, + ACTIONS(563), 2, anon_sym_PLUS, anon_sym_DASH, - anon_sym_PERCENT, + ACTIONS(565), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(569), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(571), 2, anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(573), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_GT_EQ, + ACTIONS(707), 7, + anon_sym_LBRACE, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, anon_sym_assume, anon_sym_forall, anon_sym_exists, anon_sym_unique, - [11627] = 5, + [12248] = 13, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(679), 1, - anon_sym_DOT, - ACTIONS(529), 6, - anon_sym_EQ, + ACTIONS(549), 1, + anon_sym_STAR_STAR, + ACTIONS(555), 1, anon_sym_AMP, + ACTIONS(567), 1, + anon_sym_PERCENT, + ACTIONS(731), 1, anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - ACTIONS(523), 18, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_RPAREN2, - anon_sym_STAR_STAR, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET, + ACTIONS(561), 2, anon_sym_LT_LT, anon_sym_GT_GT, + ACTIONS(563), 2, anon_sym_PLUS, anon_sym_DASH, - anon_sym_PERCENT, + ACTIONS(565), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(569), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(571), 2, anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(573), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_GT_EQ, - [11665] = 5, + ACTIONS(707), 8, + anon_sym_LBRACE, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + [12301] = 8, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(681), 1, - anon_sym_DOT, - ACTIONS(529), 5, + ACTIONS(549), 1, + anon_sym_STAR_STAR, + ACTIONS(567), 1, + anon_sym_PERCENT, + ACTIONS(563), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(565), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(731), 4, anon_sym_AMP, anon_sym_PIPE, - anon_sym_STAR, anon_sym_LT, anon_sym_GT, - ACTIONS(523), 19, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_RBRACE, - anon_sym_STAR_STAR, + ACTIONS(707), 14, + anon_sym_LBRACE, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_CARET, anon_sym_LT_LT, anon_sym_GT_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_PERCENT, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - [11703] = 6, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + [12344] = 7, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(507), 1, - anon_sym_LPAREN, - ACTIONS(683), 1, - anon_sym_COLON_COLON, - ACTIONS(687), 5, + ACTIONS(549), 1, + anon_sym_STAR_STAR, + ACTIONS(567), 1, + anon_sym_PERCENT, + ACTIONS(565), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(731), 4, anon_sym_AMP, anon_sym_PIPE, - anon_sym_STAR, anon_sym_LT, anon_sym_GT, - ACTIONS(685), 18, + ACTIONS(707), 16, anon_sym_LBRACE, - anon_sym_STAR_STAR, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_CARET, @@ -15442,7 +16274,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_GT, anon_sym_PLUS, anon_sym_DASH, - anon_sym_PERCENT, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, @@ -15451,26 +16282,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_forall, anon_sym_exists, anon_sym_unique, - [11743] = 5, + [12385] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(689), 1, - anon_sym_RPAREN2, - ACTIONS(183), 5, + ACTIONS(549), 1, + anon_sym_STAR_STAR, + ACTIONS(731), 6, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(179), 18, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_COLON_COLON, + ACTIONS(707), 17, anon_sym_LBRACE, - anon_sym_STAR_STAR, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_CARET, @@ -15483,99 +16310,104 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - [11780] = 6, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + [12422] = 9, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(507), 1, - anon_sym_LPAREN, - ACTIONS(692), 1, - anon_sym_COLON_COLON, - ACTIONS(687), 5, + ACTIONS(549), 1, + anon_sym_STAR_STAR, + ACTIONS(567), 1, + anon_sym_PERCENT, + ACTIONS(561), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(563), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(565), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(731), 4, anon_sym_AMP, anon_sym_PIPE, - anon_sym_STAR, anon_sym_LT, anon_sym_GT, - ACTIONS(685), 17, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_RBRACE, - anon_sym_STAR_STAR, + ACTIONS(707), 12, + anon_sym_LBRACE, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_PERCENT, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - [11819] = 14, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + [12467] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(548), 1, + ACTIONS(549), 1, anon_sym_STAR_STAR, - ACTIONS(554), 1, - anon_sym_AMP, - ACTIONS(558), 1, - anon_sym_CARET, - ACTIONS(564), 1, - anon_sym_STAR, - ACTIONS(566), 1, + ACTIONS(567), 1, anon_sym_PERCENT, - ACTIONS(696), 1, - anon_sym_PIPE, - ACTIONS(560), 2, + ACTIONS(561), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(562), 2, + ACTIONS(563), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(568), 2, + ACTIONS(565), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(569), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(570), 2, + ACTIONS(571), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(572), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(694), 7, + ACTIONS(731), 2, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(707), 10, anon_sym_LBRACE, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, anon_sym_assume, anon_sym_forall, anon_sym_exists, anon_sym_unique, - [11873] = 6, + [12516] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(507), 1, - anon_sym_LPAREN, - ACTIONS(698), 1, - anon_sym_COLON_COLON, - ACTIONS(687), 5, + ACTIONS(709), 1, + anon_sym_STAR_STAR, + ACTIONS(731), 6, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(685), 16, + ACTIONS(707), 17, anon_sym_SEMI, anon_sym_RBRACK, + anon_sym_COMMA, anon_sym_RPAREN2, - anon_sym_STAR_STAR, + anon_sym_RBRACE, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_CARET, @@ -15588,216 +16420,260 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - [11911] = 5, + [12553] = 4, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(735), 7, + anon_sym_LPAREN, + anon_sym_LBRACK, + sym_uzumaki_keyword, + sym_unary_not, + sym_unary_bitnot, + anon_sym_DQUOTE, + sym_number_literal, + ACTIONS(733), 17, + 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_DASH, + anon_sym_true, + anon_sym_false, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [12588] = 9, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(548), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(696), 5, + ACTIONS(723), 1, + anon_sym_PERCENT, + ACTIONS(717), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(719), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(731), 4, anon_sym_AMP, anon_sym_PIPE, - anon_sym_STAR, anon_sym_LT, anon_sym_GT, - ACTIONS(694), 17, - anon_sym_LBRACE, + ACTIONS(707), 12, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_RBRACE, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_PERCENT, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - [11947] = 14, + [12633] = 13, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(548), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(554), 1, + ACTIONS(711), 1, anon_sym_AMP, - ACTIONS(556), 1, - anon_sym_PIPE, - ACTIONS(558), 1, - anon_sym_CARET, - ACTIONS(564), 1, - anon_sym_STAR, - ACTIONS(566), 1, + ACTIONS(723), 1, anon_sym_PERCENT, - ACTIONS(560), 2, + ACTIONS(731), 1, + anon_sym_PIPE, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(562), 2, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(568), 2, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(570), 2, + ACTIONS(727), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(572), 2, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(694), 7, - anon_sym_LBRACE, + ACTIONS(707), 8, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_RBRACE, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - [12001] = 15, + anon_sym_CARET, + [12686] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(548), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(550), 1, - anon_sym_AMP_AMP, - ACTIONS(554), 1, - anon_sym_AMP, - ACTIONS(556), 1, - anon_sym_PIPE, - ACTIONS(558), 1, - anon_sym_CARET, - ACTIONS(564), 1, - anon_sym_STAR, - ACTIONS(566), 1, + ACTIONS(723), 1, anon_sym_PERCENT, - ACTIONS(560), 2, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(562), 2, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(568), 2, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(570), 2, + ACTIONS(727), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(572), 2, + ACTIONS(731), 2, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(707), 10, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_RBRACE, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(694), 6, - anon_sym_LBRACE, - anon_sym_PIPE_PIPE, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - [12057] = 12, + [12735] = 14, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(548), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(564), 1, - anon_sym_STAR, - ACTIONS(566), 1, + ACTIONS(711), 1, + anon_sym_AMP, + ACTIONS(715), 1, + anon_sym_CARET, + ACTIONS(723), 1, anon_sym_PERCENT, - ACTIONS(560), 2, + ACTIONS(731), 1, + anon_sym_PIPE, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(562), 2, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(568), 2, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(570), 2, + ACTIONS(727), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(572), 2, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(696), 2, - anon_sym_AMP, - anon_sym_PIPE, - ACTIONS(694), 8, - anon_sym_LBRACE, + ACTIONS(707), 7, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_RBRACE, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - [12107] = 13, + [12790] = 15, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(548), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(554), 1, + ACTIONS(711), 1, anon_sym_AMP, - ACTIONS(564), 1, - anon_sym_STAR, - ACTIONS(566), 1, - anon_sym_PERCENT, - ACTIONS(696), 1, + ACTIONS(713), 1, anon_sym_PIPE, - ACTIONS(560), 2, + ACTIONS(715), 1, + anon_sym_CARET, + ACTIONS(723), 1, + anon_sym_PERCENT, + ACTIONS(737), 1, + anon_sym_AMP_AMP, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(562), 2, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(568), 2, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(570), 2, + ACTIONS(727), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(572), 2, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(694), 8, - anon_sym_LBRACE, - anon_sym_AMP_AMP, + ACTIONS(707), 6, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_RBRACE, anon_sym_PIPE_PIPE, - anon_sym_CARET, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - [12159] = 8, + [12847] = 8, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(548), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(564), 1, - anon_sym_STAR, - ACTIONS(566), 1, + ACTIONS(723), 1, anon_sym_PERCENT, - ACTIONS(562), 2, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(696), 4, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(731), 4, anon_sym_AMP, anon_sym_PIPE, anon_sym_LT, anon_sym_GT, - ACTIONS(694), 14, - anon_sym_LBRACE, + ACTIONS(707), 14, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_RBRACE, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_CARET, @@ -15807,58 +16683,65 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - [12201] = 7, + [12890] = 12, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(548), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(564), 1, - anon_sym_STAR, - ACTIONS(566), 1, + ACTIONS(723), 1, anon_sym_PERCENT, - ACTIONS(696), 4, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_LT, - anon_sym_GT, - ACTIONS(694), 16, - anon_sym_LBRACE, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(727), 2, anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - [12241] = 5, + ACTIONS(731), 2, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(707), 8, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_RBRACE, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [12941] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(548), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(696), 5, + ACTIONS(731), 6, anon_sym_AMP, anon_sym_PIPE, anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(694), 17, - anon_sym_LBRACE, + ACTIONS(707), 17, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_RBRACE, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_CARET, @@ -15871,1832 +16754,1544 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - [12277] = 9, + [12978] = 7, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(548), 1, - anon_sym_STAR_STAR, - ACTIONS(564), 1, - anon_sym_STAR, - ACTIONS(566), 1, - anon_sym_PERCENT, - ACTIONS(560), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(562), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(696), 4, + ACTIONS(539), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_LBRACK, + ACTIONS(739), 1, + anon_sym_EQ, + ACTIONS(545), 6, anon_sym_AMP, anon_sym_PIPE, + anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(694), 12, - anon_sym_LBRACE, + ACTIONS(543), 14, + anon_sym_SEMI, + anon_sym_STAR_STAR, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_PERCENT, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - [12321] = 11, + [13018] = 18, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(548), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(564), 1, - anon_sym_STAR, - ACTIONS(566), 1, + ACTIONS(711), 1, + anon_sym_AMP, + ACTIONS(713), 1, + anon_sym_PIPE, + ACTIONS(715), 1, + anon_sym_CARET, + ACTIONS(723), 1, anon_sym_PERCENT, - ACTIONS(560), 2, + ACTIONS(737), 1, + anon_sym_AMP_AMP, + ACTIONS(741), 1, + anon_sym_COMMA, + ACTIONS(743), 1, + anon_sym_RBRACE, + ACTIONS(745), 1, + anon_sym_PIPE_PIPE, + STATE(402), 1, + aux_sym_struct_expression_repeat1, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(562), 2, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(568), 2, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(570), 2, + ACTIONS(727), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(696), 2, - anon_sym_AMP, - anon_sym_PIPE, - ACTIONS(694), 10, - anon_sym_LBRACE, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - [12369] = 7, + [13079] = 18, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(507), 1, - anon_sym_LPAREN, - ACTIONS(509), 1, - anon_sym_LBRACK, - ACTIONS(700), 1, - anon_sym_EQ, - ACTIONS(513), 5, + ACTIONS(709), 1, + anon_sym_STAR_STAR, + ACTIONS(711), 1, anon_sym_AMP, + ACTIONS(713), 1, anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - ACTIONS(511), 14, - anon_sym_SEMI, - anon_sym_STAR_STAR, + ACTIONS(715), 1, + anon_sym_CARET, + ACTIONS(723), 1, + anon_sym_PERCENT, + ACTIONS(737), 1, anon_sym_AMP_AMP, + ACTIONS(745), 1, anon_sym_PIPE_PIPE, - anon_sym_CARET, + ACTIONS(747), 1, + anon_sym_RBRACK, + ACTIONS(749), 1, + anon_sym_COMMA, + STATE(388), 1, + aux_sym_array_literal_repeat1, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, - anon_sym_PERCENT, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(727), 2, anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_GT_EQ, - [12408] = 5, + [13140] = 18, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(702), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(696), 5, + ACTIONS(711), 1, anon_sym_AMP, + ACTIONS(713), 1, anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - ACTIONS(694), 16, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_RBRACE, + ACTIONS(715), 1, + anon_sym_CARET, + ACTIONS(723), 1, + anon_sym_PERCENT, + ACTIONS(737), 1, anon_sym_AMP_AMP, + ACTIONS(745), 1, anon_sym_PIPE_PIPE, - anon_sym_CARET, + ACTIONS(751), 1, + anon_sym_COMMA, + ACTIONS(753), 1, + anon_sym_RPAREN2, + STATE(393), 1, + aux_sym_function_call_expression_repeat1, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, - anon_sym_PERCENT, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(727), 2, anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_GT_EQ, - [12443] = 14, + [13201] = 18, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(702), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(704), 1, + ACTIONS(711), 1, anon_sym_AMP, - ACTIONS(706), 1, + ACTIONS(713), 1, anon_sym_PIPE, - ACTIONS(708), 1, + ACTIONS(715), 1, anon_sym_CARET, - ACTIONS(714), 1, - anon_sym_STAR, - ACTIONS(716), 1, + ACTIONS(723), 1, anon_sym_PERCENT, - ACTIONS(710), 2, + ACTIONS(737), 1, + anon_sym_AMP_AMP, + ACTIONS(745), 1, + anon_sym_PIPE_PIPE, + ACTIONS(751), 1, + anon_sym_COMMA, + ACTIONS(755), 1, + anon_sym_RPAREN2, + STATE(401), 1, + aux_sym_function_call_expression_repeat1, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(712), 2, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(718), 2, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(720), 2, + ACTIONS(727), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(722), 2, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(694), 6, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_RBRACE, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [12496] = 15, + [13262] = 16, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(702), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(704), 1, + ACTIONS(711), 1, anon_sym_AMP, - ACTIONS(706), 1, + ACTIONS(713), 1, anon_sym_PIPE, - ACTIONS(708), 1, + ACTIONS(715), 1, anon_sym_CARET, - ACTIONS(714), 1, - anon_sym_STAR, - ACTIONS(716), 1, + ACTIONS(723), 1, anon_sym_PERCENT, - ACTIONS(724), 1, + ACTIONS(737), 1, anon_sym_AMP_AMP, - ACTIONS(710), 2, + ACTIONS(745), 1, + anon_sym_PIPE_PIPE, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(712), 2, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(718), 2, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(720), 2, + ACTIONS(727), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(722), 2, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(694), 5, + ACTIONS(757), 2, anon_sym_RBRACK, anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_RBRACE, - anon_sym_PIPE_PIPE, - [12551] = 12, + [13318] = 16, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(702), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(714), 1, - anon_sym_STAR, - ACTIONS(716), 1, - anon_sym_PERCENT, - ACTIONS(696), 2, + ACTIONS(711), 1, anon_sym_AMP, + ACTIONS(713), 1, anon_sym_PIPE, - ACTIONS(710), 2, + ACTIONS(715), 1, + anon_sym_CARET, + ACTIONS(723), 1, + anon_sym_PERCENT, + ACTIONS(737), 1, + anon_sym_AMP_AMP, + ACTIONS(745), 1, + anon_sym_PIPE_PIPE, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(712), 2, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(718), 2, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(720), 2, + ACTIONS(727), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(722), 2, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(694), 7, - anon_sym_RBRACK, + ACTIONS(759), 2, anon_sym_COMMA, - anon_sym_RPAREN2, anon_sym_RBRACE, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET, - [12600] = 14, + [13374] = 16, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(696), 1, - anon_sym_PIPE, - ACTIONS(702), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(704), 1, + ACTIONS(711), 1, anon_sym_AMP, - ACTIONS(708), 1, + ACTIONS(713), 1, + anon_sym_PIPE, + ACTIONS(715), 1, anon_sym_CARET, - ACTIONS(714), 1, - anon_sym_STAR, - ACTIONS(716), 1, + ACTIONS(723), 1, anon_sym_PERCENT, - ACTIONS(710), 2, + ACTIONS(737), 1, + anon_sym_AMP_AMP, + ACTIONS(745), 1, + anon_sym_PIPE_PIPE, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(712), 2, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(718), 2, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(720), 2, + ACTIONS(727), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(722), 2, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(694), 6, - anon_sym_RBRACK, + ACTIONS(761), 2, anon_sym_COMMA, anon_sym_RPAREN2, - anon_sym_RBRACE, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [12653] = 13, + [13430] = 16, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(696), 1, - anon_sym_PIPE, - ACTIONS(702), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(704), 1, + ACTIONS(711), 1, anon_sym_AMP, - ACTIONS(714), 1, - anon_sym_STAR, - ACTIONS(716), 1, + ACTIONS(713), 1, + anon_sym_PIPE, + ACTIONS(715), 1, + anon_sym_CARET, + ACTIONS(723), 1, anon_sym_PERCENT, - ACTIONS(710), 2, + ACTIONS(737), 1, + anon_sym_AMP_AMP, + ACTIONS(745), 1, + anon_sym_PIPE_PIPE, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(712), 2, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(718), 2, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(720), 2, + ACTIONS(727), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(722), 2, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(694), 7, - anon_sym_RBRACK, + ACTIONS(763), 2, anon_sym_COMMA, anon_sym_RPAREN2, - anon_sym_RBRACE, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET, - [12704] = 8, + [13486] = 13, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(702), 1, + ACTIONS(765), 1, + ts_builtin_sym_end, + ACTIONS(767), 1, + sym_visibility, + ACTIONS(770), 1, + anon_sym_fn, + ACTIONS(773), 1, + anon_sym_type, + ACTIONS(776), 1, + anon_sym_const, + ACTIONS(779), 1, + anon_sym_spec, + ACTIONS(782), 1, + anon_sym_enum, + ACTIONS(785), 1, + anon_sym_struct, + ACTIONS(788), 1, + anon_sym_external, + ACTIONS(791), 1, + anon_sym_use, + STATE(220), 10, + sym__definition, + sym_type_definition_statement, + sym_constant_definition, + sym_spec_definition, + sym_enum_definition, + sym_struct_definition, + sym_function_definition, + sym_external_function_definition, + sym_use_directive, + aux_sym_source_file_repeat1, + [13535] = 16, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(714), 1, - anon_sym_STAR, - ACTIONS(716), 1, - anon_sym_PERCENT, - ACTIONS(712), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(696), 4, + ACTIONS(711), 1, anon_sym_AMP, + ACTIONS(713), 1, anon_sym_PIPE, - anon_sym_LT, - anon_sym_GT, - ACTIONS(694), 13, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_RBRACE, + ACTIONS(715), 1, + anon_sym_CARET, + ACTIONS(723), 1, + anon_sym_PERCENT, + ACTIONS(737), 1, anon_sym_AMP_AMP, + ACTIONS(745), 1, anon_sym_PIPE_PIPE, - anon_sym_CARET, + ACTIONS(794), 1, + anon_sym_SEMI, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, + ACTIONS(719), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(727), 2, anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_GT_EQ, - [12745] = 7, + [13590] = 16, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(702), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(714), 1, - anon_sym_STAR, - ACTIONS(716), 1, - anon_sym_PERCENT, - ACTIONS(696), 4, + ACTIONS(711), 1, anon_sym_AMP, + ACTIONS(713), 1, anon_sym_PIPE, - anon_sym_LT, - anon_sym_GT, - ACTIONS(694), 15, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_RBRACE, + ACTIONS(715), 1, + anon_sym_CARET, + ACTIONS(723), 1, + anon_sym_PERCENT, + ACTIONS(737), 1, anon_sym_AMP_AMP, + ACTIONS(745), 1, anon_sym_PIPE_PIPE, - anon_sym_CARET, + ACTIONS(796), 1, + anon_sym_SEMI, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(727), 2, anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_GT_EQ, - [12784] = 5, + [13645] = 16, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(702), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(696), 5, + ACTIONS(711), 1, anon_sym_AMP, + ACTIONS(713), 1, anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - ACTIONS(694), 16, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_RBRACE, + ACTIONS(715), 1, + anon_sym_CARET, + ACTIONS(723), 1, + anon_sym_PERCENT, + ACTIONS(737), 1, anon_sym_AMP_AMP, + ACTIONS(745), 1, anon_sym_PIPE_PIPE, - anon_sym_CARET, + ACTIONS(798), 1, + anon_sym_SEMI, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, - anon_sym_PERCENT, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(727), 2, anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_GT_EQ, - [12819] = 9, + [13700] = 16, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(702), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(714), 1, - anon_sym_STAR, - ACTIONS(716), 1, + ACTIONS(711), 1, + anon_sym_AMP, + ACTIONS(713), 1, + anon_sym_PIPE, + ACTIONS(715), 1, + anon_sym_CARET, + ACTIONS(723), 1, anon_sym_PERCENT, - ACTIONS(710), 2, + ACTIONS(737), 1, + anon_sym_AMP_AMP, + ACTIONS(745), 1, + anon_sym_PIPE_PIPE, + ACTIONS(800), 1, + anon_sym_RPAREN2, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(712), 2, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(696), 4, - anon_sym_AMP, - anon_sym_PIPE, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(694), 11, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_RBRACE, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET, + ACTIONS(727), 2, anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_GT_EQ, - [12862] = 11, + [13755] = 16, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(702), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(714), 1, - anon_sym_STAR, - ACTIONS(716), 1, - anon_sym_PERCENT, - ACTIONS(696), 2, + ACTIONS(711), 1, anon_sym_AMP, + ACTIONS(713), 1, anon_sym_PIPE, - ACTIONS(710), 2, + ACTIONS(715), 1, + anon_sym_CARET, + ACTIONS(723), 1, + anon_sym_PERCENT, + ACTIONS(737), 1, + anon_sym_AMP_AMP, + ACTIONS(745), 1, + anon_sym_PIPE_PIPE, + ACTIONS(802), 1, + anon_sym_SEMI, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(712), 2, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(718), 2, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(720), 2, + ACTIONS(727), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(694), 9, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_RBRACE, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - [12909] = 7, + [13810] = 13, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(9), 1, + sym_visibility, + ACTIONS(11), 1, + anon_sym_fn, + ACTIONS(13), 1, + anon_sym_type, + ACTIONS(15), 1, + anon_sym_const, + ACTIONS(17), 1, + anon_sym_spec, + ACTIONS(19), 1, + anon_sym_enum, + ACTIONS(21), 1, + anon_sym_struct, + ACTIONS(23), 1, + anon_sym_external, + ACTIONS(25), 1, + anon_sym_use, + ACTIONS(804), 1, + ts_builtin_sym_end, + STATE(220), 10, + sym__definition, + sym_type_definition_statement, + sym_constant_definition, + sym_spec_definition, + sym_enum_definition, + sym_struct_definition, + sym_function_definition, + sym_external_function_definition, + sym_use_directive, + aux_sym_source_file_repeat1, + [13859] = 16, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(726), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(728), 1, - anon_sym_STAR, - ACTIONS(730), 1, - anon_sym_PERCENT, - ACTIONS(696), 4, + ACTIONS(711), 1, anon_sym_AMP, + ACTIONS(713), 1, anon_sym_PIPE, - anon_sym_LT, - anon_sym_GT, - ACTIONS(694), 14, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_RPAREN2, + ACTIONS(715), 1, + anon_sym_CARET, + ACTIONS(723), 1, + anon_sym_PERCENT, + ACTIONS(737), 1, anon_sym_AMP_AMP, + ACTIONS(745), 1, anon_sym_PIPE_PIPE, - anon_sym_CARET, + ACTIONS(806), 1, + anon_sym_SEMI, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(727), 2, anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_GT_EQ, - [12947] = 18, + [13914] = 16, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(702), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(704), 1, + ACTIONS(711), 1, anon_sym_AMP, - ACTIONS(706), 1, + ACTIONS(713), 1, anon_sym_PIPE, - ACTIONS(708), 1, + ACTIONS(715), 1, anon_sym_CARET, - ACTIONS(714), 1, - anon_sym_STAR, - ACTIONS(716), 1, + ACTIONS(723), 1, anon_sym_PERCENT, - ACTIONS(724), 1, + ACTIONS(737), 1, anon_sym_AMP_AMP, - ACTIONS(732), 1, - anon_sym_COMMA, - ACTIONS(734), 1, - anon_sym_RPAREN2, - ACTIONS(736), 1, + ACTIONS(745), 1, anon_sym_PIPE_PIPE, - STATE(367), 1, - aux_sym_function_call_expression_repeat1, - ACTIONS(710), 2, + ACTIONS(808), 1, + anon_sym_SEMI, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(712), 2, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(718), 2, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(720), 2, + ACTIONS(727), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(722), 2, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - [13007] = 18, + [13969] = 16, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(702), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(704), 1, + ACTIONS(711), 1, anon_sym_AMP, - ACTIONS(706), 1, + ACTIONS(713), 1, anon_sym_PIPE, - ACTIONS(708), 1, + ACTIONS(715), 1, anon_sym_CARET, - ACTIONS(714), 1, - anon_sym_STAR, - ACTIONS(716), 1, + ACTIONS(723), 1, anon_sym_PERCENT, - ACTIONS(724), 1, + ACTIONS(737), 1, anon_sym_AMP_AMP, - ACTIONS(736), 1, + ACTIONS(745), 1, anon_sym_PIPE_PIPE, - ACTIONS(738), 1, - anon_sym_COMMA, - ACTIONS(740), 1, - anon_sym_RBRACE, - STATE(380), 1, - aux_sym_struct_expression_repeat1, - ACTIONS(710), 2, + ACTIONS(810), 1, + anon_sym_SEMI, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(712), 2, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(718), 2, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(720), 2, + ACTIONS(727), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(722), 2, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - [13067] = 14, + [14024] = 16, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(696), 1, - anon_sym_PIPE, - ACTIONS(726), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(728), 1, - anon_sym_STAR, - ACTIONS(730), 1, - anon_sym_PERCENT, - ACTIONS(742), 1, + ACTIONS(711), 1, anon_sym_AMP, - ACTIONS(744), 1, + ACTIONS(713), 1, + anon_sym_PIPE, + ACTIONS(715), 1, anon_sym_CARET, - ACTIONS(746), 2, + ACTIONS(723), 1, + anon_sym_PERCENT, + ACTIONS(737), 1, + anon_sym_AMP_AMP, + ACTIONS(745), 1, + anon_sym_PIPE_PIPE, + ACTIONS(812), 1, + anon_sym_SEMI, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(748), 2, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(750), 2, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(752), 2, + ACTIONS(727), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(754), 2, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(694), 5, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_RPAREN2, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13119] = 8, + [14079] = 16, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(726), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(728), 1, - anon_sym_STAR, - ACTIONS(730), 1, - anon_sym_PERCENT, - ACTIONS(748), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(696), 4, + ACTIONS(711), 1, anon_sym_AMP, + ACTIONS(713), 1, anon_sym_PIPE, - anon_sym_LT, - anon_sym_GT, - ACTIONS(694), 12, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_RPAREN2, + ACTIONS(715), 1, + anon_sym_CARET, + ACTIONS(723), 1, + anon_sym_PERCENT, + ACTIONS(737), 1, anon_sym_AMP_AMP, + ACTIONS(745), 1, anon_sym_PIPE_PIPE, - anon_sym_CARET, + ACTIONS(814), 1, + anon_sym_RBRACK, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, + ACTIONS(719), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(727), 2, anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_GT_EQ, - [13159] = 9, + [14134] = 16, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(726), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(728), 1, - anon_sym_STAR, - ACTIONS(730), 1, + ACTIONS(711), 1, + anon_sym_AMP, + ACTIONS(713), 1, + anon_sym_PIPE, + ACTIONS(715), 1, + anon_sym_CARET, + ACTIONS(723), 1, anon_sym_PERCENT, - ACTIONS(746), 2, + ACTIONS(737), 1, + anon_sym_AMP_AMP, + ACTIONS(745), 1, + anon_sym_PIPE_PIPE, + ACTIONS(816), 1, + anon_sym_SEMI, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(748), 2, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(696), 4, - anon_sym_AMP, - anon_sym_PIPE, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(694), 10, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_RPAREN2, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET, + ACTIONS(727), 2, anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_GT_EQ, - [13201] = 13, + [14189] = 16, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(696), 1, - anon_sym_PIPE, - ACTIONS(726), 1, + ACTIONS(709), 1, anon_sym_STAR_STAR, - ACTIONS(728), 1, - anon_sym_STAR, - ACTIONS(730), 1, - anon_sym_PERCENT, - ACTIONS(742), 1, + ACTIONS(711), 1, anon_sym_AMP, - ACTIONS(746), 2, + ACTIONS(713), 1, + anon_sym_PIPE, + ACTIONS(715), 1, + anon_sym_CARET, + ACTIONS(723), 1, + anon_sym_PERCENT, + ACTIONS(737), 1, + anon_sym_AMP_AMP, + ACTIONS(745), 1, + anon_sym_PIPE_PIPE, + ACTIONS(818), 1, + anon_sym_SEMI, + ACTIONS(717), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(748), 2, + ACTIONS(719), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(750), 2, + ACTIONS(721), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(725), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(752), 2, + ACTIONS(727), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(754), 2, + ACTIONS(729), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(694), 6, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_RPAREN2, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET, - [13251] = 5, + [14244] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(726), 1, - anon_sym_STAR_STAR, - ACTIONS(696), 5, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - ACTIONS(694), 15, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_RPAREN2, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - [13285] = 11, + ACTIONS(9), 1, + sym_visibility, + ACTIONS(11), 1, + anon_sym_fn, + ACTIONS(13), 1, + anon_sym_type, + ACTIONS(15), 1, + anon_sym_const, + ACTIONS(19), 1, + anon_sym_enum, + ACTIONS(21), 1, + anon_sym_struct, + ACTIONS(23), 1, + anon_sym_external, + ACTIONS(820), 1, + anon_sym_RBRACE, + STATE(236), 8, + sym__definition, + sym_type_definition_statement, + sym_constant_definition, + sym_enum_definition, + sym_struct_definition, + sym_function_definition, + sym_external_function_definition, + aux_sym_spec_definition_repeat1, + [14285] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(726), 1, - anon_sym_STAR_STAR, - ACTIONS(728), 1, - anon_sym_STAR, - ACTIONS(730), 1, - anon_sym_PERCENT, - ACTIONS(696), 2, - anon_sym_AMP, - anon_sym_PIPE, - ACTIONS(746), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(748), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(750), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(752), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(694), 8, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_RPAREN2, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [13331] = 18, + ACTIONS(822), 1, + sym_visibility, + ACTIONS(825), 1, + anon_sym_fn, + ACTIONS(828), 1, + anon_sym_RBRACE, + ACTIONS(830), 1, + anon_sym_type, + ACTIONS(833), 1, + anon_sym_const, + ACTIONS(836), 1, + anon_sym_enum, + ACTIONS(839), 1, + anon_sym_struct, + ACTIONS(842), 1, + anon_sym_external, + STATE(235), 8, + sym__definition, + sym_type_definition_statement, + sym_constant_definition, + sym_enum_definition, + sym_struct_definition, + sym_function_definition, + sym_external_function_definition, + aux_sym_spec_definition_repeat1, + [14326] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(702), 1, - anon_sym_STAR_STAR, - ACTIONS(704), 1, - anon_sym_AMP, - ACTIONS(706), 1, - anon_sym_PIPE, - ACTIONS(708), 1, - anon_sym_CARET, - ACTIONS(714), 1, - anon_sym_STAR, - ACTIONS(716), 1, - anon_sym_PERCENT, - ACTIONS(724), 1, - anon_sym_AMP_AMP, - ACTIONS(732), 1, - anon_sym_COMMA, - ACTIONS(736), 1, - anon_sym_PIPE_PIPE, - ACTIONS(756), 1, - anon_sym_RPAREN2, - STATE(369), 1, - aux_sym_function_call_expression_repeat1, - ACTIONS(710), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(712), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(718), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(720), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(722), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [13391] = 18, + ACTIONS(9), 1, + sym_visibility, + ACTIONS(11), 1, + anon_sym_fn, + ACTIONS(13), 1, + anon_sym_type, + ACTIONS(15), 1, + anon_sym_const, + ACTIONS(19), 1, + anon_sym_enum, + ACTIONS(21), 1, + anon_sym_struct, + ACTIONS(23), 1, + anon_sym_external, + ACTIONS(845), 1, + anon_sym_RBRACE, + STATE(235), 8, + sym__definition, + sym_type_definition_statement, + sym_constant_definition, + sym_enum_definition, + sym_struct_definition, + sym_function_definition, + sym_external_function_definition, + aux_sym_spec_definition_repeat1, + [14367] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(702), 1, - anon_sym_STAR_STAR, - ACTIONS(704), 1, - anon_sym_AMP, - ACTIONS(706), 1, - anon_sym_PIPE, - ACTIONS(708), 1, - anon_sym_CARET, - ACTIONS(714), 1, - anon_sym_STAR, - ACTIONS(716), 1, - anon_sym_PERCENT, - ACTIONS(724), 1, - anon_sym_AMP_AMP, - ACTIONS(736), 1, - anon_sym_PIPE_PIPE, - ACTIONS(758), 1, + ACTIONS(849), 1, + anon_sym_COLON, + ACTIONS(847), 13, + anon_sym_SEMI, anon_sym_RBRACK, - ACTIONS(760), 1, + anon_sym_DOT, + anon_sym_COLON_COLON, anon_sym_COMMA, - STATE(372), 1, - aux_sym_array_literal_repeat1, - ACTIONS(710), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(712), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(718), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(720), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(722), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [13451] = 5, + anon_sym_RPAREN2, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + anon_sym_SQUOTE, + [14392] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(726), 1, - anon_sym_STAR_STAR, - ACTIONS(696), 5, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_STAR, - anon_sym_LT, - anon_sym_GT, - ACTIONS(694), 15, + ACTIONS(521), 1, + anon_sym_COLON, + ACTIONS(519), 13, anon_sym_SEMI, anon_sym_RBRACK, + anon_sym_DOT, + anon_sym_COLON_COLON, + anon_sym_COMMA, anon_sym_RPAREN2, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - [13485] = 14, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + anon_sym_SQUOTE, + [14417] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(726), 1, - anon_sym_STAR_STAR, - ACTIONS(728), 1, - anon_sym_STAR, - ACTIONS(730), 1, - anon_sym_PERCENT, - ACTIONS(742), 1, - anon_sym_AMP, - ACTIONS(744), 1, - anon_sym_CARET, - ACTIONS(762), 1, - anon_sym_PIPE, - ACTIONS(746), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(748), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(750), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(752), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(754), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(694), 5, + ACTIONS(329), 5, + anon_sym_COLON, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + ACTIONS(331), 8, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_EQ, + anon_sym_COLON_COLON2, + anon_sym_SQUOTE, + [14441] = 3, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(851), 13, anon_sym_SEMI, anon_sym_RBRACK, + anon_sym_DASH_GT, + anon_sym_COLON_COLON, + anon_sym_COMMA, anon_sym_RPAREN2, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13537] = 15, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + anon_sym_SQUOTE, + [14463] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(726), 1, - anon_sym_STAR_STAR, - ACTIONS(728), 1, - anon_sym_STAR, - ACTIONS(730), 1, - anon_sym_PERCENT, - ACTIONS(742), 1, - anon_sym_AMP, - ACTIONS(744), 1, - anon_sym_CARET, - ACTIONS(762), 1, - anon_sym_PIPE, - ACTIONS(764), 1, - anon_sym_AMP_AMP, - ACTIONS(746), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(748), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(750), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(752), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(754), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(694), 4, + ACTIONS(853), 13, anon_sym_SEMI, anon_sym_RBRACK, + anon_sym_DASH_GT, + anon_sym_COLON_COLON, + anon_sym_COMMA, anon_sym_RPAREN2, - anon_sym_PIPE_PIPE, - [13591] = 12, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + anon_sym_SQUOTE, + [14485] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(726), 1, - anon_sym_STAR_STAR, - ACTIONS(728), 1, - anon_sym_STAR, - ACTIONS(730), 1, - anon_sym_PERCENT, - ACTIONS(696), 2, - anon_sym_AMP, - anon_sym_PIPE, - ACTIONS(746), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(748), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(750), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(752), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(754), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(694), 6, + ACTIONS(855), 13, anon_sym_SEMI, anon_sym_RBRACK, + anon_sym_DASH_GT, + anon_sym_COLON_COLON, + anon_sym_COMMA, anon_sym_RPAREN2, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET, - [13639] = 16, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + anon_sym_SQUOTE, + [14507] = 9, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(702), 1, - anon_sym_STAR_STAR, - ACTIONS(704), 1, - anon_sym_AMP, - ACTIONS(706), 1, - anon_sym_PIPE, - ACTIONS(708), 1, - anon_sym_CARET, - ACTIONS(714), 1, - anon_sym_STAR, - ACTIONS(716), 1, - anon_sym_PERCENT, - ACTIONS(724), 1, - anon_sym_AMP_AMP, - ACTIONS(736), 1, - anon_sym_PIPE_PIPE, - ACTIONS(710), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(712), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(718), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(720), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(722), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(766), 2, - anon_sym_COMMA, - anon_sym_RPAREN2, - [13694] = 16, + ACTIONS(37), 1, + anon_sym_LBRACE, + ACTIONS(583), 1, + anon_sym_assume, + ACTIONS(585), 1, + anon_sym_forall, + ACTIONS(587), 1, + anon_sym_exists, + ACTIONS(589), 1, + anon_sym_unique, + ACTIONS(857), 1, + anon_sym_if, + STATE(100), 6, + sym__block, + sym_block, + sym_assume_block, + sym_forall_block, + sym_exists_block, + sym_unique_block, + [14540] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(702), 1, - anon_sym_STAR_STAR, - ACTIONS(704), 1, - anon_sym_AMP, - ACTIONS(706), 1, - anon_sym_PIPE, - ACTIONS(708), 1, - anon_sym_CARET, - ACTIONS(714), 1, - anon_sym_STAR, - ACTIONS(716), 1, - anon_sym_PERCENT, - ACTIONS(724), 1, - anon_sym_AMP_AMP, - ACTIONS(736), 1, - anon_sym_PIPE_PIPE, - ACTIONS(710), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(712), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(718), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(720), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(722), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(768), 2, + ACTIONS(859), 12, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COLON_COLON, anon_sym_COMMA, - anon_sym_RBRACE, - [13749] = 16, + anon_sym_RPAREN2, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + anon_sym_SQUOTE, + [14561] = 7, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(702), 1, - anon_sym_STAR_STAR, - ACTIONS(704), 1, - anon_sym_AMP, - ACTIONS(706), 1, - anon_sym_PIPE, - ACTIONS(708), 1, - anon_sym_CARET, - ACTIONS(714), 1, - anon_sym_STAR, - ACTIONS(716), 1, - anon_sym_PERCENT, - ACTIONS(724), 1, - anon_sym_AMP_AMP, - ACTIONS(736), 1, - anon_sym_PIPE_PIPE, - ACTIONS(710), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(712), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(718), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(720), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(722), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(770), 2, - anon_sym_RBRACK, - anon_sym_COMMA, - [13804] = 16, + ACTIONS(861), 1, + sym_number_literal, + STATE(75), 1, + sym__reserved_identifier, + STATE(99), 1, + sym_identifier, + ACTIONS(208), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(426), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + [14590] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(702), 1, - anon_sym_STAR_STAR, - ACTIONS(704), 1, - anon_sym_AMP, - ACTIONS(706), 1, - anon_sym_PIPE, - ACTIONS(708), 1, - anon_sym_CARET, - ACTIONS(714), 1, - anon_sym_STAR, - ACTIONS(716), 1, - anon_sym_PERCENT, - ACTIONS(724), 1, - anon_sym_AMP_AMP, - ACTIONS(736), 1, - anon_sym_PIPE_PIPE, - ACTIONS(710), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(712), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(718), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(720), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(722), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(772), 2, + ACTIONS(863), 12, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COLON_COLON, anon_sym_COMMA, anon_sym_RPAREN2, - [13859] = 16, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + anon_sym_SQUOTE, + [14611] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(726), 1, - anon_sym_STAR_STAR, - ACTIONS(728), 1, - anon_sym_STAR, - ACTIONS(730), 1, - anon_sym_PERCENT, - ACTIONS(742), 1, - anon_sym_AMP, - ACTIONS(744), 1, - anon_sym_CARET, - ACTIONS(762), 1, - anon_sym_PIPE, - ACTIONS(764), 1, - anon_sym_AMP_AMP, - ACTIONS(774), 1, - anon_sym_SEMI, - ACTIONS(776), 1, - anon_sym_PIPE_PIPE, - ACTIONS(746), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(748), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(750), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(752), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(754), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [13913] = 12, + ACTIONS(865), 1, + sym_visibility, + ACTIONS(867), 1, + anon_sym_fn, + ACTIONS(869), 1, + anon_sym_RBRACE, + STATE(239), 1, + sym__reserved_identifier, + STATE(253), 1, + aux_sym_struct_definition_repeat1, + STATE(354), 1, + sym_function_definition, + STATE(497), 1, + sym_identifier, + STATE(501), 1, + sym_struct_field, + ACTIONS(871), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [14648] = 9, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(9), 1, - anon_sym_fn, - ACTIONS(11), 1, - anon_sym_type, - ACTIONS(13), 1, - anon_sym_const, - ACTIONS(15), 1, - anon_sym_spec, - ACTIONS(17), 1, - anon_sym_enum, - ACTIONS(19), 1, - anon_sym_struct, - ACTIONS(21), 1, - anon_sym_external, - ACTIONS(23), 1, - anon_sym_use, - ACTIONS(778), 1, - ts_builtin_sym_end, - STATE(235), 10, - sym__definition, - sym_type_definition_statement, - sym_constant_definition, - sym_spec_definition, - sym_enum_definition, - sym_struct_definition, - sym_function_definition, - sym_external_function_definition, - sym_use_directive, - aux_sym_source_file_repeat1, - [13959] = 16, + ACTIONS(873), 1, + anon_sym_DASH_GT, + ACTIONS(875), 1, + anon_sym_LBRACE, + ACTIONS(877), 1, + anon_sym_assume, + ACTIONS(879), 1, + anon_sym_forall, + ACTIONS(881), 1, + anon_sym_exists, + ACTIONS(883), 1, + anon_sym_unique, + STATE(278), 6, + sym__block, + sym_block, + sym_assume_block, + sym_forall_block, + sym_exists_block, + sym_unique_block, + [14681] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(726), 1, - anon_sym_STAR_STAR, - ACTIONS(728), 1, - anon_sym_STAR, - ACTIONS(730), 1, - anon_sym_PERCENT, - ACTIONS(742), 1, - anon_sym_AMP, - ACTIONS(744), 1, - anon_sym_CARET, - ACTIONS(762), 1, - anon_sym_PIPE, - ACTIONS(764), 1, - anon_sym_AMP_AMP, - ACTIONS(776), 1, - anon_sym_PIPE_PIPE, - ACTIONS(780), 1, - anon_sym_SEMI, - ACTIONS(746), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(748), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(750), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(752), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(754), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [14013] = 16, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(726), 1, - anon_sym_STAR_STAR, - ACTIONS(728), 1, - anon_sym_STAR, - ACTIONS(730), 1, - anon_sym_PERCENT, - ACTIONS(742), 1, - anon_sym_AMP, - ACTIONS(744), 1, - anon_sym_CARET, - ACTIONS(762), 1, - anon_sym_PIPE, - ACTIONS(764), 1, - anon_sym_AMP_AMP, - ACTIONS(776), 1, - anon_sym_PIPE_PIPE, - ACTIONS(782), 1, - anon_sym_SEMI, - ACTIONS(746), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(748), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(750), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(752), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(754), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [14067] = 12, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(784), 1, - ts_builtin_sym_end, - ACTIONS(786), 1, - anon_sym_fn, - ACTIONS(789), 1, - anon_sym_type, - ACTIONS(792), 1, - anon_sym_const, - ACTIONS(795), 1, - anon_sym_spec, - ACTIONS(798), 1, - anon_sym_enum, - ACTIONS(801), 1, - anon_sym_struct, - ACTIONS(804), 1, - anon_sym_external, - ACTIONS(807), 1, - anon_sym_use, - STATE(235), 10, - sym__definition, - sym_type_definition_statement, - sym_constant_definition, - sym_spec_definition, - sym_enum_definition, - sym_struct_definition, - sym_function_definition, - sym_external_function_definition, - sym_use_directive, - aux_sym_source_file_repeat1, - [14113] = 16, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(726), 1, - anon_sym_STAR_STAR, - ACTIONS(728), 1, - anon_sym_STAR, - ACTIONS(730), 1, - anon_sym_PERCENT, - ACTIONS(742), 1, - anon_sym_AMP, - ACTIONS(744), 1, - anon_sym_CARET, - ACTIONS(762), 1, - anon_sym_PIPE, - ACTIONS(764), 1, - anon_sym_AMP_AMP, - ACTIONS(776), 1, - anon_sym_PIPE_PIPE, - ACTIONS(810), 1, + ACTIONS(885), 12, anon_sym_SEMI, - ACTIONS(746), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(748), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(750), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(752), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(754), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [14167] = 16, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(726), 1, - anon_sym_STAR_STAR, - ACTIONS(728), 1, - anon_sym_STAR, - ACTIONS(730), 1, - anon_sym_PERCENT, - ACTIONS(742), 1, - anon_sym_AMP, - ACTIONS(744), 1, - anon_sym_CARET, - ACTIONS(762), 1, - anon_sym_PIPE, - ACTIONS(764), 1, - anon_sym_AMP_AMP, - ACTIONS(776), 1, - anon_sym_PIPE_PIPE, - ACTIONS(812), 1, - anon_sym_SEMI, - ACTIONS(746), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(748), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(750), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(752), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(754), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [14221] = 16, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(726), 1, - anon_sym_STAR_STAR, - ACTIONS(728), 1, - anon_sym_STAR, - ACTIONS(730), 1, - anon_sym_PERCENT, - ACTIONS(742), 1, - anon_sym_AMP, - ACTIONS(744), 1, - anon_sym_CARET, - ACTIONS(762), 1, - anon_sym_PIPE, - ACTIONS(764), 1, - anon_sym_AMP_AMP, - ACTIONS(776), 1, - anon_sym_PIPE_PIPE, - ACTIONS(814), 1, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_COMMA, anon_sym_RPAREN2, - ACTIONS(746), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(748), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(750), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(752), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(754), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [14275] = 16, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(726), 1, - anon_sym_STAR_STAR, - ACTIONS(728), 1, - anon_sym_STAR, - ACTIONS(730), 1, - anon_sym_PERCENT, - ACTIONS(742), 1, - anon_sym_AMP, - ACTIONS(744), 1, - anon_sym_CARET, - ACTIONS(762), 1, - anon_sym_PIPE, - ACTIONS(764), 1, - anon_sym_AMP_AMP, - ACTIONS(776), 1, - anon_sym_PIPE_PIPE, - ACTIONS(816), 1, - anon_sym_SEMI, - ACTIONS(746), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(748), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(750), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(752), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(754), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [14329] = 16, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + anon_sym_SQUOTE, + [14702] = 9, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(726), 1, - anon_sym_STAR_STAR, - ACTIONS(728), 1, - anon_sym_STAR, - ACTIONS(730), 1, - anon_sym_PERCENT, - ACTIONS(742), 1, - anon_sym_AMP, - ACTIONS(744), 1, - anon_sym_CARET, - ACTIONS(762), 1, - anon_sym_PIPE, - ACTIONS(764), 1, - anon_sym_AMP_AMP, - ACTIONS(776), 1, - anon_sym_PIPE_PIPE, - ACTIONS(818), 1, - anon_sym_RBRACK, - ACTIONS(746), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(748), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(750), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(752), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(754), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [14383] = 16, + ACTIONS(875), 1, + anon_sym_LBRACE, + ACTIONS(877), 1, + anon_sym_assume, + ACTIONS(879), 1, + anon_sym_forall, + ACTIONS(881), 1, + anon_sym_exists, + ACTIONS(883), 1, + anon_sym_unique, + ACTIONS(887), 1, + anon_sym_DASH_GT, + STATE(272), 6, + sym__block, + sym_block, + sym_assume_block, + sym_forall_block, + sym_exists_block, + sym_unique_block, + [14735] = 9, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(726), 1, - anon_sym_STAR_STAR, - ACTIONS(728), 1, - anon_sym_STAR, - ACTIONS(730), 1, - anon_sym_PERCENT, - ACTIONS(742), 1, - anon_sym_AMP, - ACTIONS(744), 1, - anon_sym_CARET, - ACTIONS(762), 1, - anon_sym_PIPE, - ACTIONS(764), 1, - anon_sym_AMP_AMP, - ACTIONS(776), 1, - anon_sym_PIPE_PIPE, - ACTIONS(820), 1, - anon_sym_SEMI, - ACTIONS(746), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(748), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(750), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(752), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(754), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [14437] = 16, + ACTIONS(875), 1, + anon_sym_LBRACE, + ACTIONS(877), 1, + anon_sym_assume, + ACTIONS(879), 1, + anon_sym_forall, + ACTIONS(881), 1, + anon_sym_exists, + ACTIONS(883), 1, + anon_sym_unique, + ACTIONS(889), 1, + anon_sym_DASH_GT, + STATE(266), 6, + sym__block, + sym_block, + sym_assume_block, + sym_forall_block, + sym_exists_block, + sym_unique_block, + [14768] = 9, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(726), 1, - anon_sym_STAR_STAR, - ACTIONS(728), 1, - anon_sym_STAR, - ACTIONS(730), 1, - anon_sym_PERCENT, - ACTIONS(742), 1, - anon_sym_AMP, - ACTIONS(744), 1, - anon_sym_CARET, - ACTIONS(762), 1, - anon_sym_PIPE, - ACTIONS(764), 1, - anon_sym_AMP_AMP, - ACTIONS(776), 1, - anon_sym_PIPE_PIPE, - ACTIONS(822), 1, - anon_sym_SEMI, - ACTIONS(746), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(748), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(750), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(752), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(754), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [14491] = 10, + ACTIONS(37), 1, + anon_sym_LBRACE, + ACTIONS(583), 1, + anon_sym_assume, + ACTIONS(585), 1, + anon_sym_forall, + ACTIONS(587), 1, + anon_sym_exists, + ACTIONS(589), 1, + anon_sym_unique, + ACTIONS(857), 1, + anon_sym_if, + STATE(97), 6, + sym__block, + sym_block, + sym_assume_block, + sym_forall_block, + sym_exists_block, + sym_unique_block, + [14801] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(9), 1, + ACTIONS(865), 1, + sym_visibility, + ACTIONS(867), 1, anon_sym_fn, - ACTIONS(11), 1, - anon_sym_type, - ACTIONS(13), 1, - anon_sym_const, - ACTIONS(17), 1, - anon_sym_enum, - ACTIONS(19), 1, - anon_sym_struct, - ACTIONS(21), 1, - anon_sym_external, - ACTIONS(824), 1, + ACTIONS(891), 1, anon_sym_RBRACE, - STATE(245), 8, - sym__definition, - sym_type_definition_statement, - sym_constant_definition, - sym_enum_definition, - sym_struct_definition, + STATE(239), 1, + sym__reserved_identifier, + STATE(263), 1, + aux_sym_struct_definition_repeat1, + STATE(354), 1, sym_function_definition, - sym_external_function_definition, - aux_sym_spec_definition_repeat1, - [14529] = 10, + STATE(497), 1, + sym_identifier, + STATE(501), 1, + sym_struct_field, + ACTIONS(871), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [14838] = 9, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(826), 1, - anon_sym_fn, - ACTIONS(829), 1, - anon_sym_RBRACE, - ACTIONS(831), 1, - anon_sym_type, - ACTIONS(834), 1, - anon_sym_const, - ACTIONS(837), 1, - anon_sym_enum, - ACTIONS(840), 1, - anon_sym_struct, - ACTIONS(843), 1, - anon_sym_external, - STATE(244), 8, - sym__definition, - sym_type_definition_statement, - sym_constant_definition, - sym_enum_definition, - sym_struct_definition, - sym_function_definition, - sym_external_function_definition, - aux_sym_spec_definition_repeat1, - [14567] = 10, + ACTIONS(893), 1, + anon_sym_DASH_GT, + ACTIONS(895), 1, + anon_sym_LBRACE, + ACTIONS(897), 1, + anon_sym_assume, + ACTIONS(899), 1, + anon_sym_forall, + ACTIONS(901), 1, + anon_sym_exists, + ACTIONS(903), 1, + anon_sym_unique, + STATE(348), 6, + sym__block, + sym_block, + sym_assume_block, + sym_forall_block, + sym_exists_block, + sym_unique_block, + [14871] = 9, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(895), 1, + anon_sym_LBRACE, + ACTIONS(897), 1, + anon_sym_assume, + ACTIONS(899), 1, + anon_sym_forall, + ACTIONS(901), 1, + anon_sym_exists, + ACTIONS(903), 1, + anon_sym_unique, + ACTIONS(905), 1, + anon_sym_DASH_GT, + STATE(350), 6, + sym__block, + sym_block, + sym_assume_block, + sym_forall_block, + sym_exists_block, + sym_unique_block, + [14904] = 9, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(9), 1, - anon_sym_fn, - ACTIONS(11), 1, - anon_sym_type, - ACTIONS(13), 1, - anon_sym_const, - ACTIONS(17), 1, - anon_sym_enum, - ACTIONS(19), 1, - anon_sym_struct, - ACTIONS(21), 1, - anon_sym_external, - ACTIONS(846), 1, - anon_sym_RBRACE, - STATE(244), 8, - sym__definition, - sym_type_definition_statement, - sym_constant_definition, - sym_enum_definition, - sym_struct_definition, - sym_function_definition, - sym_external_function_definition, - aux_sym_spec_definition_repeat1, - [14605] = 4, + ACTIONS(895), 1, + anon_sym_LBRACE, + ACTIONS(897), 1, + anon_sym_assume, + ACTIONS(899), 1, + anon_sym_forall, + ACTIONS(901), 1, + anon_sym_exists, + ACTIONS(903), 1, + anon_sym_unique, + ACTIONS(907), 1, + anon_sym_DASH_GT, + STATE(332), 6, + sym__block, + sym_block, + sym_assume_block, + sym_forall_block, + sym_exists_block, + sym_unique_block, + [14937] = 9, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(536), 1, - anon_sym_COLON, - ACTIONS(534), 13, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_DOT, - anon_sym_COLON_COLON, - anon_sym_COMMA, - anon_sym_RPAREN2, + ACTIONS(895), 1, anon_sym_LBRACE, - anon_sym_EQ, + ACTIONS(897), 1, anon_sym_assume, + ACTIONS(899), 1, anon_sym_forall, + ACTIONS(901), 1, anon_sym_exists, + ACTIONS(903), 1, anon_sym_unique, - anon_sym_SQUOTE, - [14630] = 4, + ACTIONS(909), 1, + anon_sym_DASH_GT, + STATE(346), 6, + sym__block, + sym_block, + sym_assume_block, + sym_forall_block, + sym_exists_block, + sym_unique_block, + [14970] = 9, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(850), 1, - anon_sym_COLON, - ACTIONS(848), 13, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_DOT, - anon_sym_COLON_COLON, - anon_sym_COMMA, - anon_sym_RPAREN2, + ACTIONS(875), 1, anon_sym_LBRACE, - anon_sym_EQ, + ACTIONS(877), 1, anon_sym_assume, + ACTIONS(879), 1, anon_sym_forall, + ACTIONS(881), 1, anon_sym_exists, + ACTIONS(883), 1, anon_sym_unique, - anon_sym_SQUOTE, - [14655] = 9, + ACTIONS(911), 1, + anon_sym_DASH_GT, + STATE(299), 6, + sym__block, + sym_block, + sym_assume_block, + sym_forall_block, + sym_exists_block, + sym_unique_block, + [15003] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(41), 1, - anon_sym_DASH, - ACTIONS(71), 1, - aux_sym_number_literal_token1, - STATE(77), 1, + ACTIONS(865), 1, + sym_visibility, + ACTIONS(867), 1, + anon_sym_fn, + ACTIONS(913), 1, + anon_sym_RBRACE, + STATE(239), 1, sym__reserved_identifier, - STATE(98), 1, + STATE(263), 1, + aux_sym_struct_definition_repeat1, + STATE(354), 1, + sym_function_definition, + STATE(497), 1, sym_identifier, - STATE(461), 1, - sym_number_literal, - ACTIONS(187), 4, + STATE(501), 1, + sym_struct_field, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - STATE(394), 5, - sym__name, - sym_type_qualified_name, - sym__simple_name, - sym_qualified_name, - sym_generic_name, - [14690] = 4, + [15040] = 7, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(311), 5, - anon_sym_COLON, + ACTIONS(915), 1, + anon_sym_RBRACE, + STATE(75), 1, + sym__reserved_identifier, + STATE(99), 1, + sym_identifier, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - ACTIONS(313), 8, - anon_sym_LPAREN, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_EQ, - anon_sym_COLON_COLON2, - anon_sym_SQUOTE, - [14714] = 3, + STATE(451), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + [15069] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(852), 13, + ACTIONS(917), 12, anon_sym_SEMI, anon_sym_RBRACK, - anon_sym_DASH_GT, anon_sym_COLON_COLON, anon_sym_COMMA, anon_sym_RPAREN2, @@ -17707,15 +18302,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_exists, anon_sym_unique, anon_sym_SQUOTE, - [14736] = 3, + [15090] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(854), 13, + ACTIONS(919), 12, anon_sym_SEMI, anon_sym_RBRACK, - anon_sym_DASH_GT, anon_sym_COLON_COLON, anon_sym_COMMA, anon_sym_RPAREN2, @@ -17726,468 +18320,524 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_exists, anon_sym_unique, anon_sym_SQUOTE, - [14758] = 3, + [15111] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(856), 13, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_DASH_GT, - anon_sym_COLON_COLON, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_LBRACE, - anon_sym_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - anon_sym_SQUOTE, - [14780] = 9, + ACTIONS(921), 1, + sym_visibility, + ACTIONS(924), 1, + anon_sym_fn, + ACTIONS(927), 1, + anon_sym_RBRACE, + STATE(239), 1, + sym__reserved_identifier, + STATE(263), 1, + aux_sym_struct_definition_repeat1, + STATE(354), 1, + sym_function_definition, + STATE(497), 1, + sym_identifier, + STATE(501), 1, + sym_struct_field, + ACTIONS(929), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [15148] = 11, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(858), 1, - anon_sym_DASH_GT, - ACTIONS(860), 1, - anon_sym_LBRACE, - ACTIONS(862), 1, - anon_sym_assume, - ACTIONS(864), 1, - anon_sym_forall, - ACTIONS(866), 1, - anon_sym_exists, - ACTIONS(868), 1, - anon_sym_unique, - STATE(283), 6, - sym__block, - sym_block, - sym_assume_block, - sym_forall_block, - sym_exists_block, - sym_unique_block, - [14813] = 9, + ACTIONS(865), 1, + sym_visibility, + ACTIONS(867), 1, + anon_sym_fn, + ACTIONS(932), 1, + anon_sym_RBRACE, + STATE(239), 1, + sym__reserved_identifier, + STATE(259), 1, + aux_sym_struct_definition_repeat1, + STATE(354), 1, + sym_function_definition, + STATE(497), 1, + sym_identifier, + STATE(501), 1, + sym_struct_field, + ACTIONS(871), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [15185] = 8, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(870), 1, - anon_sym_DASH_GT, - ACTIONS(872), 1, + ACTIONS(895), 1, anon_sym_LBRACE, - ACTIONS(874), 1, + ACTIONS(897), 1, anon_sym_assume, - ACTIONS(876), 1, + ACTIONS(899), 1, anon_sym_forall, - ACTIONS(878), 1, + ACTIONS(901), 1, anon_sym_exists, - ACTIONS(880), 1, + ACTIONS(903), 1, anon_sym_unique, - STATE(351), 6, + STATE(341), 6, sym__block, sym_block, sym_assume_block, sym_forall_block, sym_exists_block, sym_unique_block, - [14846] = 3, + [15215] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(882), 12, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COLON_COLON, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_LBRACE, - anon_sym_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - anon_sym_SQUOTE, - [14867] = 9, + ACTIONS(934), 11, + ts_builtin_sym_end, + sym_visibility, + anon_sym_fn, + anon_sym_RBRACE, + anon_sym_type, + anon_sym_const, + anon_sym_spec, + anon_sym_enum, + anon_sym_struct, + anon_sym_external, + anon_sym_use, + [15235] = 3, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(936), 11, + ts_builtin_sym_end, + sym_visibility, + anon_sym_fn, + anon_sym_RBRACE, + anon_sym_type, + anon_sym_const, + anon_sym_spec, + anon_sym_enum, + anon_sym_struct, + anon_sym_external, + anon_sym_use, + [15255] = 3, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(938), 11, + ts_builtin_sym_end, + sym_visibility, + anon_sym_fn, + anon_sym_RBRACE, + anon_sym_type, + anon_sym_const, + anon_sym_spec, + anon_sym_enum, + anon_sym_struct, + anon_sym_external, + anon_sym_use, + [15275] = 3, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(460), 11, + ts_builtin_sym_end, + sym_visibility, + anon_sym_fn, + anon_sym_RBRACE, + anon_sym_type, + anon_sym_const, + anon_sym_spec, + anon_sym_enum, + anon_sym_struct, + anon_sym_external, + anon_sym_use, + [15295] = 3, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(940), 11, + ts_builtin_sym_end, + sym_visibility, + anon_sym_fn, + anon_sym_RBRACE, + anon_sym_type, + anon_sym_const, + anon_sym_spec, + anon_sym_enum, + anon_sym_struct, + anon_sym_external, + anon_sym_use, + [15315] = 8, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(872), 1, + ACTIONS(895), 1, anon_sym_LBRACE, - ACTIONS(874), 1, + ACTIONS(897), 1, anon_sym_assume, - ACTIONS(876), 1, + ACTIONS(899), 1, anon_sym_forall, - ACTIONS(878), 1, + ACTIONS(901), 1, anon_sym_exists, - ACTIONS(880), 1, + ACTIONS(903), 1, anon_sym_unique, - ACTIONS(884), 1, - anon_sym_DASH_GT, - STATE(354), 6, + STATE(352), 6, sym__block, sym_block, sym_assume_block, sym_forall_block, sym_exists_block, sym_unique_block, - [14900] = 3, + [15345] = 3, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(942), 11, + ts_builtin_sym_end, + sym_visibility, + anon_sym_fn, + anon_sym_RBRACE, + anon_sym_type, + anon_sym_const, + anon_sym_spec, + anon_sym_enum, + anon_sym_struct, + anon_sym_external, + anon_sym_use, + [15365] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(886), 12, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COLON_COLON, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_LBRACE, - anon_sym_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - anon_sym_SQUOTE, - [14921] = 3, + ACTIONS(944), 11, + ts_builtin_sym_end, + sym_visibility, + anon_sym_fn, + anon_sym_RBRACE, + anon_sym_type, + anon_sym_const, + anon_sym_spec, + anon_sym_enum, + anon_sym_struct, + anon_sym_external, + anon_sym_use, + [15385] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(888), 12, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COLON_COLON, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_LBRACE, - anon_sym_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - anon_sym_SQUOTE, - [14942] = 7, + ACTIONS(362), 11, + ts_builtin_sym_end, + sym_visibility, + anon_sym_fn, + anon_sym_RBRACE, + anon_sym_type, + anon_sym_const, + anon_sym_spec, + anon_sym_enum, + anon_sym_struct, + anon_sym_external, + anon_sym_use, + [15405] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(890), 1, + ACTIONS(366), 11, + ts_builtin_sym_end, + sym_visibility, + anon_sym_fn, anon_sym_RBRACE, - STATE(77), 1, - sym__reserved_identifier, - STATE(98), 1, - sym_identifier, - ACTIONS(187), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - STATE(402), 5, - sym__name, - sym_type_qualified_name, - sym__simple_name, - sym_qualified_name, - sym_generic_name, - [14971] = 9, + anon_sym_type, + anon_sym_const, + anon_sym_spec, + anon_sym_enum, + anon_sym_struct, + anon_sym_external, + anon_sym_use, + [15425] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(33), 1, - anon_sym_LBRACE, - ACTIONS(582), 1, - anon_sym_assume, - ACTIONS(584), 1, - anon_sym_forall, - ACTIONS(586), 1, - anon_sym_exists, - ACTIONS(588), 1, - anon_sym_unique, - ACTIONS(892), 1, - anon_sym_if, - STATE(109), 6, - sym__block, - sym_block, - sym_assume_block, - sym_forall_block, - sym_exists_block, - sym_unique_block, - [15004] = 3, + ACTIONS(370), 11, + ts_builtin_sym_end, + sym_visibility, + anon_sym_fn, + anon_sym_RBRACE, + anon_sym_type, + anon_sym_const, + anon_sym_spec, + anon_sym_enum, + anon_sym_struct, + anon_sym_external, + anon_sym_use, + [15445] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(894), 12, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COLON_COLON, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_LBRACE, - anon_sym_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - anon_sym_SQUOTE, - [15025] = 9, + ACTIONS(374), 11, + ts_builtin_sym_end, + sym_visibility, + anon_sym_fn, + anon_sym_RBRACE, + anon_sym_type, + anon_sym_const, + anon_sym_spec, + anon_sym_enum, + anon_sym_struct, + anon_sym_external, + anon_sym_use, + [15465] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(33), 1, - anon_sym_LBRACE, - ACTIONS(582), 1, - anon_sym_assume, - ACTIONS(584), 1, - anon_sym_forall, - ACTIONS(586), 1, - anon_sym_exists, - ACTIONS(588), 1, - anon_sym_unique, - ACTIONS(892), 1, - anon_sym_if, - STATE(106), 6, - sym__block, - sym_block, - sym_assume_block, - sym_forall_block, - sym_exists_block, - sym_unique_block, - [15058] = 9, + ACTIONS(946), 11, + ts_builtin_sym_end, + sym_visibility, + anon_sym_fn, + anon_sym_RBRACE, + anon_sym_type, + anon_sym_const, + anon_sym_spec, + anon_sym_enum, + anon_sym_struct, + anon_sym_external, + anon_sym_use, + [15485] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(860), 1, - anon_sym_LBRACE, - ACTIONS(862), 1, - anon_sym_assume, - ACTIONS(864), 1, - anon_sym_forall, - ACTIONS(866), 1, - anon_sym_exists, - ACTIONS(868), 1, - anon_sym_unique, - ACTIONS(896), 1, - anon_sym_DASH_GT, - STATE(277), 6, - sym__block, - sym_block, - sym_assume_block, - sym_forall_block, - sym_exists_block, - sym_unique_block, - [15091] = 3, + ACTIONS(948), 11, + ts_builtin_sym_end, + sym_visibility, + anon_sym_fn, + anon_sym_RBRACE, + anon_sym_type, + anon_sym_const, + anon_sym_spec, + anon_sym_enum, + anon_sym_struct, + anon_sym_external, + anon_sym_use, + [15505] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(898), 12, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_COLON_COLON, - anon_sym_COMMA, - anon_sym_RPAREN2, - anon_sym_LBRACE, - anon_sym_EQ, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - anon_sym_SQUOTE, - [15112] = 8, + ACTIONS(950), 11, + ts_builtin_sym_end, + sym_visibility, + anon_sym_fn, + anon_sym_RBRACE, + anon_sym_type, + anon_sym_const, + anon_sym_spec, + anon_sym_enum, + anon_sym_struct, + anon_sym_external, + anon_sym_use, + [15525] = 8, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(860), 1, + ACTIONS(895), 1, anon_sym_LBRACE, - ACTIONS(862), 1, + ACTIONS(897), 1, anon_sym_assume, - ACTIONS(864), 1, + ACTIONS(899), 1, anon_sym_forall, - ACTIONS(866), 1, + ACTIONS(901), 1, anon_sym_exists, - ACTIONS(868), 1, + ACTIONS(903), 1, anon_sym_unique, - STATE(289), 6, + STATE(336), 6, sym__block, sym_block, sym_assume_block, sym_forall_block, sym_exists_block, sym_unique_block, - [15142] = 8, + [15555] = 8, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(872), 1, + ACTIONS(895), 1, anon_sym_LBRACE, - ACTIONS(874), 1, + ACTIONS(897), 1, anon_sym_assume, - ACTIONS(876), 1, + ACTIONS(899), 1, anon_sym_forall, - ACTIONS(878), 1, + ACTIONS(901), 1, anon_sym_exists, - ACTIONS(880), 1, + ACTIONS(903), 1, anon_sym_unique, - STATE(336), 6, + STATE(353), 6, sym__block, sym_block, sym_assume_block, sym_forall_block, sym_exists_block, sym_unique_block, - [15172] = 10, + [15585] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(900), 1, + ACTIONS(952), 11, + ts_builtin_sym_end, + sym_visibility, anon_sym_fn, - ACTIONS(902), 1, anon_sym_RBRACE, - STATE(249), 1, - sym__reserved_identifier, - STATE(272), 1, - aux_sym_struct_definition_repeat1, - STATE(355), 1, - sym_function_definition, - STATE(438), 1, - sym_identifier, - STATE(457), 1, - sym_struct_field, - ACTIONS(904), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - [15206] = 10, + anon_sym_type, + anon_sym_const, + anon_sym_spec, + anon_sym_enum, + anon_sym_struct, + anon_sym_external, + anon_sym_use, + [15605] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(906), 1, + ACTIONS(954), 11, + ts_builtin_sym_end, + sym_visibility, anon_sym_fn, - ACTIONS(909), 1, anon_sym_RBRACE, - STATE(249), 1, - sym__reserved_identifier, - STATE(268), 1, - aux_sym_struct_definition_repeat1, - STATE(355), 1, - sym_function_definition, - STATE(438), 1, - sym_identifier, - STATE(457), 1, - sym_struct_field, - ACTIONS(911), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - [15240] = 6, + anon_sym_type, + anon_sym_const, + anon_sym_spec, + anon_sym_enum, + anon_sym_struct, + anon_sym_external, + anon_sym_use, + [15625] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(77), 1, - sym__reserved_identifier, - STATE(98), 1, - sym_identifier, - ACTIONS(187), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - STATE(408), 5, - sym__name, - sym_type_qualified_name, - sym__simple_name, - sym_qualified_name, - sym_generic_name, - [15266] = 8, + ACTIONS(464), 11, + ts_builtin_sym_end, + sym_visibility, + anon_sym_fn, + anon_sym_RBRACE, + anon_sym_type, + anon_sym_const, + anon_sym_spec, + anon_sym_enum, + anon_sym_struct, + anon_sym_external, + anon_sym_use, + [15645] = 3, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(382), 11, + ts_builtin_sym_end, + sym_visibility, + anon_sym_fn, + anon_sym_RBRACE, + anon_sym_type, + anon_sym_const, + anon_sym_spec, + anon_sym_enum, + anon_sym_struct, + anon_sym_external, + anon_sym_use, + [15665] = 8, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(860), 1, + ACTIONS(875), 1, anon_sym_LBRACE, - ACTIONS(862), 1, + ACTIONS(877), 1, anon_sym_assume, - ACTIONS(864), 1, + ACTIONS(879), 1, anon_sym_forall, - ACTIONS(866), 1, + ACTIONS(881), 1, anon_sym_exists, - ACTIONS(868), 1, + ACTIONS(883), 1, anon_sym_unique, - STATE(288), 6, + STATE(268), 6, sym__block, sym_block, sym_assume_block, sym_forall_block, sym_exists_block, sym_unique_block, - [15296] = 8, + [15695] = 6, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + STATE(75), 1, + sym__reserved_identifier, + STATE(99), 1, + sym_identifier, + ACTIONS(208), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + STATE(452), 5, + sym__name, + sym_type_qualified_name, + sym__simple_name, + sym_qualified_name, + sym_generic_name, + [15721] = 8, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(872), 1, + ACTIONS(875), 1, anon_sym_LBRACE, - ACTIONS(874), 1, + ACTIONS(877), 1, anon_sym_assume, - ACTIONS(876), 1, + ACTIONS(879), 1, anon_sym_forall, - ACTIONS(878), 1, + ACTIONS(881), 1, anon_sym_exists, - ACTIONS(880), 1, + ACTIONS(883), 1, anon_sym_unique, - STATE(331), 6, + STATE(267), 6, sym__block, sym_block, sym_assume_block, sym_forall_block, sym_exists_block, sym_unique_block, - [15326] = 10, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(900), 1, - anon_sym_fn, - ACTIONS(914), 1, - anon_sym_RBRACE, - STATE(249), 1, - sym__reserved_identifier, - STATE(268), 1, - aux_sym_struct_definition_repeat1, - STATE(355), 1, - sym_function_definition, - STATE(438), 1, - sym_identifier, - STATE(457), 1, - sym_struct_field, - ACTIONS(904), 4, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - [15360] = 3, + [15751] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(378), 10, + ACTIONS(956), 11, ts_builtin_sym_end, + sym_visibility, anon_sym_fn, anon_sym_RBRACE, anon_sym_type, @@ -18197,13 +18847,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [15379] = 3, + [15771] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(916), 10, + ACTIONS(958), 11, ts_builtin_sym_end, + sym_visibility, anon_sym_fn, anon_sym_RBRACE, anon_sym_type, @@ -18213,29 +18864,36 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [15398] = 3, + [15791] = 8, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(918), 10, - ts_builtin_sym_end, - anon_sym_fn, - anon_sym_RBRACE, - anon_sym_type, - anon_sym_const, - anon_sym_spec, - anon_sym_enum, - anon_sym_struct, - anon_sym_external, - anon_sym_use, - [15417] = 3, + ACTIONS(875), 1, + anon_sym_LBRACE, + ACTIONS(877), 1, + anon_sym_assume, + ACTIONS(879), 1, + anon_sym_forall, + ACTIONS(881), 1, + anon_sym_exists, + ACTIONS(883), 1, + anon_sym_unique, + STATE(283), 6, + sym__block, + sym_block, + sym_assume_block, + sym_forall_block, + sym_exists_block, + sym_unique_block, + [15821] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(920), 10, + ACTIONS(960), 11, ts_builtin_sym_end, + sym_visibility, anon_sym_fn, anon_sym_RBRACE, anon_sym_type, @@ -18245,13 +18903,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [15436] = 3, + [15841] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(922), 10, + ACTIONS(962), 11, ts_builtin_sym_end, + sym_visibility, anon_sym_fn, anon_sym_RBRACE, anon_sym_type, @@ -18261,13 +18920,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [15455] = 3, + [15861] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(370), 10, + ACTIONS(964), 11, ts_builtin_sym_end, + sym_visibility, anon_sym_fn, anon_sym_RBRACE, anon_sym_type, @@ -18277,13 +18937,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [15474] = 3, + [15881] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(348), 10, + ACTIONS(966), 11, ts_builtin_sym_end, + sym_visibility, anon_sym_fn, anon_sym_RBRACE, anon_sym_type, @@ -18293,13 +18954,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [15493] = 3, + [15901] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(924), 10, + ACTIONS(358), 11, ts_builtin_sym_end, + sym_visibility, anon_sym_fn, anon_sym_RBRACE, anon_sym_type, @@ -18309,29 +18971,36 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [15512] = 3, + [15921] = 8, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(344), 10, - ts_builtin_sym_end, - anon_sym_fn, - anon_sym_RBRACE, - anon_sym_type, - anon_sym_const, - anon_sym_spec, - anon_sym_enum, - anon_sym_struct, - anon_sym_external, - anon_sym_use, - [15531] = 3, + ACTIONS(875), 1, + anon_sym_LBRACE, + ACTIONS(877), 1, + anon_sym_assume, + ACTIONS(879), 1, + anon_sym_forall, + ACTIONS(881), 1, + anon_sym_exists, + ACTIONS(883), 1, + anon_sym_unique, + STATE(291), 6, + sym__block, + sym_block, + sym_assume_block, + sym_forall_block, + sym_exists_block, + sym_unique_block, + [15951] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(340), 10, + ACTIONS(968), 11, ts_builtin_sym_end, + sym_visibility, anon_sym_fn, anon_sym_RBRACE, anon_sym_type, @@ -18341,13 +19010,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [15550] = 3, + [15971] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(926), 10, + ACTIONS(456), 11, ts_builtin_sym_end, + sym_visibility, anon_sym_fn, anon_sym_RBRACE, anon_sym_type, @@ -18357,13 +19027,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [15569] = 3, + [15991] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(928), 10, + ACTIONS(452), 11, ts_builtin_sym_end, + sym_visibility, anon_sym_fn, anon_sym_RBRACE, anon_sym_type, @@ -18373,15 +19044,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [15588] = 3, + [16011] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(336), 10, + ACTIONS(970), 10, ts_builtin_sym_end, + sym_visibility, anon_sym_fn, - anon_sym_RBRACE, anon_sym_type, anon_sym_const, anon_sym_spec, @@ -18389,15 +19060,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [15607] = 3, + [16030] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(930), 10, + ACTIONS(972), 10, ts_builtin_sym_end, + sym_visibility, anon_sym_fn, - anon_sym_RBRACE, anon_sym_type, anon_sym_const, anon_sym_spec, @@ -18405,15 +19076,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [15626] = 3, + [16049] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(358), 10, + ACTIONS(974), 10, ts_builtin_sym_end, + sym_visibility, anon_sym_fn, - anon_sym_RBRACE, anon_sym_type, anon_sym_const, anon_sym_spec, @@ -18421,15 +19092,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [15645] = 3, + [16068] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(932), 10, + ACTIONS(976), 10, ts_builtin_sym_end, + sym_visibility, anon_sym_fn, - anon_sym_RBRACE, anon_sym_type, anon_sym_const, anon_sym_spec, @@ -18437,15 +19108,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [15664] = 3, + [16087] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(934), 10, + ACTIONS(978), 10, ts_builtin_sym_end, + sym_visibility, anon_sym_fn, - anon_sym_RBRACE, anon_sym_type, anon_sym_const, anon_sym_spec, @@ -18453,15 +19124,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [15683] = 3, + [16106] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(352), 10, + ACTIONS(980), 10, ts_builtin_sym_end, + sym_visibility, anon_sym_fn, - anon_sym_RBRACE, anon_sym_type, anon_sym_const, anon_sym_spec, @@ -18469,13 +19140,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [15702] = 3, + [16125] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(936), 9, + ACTIONS(982), 10, ts_builtin_sym_end, + sym_visibility, anon_sym_fn, anon_sym_type, anon_sym_const, @@ -18484,13 +19156,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [15720] = 3, + [16144] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(938), 9, + ACTIONS(984), 10, ts_builtin_sym_end, + sym_visibility, anon_sym_fn, anon_sym_type, anon_sym_const, @@ -18499,13 +19172,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [15738] = 3, + [16163] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(940), 9, + ACTIONS(986), 10, ts_builtin_sym_end, + sym_visibility, anon_sym_fn, anon_sym_type, anon_sym_const, @@ -18514,13 +19188,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [15756] = 3, + [16182] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(942), 9, + ACTIONS(988), 10, ts_builtin_sym_end, + sym_visibility, anon_sym_fn, anon_sym_type, anon_sym_const, @@ -18529,2539 +19204,2761 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_struct, anon_sym_external, anon_sym_use, - [15774] = 8, + [16201] = 8, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(944), 1, + ACTIONS(990), 1, anon_sym_LPAREN, - STATE(249), 1, + STATE(239), 1, sym__reserved_identifier, - STATE(253), 1, + STATE(255), 1, sym_argument_list, - STATE(437), 1, + STATE(449), 1, sym_type_argument_list_definition, - STATE(458), 1, + STATE(505), 1, sym_identifier, - ACTIONS(904), 4, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [15802] = 3, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(946), 9, - ts_builtin_sym_end, - anon_sym_fn, - anon_sym_type, - anon_sym_const, - anon_sym_spec, - anon_sym_enum, - anon_sym_struct, - anon_sym_external, - anon_sym_use, - [15820] = 3, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(948), 9, - ts_builtin_sym_end, - anon_sym_fn, - anon_sym_type, - anon_sym_const, - anon_sym_spec, - anon_sym_enum, - anon_sym_struct, - anon_sym_external, - anon_sym_use, - [15838] = 3, + [16229] = 8, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(950), 9, - ts_builtin_sym_end, - anon_sym_fn, - anon_sym_type, - anon_sym_const, - anon_sym_spec, - anon_sym_enum, - anon_sym_struct, - anon_sym_external, - anon_sym_use, - [15856] = 8, + ACTIONS(990), 1, + anon_sym_LPAREN, + STATE(239), 1, + sym__reserved_identifier, + STATE(251), 1, + sym_argument_list, + STATE(424), 1, + sym_type_argument_list_definition, + STATE(505), 1, + sym_identifier, + ACTIONS(871), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [16257] = 8, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(944), 1, + ACTIONS(990), 1, anon_sym_LPAREN, - STATE(249), 1, + STATE(239), 1, sym__reserved_identifier, STATE(254), 1, sym_argument_list, - STATE(434), 1, + STATE(448), 1, sym_type_argument_list_definition, - STATE(458), 1, + STATE(505), 1, sym_identifier, - ACTIONS(904), 4, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [15884] = 3, + [16285] = 8, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(952), 9, - ts_builtin_sym_end, - anon_sym_fn, - anon_sym_type, - anon_sym_const, - anon_sym_spec, - anon_sym_enum, - anon_sym_struct, - anon_sym_external, - anon_sym_use, - [15902] = 3, + ACTIONS(990), 1, + anon_sym_LPAREN, + STATE(239), 1, + sym__reserved_identifier, + STATE(250), 1, + sym_argument_list, + STATE(422), 1, + sym_type_argument_list_definition, + STATE(505), 1, + sym_identifier, + ACTIONS(871), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [16313] = 7, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(954), 9, - ts_builtin_sym_end, - anon_sym_fn, - anon_sym_type, - anon_sym_const, - anon_sym_spec, - anon_sym_enum, - anon_sym_struct, - anon_sym_external, - anon_sym_use, - [15920] = 3, + ACTIONS(992), 1, + anon_sym_LPAREN, + STATE(239), 1, + sym__reserved_identifier, + STATE(325), 1, + aux_sym_type_argument_list_definition_repeat1, + STATE(512), 1, + sym_identifier, + ACTIONS(871), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [16338] = 6, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(956), 9, - ts_builtin_sym_end, - anon_sym_fn, - anon_sym_type, - anon_sym_const, - anon_sym_spec, - anon_sym_enum, - anon_sym_struct, - anon_sym_external, - anon_sym_use, - [15938] = 6, + STATE(21), 1, + sym_identifier, + STATE(76), 1, + sym__reserved_identifier, + STATE(181), 2, + sym__simple_name, + sym_generic_name, + ACTIONS(171), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [16361] = 6, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(77), 1, + STATE(75), 1, sym__reserved_identifier, - STATE(126), 1, + STATE(87), 1, sym_identifier, - STATE(246), 2, + STATE(238), 2, sym__simple_name, sym_generic_name, - ACTIONS(187), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [15961] = 7, + [16384] = 7, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(958), 1, - anon_sym_RPAREN, - STATE(77), 1, + ACTIONS(994), 1, + anon_sym_LPAREN, + STATE(239), 1, sym__reserved_identifier, - STATE(140), 1, + STATE(316), 1, + aux_sym_type_argument_list_definition_repeat1, + STATE(512), 1, sym_identifier, - STATE(463), 1, - sym_generic_name, - ACTIONS(187), 4, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [15986] = 6, + [16409] = 6, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(77), 1, + STATE(14), 1, + sym_identifier, + STATE(75), 1, sym__reserved_identifier, - STATE(126), 1, + STATE(126), 2, + sym__simple_name, + sym_generic_name, + ACTIONS(208), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [16432] = 6, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + STATE(23), 1, sym_identifier, - STATE(247), 2, + STATE(73), 1, + sym__reserved_identifier, + STATE(137), 2, sym__simple_name, sym_generic_name, - ACTIONS(187), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16009] = 6, + [16455] = 6, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(16), 1, + STATE(14), 1, sym_identifier, - STATE(77), 1, + STATE(73), 1, sym__reserved_identifier, - STATE(128), 2, + STATE(134), 2, sym__simple_name, sym_generic_name, - ACTIONS(187), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16032] = 6, + [16478] = 6, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(79), 1, + STATE(75), 1, sym__reserved_identifier, - STATE(117), 1, + STATE(87), 1, sym_identifier, - STATE(246), 2, + STATE(237), 2, sym__simple_name, sym_generic_name, - ACTIONS(602), 4, + ACTIONS(208), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16055] = 6, + [16501] = 6, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(79), 1, + STATE(78), 1, sym__reserved_identifier, - STATE(117), 1, + STATE(122), 1, sym_identifier, - STATE(247), 2, + STATE(238), 2, sym__simple_name, sym_generic_name, - ACTIONS(602), 4, + ACTIONS(601), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16078] = 6, + [16524] = 7, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(20), 1, + ACTIONS(996), 1, + anon_sym_LPAREN, + STATE(239), 1, + sym__reserved_identifier, + STATE(325), 1, + aux_sym_type_argument_list_definition_repeat1, + STATE(512), 1, sym_identifier, - STATE(76), 1, + ACTIONS(998), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [16549] = 6, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + STATE(78), 1, sym__reserved_identifier, - STATE(136), 2, + STATE(122), 1, + sym_identifier, + STATE(237), 2, sym__simple_name, sym_generic_name, - ACTIONS(73), 4, + ACTIONS(601), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16101] = 6, + [16572] = 6, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(16), 1, + STATE(73), 1, + sym__reserved_identifier, + STATE(87), 1, sym_identifier, - STATE(76), 1, + STATE(238), 2, + sym__simple_name, + sym_generic_name, + ACTIONS(75), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [16595] = 6, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + STATE(73), 1, sym__reserved_identifier, - STATE(139), 2, + STATE(87), 1, + sym_identifier, + STATE(237), 2, sym__simple_name, sym_generic_name, - ACTIONS(73), 4, + ACTIONS(75), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16124] = 6, + [16618] = 6, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(17), 1, + STATE(21), 1, sym_identifier, - STATE(79), 1, + STATE(78), 1, sym__reserved_identifier, - STATE(128), 2, + STATE(126), 2, sym__simple_name, sym_generic_name, - ACTIONS(602), 4, + ACTIONS(601), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16147] = 6, + [16641] = 6, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(18), 1, + STATE(26), 1, sym_identifier, - STATE(78), 1, + STATE(76), 1, sym__reserved_identifier, - STATE(136), 2, + STATE(137), 2, sym__simple_name, sym_generic_name, - ACTIONS(169), 4, + ACTIONS(171), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16170] = 6, + [16664] = 7, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(17), 1, + ACTIONS(1001), 1, + anon_sym_RPAREN, + STATE(75), 1, + sym__reserved_identifier, + STATE(141), 1, sym_identifier, - STATE(78), 1, + STATE(494), 1, + sym_generic_name, + ACTIONS(208), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [16689] = 4, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(946), 1, + anon_sym_RBRACE, + ACTIONS(1003), 6, + sym_visibility, + anon_sym_fn, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [16707] = 6, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(1005), 1, + sym_mut_keyword, + STATE(239), 1, sym__reserved_identifier, - STATE(181), 2, - sym__simple_name, - sym_generic_name, - ACTIONS(169), 4, + STATE(464), 1, + sym_identifier, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16193] = 7, + [16729] = 6, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(960), 1, - anon_sym_LPAREN, - STATE(249), 1, + ACTIONS(1007), 1, + anon_sym_self, + STATE(239), 1, sym__reserved_identifier, - STATE(314), 1, - aux_sym_type_argument_list_definition_repeat1, - STATE(473), 1, + STATE(500), 1, sym_identifier, - ACTIONS(962), 4, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16218] = 7, + [16751] = 6, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(965), 1, - anon_sym_LPAREN, - STATE(249), 1, + ACTIONS(1009), 1, + anon_sym_LBRACE, + STATE(239), 1, sym__reserved_identifier, - STATE(314), 1, - aux_sym_type_argument_list_definition_repeat1, - STATE(473), 1, + STATE(459), 1, sym_identifier, - ACTIONS(904), 4, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16243] = 6, + [16773] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(76), 1, - sym__reserved_identifier, - STATE(88), 1, - sym_identifier, - STATE(246), 2, - sym__simple_name, - sym_generic_name, - ACTIONS(73), 4, + ACTIONS(938), 1, + anon_sym_RBRACE, + ACTIONS(1011), 6, + sym_visibility, + anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16266] = 7, + [16791] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(967), 1, - anon_sym_LPAREN, - STATE(249), 1, + ACTIONS(1015), 1, + anon_sym_DOT, + ACTIONS(1013), 6, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_EQ, + anon_sym_SQUOTE, + [16809] = 6, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(1017), 1, + anon_sym_LBRACE, + STATE(239), 1, sym__reserved_identifier, - STATE(315), 1, - aux_sym_type_argument_list_definition_repeat1, - STATE(473), 1, + STATE(399), 1, sym_identifier, - ACTIONS(904), 4, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16291] = 6, + [16831] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(77), 1, - sym__reserved_identifier, - STATE(88), 1, - sym_identifier, - STATE(247), 2, - sym__simple_name, - sym_generic_name, - ACTIONS(187), 4, + ACTIONS(358), 1, + anon_sym_RBRACE, + ACTIONS(356), 6, + sym_visibility, + anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16314] = 6, + [16849] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(77), 1, - sym__reserved_identifier, - STATE(88), 1, - sym_identifier, - STATE(246), 2, - sym__simple_name, - sym_generic_name, - ACTIONS(187), 4, + ACTIONS(362), 1, + anon_sym_RBRACE, + ACTIONS(360), 6, + sym_visibility, + anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16337] = 6, + [16867] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(76), 1, - sym__reserved_identifier, - STATE(88), 1, - sym_identifier, - STATE(247), 2, - sym__simple_name, - sym_generic_name, - ACTIONS(73), 4, + ACTIONS(958), 1, + anon_sym_RBRACE, + ACTIONS(1019), 6, + sym_visibility, + anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16360] = 6, + [16885] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(15), 1, - sym_identifier, - STATE(77), 1, - sym__reserved_identifier, - STATE(128), 2, - sym__simple_name, - sym_generic_name, - ACTIONS(187), 4, + ACTIONS(366), 1, + anon_sym_RBRACE, + ACTIONS(364), 6, + sym_visibility, + anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16383] = 6, + [16903] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(19), 1, - sym_identifier, - STATE(76), 1, - sym__reserved_identifier, - STATE(136), 2, - sym__simple_name, - sym_generic_name, - ACTIONS(73), 4, + ACTIONS(370), 1, + anon_sym_RBRACE, + ACTIONS(368), 6, + sym_visibility, + anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16406] = 6, + [16921] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(15), 1, - sym_identifier, - STATE(76), 1, - sym__reserved_identifier, - STATE(139), 2, - sym__simple_name, - sym_generic_name, - ACTIONS(73), 4, + ACTIONS(374), 1, + anon_sym_RBRACE, + ACTIONS(372), 6, + sym_visibility, + anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16429] = 6, + [16939] = 6, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(969), 1, + ACTIONS(1021), 1, anon_sym_LBRACE, - STATE(249), 1, + STATE(239), 1, sym__reserved_identifier, - STATE(406), 1, + STATE(459), 1, sym_identifier, - ACTIONS(904), 4, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16451] = 6, + [16961] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(971), 1, - sym_mut_keyword, - STATE(249), 1, - sym__reserved_identifier, - STATE(469), 1, - sym_identifier, - ACTIONS(904), 4, + ACTIONS(968), 1, + anon_sym_RBRACE, + ACTIONS(1023), 6, + sym_visibility, + anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16473] = 6, + [16979] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(973), 1, - anon_sym_LBRACE, - STATE(249), 1, - sym__reserved_identifier, - STATE(371), 1, - sym_identifier, - ACTIONS(904), 4, + ACTIONS(382), 1, + anon_sym_RBRACE, + ACTIONS(380), 6, + sym_visibility, + anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16495] = 6, + [16997] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(975), 1, - anon_sym_self, - STATE(249), 1, - sym__reserved_identifier, - STATE(479), 1, - sym_identifier, - ACTIONS(904), 4, + ACTIONS(934), 1, + anon_sym_RBRACE, + ACTIONS(1025), 6, + sym_visibility, + anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16517] = 6, + [17015] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(977), 1, - anon_sym_LBRACE, - STATE(249), 1, - sym__reserved_identifier, - STATE(406), 1, - sym_identifier, - ACTIONS(904), 4, + ACTIONS(1029), 1, + anon_sym_RBRACE, + ACTIONS(1027), 6, + sym_visibility, + anon_sym_fn, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [17033] = 4, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(942), 1, + anon_sym_RBRACE, + ACTIONS(1031), 6, + sym_visibility, + anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16539] = 4, + [17051] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(979), 1, + ACTIONS(1035), 1, anon_sym_DASH_GT, - ACTIONS(981), 5, - anon_sym_LBRACE, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - [16556] = 5, + ACTIONS(1033), 6, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN2, + anon_sym_EQ, + anon_sym_SQUOTE, + [17069] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(249), 1, - sym__reserved_identifier, - STATE(449), 1, - sym_identifier, - ACTIONS(904), 4, + ACTIONS(936), 1, + anon_sym_RBRACE, + ACTIONS(1037), 6, + sym_visibility, + anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16575] = 4, + [17087] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(934), 1, + ACTIONS(952), 1, anon_sym_RBRACE, - ACTIONS(983), 5, + ACTIONS(1039), 6, + sym_visibility, anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16592] = 5, + [17105] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(249), 1, - sym__reserved_identifier, - STATE(377), 1, - sym_identifier, - ACTIONS(904), 4, + ACTIONS(1043), 1, + anon_sym_RBRACE, + ACTIONS(1041), 6, + sym_visibility, + anon_sym_fn, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16611] = 5, + [17123] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(249), 1, + STATE(239), 1, sym__reserved_identifier, - STATE(403), 1, + STATE(473), 1, sym_identifier, - ACTIONS(904), 4, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16630] = 5, + [17142] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(249), 1, + STATE(239), 1, sym__reserved_identifier, - STATE(295), 1, + STATE(514), 1, sym_identifier, - ACTIONS(904), 4, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16649] = 5, + [17161] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(249), 1, + STATE(239), 1, sym__reserved_identifier, - STATE(385), 1, + STATE(415), 1, sym_identifier, - ACTIONS(904), 4, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16668] = 4, + [17180] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(932), 1, - anon_sym_RBRACE, - ACTIONS(985), 5, - anon_sym_fn, + STATE(239), 1, + sym__reserved_identifier, + STATE(420), 1, + sym_identifier, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16685] = 5, + [17199] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(249), 1, + STATE(239), 1, sym__reserved_identifier, - STATE(391), 1, + STATE(409), 1, sym_identifier, - ACTIONS(904), 4, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16704] = 5, + [17218] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(249), 1, + STATE(239), 1, sym__reserved_identifier, - STATE(446), 1, + STATE(414), 1, sym_identifier, - ACTIONS(904), 4, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16723] = 4, + [17237] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(352), 1, - anon_sym_RBRACE, - ACTIONS(350), 5, - anon_sym_fn, + STATE(239), 1, + sym__reserved_identifier, + STATE(459), 1, + sym_identifier, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16740] = 4, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(987), 1, - anon_sym_DOT, - ACTIONS(989), 5, - anon_sym_LBRACE, - anon_sym_assume, - anon_sym_forall, - anon_sym_exists, - anon_sym_unique, - [16757] = 5, + [17256] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(249), 1, + STATE(239), 1, sym__reserved_identifier, - STATE(409), 1, + STATE(510), 1, sym_identifier, - ACTIONS(904), 4, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16776] = 5, + [17275] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(249), 1, + STATE(239), 1, sym__reserved_identifier, - STATE(410), 1, + STATE(315), 1, sym_identifier, - ACTIONS(904), 4, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16795] = 5, + [17294] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(249), 1, + STATE(239), 1, sym__reserved_identifier, - STATE(480), 1, + STATE(406), 1, sym_identifier, - ACTIONS(904), 4, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16814] = 4, + [17313] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(336), 1, - anon_sym_RBRACE, - ACTIONS(334), 5, - anon_sym_fn, + STATE(239), 1, + sym__reserved_identifier, + STATE(472), 1, + sym_identifier, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16831] = 4, + [17332] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(358), 1, - anon_sym_RBRACE, - ACTIONS(356), 5, - anon_sym_fn, + STATE(239), 1, + sym__reserved_identifier, + STATE(482), 1, + sym_identifier, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16848] = 4, + [17351] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(993), 1, - anon_sym_RBRACE, - ACTIONS(991), 5, - anon_sym_fn, + STATE(239), 1, + sym__reserved_identifier, + STATE(461), 1, + sym_identifier, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16865] = 5, + [17370] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(249), 1, + STATE(239), 1, sym__reserved_identifier, - STATE(450), 1, + STATE(491), 1, sym_identifier, - ACTIONS(904), 4, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16884] = 4, + [17389] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(348), 1, - anon_sym_RBRACE, - ACTIONS(346), 5, - anon_sym_fn, + STATE(239), 1, + sym__reserved_identifier, + STATE(489), 1, + sym_identifier, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16901] = 4, + [17408] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(344), 1, - anon_sym_RBRACE, - ACTIONS(342), 5, - anon_sym_fn, + STATE(239), 1, + sym__reserved_identifier, + STATE(465), 1, + sym_identifier, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16918] = 5, + [17427] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(249), 1, + STATE(239), 1, sym__reserved_identifier, - STATE(382), 1, + STATE(403), 1, sym_identifier, - ACTIONS(904), 4, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16937] = 4, + [17446] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(926), 1, - anon_sym_RBRACE, - ACTIONS(995), 5, - anon_sym_fn, + STATE(239), 1, + sym__reserved_identifier, + STATE(498), 1, + sym_identifier, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16954] = 5, + [17465] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(249), 1, + STATE(239), 1, sym__reserved_identifier, - STATE(475), 1, + STATE(447), 1, sym_identifier, - ACTIONS(904), 4, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16973] = 5, + [17484] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(249), 1, + STATE(239), 1, sym__reserved_identifier, - STATE(455), 1, + STATE(404), 1, sym_identifier, - ACTIONS(904), 4, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [16992] = 4, + [17503] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(922), 1, - anon_sym_RBRACE, - ACTIONS(997), 5, - anon_sym_fn, + STATE(239), 1, + sym__reserved_identifier, + STATE(495), 1, + sym_identifier, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [17009] = 4, + [17522] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1001), 1, - anon_sym_RBRACE, - ACTIONS(999), 5, - anon_sym_fn, - anon_sym_constructor, - anon_sym_proof, - anon_sym_uzumaki, - sym__identifier, - [17026] = 5, + ACTIONS(1045), 1, + anon_sym_DOT, + ACTIONS(1013), 5, + anon_sym_LBRACE, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + [17539] = 4, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(1047), 1, + anon_sym_DASH_GT, + ACTIONS(1033), 5, + anon_sym_LBRACE, + anon_sym_assume, + anon_sym_forall, + anon_sym_exists, + anon_sym_unique, + [17556] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(249), 1, + STATE(239), 1, sym__reserved_identifier, - STATE(406), 1, + STATE(314), 1, sym_identifier, - ACTIONS(904), 4, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [17045] = 5, + [17575] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(249), 1, + STATE(239), 1, sym__reserved_identifier, - STATE(299), 1, + STATE(312), 1, sym_identifier, - ACTIONS(904), 4, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [17064] = 5, + [17594] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(249), 1, + STATE(239), 1, sym__reserved_identifier, - STATE(478), 1, + STATE(503), 1, sym_identifier, - ACTIONS(904), 4, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [17083] = 5, + [17613] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - STATE(249), 1, + STATE(239), 1, sym__reserved_identifier, - STATE(465), 1, + STATE(504), 1, sym_identifier, - ACTIONS(904), 4, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [17102] = 4, + [17632] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(340), 1, - anon_sym_RBRACE, - ACTIONS(338), 5, - anon_sym_fn, + STATE(239), 1, + sym__reserved_identifier, + STATE(513), 1, + sym_identifier, + ACTIONS(871), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [17119] = 4, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(1003), 1, - anon_sym_DOT, - ACTIONS(989), 4, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_EQ, - anon_sym_SQUOTE, - [17135] = 4, + [17651] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1005), 1, - anon_sym_DASH_GT, - ACTIONS(981), 4, - anon_sym_SEMI, - anon_sym_RBRACK, - anon_sym_EQ, - anon_sym_SQUOTE, - [17151] = 4, + STATE(239), 1, + sym__reserved_identifier, + STATE(313), 1, + sym_identifier, + ACTIONS(871), 4, + anon_sym_constructor, + anon_sym_proof, + anon_sym_uzumaki, + sym__identifier, + [17670] = 7, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1007), 1, + ACTIONS(1049), 1, + anon_sym_fn, + ACTIONS(1051), 1, + anon_sym_type, + ACTIONS(1053), 1, + anon_sym_const, + ACTIONS(1055), 1, + anon_sym_enum, + ACTIONS(1057), 1, + anon_sym_struct, + [17692] = 4, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(1059), 1, anon_sym_LPAREN, - ACTIONS(1009), 4, + ACTIONS(1061), 4, anon_sym_constructor, anon_sym_proof, anon_sym_uzumaki, sym__identifier, - [17167] = 6, + [17708] = 6, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(692), 1, + ACTIONS(698), 1, anon_sym_COLON_COLON, - ACTIONS(1011), 1, + ACTIONS(1063), 1, anon_sym_DOT, - ACTIONS(1013), 1, + ACTIONS(1065), 1, anon_sym_COLON, - ACTIONS(1015), 1, + ACTIONS(1067), 1, anon_sym_LBRACE, - [17186] = 6, + [17727] = 6, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(692), 1, + ACTIONS(698), 1, anon_sym_COLON_COLON, - ACTIONS(1011), 1, + ACTIONS(1063), 1, anon_sym_DOT, - ACTIONS(1015), 1, + ACTIONS(1067), 1, anon_sym_LBRACE, - ACTIONS(1017), 1, + ACTIONS(1069), 1, anon_sym_COLON, - [17205] = 5, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(1019), 1, - anon_sym_COMMA, - ACTIONS(1021), 1, - anon_sym_RBRACE, - STATE(376), 1, - aux_sym_use_directive_repeat2, - [17221] = 5, + [17746] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(732), 1, + ACTIONS(749), 1, anon_sym_COMMA, - ACTIONS(1023), 1, - anon_sym_RPAREN2, - STATE(383), 1, - aux_sym_function_call_expression_repeat1, - [17237] = 5, - ACTIONS(3), 1, - sym__docstring, - ACTIONS(5), 1, - sym__comment, - ACTIONS(683), 1, - anon_sym_COLON_COLON, - ACTIONS(1015), 1, - anon_sym_LBRACE, - ACTIONS(1025), 1, - anon_sym_DOT, - [17253] = 5, + ACTIONS(1071), 1, + anon_sym_RBRACK, + STATE(390), 1, + aux_sym_array_literal_repeat1, + [17762] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(732), 1, + ACTIONS(1073), 1, anon_sym_COMMA, - ACTIONS(1027), 1, + ACTIONS(1075), 1, anon_sym_RPAREN2, - STATE(383), 1, - aux_sym_function_call_expression_repeat1, - [17269] = 5, + STATE(411), 1, + aux_sym_argument_list_repeat1, + [17778] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1029), 1, + ACTIONS(757), 1, + anon_sym_RBRACK, + ACTIONS(1077), 1, anon_sym_COMMA, - ACTIONS(1031), 1, - anon_sym_RBRACE, - STATE(378), 1, - aux_sym_enum_definition_repeat1, - [17285] = 5, + STATE(390), 1, + aux_sym_array_literal_repeat1, + [17794] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1033), 1, + ACTIONS(1080), 1, anon_sym_SEMI, - ACTIONS(1035), 1, + ACTIONS(1082), 1, anon_sym_COLON_COLON2, - STATE(379), 1, + STATE(391), 1, aux_sym_use_directive_repeat1, - [17301] = 5, + [17810] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(760), 1, + ACTIONS(1085), 1, anon_sym_COMMA, - ACTIONS(1037), 1, - anon_sym_RBRACK, - STATE(384), 1, - aux_sym_array_literal_repeat1, - [17317] = 4, + ACTIONS(1088), 1, + anon_sym_RBRACE, + STATE(392), 1, + aux_sym_enum_definition_repeat1, + [17826] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1039), 1, - anon_sym_DOT, - ACTIONS(989), 2, + ACTIONS(751), 1, anon_sym_COMMA, + ACTIONS(1090), 1, anon_sym_RPAREN2, - [17331] = 5, + STATE(400), 1, + aux_sym_function_call_expression_repeat1, + [17842] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1019), 1, + ACTIONS(1092), 1, anon_sym_COMMA, - ACTIONS(1041), 1, + ACTIONS(1094), 1, anon_sym_RBRACE, - STATE(376), 1, + STATE(396), 1, aux_sym_use_directive_repeat2, - [17347] = 4, + [17858] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1043), 1, - anon_sym_DASH_GT, - ACTIONS(981), 2, + ACTIONS(1073), 1, anon_sym_COMMA, + ACTIONS(1096), 1, anon_sym_RPAREN2, - [17361] = 5, + STATE(389), 1, + aux_sym_argument_list_repeat1, + [17874] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1045), 1, + ACTIONS(1098), 1, anon_sym_COMMA, - ACTIONS(1048), 1, + ACTIONS(1101), 1, anon_sym_RBRACE, - STATE(376), 1, + STATE(396), 1, aux_sym_use_directive_repeat2, - [17377] = 5, + [17890] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1019), 1, + ACTIONS(1103), 1, anon_sym_COMMA, - ACTIONS(1050), 1, + ACTIONS(1105), 1, anon_sym_RBRACE, - STATE(366), 1, - aux_sym_use_directive_repeat2, - [17393] = 5, + STATE(392), 1, + aux_sym_enum_definition_repeat1, + [17906] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1052), 1, + ACTIONS(1092), 1, anon_sym_COMMA, - ACTIONS(1055), 1, + ACTIONS(1107), 1, anon_sym_RBRACE, - STATE(378), 1, - aux_sym_enum_definition_repeat1, - [17409] = 5, + STATE(396), 1, + aux_sym_use_directive_repeat2, + [17922] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1057), 1, + ACTIONS(1109), 1, anon_sym_SEMI, - ACTIONS(1059), 1, + ACTIONS(1111), 1, anon_sym_COLON_COLON2, - STATE(390), 1, + STATE(412), 1, aux_sym_use_directive_repeat1, - [17425] = 5, + [17938] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(738), 1, + ACTIONS(1113), 1, anon_sym_COMMA, - ACTIONS(1061), 1, - anon_sym_RBRACE, - STATE(389), 1, - aux_sym_struct_expression_repeat1, - [17441] = 5, + ACTIONS(1116), 1, + anon_sym_RPAREN2, + STATE(400), 1, + aux_sym_function_call_expression_repeat1, + [17954] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1063), 1, + ACTIONS(751), 1, anon_sym_COMMA, - ACTIONS(1065), 1, + ACTIONS(1118), 1, anon_sym_RPAREN2, - STATE(388), 1, - aux_sym_argument_list_repeat1, - [17457] = 5, + STATE(400), 1, + aux_sym_function_call_expression_repeat1, + [17970] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1029), 1, + ACTIONS(741), 1, anon_sym_COMMA, - ACTIONS(1067), 1, + ACTIONS(1120), 1, anon_sym_RBRACE, - STATE(370), 1, - aux_sym_enum_definition_repeat1, - [17473] = 5, + STATE(408), 1, + aux_sym_struct_expression_repeat1, + [17986] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1069), 1, + ACTIONS(1103), 1, anon_sym_COMMA, - ACTIONS(1072), 1, - anon_sym_RPAREN2, - STATE(383), 1, - aux_sym_function_call_expression_repeat1, - [17489] = 5, + ACTIONS(1122), 1, + anon_sym_RBRACE, + STATE(397), 1, + aux_sym_enum_definition_repeat1, + [18002] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(770), 1, - anon_sym_RBRACK, - ACTIONS(1074), 1, + ACTIONS(1092), 1, anon_sym_COMMA, - STATE(384), 1, - aux_sym_array_literal_repeat1, - [17505] = 5, + ACTIONS(1124), 1, + anon_sym_RBRACE, + STATE(398), 1, + aux_sym_use_directive_repeat2, + [18018] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1019), 1, - anon_sym_COMMA, - ACTIONS(1077), 1, - anon_sym_RBRACE, - STATE(374), 1, - aux_sym_use_directive_repeat2, - [17521] = 5, + ACTIONS(698), 1, + anon_sym_COLON_COLON, + ACTIONS(1063), 1, + anon_sym_DOT, + ACTIONS(1067), 1, + anon_sym_LBRACE, + [18034] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1079), 1, + ACTIONS(1103), 1, anon_sym_COMMA, - ACTIONS(1082), 1, - anon_sym_RPAREN2, - STATE(386), 1, - aux_sym_argument_list_repeat1, - [17537] = 5, + ACTIONS(1126), 1, + anon_sym_RBRACE, + STATE(410), 1, + aux_sym_enum_definition_repeat1, + [18050] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(698), 1, + ACTIONS(702), 1, anon_sym_COLON_COLON, - ACTIONS(1015), 1, + ACTIONS(1067), 1, anon_sym_LBRACE, - ACTIONS(1084), 1, + ACTIONS(1128), 1, anon_sym_DOT, - [17553] = 5, + [18066] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1063), 1, + ACTIONS(1130), 1, anon_sym_COMMA, - ACTIONS(1086), 1, - anon_sym_RPAREN2, - STATE(386), 1, - aux_sym_argument_list_repeat1, - [17569] = 5, + ACTIONS(1133), 1, + anon_sym_RBRACE, + STATE(408), 1, + aux_sym_struct_expression_repeat1, + [18082] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1088), 1, + ACTIONS(1092), 1, anon_sym_COMMA, - ACTIONS(1091), 1, + ACTIONS(1135), 1, anon_sym_RBRACE, - STATE(389), 1, - aux_sym_struct_expression_repeat1, - [17585] = 5, + STATE(394), 1, + aux_sym_use_directive_repeat2, + [18098] = 5, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(1103), 1, + anon_sym_COMMA, + ACTIONS(1137), 1, + anon_sym_RBRACE, + STATE(392), 1, + aux_sym_enum_definition_repeat1, + [18114] = 5, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(1139), 1, + anon_sym_COMMA, + ACTIONS(1142), 1, + anon_sym_RPAREN2, + STATE(411), 1, + aux_sym_argument_list_repeat1, + [18130] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1093), 1, + ACTIONS(1144), 1, anon_sym_SEMI, - ACTIONS(1095), 1, + ACTIONS(1146), 1, anon_sym_COLON_COLON2, - STATE(390), 1, + STATE(391), 1, aux_sym_use_directive_repeat1, - [17601] = 5, + [18146] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1019), 1, + ACTIONS(1092), 1, anon_sym_COMMA, - ACTIONS(1098), 1, + ACTIONS(1148), 1, anon_sym_RBRACE, - STATE(393), 1, + STATE(396), 1, aux_sym_use_directive_repeat2, - [17617] = 5, + [18162] = 5, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(692), 1, - anon_sym_COLON_COLON, - ACTIONS(1011), 1, - anon_sym_DOT, - ACTIONS(1015), 1, - anon_sym_LBRACE, - [17633] = 5, + ACTIONS(1092), 1, + anon_sym_COMMA, + ACTIONS(1150), 1, + anon_sym_RBRACE, + STATE(413), 1, + aux_sym_use_directive_repeat2, + [18178] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1019), 1, + ACTIONS(1152), 2, anon_sym_COMMA, - ACTIONS(1100), 1, anon_sym_RBRACE, - STATE(376), 1, - aux_sym_use_directive_repeat2, - [17649] = 4, + [18189] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1003), 1, - anon_sym_DOT, - ACTIONS(1102), 1, - anon_sym_RBRACK, - [17662] = 4, + ACTIONS(37), 1, + anon_sym_LBRACE, + STATE(110), 1, + sym_block, + [18202] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(860), 1, + ACTIONS(37), 1, anon_sym_LBRACE, - STATE(285), 1, + STATE(111), 1, sym_block, - [17675] = 4, + [18215] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(860), 1, + ACTIONS(37), 1, anon_sym_LBRACE, - STATE(287), 1, + STATE(112), 1, sym_block, - [17688] = 4, + [18228] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(33), 1, - anon_sym_LBRACE, - STATE(108), 1, - sym_block, - [17701] = 4, + ACTIONS(1154), 2, + anon_sym_COMMA, + anon_sym_RPAREN2, + [18239] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(33), 1, - anon_sym_LBRACE, - STATE(112), 1, - sym_block, - [17714] = 4, + ACTIONS(1156), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [18250] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(33), 1, - anon_sym_LBRACE, - STATE(92), 1, - sym_block, - [17727] = 4, + ACTIONS(1158), 2, + anon_sym_COMMA, + anon_sym_RPAREN2, + [18261] = 4, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(990), 1, + anon_sym_LPAREN, + STATE(258), 1, + sym_argument_list, + [18274] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_DQUOTE, - STATE(456), 1, + STATE(496), 1, sym_string_literal, - [17740] = 4, + [18287] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(33), 1, - anon_sym_LBRACE, - STATE(93), 1, - sym_block, - [17753] = 4, + ACTIONS(990), 1, + anon_sym_LPAREN, + STATE(248), 1, + sym_argument_list, + [18300] = 4, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(1160), 1, + anon_sym_SEMI, + ACTIONS(1162), 1, + anon_sym_EQ, + [18313] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1003), 1, + ACTIONS(1015), 1, anon_sym_DOT, - ACTIONS(1104), 1, - anon_sym_COLON, - [17766] = 4, + ACTIONS(1164), 1, + anon_sym_RBRACK, + [18326] = 4, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(1166), 1, + anon_sym_type, + ACTIONS(1168), 1, + anon_sym_const, + [18339] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(944), 1, + ACTIONS(990), 1, anon_sym_LPAREN, - STATE(407), 1, + STATE(351), 1, sym_argument_list, - [17779] = 4, + [18352] = 3, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(1170), 2, + anon_sym_COMMA, + anon_sym_RPAREN2, + [18363] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1106), 1, + ACTIONS(1172), 1, anon_sym_SEMI, - ACTIONS(1108), 1, - anon_sym_RBRACK, - [17792] = 3, + ACTIONS(1174), 1, + anon_sym_EQ, + [18376] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1110), 2, + ACTIONS(1176), 2, anon_sym_COMMA, anon_sym_RPAREN2, - [17803] = 3, + [18387] = 4, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(1178), 1, + anon_sym_SEMI, + ACTIONS(1180), 1, + anon_sym_DASH_GT, + [18400] = 4, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(73), 1, + anon_sym_DQUOTE, + STATE(509), 1, + sym_string_literal, + [18413] = 4, ACTIONS(3), 1, sym__docstring, - ACTIONS(5), 1, + ACTIONS(5), 1, + sym__comment, + ACTIONS(875), 1, + anon_sym_LBRACE, + STATE(274), 1, + sym_block, + [18426] = 3, + ACTIONS(1182), 1, + anon_sym_DQUOTE, + ACTIONS(1184), 1, + sym__string_literal_content, + ACTIONS(5), 2, + sym__docstring, sym__comment, - ACTIONS(1112), 2, - anon_sym_SEMI, - anon_sym_COLON_COLON2, - [17814] = 4, + [18437] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1114), 1, - anon_sym_SEMI, - ACTIONS(1116), 1, - anon_sym_DASH_GT, - [17827] = 4, + ACTIONS(875), 1, + anon_sym_LBRACE, + STATE(275), 1, + sym_block, + [18450] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1003), 1, - anon_sym_DOT, - ACTIONS(1118), 1, - anon_sym_COLON, - [17840] = 3, + ACTIONS(875), 1, + anon_sym_LBRACE, + STATE(276), 1, + sym_block, + [18463] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1120), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [17851] = 3, + ACTIONS(547), 1, + anon_sym_LBRACE, + STATE(83), 1, + sym_block, + [18476] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1122), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [17862] = 4, + ACTIONS(547), 1, + anon_sym_LBRACE, + STATE(84), 1, + sym_block, + [18489] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(69), 1, - anon_sym_DQUOTE, - STATE(467), 1, - sym_string_literal, - [17875] = 4, + ACTIONS(547), 1, + anon_sym_LBRACE, + STATE(85), 1, + sym_block, + [18502] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(860), 1, + ACTIONS(547), 1, anon_sym_LBRACE, - STATE(279), 1, + STATE(86), 1, sym_block, - [17888] = 3, + [18515] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1124), 2, - anon_sym_COMMA, - anon_sym_RPAREN2, - [17899] = 3, + ACTIONS(875), 1, + anon_sym_LBRACE, + STATE(277), 1, + sym_block, + [18528] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1126), 2, - anon_sym_COMMA, - anon_sym_RPAREN2, - [17910] = 4, + ACTIONS(895), 1, + anon_sym_LBRACE, + STATE(340), 1, + sym_block, + [18541] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(546), 1, + ACTIONS(895), 1, anon_sym_LBRACE, - STATE(84), 1, + STATE(342), 1, sym_block, - [17923] = 4, + [18554] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(546), 1, + ACTIONS(895), 1, anon_sym_LBRACE, - STATE(83), 1, + STATE(343), 1, sym_block, - [17936] = 4, + [18567] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(546), 1, + ACTIONS(895), 1, anon_sym_LBRACE, - STATE(89), 1, + STATE(344), 1, sym_block, - [17949] = 4, + [18580] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1128), 1, - anon_sym_SEMI, - ACTIONS(1130), 1, - anon_sym_EQ, - [17962] = 4, + ACTIONS(990), 1, + anon_sym_LPAREN, + STATE(432), 1, + sym_argument_list, + [18593] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(546), 1, - anon_sym_LBRACE, - STATE(86), 1, - sym_block, - [17975] = 3, - ACTIONS(1132), 1, - anon_sym_DQUOTE, - ACTIONS(1134), 1, - sym__string_literal_content, - ACTIONS(5), 2, + ACTIONS(990), 1, + anon_sym_LPAREN, + STATE(256), 1, + sym_argument_list, + [18606] = 4, + ACTIONS(3), 1, sym__docstring, + ACTIONS(5), 1, sym__comment, - [17986] = 3, + ACTIONS(990), 1, + anon_sym_LPAREN, + STATE(257), 1, + sym_argument_list, + [18619] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1136), 2, + ACTIONS(1186), 2, anon_sym_COMMA, anon_sym_RPAREN2, - [17997] = 4, + [18630] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(944), 1, - anon_sym_LPAREN, - STATE(375), 1, - sym_argument_list, - [18010] = 3, + ACTIONS(1015), 1, + anon_sym_DOT, + ACTIONS(1188), 1, + anon_sym_COLON, + [18643] = 4, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(1015), 1, + anon_sym_DOT, + ACTIONS(1190), 1, + anon_sym_COLON, + [18656] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1138), 2, + ACTIONS(1192), 2, anon_sym_COMMA, anon_sym_RPAREN2, - [18021] = 4, + [18667] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(989), 1, + ACTIONS(1013), 1, anon_sym_COLON_COLON, - ACTIONS(1140), 1, + ACTIONS(1194), 1, anon_sym_DOT, - [18034] = 4, + [18680] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(981), 1, + ACTIONS(1033), 1, anon_sym_COLON_COLON, - ACTIONS(1142), 1, + ACTIONS(1196), 1, anon_sym_DASH_GT, - [18047] = 3, + [18693] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1144), 2, - anon_sym_COMMA, - anon_sym_RPAREN2, - [18058] = 4, + ACTIONS(1198), 1, + anon_sym_SEMI, + ACTIONS(1200), 1, + anon_sym_RBRACK, + [18706] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(944), 1, + ACTIONS(990), 1, anon_sym_LPAREN, - STATE(329), 1, + STATE(377), 1, sym_argument_list, - [18071] = 4, + [18719] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(872), 1, - anon_sym_LBRACE, - STATE(360), 1, - sym_block, - [18084] = 4, + ACTIONS(990), 1, + anon_sym_LPAREN, + STATE(455), 1, + sym_argument_list, + [18732] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(872), 1, - anon_sym_LBRACE, - STATE(344), 1, - sym_block, - [18097] = 4, + ACTIONS(1202), 2, + anon_sym_SEMI, + anon_sym_COLON_COLON2, + [18743] = 4, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(872), 1, + ACTIONS(37), 1, anon_sym_LBRACE, - STATE(345), 1, + STATE(92), 1, sym_block, - [18110] = 4, + [18756] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(872), 1, + ACTIONS(1204), 1, anon_sym_LBRACE, - STATE(348), 1, - sym_block, - [18123] = 4, + [18766] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(860), 1, - anon_sym_LBRACE, - STATE(282), 1, - sym_block, - [18136] = 4, + ACTIONS(1164), 1, + anon_sym_RBRACK, + [18776] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(944), 1, - anon_sym_LPAREN, - STATE(425), 1, - sym_argument_list, - [18149] = 4, + ACTIONS(1206), 1, + anon_sym_SQUOTE, + [18786] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(944), 1, - anon_sym_LPAREN, - STATE(256), 1, - sym_argument_list, - [18162] = 4, + ACTIONS(1208), 1, + anon_sym_COLON, + [18796] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1146), 1, - anon_sym_SEMI, - ACTIONS(1148), 1, - anon_sym_EQ, - [18175] = 4, + ACTIONS(1210), 1, + anon_sym_LBRACE, + [18806] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(944), 1, - anon_sym_LPAREN, - STATE(362), 1, - sym_argument_list, - [18188] = 4, + ACTIONS(1212), 1, + ts_builtin_sym_end, + [18816] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(944), 1, - anon_sym_LPAREN, - STATE(263), 1, - sym_argument_list, - [18201] = 3, + ACTIONS(1214), 1, + anon_sym_SEMI, + [18826] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1150), 1, - anon_sym_COLON, - [18211] = 3, + ACTIONS(1216), 1, + anon_sym_SEMI, + [18836] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1152), 1, - anon_sym_EQ, - [18221] = 3, + ACTIONS(1218), 1, + anon_sym_SQUOTE, + [18846] = 3, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(698), 1, + anon_sym_COLON_COLON, + [18856] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(892), 1, + ACTIONS(857), 1, anon_sym_if, - [18231] = 3, + [18866] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1154), 1, - anon_sym_fn, - [18241] = 3, + ACTIONS(1220), 1, + anon_sym_EQ, + [18876] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1156), 1, - anon_sym_SQUOTE, - [18251] = 3, + ACTIONS(1222), 1, + anon_sym_LBRACE, + [18886] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1158), 1, + ACTIONS(1224), 1, anon_sym_from, - [18261] = 3, + [18896] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1160), 1, + ACTIONS(1226), 1, anon_sym_SEMI, - [18271] = 3, + [18906] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1162), 1, - anon_sym_from, - [18281] = 3, + ACTIONS(1228), 1, + anon_sym_SEMI, + [18916] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1164), 1, - anon_sym_COLON, - [18291] = 3, + ACTIONS(1230), 1, + anon_sym_SQUOTE, + [18926] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1166), 1, - ts_builtin_sym_end, - [18301] = 3, + ACTIONS(1232), 1, + anon_sym_from, + [18936] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1168), 1, + ACTIONS(1234), 1, anon_sym_SQUOTE, - [18311] = 3, + [18946] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1170), 1, - anon_sym_EQ, - [18321] = 3, + ACTIONS(1236), 1, + anon_sym_SQUOTE, + [18956] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1172), 1, - anon_sym_LBRACE, - [18331] = 3, + ACTIONS(1238), 1, + anon_sym_COLON, + [18966] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1174), 1, + ACTIONS(1240), 1, anon_sym_COLON, - [18341] = 3, + [18976] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1176), 1, + ACTIONS(1242), 1, anon_sym_SEMI, - [18351] = 3, + [18986] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1178), 1, + ACTIONS(1244), 1, anon_sym_SEMI, - [18361] = 3, + [18996] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1180), 1, - anon_sym_SEMI, - [18371] = 3, + ACTIONS(1246), 1, + anon_sym_DQUOTE, + [19006] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1182), 1, - anon_sym_COLON, - [18381] = 3, + ACTIONS(1248), 1, + anon_sym_SEMI, + [19016] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1184), 1, + ACTIONS(1250), 1, anon_sym_SEMI, - [18391] = 3, + [19026] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1186), 1, - anon_sym_SEMI, - [18401] = 3, + ACTIONS(1252), 1, + anon_sym_SQUOTE, + [19036] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1188), 1, - anon_sym_SQUOTE, - [18411] = 3, + ACTIONS(1254), 1, + anon_sym_COLON, + [19046] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1190), 1, - anon_sym_SEMI, - [18421] = 3, + ACTIONS(1256), 1, + anon_sym_SQUOTE, + [19056] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1192), 1, - anon_sym_SEMI, - [18431] = 3, + ACTIONS(1258), 1, + anon_sym_LBRACE, + [19066] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1102), 1, - anon_sym_RBRACK, - [18441] = 3, + ACTIONS(702), 1, + anon_sym_COLON_COLON, + [19076] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1194), 1, - anon_sym_SEMI, - [18451] = 3, + ACTIONS(1260), 1, + anon_sym_fn, + [19086] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1196), 1, + ACTIONS(1262), 1, anon_sym_RPAREN2, - [18461] = 3, + [19096] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(698), 1, - anon_sym_COLON_COLON, - [18471] = 3, + ACTIONS(1264), 1, + anon_sym_LBRACE, + [19106] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1198), 1, - anon_sym_EQ, - [18481] = 3, + ACTIONS(1266), 1, + anon_sym_SEMI, + [19116] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1200), 1, + ACTIONS(1268), 1, + anon_sym_COLON, + [19126] = 3, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(1270), 1, + anon_sym_COLON, + [19136] = 3, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(1272), 1, anon_sym_SQUOTE, - [18491] = 3, + [19146] = 3, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(1274), 1, + anon_sym_COLON, + [19156] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1202), 1, + ACTIONS(1276), 1, anon_sym_SEMI, - [18501] = 3, + [19166] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1204), 1, + ACTIONS(1278), 1, + anon_sym_SEMI, + [19176] = 3, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(1280), 1, anon_sym_EQ, - [18511] = 3, + [19186] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1206), 1, - anon_sym_COLON, - [18521] = 3, + ACTIONS(1282), 1, + anon_sym_EQ, + [19196] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(683), 1, - anon_sym_COLON_COLON, - [18531] = 3, + ACTIONS(1284), 1, + anon_sym_SQUOTE, + [19206] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(692), 1, - anon_sym_COLON_COLON, - [18541] = 3, + ACTIONS(1286), 1, + anon_sym_EQ, + [19216] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1208), 1, - anon_sym_DQUOTE, - [18551] = 3, + ACTIONS(1288), 1, + anon_sym_EQ, + [19226] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1210), 1, - anon_sym_SQUOTE, - [18561] = 3, + ACTIONS(1290), 1, + anon_sym_EQ, + [19236] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1212), 1, + ACTIONS(1292), 1, anon_sym_SEMI, - [18571] = 3, + [19246] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1214), 1, - anon_sym_LBRACE, - [18581] = 3, + ACTIONS(1294), 1, + anon_sym_EQ, + [19256] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1216), 1, - anon_sym_SEMI, - [18591] = 3, + ACTIONS(1296), 1, + anon_sym_fn, + [19266] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1218), 1, - aux_sym_number_literal_token1, - [18601] = 3, + ACTIONS(1298), 1, + anon_sym_SQUOTE, + [19276] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1220), 1, + ACTIONS(1300), 1, anon_sym_COLON, - [18611] = 3, + [19286] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1222), 1, + ACTIONS(1302), 1, anon_sym_COLON, - [18621] = 3, + [19296] = 3, ACTIONS(3), 1, sym__docstring, ACTIONS(5), 1, sym__comment, - ACTIONS(1224), 1, - anon_sym_LBRACE, + ACTIONS(1304), 1, + anon_sym_SEMI, + [19306] = 3, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(1306), 1, + anon_sym_SEMI, + [19316] = 3, + ACTIONS(3), 1, + sym__docstring, + ACTIONS(5), 1, + sym__comment, + ACTIONS(1308), 1, + anon_sym_EQ, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(11)] = 0, - [SMALL_STATE(12)] = 120, - [SMALL_STATE(13)] = 210, - [SMALL_STATE(14)] = 299, - [SMALL_STATE(15)] = 388, - [SMALL_STATE(16)] = 475, - [SMALL_STATE(17)] = 561, - [SMALL_STATE(18)] = 647, - [SMALL_STATE(19)] = 732, - [SMALL_STATE(20)] = 816, - [SMALL_STATE(21)] = 899, - [SMALL_STATE(22)] = 1001, - [SMALL_STATE(23)] = 1101, - [SMALL_STATE(24)] = 1201, - [SMALL_STATE(25)] = 1301, - [SMALL_STATE(26)] = 1398, - [SMALL_STATE(27)] = 1495, - [SMALL_STATE(28)] = 1592, - [SMALL_STATE(29)] = 1689, - [SMALL_STATE(30)] = 1786, - [SMALL_STATE(31)] = 1883, - [SMALL_STATE(32)] = 1980, - [SMALL_STATE(33)] = 2077, - [SMALL_STATE(34)] = 2174, - [SMALL_STATE(35)] = 2271, - [SMALL_STATE(36)] = 2368, - [SMALL_STATE(37)] = 2465, - [SMALL_STATE(38)] = 2562, - [SMALL_STATE(39)] = 2659, - [SMALL_STATE(40)] = 2756, - [SMALL_STATE(41)] = 2853, - [SMALL_STATE(42)] = 2950, - [SMALL_STATE(43)] = 3047, - [SMALL_STATE(44)] = 3144, - [SMALL_STATE(45)] = 3241, - [SMALL_STATE(46)] = 3338, - [SMALL_STATE(47)] = 3435, - [SMALL_STATE(48)] = 3532, - [SMALL_STATE(49)] = 3629, - [SMALL_STATE(50)] = 3726, - [SMALL_STATE(51)] = 3823, - [SMALL_STATE(52)] = 3920, - [SMALL_STATE(53)] = 4017, - [SMALL_STATE(54)] = 4114, - [SMALL_STATE(55)] = 4211, - [SMALL_STATE(56)] = 4308, - [SMALL_STATE(57)] = 4405, - [SMALL_STATE(58)] = 4502, - [SMALL_STATE(59)] = 4599, - [SMALL_STATE(60)] = 4696, - [SMALL_STATE(61)] = 4793, - [SMALL_STATE(62)] = 4890, - [SMALL_STATE(63)] = 4987, - [SMALL_STATE(64)] = 5084, - [SMALL_STATE(65)] = 5181, - [SMALL_STATE(66)] = 5278, - [SMALL_STATE(67)] = 5375, - [SMALL_STATE(68)] = 5472, - [SMALL_STATE(69)] = 5569, - [SMALL_STATE(70)] = 5666, - [SMALL_STATE(71)] = 5763, - [SMALL_STATE(72)] = 5860, - [SMALL_STATE(73)] = 5957, - [SMALL_STATE(74)] = 6054, - [SMALL_STATE(75)] = 6151, - [SMALL_STATE(76)] = 6248, - [SMALL_STATE(77)] = 6304, - [SMALL_STATE(78)] = 6359, - [SMALL_STATE(79)] = 6412, - [SMALL_STATE(80)] = 6464, - [SMALL_STATE(81)] = 6518, - [SMALL_STATE(82)] = 6572, - [SMALL_STATE(83)] = 6626, - [SMALL_STATE(84)] = 6675, - [SMALL_STATE(85)] = 6724, - [SMALL_STATE(86)] = 6773, - [SMALL_STATE(87)] = 6822, - [SMALL_STATE(88)] = 6871, - [SMALL_STATE(89)] = 6940, - [SMALL_STATE(90)] = 6989, - [SMALL_STATE(91)] = 7038, - [SMALL_STATE(92)] = 7086, - [SMALL_STATE(93)] = 7134, - [SMALL_STATE(94)] = 7182, - [SMALL_STATE(95)] = 7230, - [SMALL_STATE(96)] = 7278, - [SMALL_STATE(97)] = 7326, - [SMALL_STATE(98)] = 7374, - [SMALL_STATE(99)] = 7444, - [SMALL_STATE(100)] = 7492, - [SMALL_STATE(101)] = 7540, - [SMALL_STATE(102)] = 7588, - [SMALL_STATE(103)] = 7636, - [SMALL_STATE(104)] = 7684, - [SMALL_STATE(105)] = 7732, - [SMALL_STATE(106)] = 7780, - [SMALL_STATE(107)] = 7828, - [SMALL_STATE(108)] = 7876, - [SMALL_STATE(109)] = 7924, - [SMALL_STATE(110)] = 7972, - [SMALL_STATE(111)] = 8020, - [SMALL_STATE(112)] = 8068, - [SMALL_STATE(113)] = 8116, - [SMALL_STATE(114)] = 8164, - [SMALL_STATE(115)] = 8212, - [SMALL_STATE(116)] = 8282, - [SMALL_STATE(117)] = 8351, - [SMALL_STATE(118)] = 8418, - [SMALL_STATE(119)] = 8469, - [SMALL_STATE(120)] = 8515, - [SMALL_STATE(121)] = 8583, - [SMALL_STATE(122)] = 8633, - [SMALL_STATE(123)] = 8699, - [SMALL_STATE(124)] = 8745, - [SMALL_STATE(125)] = 8795, - [SMALL_STATE(126)] = 8860, - [SMALL_STATE(127)] = 8922, - [SMALL_STATE(128)] = 8986, - [SMALL_STATE(129)] = 9029, - [SMALL_STATE(130)] = 9071, - [SMALL_STATE(131)] = 9113, - [SMALL_STATE(132)] = 9155, - [SMALL_STATE(133)] = 9197, - [SMALL_STATE(134)] = 9239, - [SMALL_STATE(135)] = 9281, - [SMALL_STATE(136)] = 9326, - [SMALL_STATE(137)] = 9367, - [SMALL_STATE(138)] = 9408, - [SMALL_STATE(139)] = 9453, - [SMALL_STATE(140)] = 9500, - [SMALL_STATE(141)] = 9557, - [SMALL_STATE(142)] = 9611, - [SMALL_STATE(143)] = 9665, - [SMALL_STATE(144)] = 9719, - [SMALL_STATE(145)] = 9761, - [SMALL_STATE(146)] = 9815, - [SMALL_STATE(147)] = 9889, - [SMALL_STATE(148)] = 9963, - [SMALL_STATE(149)] = 10017, - [SMALL_STATE(150)] = 10071, - [SMALL_STATE(151)] = 10125, - [SMALL_STATE(152)] = 10167, - [SMALL_STATE(153)] = 10221, - [SMALL_STATE(154)] = 10275, - [SMALL_STATE(155)] = 10329, - [SMALL_STATE(156)] = 10403, - [SMALL_STATE(157)] = 10457, - [SMALL_STATE(158)] = 10511, - [SMALL_STATE(159)] = 10565, - [SMALL_STATE(160)] = 10619, - [SMALL_STATE(161)] = 10673, - [SMALL_STATE(162)] = 10727, - [SMALL_STATE(163)] = 10781, - [SMALL_STATE(164)] = 10835, - [SMALL_STATE(165)] = 10889, - [SMALL_STATE(166)] = 10943, - [SMALL_STATE(167)] = 10997, - [SMALL_STATE(168)] = 11036, - [SMALL_STATE(169)] = 11075, - [SMALL_STATE(170)] = 11114, - [SMALL_STATE(171)] = 11153, - [SMALL_STATE(172)] = 11192, - [SMALL_STATE(173)] = 11231, - [SMALL_STATE(174)] = 11270, - [SMALL_STATE(175)] = 11309, - [SMALL_STATE(176)] = 11348, - [SMALL_STATE(177)] = 11387, - [SMALL_STATE(178)] = 11426, - [SMALL_STATE(179)] = 11465, - [SMALL_STATE(180)] = 11504, - [SMALL_STATE(181)] = 11546, - [SMALL_STATE(182)] = 11588, - [SMALL_STATE(183)] = 11627, - [SMALL_STATE(184)] = 11665, - [SMALL_STATE(185)] = 11703, - [SMALL_STATE(186)] = 11743, - [SMALL_STATE(187)] = 11780, - [SMALL_STATE(188)] = 11819, - [SMALL_STATE(189)] = 11873, - [SMALL_STATE(190)] = 11911, - [SMALL_STATE(191)] = 11947, - [SMALL_STATE(192)] = 12001, - [SMALL_STATE(193)] = 12057, - [SMALL_STATE(194)] = 12107, - [SMALL_STATE(195)] = 12159, - [SMALL_STATE(196)] = 12201, - [SMALL_STATE(197)] = 12241, - [SMALL_STATE(198)] = 12277, - [SMALL_STATE(199)] = 12321, - [SMALL_STATE(200)] = 12369, - [SMALL_STATE(201)] = 12408, - [SMALL_STATE(202)] = 12443, - [SMALL_STATE(203)] = 12496, - [SMALL_STATE(204)] = 12551, - [SMALL_STATE(205)] = 12600, - [SMALL_STATE(206)] = 12653, - [SMALL_STATE(207)] = 12704, - [SMALL_STATE(208)] = 12745, - [SMALL_STATE(209)] = 12784, - [SMALL_STATE(210)] = 12819, - [SMALL_STATE(211)] = 12862, - [SMALL_STATE(212)] = 12909, - [SMALL_STATE(213)] = 12947, - [SMALL_STATE(214)] = 13007, - [SMALL_STATE(215)] = 13067, - [SMALL_STATE(216)] = 13119, - [SMALL_STATE(217)] = 13159, - [SMALL_STATE(218)] = 13201, - [SMALL_STATE(219)] = 13251, - [SMALL_STATE(220)] = 13285, - [SMALL_STATE(221)] = 13331, - [SMALL_STATE(222)] = 13391, - [SMALL_STATE(223)] = 13451, - [SMALL_STATE(224)] = 13485, - [SMALL_STATE(225)] = 13537, - [SMALL_STATE(226)] = 13591, - [SMALL_STATE(227)] = 13639, - [SMALL_STATE(228)] = 13694, - [SMALL_STATE(229)] = 13749, - [SMALL_STATE(230)] = 13804, - [SMALL_STATE(231)] = 13859, - [SMALL_STATE(232)] = 13913, - [SMALL_STATE(233)] = 13959, - [SMALL_STATE(234)] = 14013, - [SMALL_STATE(235)] = 14067, - [SMALL_STATE(236)] = 14113, - [SMALL_STATE(237)] = 14167, - [SMALL_STATE(238)] = 14221, - [SMALL_STATE(239)] = 14275, - [SMALL_STATE(240)] = 14329, - [SMALL_STATE(241)] = 14383, - [SMALL_STATE(242)] = 14437, - [SMALL_STATE(243)] = 14491, - [SMALL_STATE(244)] = 14529, - [SMALL_STATE(245)] = 14567, - [SMALL_STATE(246)] = 14605, - [SMALL_STATE(247)] = 14630, - [SMALL_STATE(248)] = 14655, - [SMALL_STATE(249)] = 14690, - [SMALL_STATE(250)] = 14714, - [SMALL_STATE(251)] = 14736, - [SMALL_STATE(252)] = 14758, - [SMALL_STATE(253)] = 14780, - [SMALL_STATE(254)] = 14813, - [SMALL_STATE(255)] = 14846, - [SMALL_STATE(256)] = 14867, - [SMALL_STATE(257)] = 14900, - [SMALL_STATE(258)] = 14921, - [SMALL_STATE(259)] = 14942, - [SMALL_STATE(260)] = 14971, - [SMALL_STATE(261)] = 15004, - [SMALL_STATE(262)] = 15025, - [SMALL_STATE(263)] = 15058, - [SMALL_STATE(264)] = 15091, - [SMALL_STATE(265)] = 15112, - [SMALL_STATE(266)] = 15142, - [SMALL_STATE(267)] = 15172, - [SMALL_STATE(268)] = 15206, - [SMALL_STATE(269)] = 15240, - [SMALL_STATE(270)] = 15266, - [SMALL_STATE(271)] = 15296, - [SMALL_STATE(272)] = 15326, - [SMALL_STATE(273)] = 15360, - [SMALL_STATE(274)] = 15379, - [SMALL_STATE(275)] = 15398, - [SMALL_STATE(276)] = 15417, - [SMALL_STATE(277)] = 15436, - [SMALL_STATE(278)] = 15455, - [SMALL_STATE(279)] = 15474, - [SMALL_STATE(280)] = 15493, - [SMALL_STATE(281)] = 15512, - [SMALL_STATE(282)] = 15531, - [SMALL_STATE(283)] = 15550, - [SMALL_STATE(284)] = 15569, - [SMALL_STATE(285)] = 15588, - [SMALL_STATE(286)] = 15607, - [SMALL_STATE(287)] = 15626, - [SMALL_STATE(288)] = 15645, - [SMALL_STATE(289)] = 15664, - [SMALL_STATE(290)] = 15683, - [SMALL_STATE(291)] = 15702, - [SMALL_STATE(292)] = 15720, - [SMALL_STATE(293)] = 15738, - [SMALL_STATE(294)] = 15756, - [SMALL_STATE(295)] = 15774, - [SMALL_STATE(296)] = 15802, - [SMALL_STATE(297)] = 15820, - [SMALL_STATE(298)] = 15838, - [SMALL_STATE(299)] = 15856, - [SMALL_STATE(300)] = 15884, - [SMALL_STATE(301)] = 15902, - [SMALL_STATE(302)] = 15920, - [SMALL_STATE(303)] = 15938, - [SMALL_STATE(304)] = 15961, - [SMALL_STATE(305)] = 15986, - [SMALL_STATE(306)] = 16009, - [SMALL_STATE(307)] = 16032, - [SMALL_STATE(308)] = 16055, - [SMALL_STATE(309)] = 16078, - [SMALL_STATE(310)] = 16101, - [SMALL_STATE(311)] = 16124, - [SMALL_STATE(312)] = 16147, - [SMALL_STATE(313)] = 16170, - [SMALL_STATE(314)] = 16193, - [SMALL_STATE(315)] = 16218, - [SMALL_STATE(316)] = 16243, - [SMALL_STATE(317)] = 16266, - [SMALL_STATE(318)] = 16291, - [SMALL_STATE(319)] = 16314, - [SMALL_STATE(320)] = 16337, - [SMALL_STATE(321)] = 16360, - [SMALL_STATE(322)] = 16383, - [SMALL_STATE(323)] = 16406, - [SMALL_STATE(324)] = 16429, - [SMALL_STATE(325)] = 16451, - [SMALL_STATE(326)] = 16473, - [SMALL_STATE(327)] = 16495, - [SMALL_STATE(328)] = 16517, - [SMALL_STATE(329)] = 16539, - [SMALL_STATE(330)] = 16556, - [SMALL_STATE(331)] = 16575, - [SMALL_STATE(332)] = 16592, - [SMALL_STATE(333)] = 16611, - [SMALL_STATE(334)] = 16630, - [SMALL_STATE(335)] = 16649, - [SMALL_STATE(336)] = 16668, - [SMALL_STATE(337)] = 16685, - [SMALL_STATE(338)] = 16704, - [SMALL_STATE(339)] = 16723, - [SMALL_STATE(340)] = 16740, - [SMALL_STATE(341)] = 16757, - [SMALL_STATE(342)] = 16776, - [SMALL_STATE(343)] = 16795, - [SMALL_STATE(344)] = 16814, - [SMALL_STATE(345)] = 16831, - [SMALL_STATE(346)] = 16848, - [SMALL_STATE(347)] = 16865, - [SMALL_STATE(348)] = 16884, - [SMALL_STATE(349)] = 16901, - [SMALL_STATE(350)] = 16918, - [SMALL_STATE(351)] = 16937, - [SMALL_STATE(352)] = 16954, - [SMALL_STATE(353)] = 16973, - [SMALL_STATE(354)] = 16992, - [SMALL_STATE(355)] = 17009, - [SMALL_STATE(356)] = 17026, - [SMALL_STATE(357)] = 17045, - [SMALL_STATE(358)] = 17064, - [SMALL_STATE(359)] = 17083, - [SMALL_STATE(360)] = 17102, - [SMALL_STATE(361)] = 17119, - [SMALL_STATE(362)] = 17135, - [SMALL_STATE(363)] = 17151, - [SMALL_STATE(364)] = 17167, - [SMALL_STATE(365)] = 17186, - [SMALL_STATE(366)] = 17205, - [SMALL_STATE(367)] = 17221, - [SMALL_STATE(368)] = 17237, - [SMALL_STATE(369)] = 17253, - [SMALL_STATE(370)] = 17269, - [SMALL_STATE(371)] = 17285, - [SMALL_STATE(372)] = 17301, - [SMALL_STATE(373)] = 17317, - [SMALL_STATE(374)] = 17331, - [SMALL_STATE(375)] = 17347, - [SMALL_STATE(376)] = 17361, - [SMALL_STATE(377)] = 17377, - [SMALL_STATE(378)] = 17393, - [SMALL_STATE(379)] = 17409, - [SMALL_STATE(380)] = 17425, - [SMALL_STATE(381)] = 17441, - [SMALL_STATE(382)] = 17457, - [SMALL_STATE(383)] = 17473, - [SMALL_STATE(384)] = 17489, - [SMALL_STATE(385)] = 17505, - [SMALL_STATE(386)] = 17521, - [SMALL_STATE(387)] = 17537, - [SMALL_STATE(388)] = 17553, - [SMALL_STATE(389)] = 17569, - [SMALL_STATE(390)] = 17585, - [SMALL_STATE(391)] = 17601, - [SMALL_STATE(392)] = 17617, - [SMALL_STATE(393)] = 17633, - [SMALL_STATE(394)] = 17649, - [SMALL_STATE(395)] = 17662, - [SMALL_STATE(396)] = 17675, - [SMALL_STATE(397)] = 17688, - [SMALL_STATE(398)] = 17701, - [SMALL_STATE(399)] = 17714, - [SMALL_STATE(400)] = 17727, - [SMALL_STATE(401)] = 17740, - [SMALL_STATE(402)] = 17753, - [SMALL_STATE(403)] = 17766, - [SMALL_STATE(404)] = 17779, - [SMALL_STATE(405)] = 17792, - [SMALL_STATE(406)] = 17803, - [SMALL_STATE(407)] = 17814, - [SMALL_STATE(408)] = 17827, - [SMALL_STATE(409)] = 17840, - [SMALL_STATE(410)] = 17851, - [SMALL_STATE(411)] = 17862, - [SMALL_STATE(412)] = 17875, - [SMALL_STATE(413)] = 17888, - [SMALL_STATE(414)] = 17899, - [SMALL_STATE(415)] = 17910, - [SMALL_STATE(416)] = 17923, - [SMALL_STATE(417)] = 17936, - [SMALL_STATE(418)] = 17949, - [SMALL_STATE(419)] = 17962, - [SMALL_STATE(420)] = 17975, - [SMALL_STATE(421)] = 17986, - [SMALL_STATE(422)] = 17997, - [SMALL_STATE(423)] = 18010, - [SMALL_STATE(424)] = 18021, - [SMALL_STATE(425)] = 18034, - [SMALL_STATE(426)] = 18047, - [SMALL_STATE(427)] = 18058, - [SMALL_STATE(428)] = 18071, - [SMALL_STATE(429)] = 18084, - [SMALL_STATE(430)] = 18097, - [SMALL_STATE(431)] = 18110, - [SMALL_STATE(432)] = 18123, - [SMALL_STATE(433)] = 18136, - [SMALL_STATE(434)] = 18149, - [SMALL_STATE(435)] = 18162, - [SMALL_STATE(436)] = 18175, - [SMALL_STATE(437)] = 18188, - [SMALL_STATE(438)] = 18201, - [SMALL_STATE(439)] = 18211, - [SMALL_STATE(440)] = 18221, - [SMALL_STATE(441)] = 18231, - [SMALL_STATE(442)] = 18241, - [SMALL_STATE(443)] = 18251, - [SMALL_STATE(444)] = 18261, - [SMALL_STATE(445)] = 18271, - [SMALL_STATE(446)] = 18281, - [SMALL_STATE(447)] = 18291, - [SMALL_STATE(448)] = 18301, - [SMALL_STATE(449)] = 18311, - [SMALL_STATE(450)] = 18321, - [SMALL_STATE(451)] = 18331, - [SMALL_STATE(452)] = 18341, - [SMALL_STATE(453)] = 18351, - [SMALL_STATE(454)] = 18361, - [SMALL_STATE(455)] = 18371, - [SMALL_STATE(456)] = 18381, - [SMALL_STATE(457)] = 18391, - [SMALL_STATE(458)] = 18401, - [SMALL_STATE(459)] = 18411, - [SMALL_STATE(460)] = 18421, - [SMALL_STATE(461)] = 18431, - [SMALL_STATE(462)] = 18441, - [SMALL_STATE(463)] = 18451, - [SMALL_STATE(464)] = 18461, - [SMALL_STATE(465)] = 18471, - [SMALL_STATE(466)] = 18481, - [SMALL_STATE(467)] = 18491, - [SMALL_STATE(468)] = 18501, - [SMALL_STATE(469)] = 18511, - [SMALL_STATE(470)] = 18521, - [SMALL_STATE(471)] = 18531, - [SMALL_STATE(472)] = 18541, - [SMALL_STATE(473)] = 18551, - [SMALL_STATE(474)] = 18561, - [SMALL_STATE(475)] = 18571, - [SMALL_STATE(476)] = 18581, - [SMALL_STATE(477)] = 18591, - [SMALL_STATE(478)] = 18601, - [SMALL_STATE(479)] = 18611, - [SMALL_STATE(480)] = 18621, + [SMALL_STATE(12)] = 121, + [SMALL_STATE(13)] = 212, + [SMALL_STATE(14)] = 305, + [SMALL_STATE(15)] = 395, + [SMALL_STATE(16)] = 481, + [SMALL_STATE(17)] = 567, + [SMALL_STATE(18)] = 657, + [SMALL_STATE(19)] = 744, + [SMALL_STATE(20)] = 827, + [SMALL_STATE(21)] = 910, + [SMALL_STATE(22)] = 997, + [SMALL_STATE(23)] = 1081, + [SMALL_STATE(24)] = 1167, + [SMALL_STATE(25)] = 1251, + [SMALL_STATE(26)] = 1335, + [SMALL_STATE(27)] = 1421, + [SMALL_STATE(28)] = 1505, + [SMALL_STATE(29)] = 1606, + [SMALL_STATE(30)] = 1709, + [SMALL_STATE(31)] = 1810, + [SMALL_STATE(32)] = 1911, + [SMALL_STATE(33)] = 2009, + [SMALL_STATE(34)] = 2107, + [SMALL_STATE(35)] = 2205, + [SMALL_STATE(36)] = 2303, + [SMALL_STATE(37)] = 2401, + [SMALL_STATE(38)] = 2499, + [SMALL_STATE(39)] = 2597, + [SMALL_STATE(40)] = 2695, + [SMALL_STATE(41)] = 2793, + [SMALL_STATE(42)] = 2891, + [SMALL_STATE(43)] = 2989, + [SMALL_STATE(44)] = 3087, + [SMALL_STATE(45)] = 3185, + [SMALL_STATE(46)] = 3283, + [SMALL_STATE(47)] = 3381, + [SMALL_STATE(48)] = 3479, + [SMALL_STATE(49)] = 3577, + [SMALL_STATE(50)] = 3675, + [SMALL_STATE(51)] = 3773, + [SMALL_STATE(52)] = 3871, + [SMALL_STATE(53)] = 3969, + [SMALL_STATE(54)] = 4067, + [SMALL_STATE(55)] = 4165, + [SMALL_STATE(56)] = 4263, + [SMALL_STATE(57)] = 4361, + [SMALL_STATE(58)] = 4459, + [SMALL_STATE(59)] = 4557, + [SMALL_STATE(60)] = 4655, + [SMALL_STATE(61)] = 4753, + [SMALL_STATE(62)] = 4851, + [SMALL_STATE(63)] = 4949, + [SMALL_STATE(64)] = 5047, + [SMALL_STATE(65)] = 5145, + [SMALL_STATE(66)] = 5243, + [SMALL_STATE(67)] = 5341, + [SMALL_STATE(68)] = 5439, + [SMALL_STATE(69)] = 5537, + [SMALL_STATE(70)] = 5635, + [SMALL_STATE(71)] = 5733, + [SMALL_STATE(72)] = 5831, + [SMALL_STATE(73)] = 5929, + [SMALL_STATE(74)] = 5986, + [SMALL_STATE(75)] = 6043, + [SMALL_STATE(76)] = 6099, + [SMALL_STATE(77)] = 6153, + [SMALL_STATE(78)] = 6206, + [SMALL_STATE(79)] = 6259, + [SMALL_STATE(80)] = 6315, + [SMALL_STATE(81)] = 6371, + [SMALL_STATE(82)] = 6427, + [SMALL_STATE(83)] = 6478, + [SMALL_STATE(84)] = 6529, + [SMALL_STATE(85)] = 6580, + [SMALL_STATE(86)] = 6631, + [SMALL_STATE(87)] = 6682, + [SMALL_STATE(88)] = 6753, + [SMALL_STATE(89)] = 6824, + [SMALL_STATE(90)] = 6875, + [SMALL_STATE(91)] = 6946, + [SMALL_STATE(92)] = 6997, + [SMALL_STATE(93)] = 7047, + [SMALL_STATE(94)] = 7097, + [SMALL_STATE(95)] = 7147, + [SMALL_STATE(96)] = 7197, + [SMALL_STATE(97)] = 7247, + [SMALL_STATE(98)] = 7297, + [SMALL_STATE(99)] = 7347, + [SMALL_STATE(100)] = 7419, + [SMALL_STATE(101)] = 7469, + [SMALL_STATE(102)] = 7519, + [SMALL_STATE(103)] = 7569, + [SMALL_STATE(104)] = 7619, + [SMALL_STATE(105)] = 7669, + [SMALL_STATE(106)] = 7719, + [SMALL_STATE(107)] = 7769, + [SMALL_STATE(108)] = 7819, + [SMALL_STATE(109)] = 7869, + [SMALL_STATE(110)] = 7919, + [SMALL_STATE(111)] = 7969, + [SMALL_STATE(112)] = 8019, + [SMALL_STATE(113)] = 8069, + [SMALL_STATE(114)] = 8119, + [SMALL_STATE(115)] = 8169, + [SMALL_STATE(116)] = 8219, + [SMALL_STATE(117)] = 8269, + [SMALL_STATE(118)] = 8319, + [SMALL_STATE(119)] = 8389, + [SMALL_STATE(120)] = 8436, + [SMALL_STATE(121)] = 8505, + [SMALL_STATE(122)] = 8572, + [SMALL_STATE(123)] = 8639, + [SMALL_STATE(124)] = 8706, + [SMALL_STATE(125)] = 8774, + [SMALL_STATE(126)] = 8840, + [SMALL_STATE(127)] = 8884, + [SMALL_STATE(128)] = 8948, + [SMALL_STATE(129)] = 8991, + [SMALL_STATE(130)] = 9034, + [SMALL_STATE(131)] = 9077, + [SMALL_STATE(132)] = 9120, + [SMALL_STATE(133)] = 9163, + [SMALL_STATE(134)] = 9206, + [SMALL_STATE(135)] = 9254, + [SMALL_STATE(136)] = 9296, + [SMALL_STATE(137)] = 9342, + [SMALL_STATE(138)] = 9384, + [SMALL_STATE(139)] = 9430, + [SMALL_STATE(140)] = 9505, + [SMALL_STATE(141)] = 9580, + [SMALL_STATE(142)] = 9637, + [SMALL_STATE(143)] = 9712, + [SMALL_STATE(144)] = 9766, + [SMALL_STATE(145)] = 9806, + [SMALL_STATE(146)] = 9860, + [SMALL_STATE(147)] = 9914, + [SMALL_STATE(148)] = 9954, + [SMALL_STATE(149)] = 10008, + [SMALL_STATE(150)] = 10048, + [SMALL_STATE(151)] = 10102, + [SMALL_STATE(152)] = 10156, + [SMALL_STATE(153)] = 10210, + [SMALL_STATE(154)] = 10264, + [SMALL_STATE(155)] = 10318, + [SMALL_STATE(156)] = 10372, + [SMALL_STATE(157)] = 10412, + [SMALL_STATE(158)] = 10466, + [SMALL_STATE(159)] = 10506, + [SMALL_STATE(160)] = 10546, + [SMALL_STATE(161)] = 10586, + [SMALL_STATE(162)] = 10640, + [SMALL_STATE(163)] = 10694, + [SMALL_STATE(164)] = 10748, + [SMALL_STATE(165)] = 10788, + [SMALL_STATE(166)] = 10828, + [SMALL_STATE(167)] = 10882, + [SMALL_STATE(168)] = 10936, + [SMALL_STATE(169)] = 10990, + [SMALL_STATE(170)] = 11030, + [SMALL_STATE(171)] = 11070, + [SMALL_STATE(172)] = 11124, + [SMALL_STATE(173)] = 11178, + [SMALL_STATE(174)] = 11232, + [SMALL_STATE(175)] = 11286, + [SMALL_STATE(176)] = 11340, + [SMALL_STATE(177)] = 11394, + [SMALL_STATE(178)] = 11448, + [SMALL_STATE(179)] = 11502, + [SMALL_STATE(180)] = 11556, + [SMALL_STATE(181)] = 11610, + [SMALL_STATE(182)] = 11653, + [SMALL_STATE(183)] = 11696, + [SMALL_STATE(184)] = 11737, + [SMALL_STATE(185)] = 11777, + [SMALL_STATE(186)] = 11818, + [SMALL_STATE(187)] = 11859, + [SMALL_STATE(188)] = 11897, + [SMALL_STATE(189)] = 11952, + [SMALL_STATE(190)] = 11993, + [SMALL_STATE(191)] = 12030, + [SMALL_STATE(192)] = 12085, + [SMALL_STATE(193)] = 12142, + [SMALL_STATE(194)] = 12193, + [SMALL_STATE(195)] = 12248, + [SMALL_STATE(196)] = 12301, + [SMALL_STATE(197)] = 12344, + [SMALL_STATE(198)] = 12385, + [SMALL_STATE(199)] = 12422, + [SMALL_STATE(200)] = 12467, + [SMALL_STATE(201)] = 12516, + [SMALL_STATE(202)] = 12553, + [SMALL_STATE(203)] = 12588, + [SMALL_STATE(204)] = 12633, + [SMALL_STATE(205)] = 12686, + [SMALL_STATE(206)] = 12735, + [SMALL_STATE(207)] = 12790, + [SMALL_STATE(208)] = 12847, + [SMALL_STATE(209)] = 12890, + [SMALL_STATE(210)] = 12941, + [SMALL_STATE(211)] = 12978, + [SMALL_STATE(212)] = 13018, + [SMALL_STATE(213)] = 13079, + [SMALL_STATE(214)] = 13140, + [SMALL_STATE(215)] = 13201, + [SMALL_STATE(216)] = 13262, + [SMALL_STATE(217)] = 13318, + [SMALL_STATE(218)] = 13374, + [SMALL_STATE(219)] = 13430, + [SMALL_STATE(220)] = 13486, + [SMALL_STATE(221)] = 13535, + [SMALL_STATE(222)] = 13590, + [SMALL_STATE(223)] = 13645, + [SMALL_STATE(224)] = 13700, + [SMALL_STATE(225)] = 13755, + [SMALL_STATE(226)] = 13810, + [SMALL_STATE(227)] = 13859, + [SMALL_STATE(228)] = 13914, + [SMALL_STATE(229)] = 13969, + [SMALL_STATE(230)] = 14024, + [SMALL_STATE(231)] = 14079, + [SMALL_STATE(232)] = 14134, + [SMALL_STATE(233)] = 14189, + [SMALL_STATE(234)] = 14244, + [SMALL_STATE(235)] = 14285, + [SMALL_STATE(236)] = 14326, + [SMALL_STATE(237)] = 14367, + [SMALL_STATE(238)] = 14392, + [SMALL_STATE(239)] = 14417, + [SMALL_STATE(240)] = 14441, + [SMALL_STATE(241)] = 14463, + [SMALL_STATE(242)] = 14485, + [SMALL_STATE(243)] = 14507, + [SMALL_STATE(244)] = 14540, + [SMALL_STATE(245)] = 14561, + [SMALL_STATE(246)] = 14590, + [SMALL_STATE(247)] = 14611, + [SMALL_STATE(248)] = 14648, + [SMALL_STATE(249)] = 14681, + [SMALL_STATE(250)] = 14702, + [SMALL_STATE(251)] = 14735, + [SMALL_STATE(252)] = 14768, + [SMALL_STATE(253)] = 14801, + [SMALL_STATE(254)] = 14838, + [SMALL_STATE(255)] = 14871, + [SMALL_STATE(256)] = 14904, + [SMALL_STATE(257)] = 14937, + [SMALL_STATE(258)] = 14970, + [SMALL_STATE(259)] = 15003, + [SMALL_STATE(260)] = 15040, + [SMALL_STATE(261)] = 15069, + [SMALL_STATE(262)] = 15090, + [SMALL_STATE(263)] = 15111, + [SMALL_STATE(264)] = 15148, + [SMALL_STATE(265)] = 15185, + [SMALL_STATE(266)] = 15215, + [SMALL_STATE(267)] = 15235, + [SMALL_STATE(268)] = 15255, + [SMALL_STATE(269)] = 15275, + [SMALL_STATE(270)] = 15295, + [SMALL_STATE(271)] = 15315, + [SMALL_STATE(272)] = 15345, + [SMALL_STATE(273)] = 15365, + [SMALL_STATE(274)] = 15385, + [SMALL_STATE(275)] = 15405, + [SMALL_STATE(276)] = 15425, + [SMALL_STATE(277)] = 15445, + [SMALL_STATE(278)] = 15465, + [SMALL_STATE(279)] = 15485, + [SMALL_STATE(280)] = 15505, + [SMALL_STATE(281)] = 15525, + [SMALL_STATE(282)] = 15555, + [SMALL_STATE(283)] = 15585, + [SMALL_STATE(284)] = 15605, + [SMALL_STATE(285)] = 15625, + [SMALL_STATE(286)] = 15645, + [SMALL_STATE(287)] = 15665, + [SMALL_STATE(288)] = 15695, + [SMALL_STATE(289)] = 15721, + [SMALL_STATE(290)] = 15751, + [SMALL_STATE(291)] = 15771, + [SMALL_STATE(292)] = 15791, + [SMALL_STATE(293)] = 15821, + [SMALL_STATE(294)] = 15841, + [SMALL_STATE(295)] = 15861, + [SMALL_STATE(296)] = 15881, + [SMALL_STATE(297)] = 15901, + [SMALL_STATE(298)] = 15921, + [SMALL_STATE(299)] = 15951, + [SMALL_STATE(300)] = 15971, + [SMALL_STATE(301)] = 15991, + [SMALL_STATE(302)] = 16011, + [SMALL_STATE(303)] = 16030, + [SMALL_STATE(304)] = 16049, + [SMALL_STATE(305)] = 16068, + [SMALL_STATE(306)] = 16087, + [SMALL_STATE(307)] = 16106, + [SMALL_STATE(308)] = 16125, + [SMALL_STATE(309)] = 16144, + [SMALL_STATE(310)] = 16163, + [SMALL_STATE(311)] = 16182, + [SMALL_STATE(312)] = 16201, + [SMALL_STATE(313)] = 16229, + [SMALL_STATE(314)] = 16257, + [SMALL_STATE(315)] = 16285, + [SMALL_STATE(316)] = 16313, + [SMALL_STATE(317)] = 16338, + [SMALL_STATE(318)] = 16361, + [SMALL_STATE(319)] = 16384, + [SMALL_STATE(320)] = 16409, + [SMALL_STATE(321)] = 16432, + [SMALL_STATE(322)] = 16455, + [SMALL_STATE(323)] = 16478, + [SMALL_STATE(324)] = 16501, + [SMALL_STATE(325)] = 16524, + [SMALL_STATE(326)] = 16549, + [SMALL_STATE(327)] = 16572, + [SMALL_STATE(328)] = 16595, + [SMALL_STATE(329)] = 16618, + [SMALL_STATE(330)] = 16641, + [SMALL_STATE(331)] = 16664, + [SMALL_STATE(332)] = 16689, + [SMALL_STATE(333)] = 16707, + [SMALL_STATE(334)] = 16729, + [SMALL_STATE(335)] = 16751, + [SMALL_STATE(336)] = 16773, + [SMALL_STATE(337)] = 16791, + [SMALL_STATE(338)] = 16809, + [SMALL_STATE(339)] = 16831, + [SMALL_STATE(340)] = 16849, + [SMALL_STATE(341)] = 16867, + [SMALL_STATE(342)] = 16885, + [SMALL_STATE(343)] = 16903, + [SMALL_STATE(344)] = 16921, + [SMALL_STATE(345)] = 16939, + [SMALL_STATE(346)] = 16961, + [SMALL_STATE(347)] = 16979, + [SMALL_STATE(348)] = 16997, + [SMALL_STATE(349)] = 17015, + [SMALL_STATE(350)] = 17033, + [SMALL_STATE(351)] = 17051, + [SMALL_STATE(352)] = 17069, + [SMALL_STATE(353)] = 17087, + [SMALL_STATE(354)] = 17105, + [SMALL_STATE(355)] = 17123, + [SMALL_STATE(356)] = 17142, + [SMALL_STATE(357)] = 17161, + [SMALL_STATE(358)] = 17180, + [SMALL_STATE(359)] = 17199, + [SMALL_STATE(360)] = 17218, + [SMALL_STATE(361)] = 17237, + [SMALL_STATE(362)] = 17256, + [SMALL_STATE(363)] = 17275, + [SMALL_STATE(364)] = 17294, + [SMALL_STATE(365)] = 17313, + [SMALL_STATE(366)] = 17332, + [SMALL_STATE(367)] = 17351, + [SMALL_STATE(368)] = 17370, + [SMALL_STATE(369)] = 17389, + [SMALL_STATE(370)] = 17408, + [SMALL_STATE(371)] = 17427, + [SMALL_STATE(372)] = 17446, + [SMALL_STATE(373)] = 17465, + [SMALL_STATE(374)] = 17484, + [SMALL_STATE(375)] = 17503, + [SMALL_STATE(376)] = 17522, + [SMALL_STATE(377)] = 17539, + [SMALL_STATE(378)] = 17556, + [SMALL_STATE(379)] = 17575, + [SMALL_STATE(380)] = 17594, + [SMALL_STATE(381)] = 17613, + [SMALL_STATE(382)] = 17632, + [SMALL_STATE(383)] = 17651, + [SMALL_STATE(384)] = 17670, + [SMALL_STATE(385)] = 17692, + [SMALL_STATE(386)] = 17708, + [SMALL_STATE(387)] = 17727, + [SMALL_STATE(388)] = 17746, + [SMALL_STATE(389)] = 17762, + [SMALL_STATE(390)] = 17778, + [SMALL_STATE(391)] = 17794, + [SMALL_STATE(392)] = 17810, + [SMALL_STATE(393)] = 17826, + [SMALL_STATE(394)] = 17842, + [SMALL_STATE(395)] = 17858, + [SMALL_STATE(396)] = 17874, + [SMALL_STATE(397)] = 17890, + [SMALL_STATE(398)] = 17906, + [SMALL_STATE(399)] = 17922, + [SMALL_STATE(400)] = 17938, + [SMALL_STATE(401)] = 17954, + [SMALL_STATE(402)] = 17970, + [SMALL_STATE(403)] = 17986, + [SMALL_STATE(404)] = 18002, + [SMALL_STATE(405)] = 18018, + [SMALL_STATE(406)] = 18034, + [SMALL_STATE(407)] = 18050, + [SMALL_STATE(408)] = 18066, + [SMALL_STATE(409)] = 18082, + [SMALL_STATE(410)] = 18098, + [SMALL_STATE(411)] = 18114, + [SMALL_STATE(412)] = 18130, + [SMALL_STATE(413)] = 18146, + [SMALL_STATE(414)] = 18162, + [SMALL_STATE(415)] = 18178, + [SMALL_STATE(416)] = 18189, + [SMALL_STATE(417)] = 18202, + [SMALL_STATE(418)] = 18215, + [SMALL_STATE(419)] = 18228, + [SMALL_STATE(420)] = 18239, + [SMALL_STATE(421)] = 18250, + [SMALL_STATE(422)] = 18261, + [SMALL_STATE(423)] = 18274, + [SMALL_STATE(424)] = 18287, + [SMALL_STATE(425)] = 18300, + [SMALL_STATE(426)] = 18313, + [SMALL_STATE(427)] = 18326, + [SMALL_STATE(428)] = 18339, + [SMALL_STATE(429)] = 18352, + [SMALL_STATE(430)] = 18363, + [SMALL_STATE(431)] = 18376, + [SMALL_STATE(432)] = 18387, + [SMALL_STATE(433)] = 18400, + [SMALL_STATE(434)] = 18413, + [SMALL_STATE(435)] = 18426, + [SMALL_STATE(436)] = 18437, + [SMALL_STATE(437)] = 18450, + [SMALL_STATE(438)] = 18463, + [SMALL_STATE(439)] = 18476, + [SMALL_STATE(440)] = 18489, + [SMALL_STATE(441)] = 18502, + [SMALL_STATE(442)] = 18515, + [SMALL_STATE(443)] = 18528, + [SMALL_STATE(444)] = 18541, + [SMALL_STATE(445)] = 18554, + [SMALL_STATE(446)] = 18567, + [SMALL_STATE(447)] = 18580, + [SMALL_STATE(448)] = 18593, + [SMALL_STATE(449)] = 18606, + [SMALL_STATE(450)] = 18619, + [SMALL_STATE(451)] = 18630, + [SMALL_STATE(452)] = 18643, + [SMALL_STATE(453)] = 18656, + [SMALL_STATE(454)] = 18667, + [SMALL_STATE(455)] = 18680, + [SMALL_STATE(456)] = 18693, + [SMALL_STATE(457)] = 18706, + [SMALL_STATE(458)] = 18719, + [SMALL_STATE(459)] = 18732, + [SMALL_STATE(460)] = 18743, + [SMALL_STATE(461)] = 18756, + [SMALL_STATE(462)] = 18766, + [SMALL_STATE(463)] = 18776, + [SMALL_STATE(464)] = 18786, + [SMALL_STATE(465)] = 18796, + [SMALL_STATE(466)] = 18806, + [SMALL_STATE(467)] = 18816, + [SMALL_STATE(468)] = 18826, + [SMALL_STATE(469)] = 18836, + [SMALL_STATE(470)] = 18846, + [SMALL_STATE(471)] = 18856, + [SMALL_STATE(472)] = 18866, + [SMALL_STATE(473)] = 18876, + [SMALL_STATE(474)] = 18886, + [SMALL_STATE(475)] = 18896, + [SMALL_STATE(476)] = 18906, + [SMALL_STATE(477)] = 18916, + [SMALL_STATE(478)] = 18926, + [SMALL_STATE(479)] = 18936, + [SMALL_STATE(480)] = 18946, + [SMALL_STATE(481)] = 18956, + [SMALL_STATE(482)] = 18966, + [SMALL_STATE(483)] = 18976, + [SMALL_STATE(484)] = 18986, + [SMALL_STATE(485)] = 18996, + [SMALL_STATE(486)] = 19006, + [SMALL_STATE(487)] = 19016, + [SMALL_STATE(488)] = 19026, + [SMALL_STATE(489)] = 19036, + [SMALL_STATE(490)] = 19046, + [SMALL_STATE(491)] = 19056, + [SMALL_STATE(492)] = 19066, + [SMALL_STATE(493)] = 19076, + [SMALL_STATE(494)] = 19086, + [SMALL_STATE(495)] = 19096, + [SMALL_STATE(496)] = 19106, + [SMALL_STATE(497)] = 19116, + [SMALL_STATE(498)] = 19126, + [SMALL_STATE(499)] = 19136, + [SMALL_STATE(500)] = 19146, + [SMALL_STATE(501)] = 19156, + [SMALL_STATE(502)] = 19166, + [SMALL_STATE(503)] = 19176, + [SMALL_STATE(504)] = 19186, + [SMALL_STATE(505)] = 19196, + [SMALL_STATE(506)] = 19206, + [SMALL_STATE(507)] = 19216, + [SMALL_STATE(508)] = 19226, + [SMALL_STATE(509)] = 19236, + [SMALL_STATE(510)] = 19246, + [SMALL_STATE(511)] = 19256, + [SMALL_STATE(512)] = 19266, + [SMALL_STATE(513)] = 19276, + [SMALL_STATE(514)] = 19286, + [SMALL_STATE(515)] = 19296, + [SMALL_STATE(516)] = 19306, + [SMALL_STATE(517)] = 19316, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -21070,587 +21967,625 @@ static const TSParseActionEntry ts_parse_actions[] = { [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), [7] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0, 0, 0), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(334), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(343), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(326), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(464), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(433), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349), - [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), - [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(474), - [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(477), - [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(325), - [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(359), - [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(358), - [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(397), - [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(398), - [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(399), - [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(401), - [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), - [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), - [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22), - [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), - [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(170), - [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(420), - [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), - [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), - [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), - [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), - [79] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(464), - [82] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(21), - [85] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(23), - [88] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(433), - [91] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(9), - [94] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), - [96] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(46), - [99] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(474), - [102] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(477), - [105] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(325), - [108] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(359), - [111] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(358), - [114] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(397), - [117] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(398), - [120] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(399), - [123] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(401), - [126] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(47), - [129] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(11), - [132] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(22), - [135] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(233), - [138] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(48), - [141] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(170), - [144] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(420), - [147] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(172), - [150] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 34), SHIFT_REPEAT(76), - [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339), - [155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [163] = {.entry = {.count = 1, .reusable = false}}, SHIFT(470), - [165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), - [167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [169] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), - [171] = {.entry = {.count = 1, .reusable = false}}, SHIFT(442), - [173] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__simple_name, 1, 0, 0), SHIFT(304), - [176] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__simple_name, 1, 0, 0), SHIFT(149), - [179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__simple_name, 1, 0, 0), - [181] = {.entry = {.count = 1, .reusable = false}}, SHIFT(436), - [183] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__simple_name, 1, 0, 0), - [185] = {.entry = {.count = 1, .reusable = false}}, SHIFT(320), - [187] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), - [189] = {.entry = {.count = 1, .reusable = false}}, SHIFT(448), - [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), - [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), - [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), - [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), - [201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(471), - [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), - [205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), - [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), - [213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), - [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), - [217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), - [219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), - [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), - [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), - [225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), - [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), - [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), - [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), - [233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), - [235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239), - [237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), - [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), - [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(375), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(493), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(338), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(427), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(470), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(458), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), + [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), + [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(483), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(202), + [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(333), + [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(380), + [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(382), + [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(416), + [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(417), + [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(418), + [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(460), + [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), + [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), + [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), + [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), + [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(165), + [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(435), + [75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), + [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), + [79] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(427), + [82] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(470), + [85] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(29), + [88] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(28), + [91] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(458), + [94] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(7), + [97] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), + [99] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(37), + [102] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(483), + [105] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(202), + [108] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(333), + [111] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(380), + [114] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(382), + [117] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(416), + [120] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(417), + [123] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(418), + [126] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(460), + [129] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(39), + [132] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(11), + [135] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(31), + [138] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(230), + [141] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(48), + [144] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(165), + [147] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(435), + [150] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 40), SHIFT_REPEAT(73), + [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297), + [155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339), + [165] = {.entry = {.count = 1, .reusable = false}}, SHIFT(492), + [167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [171] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), + [173] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_argument_list_repeat1, 2, 0, 41), SHIFT_REPEAT(499), + [176] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat1, 2, 0, 41), SHIFT_REPEAT(331), + [179] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat1, 2, 0, 41), SHIFT_REPEAT(172), + [182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat1, 2, 0, 41), + [184] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_argument_list_repeat1, 2, 0, 41), SHIFT_REPEAT(428), + [187] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_argument_list_repeat1, 2, 0, 41), + [189] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_argument_list_repeat1, 2, 0, 41), SHIFT_REPEAT(75), + [192] = {.entry = {.count = 1, .reusable = false}}, SHIFT(469), + [194] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__simple_name, 1, 0, 0), SHIFT(331), + [197] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__simple_name, 1, 0, 0), SHIFT(172), + [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__simple_name, 1, 0, 0), + [202] = {.entry = {.count = 1, .reusable = false}}, SHIFT(428), + [204] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__simple_name, 1, 0, 0), + [206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(328), + [208] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), + [210] = {.entry = {.count = 1, .reusable = false}}, SHIFT(499), + [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list, 2, 0, 3), + [214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list, 2, 0, 3), + [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list, 3, 0, 17), + [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list, 3, 0, 17), + [220] = {.entry = {.count = 1, .reusable = false}}, SHIFT(477), + [222] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_argument_list_repeat1, 2, 0, 41), SHIFT_REPEAT(490), + [225] = {.entry = {.count = 1, .reusable = false}}, SHIFT(490), + [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), + [229] = {.entry = {.count = 1, .reusable = false}}, SHIFT(479), + [231] = {.entry = {.count = 1, .reusable = false}}, SHIFT(480), + [233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), + [237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), + [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), - [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), - [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), - [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), - [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), - [253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), - [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), - [257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), - [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), - [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), - [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), - [265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), - [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), - [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), - [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), - [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), - [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), - [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), - [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), - [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), + [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), + [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), + [253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), + [257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), + [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), + [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), + [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), + [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), + [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), + [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), + [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), + [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), + [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), - [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), - [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), - [289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), - [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), - [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), - [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), - [297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), - [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), - [301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), - [303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), - [305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), - [307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), - [309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), - [311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1, 0, 0), - [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1, 0, 0), - [315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, 0, 54), - [317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, 0, 54), - [319] = {.entry = {.count = 1, .reusable = false}}, SHIFT(260), - [321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 62), - [323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 62), - [325] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 62), SHIFT_REPEAT(440), - [328] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 3, 0, 41), - [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 3, 0, 41), - [332] = {.entry = {.count = 1, .reusable = false}}, SHIFT(262), - [334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_forall_block, 2, 0, 13), - [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_forall_block, 2, 0, 13), - [338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assume_block, 2, 0, 13), - [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assume_block, 2, 0, 13), - [342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, 0, 33), - [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, 0, 33), - [346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unique_block, 2, 0, 13), - [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unique_block, 2, 0, 13), - [350] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2, 0, 0), - [352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2, 0, 0), - [354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), - [356] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_exists_block, 2, 0, 13), - [358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_exists_block, 2, 0, 13), - [360] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 4, 0, 70), - [362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 4, 0, 70), - [364] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assign_statement, 4, 0, 57), - [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assign_statement, 4, 0, 57), - [368] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition_statement, 5, 0, 16), - [370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition_statement, 5, 0, 16), - [372] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 1, 0, 12), - [374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 1, 0, 12), - [376] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_definition, 7, 0, 49), - [378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_definition, 7, 0, 49), - [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), - [382] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 5, 0, 16), - [384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 5, 0, 16), - [386] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 2, 0, 0), - [388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 2, 0, 0), - [390] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop_statement, 2, 0, 13), - [392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop_statement, 2, 0, 13), - [394] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2, 0, 0), - [396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2, 0, 0), - [398] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2, 0, 0), - [400] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2, 0, 0), - [402] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assert_statement, 3, 0, 0), - [404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assert_statement, 3, 0, 0), - [406] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, 0, 61), - [408] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, 0, 61), - [410] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 6, 0, 66), - [412] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 6, 0, 66), - [414] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, 0, 67), - [416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, 0, 67), - [418] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop_statement, 3, 0, 42), - [420] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop_statement, 3, 0, 42), - [422] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 7, 0, 49), - [424] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 7, 0, 49), - [426] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 8, 0, 75), - [428] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 8, 0, 75), - [430] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3, 0, 43), - [432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3, 0, 43), - [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), - [436] = {.entry = {.count = 1, .reusable = false}}, SHIFT(381), - [438] = {.entry = {.count = 1, .reusable = false}}, SHIFT(422), - [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), - [442] = {.entry = {.count = 1, .reusable = false}}, SHIFT(426), - [444] = {.entry = {.count = 1, .reusable = false}}, SHIFT(451), - [446] = {.entry = {.count = 1, .reusable = false}}, SHIFT(327), - [448] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat1, 2, 0, 35), - [450] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_argument_list_repeat1, 2, 0, 35), - [452] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat1, 2, 0, 35), SHIFT_REPEAT(150), - [455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat1, 3, 0, 24), - [457] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_argument_list_repeat1, 3, 0, 24), - [459] = {.entry = {.count = 1, .reusable = false}}, SHIFT(157), - [461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305), - [463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list, 3, 0, 15), - [465] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list, 3, 0, 15), - [467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), - [469] = {.entry = {.count = 1, .reusable = false}}, SHIFT(413), - [471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_name, 2, 0, 11), - [473] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_name, 2, 0, 11), - [475] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list, 2, 0, 3), - [477] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list, 2, 0, 3), - [479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member_access_expression, 3, 0, 46), - [481] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member_access_expression, 3, 0, 46), - [483] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 3, 1500, 45), - [485] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 3, 1500, 45), - [487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 6, 1500, 68), - [489] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 6, 1500, 68), - [491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 5, 1500, 63), - [493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 5, 1500, 63), - [495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 7, 1500, 72), - [497] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 7, 1500, 72), - [499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_index_access_expression, 4, 0, 56), - [501] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_index_access_expression, 4, 0, 56), - [503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 4, 1500, 55), - [505] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 4, 1500, 55), - [507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [511] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), - [513] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), - [515] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_member_access_expression, 3, 0, 46), - [517] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_member_access_expression, 3, 0, 46), - [519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), - [521] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), - [523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lval_expression, 1, 0, 0), - [525] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__name, 1, 0, 0), - [527] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__name, 1, 0, 0), - [529] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lval_expression, 1, 0, 0), - [531] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_member_access_expression, 3, 0, 46), REDUCE(sym_qualified_name, 3, 0, 28), - [534] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_name, 3, 0, 28), - [536] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_name, 3, 0, 28), - [538] = {.entry = {.count = 1, .reusable = false}}, SHIFT(439), - [540] = {.entry = {.count = 1, .reusable = false}}, SHIFT(264), - [542] = {.entry = {.count = 1, .reusable = false}}, SHIFT(414), - [544] = {.entry = {.count = 1, .reusable = false}}, SHIFT(468), - [546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [554] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), - [556] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), - [558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [560] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [564] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58), - [566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [568] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59), - [570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), - [576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), - [578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), - [580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419), - [582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397), - [584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398), - [586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), - [588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401), - [590] = {.entry = {.count = 1, .reusable = false}}, SHIFT(476), - [592] = {.entry = {.count = 1, .reusable = false}}, SHIFT(404), - [594] = {.entry = {.count = 1, .reusable = false}}, SHIFT(466), - [596] = {.entry = {.count = 1, .reusable = false}}, SHIFT(435), - [598] = {.entry = {.count = 1, .reusable = false}}, SHIFT(270), - [600] = {.entry = {.count = 1, .reusable = false}}, SHIFT(427), - [602] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), - [604] = {.entry = {.count = 1, .reusable = false}}, SHIFT(418), - [606] = {.entry = {.count = 1, .reusable = false}}, SHIFT(405), - [608] = {.entry = {.count = 1, .reusable = false}}, SHIFT(421), - [610] = {.entry = {.count = 1, .reusable = false}}, SHIFT(265), - [612] = {.entry = {.count = 1, .reusable = false}}, SHIFT(444), - [614] = {.entry = {.count = 1, .reusable = false}}, SHIFT(266), - [616] = {.entry = {.count = 1, .reusable = false}}, SHIFT(271), - [618] = {.entry = {.count = 1, .reusable = false}}, SHIFT(454), - [620] = {.entry = {.count = 1, .reusable = false}}, SHIFT(460), - [622] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_expression, 3, 0, 47), - [624] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_expression, 3, 0, 47), - [626] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3, 0, 0), - [628] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3, 0, 0), - [630] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prefix_unary_expression, 2, 0, 32), - [632] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prefix_unary_expression, 2, 0, 32), - [634] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool_literal, 1, 0, 0), - [636] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool_literal, 1, 0, 0), - [638] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_literal, 2, 0, 0), - [640] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_literal, 2, 0, 0), - [642] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_literal, 1, 0, 0), - [644] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_literal, 1, 0, 0), - [646] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2, 0, 0), - [648] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2, 0, 0), - [650] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3, 0, 0), - [652] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3, 0, 0), - [654] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_expression, 6, 0, 69), - [656] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_expression, 6, 0, 69), - [658] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4, 0, 0), - [660] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4, 0, 0), - [662] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2, 0, 0), - [664] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2, 0, 0), - [666] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_expression, 7, 0, 73), - [668] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_expression, 7, 0, 73), - [670] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unit_literal, 2, 0, 0), - [672] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unit_literal, 2, 0, 0), - [674] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__lval_expression, 1, 0, 0), REDUCE(sym__name, 1, 0, 0), - [677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311), - [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), - [681] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), - [683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), - [685] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__non_lval_expression, 1, 0, 0), - [687] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__non_lval_expression, 1, 0, 0), - [689] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__simple_name, 1, 0, 0), SHIFT(255), - [692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), - [694] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 44), - [696] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 44), - [698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(309), - [700] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), - [702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [704] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), - [706] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), - [708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [714] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), - [716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [718] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), - [720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [728] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), - [730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), - [740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), - [742] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), - [744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [750] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), - [752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), - [760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [762] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), - [764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [766] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_expression_repeat1, 4, 0, 71), - [768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_expression_repeat1, 4, 0, 76), - [770] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), - [772] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_expression_repeat1, 2, 0, 10), - [774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [778] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), - [780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), - [784] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), - [786] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(334), - [789] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(330), - [792] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(353), - [795] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(343), - [798] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(347), - [801] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(352), - [804] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(441), - [807] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(326), - [810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), - [822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), - [826] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(334), - [829] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), - [831] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(330), - [834] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(353), - [837] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(347), - [840] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(352), - [843] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(441), - [846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), - [848] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_qualified_name, 3, 0, 30), - [850] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_qualified_name, 3, 0, 30), - [852] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4, 0, 26), - [854] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3, 0, 10), - [856] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0), - [858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), - [860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(432), - [864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), - [866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(396), - [868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412), - [870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), - [872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428), - [876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), - [878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(430), - [880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431), - [882] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__bracketed_generic_name, 3, 0, 0), - [884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), - [886] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_unit, 2, 0, 0), - [888] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_array, 5, 0, 53), - [890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), - [892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [894] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_array, 3, 0, 24), - [896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [898] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_fn, 4, 0, 39), - [900] = {.entry = {.count = 1, .reusable = false}}, SHIFT(357), - [902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), - [904] = {.entry = {.count = 1, .reusable = false}}, SHIFT(249), - [906] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 20), SHIFT_REPEAT(357), - [909] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 20), - [911] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 20), SHIFT_REPEAT(249), - [914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), - [916] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 5, 0, 19), - [918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_external_function_definition, 7, 0, 50), - [920] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_external_function_definition, 5, 0, 21), - [922] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 14), - [924] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 6, 0, 37), - [926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 2), - [928] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 5, 0, 17), - [930] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 4, 0, 4), - [932] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, 0, 31), - [934] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, 0, 48), - [936] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 4, 0, 6), - [938] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 8, 0, 60), - [940] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 9, 0, 65), - [942] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 3, 0, 1), - [944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [946] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 7, 0, 51), - [948] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 7, 0, 52), - [950] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_spec_definition, 5, 0, 4), - [952] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 8, 0, 58), - [954] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_spec_definition, 4, 0, 4), - [956] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 8, 0, 59), - [958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), - [960] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_definition_repeat1, 2, 0, 35), - [962] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_argument_list_definition_repeat1, 2, 0, 35), SHIFT_REPEAT(249), - [965] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list_definition, 3, 0, 15), - [967] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list_definition, 2, 0, 3), - [969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335), - [971] = {.entry = {.count = 1, .reusable = false}}, SHIFT(338), - [973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), - [975] = {.entry = {.count = 1, .reusable = false}}, SHIFT(423), - [977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332), - [979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), - [981] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_fn, 2, 0, 8), - [983] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, 0, 48), - [985] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, 0, 31), - [987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), - [989] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type, 1, 0, 0), - [991] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 18), - [993] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 18), - [995] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 2), - [997] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 14), - [999] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_struct_definition_repeat1, 1, 0, 5), - [1001] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 1, 0, 5), - [1003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), - [1005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), - [1007] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_definition_repeat1, 2, 0, 3), - [1009] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_argument_list_definition_repeat1, 2, 0, 3), - [1011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323), - [1013] = {.entry = {.count = 1, .reusable = false}}, SHIFT(44), - [1015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), - [1017] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), - [1019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(342), - [1021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459), - [1023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [1025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), - [1027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), - [1029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), - [1031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), - [1033] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), - [1035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328), - [1037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), - [1039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), - [1041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), - [1043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [1045] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat2, 2, 0, 23), SHIFT_REPEAT(342), - [1048] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat2, 2, 0, 23), - [1050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(453), - [1052] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2, 0, 38), SHIFT_REPEAT(341), - [1055] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2, 0, 38), - [1057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), - [1059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), - [1061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), - [1063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [1065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), - [1067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), - [1069] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_expression_repeat1, 2, 0, 64), SHIFT_REPEAT(38), - [1072] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_expression_repeat1, 2, 0, 64), - [1074] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(37), - [1077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462), - [1079] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 27), SHIFT_REPEAT(122), - [1082] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 27), - [1084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310), - [1086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), - [1088] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_expression_repeat1, 2, 0, 74), SHIFT_REPEAT(269), - [1091] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_expression_repeat1, 2, 0, 74), - [1093] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2, 0, 7), - [1095] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2, 0, 7), SHIFT_REPEAT(356), - [1098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443), - [1100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(445), - [1102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), - [1104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [1106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), - [1108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), - [1110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ignore_argument, 3, 0, 25), - [1112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2, 0, 1), - [1114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), - [1116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), - [1118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [1120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2, 0, 36), - [1122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat2, 2, 0, 22), - [1124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 10), - [1126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_declaration, 4, 0, 40), - [1128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [1130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [1132] = {.entry = {.count = 1, .reusable = false}}, SHIFT(173), - [1134] = {.entry = {.count = 1, .reusable = false}}, SHIFT(472), - [1136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_declaration, 3, 0, 29), - [1138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_reference, 2, 0, 9), - [1140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316), - [1142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), - [1144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_reference, 1, 0, 0), - [1146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [1148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [1150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), - [1152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [1154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333), - [1156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), - [1158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), - [1160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [1162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400), - [1164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), - [1166] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [1168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [1170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), - [1172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), - [1174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), - [1176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), - [1178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297), - [1180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field, 3, 0, 29), - [1182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), - [1184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), - [1186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346), - [1188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317), - [1190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), - [1192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), - [1194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), - [1196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), - [1198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), - [1200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [1202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), - [1204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [1206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [1208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), - [1210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363), - [1212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [1214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), - [1216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), - [1218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), - [1220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), - [1222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), - [1224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), + [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), + [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), + [289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), + [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), + [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), + [297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), + [305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), + [307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), + [313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), + [315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), + [317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), + [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), + [321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), + [323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), + [325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), + [327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), + [329] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1, 0, 0), + [331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1, 0, 0), + [333] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_argument_list_repeat1, 2, 0, 3), + [335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat1, 2, 0, 3), + [337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 3, 0, 49), + [339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 3, 0, 49), + [341] = {.entry = {.count = 1, .reusable = false}}, SHIFT(252), + [343] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, 0, 64), + [345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, 0, 64), + [347] = {.entry = {.count = 1, .reusable = false}}, SHIFT(243), + [349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 72), + [351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 72), + [353] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 72), SHIFT_REPEAT(471), + [356] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2, 0, 0), + [358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2, 0, 0), + [360] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assume_block, 2, 0, 15), + [362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assume_block, 2, 0, 15), + [364] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_forall_block, 2, 0, 15), + [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_forall_block, 2, 0, 15), + [368] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_exists_block, 2, 0, 15), + [370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_exists_block, 2, 0, 15), + [372] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unique_block, 2, 0, 15), + [374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unique_block, 2, 0, 15), + [376] = {.entry = {.count = 1, .reusable = false}}, SHIFT(488), + [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331), + [380] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, 0, 39), + [382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, 0, 39), + [384] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 4, 0, 80), + [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 4, 0, 80), + [388] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3, 0, 51), + [390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3, 0, 51), + [392] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assign_statement, 4, 0, 67), + [394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assign_statement, 4, 0, 67), + [396] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 1, 0, 14), + [398] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 1, 0, 14), + [400] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 5, 0, 18), + [402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 5, 0, 18), + [404] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, 0, 71), + [406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, 0, 71), + [408] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 6, 0, 76), + [410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 6, 0, 76), + [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323), + [414] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, 0, 77), + [416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, 0, 77), + [418] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 2, 0, 0), + [420] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 2, 0, 0), + [422] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop_statement, 2, 0, 15), + [424] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop_statement, 2, 0, 15), + [426] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2, 0, 0), + [428] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2, 0, 0), + [430] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2, 0, 0), + [432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2, 0, 0), + [434] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assert_statement, 3, 0, 0), + [436] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assert_statement, 3, 0, 0), + [438] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 7, 0, 57), + [440] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 7, 0, 57), + [442] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 8, 0, 85), + [444] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 8, 0, 85), + [446] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop_statement, 3, 0, 50), + [448] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop_statement, 3, 0, 50), + [450] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition_statement, 5, 0, 18), + [452] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition_statement, 5, 0, 18), + [454] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition_statement, 6, 0, 27), + [456] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition_statement, 6, 0, 27), + [458] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_definition, 7, 0, 57), + [460] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_definition, 7, 0, 57), + [462] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_definition, 8, 0, 62), + [464] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_definition, 8, 0, 62), + [466] = {.entry = {.count = 1, .reusable = false}}, SHIFT(463), + [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(326), + [470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_name, 2, 0, 13), + [472] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_name, 2, 0, 13), + [474] = {.entry = {.count = 1, .reusable = false}}, SHIFT(395), + [476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), + [478] = {.entry = {.count = 1, .reusable = false}}, SHIFT(429), + [480] = {.entry = {.count = 1, .reusable = false}}, SHIFT(481), + [482] = {.entry = {.count = 1, .reusable = false}}, SHIFT(334), + [484] = {.entry = {.count = 1, .reusable = false}}, SHIFT(143), + [486] = {.entry = {.count = 1, .reusable = false}}, SHIFT(453), + [488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member_access_expression, 3, 0, 54), + [490] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member_access_expression, 3, 0, 54), + [492] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 4, 1500, 65), + [494] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 4, 1500, 65), + [496] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 7, 1500, 82), + [498] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 7, 1500, 82), + [500] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 6, 1500, 78), + [502] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 6, 1500, 78), + [504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 5, 1500, 73), + [506] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 5, 1500, 73), + [508] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_index_access_expression, 4, 0, 66), + [510] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_index_access_expression, 4, 0, 66), + [512] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expression, 3, 1500, 53), + [514] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expression, 3, 1500, 53), + [516] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_member_access_expression, 3, 0, 54), REDUCE(sym_qualified_name, 3, 0, 34), + [519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_name, 3, 0, 34), + [521] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_name, 3, 0, 34), + [523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lval_expression, 1, 0, 0), + [529] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__name, 1, 0, 0), + [531] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__name, 1, 0, 0), + [533] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lval_expression, 1, 0, 0), + [535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_member_access_expression, 3, 0, 54), + [537] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_member_access_expression, 3, 0, 54), + [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), + [545] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), + [547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [555] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59), + [557] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), + [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [565] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), + [567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [569] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), + [571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(438), + [577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), + [579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(440), + [581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441), + [583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), + [585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), + [587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), + [589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(460), + [591] = {.entry = {.count = 1, .reusable = false}}, SHIFT(419), + [593] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_expression, 7, 0, 83), + [595] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_expression, 7, 0, 83), + [597] = {.entry = {.count = 1, .reusable = false}}, SHIFT(298), + [599] = {.entry = {.count = 1, .reusable = false}}, SHIFT(457), + [601] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), + [603] = {.entry = {.count = 1, .reusable = false}}, SHIFT(287), + [605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_expression, 6, 0, 79), + [607] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_expression, 6, 0, 79), + [609] = {.entry = {.count = 1, .reusable = false}}, SHIFT(486), + [611] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3, 0, 0), + [613] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3, 0, 0), + [615] = {.entry = {.count = 1, .reusable = false}}, SHIFT(487), + [617] = {.entry = {.count = 1, .reusable = false}}, SHIFT(292), + [619] = {.entry = {.count = 1, .reusable = false}}, SHIFT(425), + [621] = {.entry = {.count = 1, .reusable = false}}, SHIFT(450), + [623] = {.entry = {.count = 1, .reusable = false}}, SHIFT(262), + [625] = {.entry = {.count = 1, .reusable = false}}, SHIFT(431), + [627] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3, 0, 0), + [629] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3, 0, 0), + [631] = {.entry = {.count = 1, .reusable = false}}, SHIFT(517), + [633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_expression, 3, 0, 55), + [635] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_expression, 3, 0, 55), + [637] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unit_literal, 2, 0, 0), + [639] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unit_literal, 2, 0, 0), + [641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4, 0, 0), + [643] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4, 0, 0), + [645] = {.entry = {.count = 1, .reusable = false}}, SHIFT(430), + [647] = {.entry = {.count = 1, .reusable = false}}, SHIFT(289), + [649] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2, 0, 0), + [651] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2, 0, 0), + [653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool_literal, 1, 0, 0), + [655] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool_literal, 1, 0, 0), + [657] = {.entry = {.count = 1, .reusable = false}}, SHIFT(484), + [659] = {.entry = {.count = 1, .reusable = false}}, SHIFT(502), + [661] = {.entry = {.count = 1, .reusable = false}}, SHIFT(508), + [663] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prefix_unary_expression, 2, 0, 38), + [665] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prefix_unary_expression, 2, 0, 38), + [667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2, 0, 0), + [669] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2, 0, 0), + [671] = {.entry = {.count = 1, .reusable = false}}, SHIFT(456), + [673] = {.entry = {.count = 1, .reusable = false}}, SHIFT(476), + [675] = {.entry = {.count = 1, .reusable = false}}, SHIFT(467), + [677] = {.entry = {.count = 1, .reusable = false}}, SHIFT(271), + [679] = {.entry = {.count = 1, .reusable = false}}, SHIFT(265), + [681] = {.entry = {.count = 1, .reusable = false}}, SHIFT(281), + [683] = {.entry = {.count = 1, .reusable = false}}, SHIFT(282), + [685] = {.entry = {.count = 1, .reusable = false}}, SHIFT(506), + [687] = {.entry = {.count = 1, .reusable = false}}, SHIFT(507), + [689] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__lval_expression, 1, 0, 0), REDUCE(sym__name, 1, 0, 0), + [692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), + [694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329), + [696] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__non_lval_expression, 1, 0, 0), + [698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), + [700] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__non_lval_expression, 1, 0, 0), + [702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), + [704] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__simple_name, 1, 0, 0), SHIFT(244), + [707] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 52), + [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [711] = {.entry = {.count = 1, .reusable = false}}, SHIFT(55), + [713] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), + [715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [721] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), + [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [725] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), + [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [731] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 52), + [733] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_minus, 1, 0, 0), + [735] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_minus, 1, 0, 0), + [737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [739] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), + [741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288), + [743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [757] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), + [759] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_expression_repeat1, 4, 0, 86), + [761] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_expression_repeat1, 4, 0, 81), + [763] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_expression_repeat1, 2, 0, 12), + [765] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), + [767] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(384), + [770] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(383), + [773] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(362), + [776] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(369), + [779] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(370), + [782] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(355), + [785] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(375), + [788] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(493), + [791] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(338), + [794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), + [798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), + [800] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [804] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), + [822] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(384), + [825] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(383), + [828] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), + [830] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(362), + [833] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(369), + [836] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(355), + [839] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(375), + [842] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_spec_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(493), + [845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), + [847] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_qualified_name, 3, 0, 36), + [849] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_qualified_name, 3, 0, 36), + [851] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4, 0, 32), + [853] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0), + [855] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3, 0, 12), + [857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [859] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__bracketed_generic_name, 3, 0, 0), + [861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462), + [863] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_array, 3, 0, 30), + [865] = {.entry = {.count = 1, .reusable = false}}, SHIFT(511), + [867] = {.entry = {.count = 1, .reusable = false}}, SHIFT(378), + [869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), + [871] = {.entry = {.count = 1, .reusable = false}}, SHIFT(239), + [873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), + [879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436), + [881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437), + [883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(442), + [885] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_array, 5, 0, 63), + [887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), + [893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443), + [899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(444), + [901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(445), + [903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(446), + [905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), + [909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), + [911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), + [915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [917] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_unit, 2, 0, 0), + [919] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_fn, 4, 0, 47), + [921] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 22), SHIFT_REPEAT(511), + [924] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 22), SHIFT_REPEAT(378), + [927] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 22), + [929] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 22), SHIFT_REPEAT(239), + [932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), + [934] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 2), + [936] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, 0, 37), + [938] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, 0, 56), + [940] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_external_function_definition, 7, 0, 58), + [942] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 8), + [944] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 6, 0, 29), + [946] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 16), + [948] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 4, 0, 4), + [950] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 5, 0, 9), + [952] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 8, 0, 61), + [954] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 5, 0, 19), + [956] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 6, 0, 43), + [958] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, 0, 45), + [960] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 5, 0, 21), + [962] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 6, 0, 28), + [964] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 7, 0, 46), + [966] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_external_function_definition, 5, 0, 23), + [968] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, 0, 26), + [970] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 8, 0, 69), + [972] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 8, 0, 70), + [974] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 7, 0, 59), + [976] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 3, 0, 1), + [978] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_spec_definition, 4, 0, 4), + [980] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_spec_definition, 5, 0, 4), + [982] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 4, 0, 6), + [984] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 7, 0, 60), + [986] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 8, 0, 68), + [988] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 9, 0, 75), + [990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [992] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list_definition, 3, 0, 17), + [994] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list_definition, 2, 0, 3), + [996] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_definition_repeat1, 2, 0, 41), + [998] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_argument_list_definition_repeat1, 2, 0, 41), SHIFT_REPEAT(239), + [1001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), + [1003] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 16), + [1005] = {.entry = {.count = 1, .reusable = false}}, SHIFT(372), + [1007] = {.entry = {.count = 1, .reusable = false}}, SHIFT(421), + [1009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), + [1011] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, 0, 56), + [1013] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type, 1, 0, 0), + [1015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), + [1017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(374), + [1019] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, 0, 45), + [1021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), + [1023] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, 0, 26), + [1025] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 2), + [1027] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 20), + [1029] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 20), + [1031] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 8), + [1033] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_fn, 2, 0, 10), + [1035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [1037] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, 0, 37), + [1039] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 8, 0, 61), + [1041] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_struct_definition_repeat1, 1, 0, 5), + [1043] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 1, 0, 5), + [1045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), + [1047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [1049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363), + [1051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), + [1053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(366), + [1055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367), + [1057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), + [1059] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_definition_repeat1, 2, 0, 3), + [1061] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_argument_list_definition_repeat1, 2, 0, 3), + [1063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), + [1065] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), + [1067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), + [1069] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), + [1071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [1073] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [1075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [1077] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(38), + [1080] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2, 0, 7), + [1082] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2, 0, 7), SHIFT_REPEAT(361), + [1085] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2, 0, 44), SHIFT_REPEAT(357), + [1088] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2, 0, 44), + [1090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [1092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358), + [1094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(515), + [1096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [1098] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat2, 2, 0, 25), SHIFT_REPEAT(358), + [1101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat2, 2, 0, 25), + [1103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357), + [1105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [1107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474), + [1109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305), + [1111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(345), + [1113] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_expression_repeat1, 2, 0, 74), SHIFT_REPEAT(40), + [1116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_expression_repeat1, 2, 0, 74), + [1118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [1120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [1122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), + [1124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(478), + [1126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), + [1128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317), + [1130] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_expression_repeat1, 2, 0, 84), SHIFT_REPEAT(288), + [1133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_expression_repeat1, 2, 0, 84), + [1135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468), + [1137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), + [1139] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 33), SHIFT_REPEAT(125), + [1142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 33), + [1144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), + [1146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335), + [1148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(475), + [1150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(516), + [1152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2, 0, 42), + [1154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_declaration, 3, 0, 35), + [1156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat2, 2, 0, 24), + [1158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_reference, 2, 0, 11), + [1160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [1162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [1164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), + [1166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(381), + [1168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(356), + [1170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_reference, 1, 0, 0), + [1172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [1174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [1176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_declaration, 4, 0, 48), + [1178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), + [1180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [1182] = {.entry = {.count = 1, .reusable = false}}, SHIFT(170), + [1184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(485), + [1186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ignore_argument, 3, 0, 31), + [1188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [1190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [1192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 12), + [1194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327), + [1196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [1198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), + [1200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), + [1202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2, 0, 1), + [1204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371), + [1206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [1208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [1210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [1212] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [1214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [1216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(309), + [1218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [1220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [1222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364), + [1224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433), + [1226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311), + [1228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [1230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [1232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423), + [1234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [1236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [1238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [1240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [1242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [1244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), + [1246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [1248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field, 3, 0, 35), + [1250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), + [1252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [1254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [1256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [1258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), + [1260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373), + [1262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), + [1264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), + [1266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), + [1268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [1270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [1272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [1274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [1276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349), + [1278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), + [1280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [1282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [1284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), + [1286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [1288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [1290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [1292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310), + [1294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [1296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379), + [1298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385), + [1300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [1302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), + [1304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), + [1306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), + [1308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), }; #ifdef __cplusplus diff --git a/test/corpus/definitions/visibility.txt b/test/corpus/definitions/visibility.txt new file mode 100644 index 0000000..87a034f --- /dev/null +++ b/test/corpus/definitions/visibility.txt @@ -0,0 +1,220 @@ +=== +Public function definition +=== + +pub fn foo() -> i32 { + return 1; +} + +--- + +(source_file + (function_definition + (visibility) + (identifier) + (argument_list) + (type_i32) + (block + (return_statement + (number_literal))))) + +=== +Public constant definition +=== + +pub const MAX_SIZE: u32 = 100; + +--- + +(source_file + (constant_definition + (visibility) + (identifier) + (type_u32) + (number_literal))) + +=== +Public type definition +=== + +pub type Address = u32; + +--- + +(source_file + (type_definition_statement + (visibility) + (identifier) + (type_u32))) + +=== +Public enum definition +=== + +pub enum Color { + Red, + Green, + Blue +} + +--- + +(source_file + (enum_definition + (visibility) + (identifier) + (identifier) + (identifier) + (identifier))) + +=== +Public struct definition +=== + +pub struct Point { + x: i32; + y: i32; +} + +--- + +(source_file + (struct_definition + (visibility) + (identifier) + (struct_field + (identifier) + (type_i32)) + (struct_field + (identifier) + (type_i32)))) + +=== +Public struct with public method +=== + +pub struct Counter { + value: i32; + pub fn increment(mut self) { + self.value = self.value + 1; + } +} + +--- + +(source_file + (struct_definition + (visibility) + (identifier) + (struct_field + (identifier) + (type_i32)) + (function_definition + (visibility) + (identifier) + (argument_list + (self_reference + (mut_keyword))) + (block + (assign_statement + (member_access_expression + (identifier) + (identifier)) + (binary_expression + (member_access_expression + (identifier) + (identifier)) + (number_literal))))))) + +=== +Public generic function +=== + +pub fn identity T' (x: T) -> T { + return x; +} + +--- + +(source_file + (function_definition + (visibility) + (identifier) + (type_argument_list_definition + (identifier)) + (argument_list + (argument_declaration + (identifier) + (identifier))) + (identifier) + (block + (return_statement + (identifier))))) + +=== +Mixed visibility in spec +=== + +spec MySpec { + pub const VALUE: i32 = 42; + pub fn get_value() -> i32 { + return VALUE; + } + fn private_helper() -> i32 { + return 0; + } +} + +--- + +(source_file + (spec_definition + (identifier) + (constant_definition + (visibility) + (identifier) + (type_i32) + (number_literal)) + (function_definition + (visibility) + (identifier) + (argument_list) + (type_i32) + (block + (return_statement + (identifier)))) + (function_definition + (identifier) + (argument_list) + (type_i32) + (block + (return_statement + (number_literal)))))) + +=== +Public function with forall block +=== + +pub fn verify_property(x: i32) -> bool forall { + return x + 1 > x; +} + +--- + +(source_file + (function_definition + (visibility) + (identifier) + (argument_list + (argument_declaration + (identifier) + (type_i32))) + (type_bool) + (forall_block + (block + (return_statement + (binary_expression + (binary_expression + (identifier) + (number_literal)) + (identifier))))))) diff --git a/test/corpus/expressions/binary.txt b/test/corpus/expressions/binary.txt index 92e203f..9225a37 100644 --- a/test/corpus/expressions/binary.txt +++ b/test/corpus/expressions/binary.txt @@ -304,3 +304,101 @@ fn main() -> i32 { (number_literal) (number_literal)))))) +=== +Division expression +=== +fn main() -> i32 { + return 10 / 2; +} +--- +(source_file + (function_definition + (identifier) + (argument_list) + (type_i32) + (block + (return_statement + (binary_expression + (number_literal) + (number_literal)))))) + +=== +Division with other arithmetic +=== +fn main() -> i32 { + return a * b / c + d; +} +--- +(source_file + (function_definition + (identifier) + (argument_list) + (type_i32) + (block + (return_statement + (binary_expression + (binary_expression + (binary_expression + (identifier) + (identifier)) + (identifier)) + (identifier)))))) + +=== +Division with modulo +=== +fn main() -> i32 { + return a / b % c; +} +--- +(source_file + (function_definition + (identifier) + (argument_list) + (type_i32) + (block + (return_statement + (binary_expression + (binary_expression + (identifier) + (identifier)) + (identifier)))))) + +=== +Unary minus with division +=== +fn main() -> i32 { + return -(a / b); +} +--- +(source_file + (function_definition + (identifier) + (argument_list) + (type_i32) + (block + (return_statement + (prefix_unary_expression + (unary_minus) + (parenthesized_expression + (binary_expression + (identifier) + (identifier)))))))) + +=== +Division by negative literal +=== +fn main() -> i32 { + return a / -2; +} +--- +(source_file + (function_definition + (identifier) + (argument_list) + (type_i32) + (block + (return_statement + (binary_expression + (identifier) + (number_literal)))))) diff --git a/test/corpus/expressions/generic_call.txt b/test/corpus/expressions/generic_call.txt new file mode 100644 index 0000000..36589ef --- /dev/null +++ b/test/corpus/expressions/generic_call.txt @@ -0,0 +1,294 @@ +=== +Generic function call with single type argument +=== + +fn main() { + let x: i32 = identity i32'(5); +} + +--- + +(source_file + (function_definition + (identifier) + (argument_list) + (block + (variable_definition_statement + (identifier) + (type_i32) + (function_call_expression + (generic_name + (identifier) + (type_argument_list + (type_i32))) + (number_literal)))))) + +=== +Generic function call with multiple type arguments (space-separated) +=== + +fn main() { + let p: Pair = make_pair i32' bool'(42, true); +} + +--- + +(source_file + (function_definition + (identifier) + (argument_list) + (block + (variable_definition_statement + (identifier) + (identifier) + (function_call_expression + (generic_name + (identifier) + (type_argument_list + (type_i32) + (type_bool))) + (number_literal) + (bool_literal)))))) + +=== +Generic function call with user-defined type argument +=== + +fn main() { + let result: MyType = convert MyType'(value); +} + +--- + +(source_file + (function_definition + (identifier) + (argument_list) + (block + (variable_definition_statement + (identifier) + (identifier) + (function_call_expression + (generic_name + (identifier) + (type_argument_list + (identifier))) + (identifier)))))) + +=== +Generic function call with qualified type argument +=== + +fn main() { + let x: MyModule = convert module::Type'(value); +} + +--- + +(source_file + (function_definition + (identifier) + (argument_list) + (block + (variable_definition_statement + (identifier) + (identifier) + (function_call_expression + (generic_name + (identifier) + (type_argument_list + (type_qualified_name + (identifier) + (identifier)))) + (identifier)))))) + +=== +Chained generic function calls +=== + +fn main() { + let x: i32 = outer i32'(inner bool'(true)); +} + +--- + +(source_file + (function_definition + (identifier) + (argument_list) + (block + (variable_definition_statement + (identifier) + (type_i32) + (function_call_expression + (generic_name + (identifier) + (type_argument_list + (type_i32))) + (function_call_expression + (generic_name + (identifier) + (type_argument_list + (type_bool))) + (bool_literal))))))) + +=== +Generic function call as expression statement +=== + +fn main() { + process i32'(42); +} + +--- + +(source_file + (function_definition + (identifier) + (argument_list) + (block + (expression_statement + (function_call_expression + (generic_name + (identifier) + (type_argument_list + (type_i32))) + (number_literal)))))) + +=== +Generic function call in return statement +=== + +fn wrapper() -> i32 { + return identity i32'(100); +} + +--- + +(source_file + (function_definition + (identifier) + (argument_list) + (type_i32) + (block + (return_statement + (function_call_expression + (generic_name + (identifier) + (type_argument_list + (type_i32))) + (number_literal)))))) + +=== +Generic function call with named arguments +=== + +fn main() { + let x: i32 = transform i32'(input: 5, scale: 2); +} + +--- + +(source_file + (function_definition + (identifier) + (argument_list) + (block + (variable_definition_statement + (identifier) + (type_i32) + (function_call_expression + (generic_name + (identifier) + (type_argument_list + (type_i32))) + (identifier) + (number_literal) + (identifier) + (number_literal)))))) + +=== +Generic method call on member access +=== + +fn main() { + let x: i32 = obj.method i32'(5); +} + +--- + +(source_file + (function_definition + (identifier) + (argument_list) + (block + (variable_definition_statement + (identifier) + (type_i32) + (function_call_expression + (member_access_expression + (identifier) + (generic_name + (identifier) + (type_argument_list + (type_i32)))) + (number_literal)))))) + +=== +Comparison: non-generic vs generic function call +=== + +fn main() { + let a: i32 = foo(5); + let b: i32 = foo i32'(5); +} + +--- + +(source_file + (function_definition + (identifier) + (argument_list) + (block + (variable_definition_statement + (identifier) + (type_i32) + (function_call_expression + (identifier) + (number_literal))) + (variable_definition_statement + (identifier) + (type_i32) + (function_call_expression + (generic_name + (identifier) + (type_argument_list + (type_i32))) + (number_literal)))))) + +=== +Nested generics are syntactically valid (rejected at compilation) +=== + +fn main() { + let x: i32 = foo Wrapper i32''(5); +} + +--- +(source_file + (function_definition + (identifier) + (argument_list) + (block + (variable_definition_statement + (identifier) + (type_i32) + (function_call_expression + (generic_name + (identifier) + (type_argument_list + (generic_name + (identifier) + (type_argument_list + (type_i32))))) + (number_literal)))))) diff --git a/test/corpus/expressions/unary.txt b/test/corpus/expressions/unary.txt new file mode 100644 index 0000000..28e7d7c --- /dev/null +++ b/test/corpus/expressions/unary.txt @@ -0,0 +1,180 @@ +=== +Unary NOT operator +=== +fn main() -> bool { + return !true; +} +--- +(source_file + (function_definition + (identifier) + (argument_list) + (type_bool) + (block + (return_statement + (prefix_unary_expression + (unary_not) + (bool_literal)))))) + +=== +Unary minus with identifier +=== +fn main() -> i32 { + let x: i32 = 5; + return -x; +} +--- +(source_file + (function_definition + (identifier) + (argument_list) + (type_i32) + (block + (variable_definition_statement + (identifier) + (type_i32) + (number_literal)) + (return_statement + (prefix_unary_expression + (unary_minus) + (identifier)))))) + +=== +Unary minus with parenthesized expression +=== +fn main() -> i32 { + return -(a + b); +} +--- +(source_file + (function_definition + (identifier) + (argument_list) + (type_i32) + (block + (return_statement + (prefix_unary_expression + (unary_minus) + (parenthesized_expression + (binary_expression + (identifier) + (identifier)))))))) + +=== +Bitwise NOT operator +=== +fn main() -> i32 { + return ~x; +} +--- +(source_file + (function_definition + (identifier) + (argument_list) + (type_i32) + (block + (return_statement + (prefix_unary_expression + (unary_bitnot) + (identifier)))))) + +=== +Bitwise NOT with parenthesized expression +=== +fn main() -> i32 { + return ~(a & b); +} +--- +(source_file + (function_definition + (identifier) + (argument_list) + (type_i32) + (block + (return_statement + (prefix_unary_expression + (unary_bitnot) + (parenthesized_expression + (binary_expression + (identifier) + (identifier)))))))) + +=== +Double negation +=== +fn main() -> i32 { + return --x; +} +--- +(source_file + (function_definition + (identifier) + (argument_list) + (type_i32) + (block + (return_statement + (prefix_unary_expression + (unary_minus) + (prefix_unary_expression + (unary_minus) + (identifier))))))) + +=== +Combined unary operators (minus then bitnot) +=== +fn main() -> i32 { + return -~x; +} +--- +(source_file + (function_definition + (identifier) + (argument_list) + (type_i32) + (block + (return_statement + (prefix_unary_expression + (unary_minus) + (prefix_unary_expression + (unary_bitnot) + (identifier))))))) + +=== +Combined unary operators (bitnot then minus) +=== +fn main() -> i32 { + return ~-x; +} +--- +(source_file + (function_definition + (identifier) + (argument_list) + (type_i32) + (block + (return_statement + (prefix_unary_expression + (unary_bitnot) + (prefix_unary_expression + (unary_minus) + (identifier))))))) + +=== +Unary minus in binary expression +=== +fn main() -> i32 { + return a - -b; +} +--- +(source_file + (function_definition + (identifier) + (argument_list) + (type_i32) + (block + (return_statement + (binary_expression + (identifier) + (prefix_unary_expression + (unary_minus) + (identifier))))))) diff --git a/tree-sitter.json b/tree-sitter.json index 2de69a3..b3d8663 100644 --- a/tree-sitter.json +++ b/tree-sitter.json @@ -13,13 +13,17 @@ } ], "metadata": { - "version": "0.0.29", + "version": "0.0.38", "license": "MIT", "description": "Inference grammar for tree-sitter", "authors": [ { "name": "Georgii Plotnikov", "email": "georgii@inferara.com" + }, + { + "name": "Nikolay Nikitin", + "email": "nikolaynikitin2006@gmail.com" } ], "links": {