From 2093c1d2dde9cc8bd4be2880be6daeb71833faee Mon Sep 17 00:00:00 2001 From: Marceline Cramer Date: Thu, 30 Apr 2026 19:16:51 -0600 Subject: [PATCH] Flatten values into expression grammar --- crates/frontend/src/ast.rs | 69 +- tree-sitter-kerolox/grammar.js | 23 +- tree-sitter-kerolox/queries/highlights.scm | 2 +- tree-sitter-kerolox/src/grammar.json | 93 +- tree-sitter-kerolox/src/node-types.json | 96 +- tree-sitter-kerolox/src/parser.c | 3844 ++++++++++---------- 6 files changed, 2005 insertions(+), 2122 deletions(-) diff --git a/crates/frontend/src/ast.rs b/crates/frontend/src/ast.rs index d755975..4881bad 100644 --- a/crates/frontend/src/ast.rs +++ b/crates/frontend/src/ast.rs @@ -223,32 +223,44 @@ pub struct RuleBody<'db> { /// Parse an expression from the AST. #[salsa::tracked] pub fn expr(db: &dyn Database, ast: AstNode) -> Expr { - use ir::ExprKind; + use ir::{ExprKind::*, Value::*}; // parse the kind depending on which field is selected - let kind = if let Some(tuple) = ast.get_field(db, "tuple") { - let els = tuple.get_fields(db, "el").map(|el| expr(db, el)).collect(); - ExprKind::Extra(Arc::new(ExprExtra::Tuple(els))) - } else if let Some(val) = ast.get_field(db, "hole") { - ExprKind::Extra(Arc::new(ExprExtra::Hole)) - } else if let Some(val) = ast.get_field(db, "value") { - ExprKind::Value(value(db, val)) + let kind = if let Some(val) = ast.get_field(db, "hole") { + Extra(Arc::new(ExprExtra::Hole)) } else if let Some(var) = ast.get_field(db, "variable") { let name = var.contents(db).to_string(); - ExprKind::Extra(Arc::new(ExprExtra::VariableName(name))) + Extra(Arc::new(ExprExtra::VariableName(name))) + } else if let Some(ast) = ast.get_field(db, "atom") { + Extra(Arc::new(ExprExtra::Apply(apply(db, ast)))) + } else if let Some(tuple) = ast.get_field(db, "tuple") { + let els = tuple.get_fields(db, "el").map(|el| expr(db, el)).collect(); + Extra(Arc::new(ExprExtra::Tuple(els))) + } else if let Some(ast) = ast.get_field(db, "aggregate") { + Extra(Arc::new(ExprExtra::Aggregate(aggregate(db, ast)))) + } else if ast.get_field(db, "true").is_some() { + Value(Boolean(true)) + } else if ast.get_field(db, "false").is_some() { + Value(Boolean(false)) + } else if let Some(sym) = ast.get_field(db, "symbol") { + todo!() + } else if let Some(int) = ast.get_field(db, "integer") { + Value(match int.contents(db).to_string().parse() { + Ok(val) => Integer(val), + Err(_) => { + diagnostic::SimpleError::new(int, "failed to parse integer literal").accumulate(db); + Integer(0) + } + }) + } else if let Some(unary) = ast.get_field(db, "unary") { + let op = unary.expect_field(db, "op").expect_parse(db); + let term = Arc::new(expr(db, unary.expect_field(db, "term"))); + UnaryOp { op, term } } else if let Some(binary) = ast.get_field(db, "binary") { let op = binary.expect_field(db, "op").expect_parse(db); let lhs = Arc::new(expr(db, binary.expect_field(db, "lhs"))); let rhs = Arc::new(expr(db, binary.expect_field(db, "rhs"))); - ExprKind::BinaryOp { op, lhs, rhs } - } else if let Some(unary) = ast.get_field(db, "unary") { - let op = unary.expect_field(db, "op").expect_parse(db); - let term = Arc::new(expr(db, unary.expect_field(db, "term"))); - ExprKind::UnaryOp { op, term } - } else if let Some(ast) = ast.get_field(db, "atom") { - ExprKind::Extra(Arc::new(ExprExtra::Apply(apply(db, ast)))) - } else if let Some(ast) = ast.get_field(db, "aggregate") { - ExprKind::Extra(Arc::new(ExprExtra::Aggregate(aggregate(db, ast)))) + BinaryOp { op, lhs, rhs } } else if let Some(parens) = ast.get_field(db, "parens") { return expr(db, parens); } else { @@ -259,27 +271,6 @@ pub fn expr(db: &dyn Database, ast: AstNode) -> Expr { Expr { meta: ast, kind } } -/// Parses a value from an AST. -fn value(db: &dyn Database, ast: AstNode) -> ir::Value { - use ir::Value::*; - if ast.get_field(db, "true").is_some() { - Boolean(true) - } else if ast.get_field(db, "false").is_some() { - Boolean(false) - } else if let Some(sym) = ast.get_field(db, "symbol") { - todo!() - } else { - let int = ast.expect_field(db, "integer"); - match int.contents(db).to_string().parse() { - Ok(val) => Integer(val), - Err(_) => { - diagnostic::SimpleError::new(int, "failed to parse integer literal").accumulate(db); - Integer(0) - } - } - } -} - /// Parses an aggregate operator. pub fn aggregate(db: &dyn Database, ast: AstNode) -> Aggregate { let kind = ast.expect_field(db, "op").with_contents(db); diff --git a/tree-sitter-kerolox/grammar.js b/tree-sitter-kerolox/grammar.js index b269f4e..b850c1c 100644 --- a/tree-sitter-kerolox/grammar.js +++ b/tree-sitter-kerolox/grammar.js @@ -107,14 +107,26 @@ export default grammar({ rule_body: $ => list(field("clause", $.expr)), expr: $ => choice( + // variables field("hole", "_"), + field("variable", $.variable), + + // composites field("atom", $.atom), field("tuple", $.tuple), - field("value", $.value), - field("variable", $.variable), field("aggregate", $.aggregate), + + // value literals + field("true", "True"), + field("false", "False"), + field("symbol", $.symbol), + field("integer", $.integer), + + // operations field("unary", $.unary_expr), field("binary", $.binary_expr), + + // nested seq('(', field("parens", $.expr), ')'), ), @@ -123,13 +135,6 @@ export default grammar({ tuple: $ => parenListComma(field("el", $.expr)), - value: $ => choice( - field("true", "True"), - field("false", "False"), - field("symbol", $.symbol), - field("integer", $.integer), - ), - aggregate: $ => seq( field("op", $.aggregate_op), optional(seq(list(field("witness", $.variable)), ":")), diff --git a/tree-sitter-kerolox/queries/highlights.scm b/tree-sitter-kerolox/queries/highlights.scm index 04ad2b8..82394d3 100644 --- a/tree-sitter-kerolox/queries/highlights.scm +++ b/tree-sitter-kerolox/queries/highlights.scm @@ -3,7 +3,7 @@ (comment) @comment.line (integer) @constant.numeric (variable) @variable -(value (symbol) @constant) +(expr (symbol) @constant) (import (symbol) @module) (type (symbol)) @type (type_alias name: _ @type) diff --git a/tree-sitter-kerolox/src/grammar.json b/tree-sitter-kerolox/src/grammar.json index 5e516b4..5ed75f1 100644 --- a/tree-sitter-kerolox/src/grammar.json +++ b/tree-sitter-kerolox/src/grammar.json @@ -535,6 +535,14 @@ "value": "_" } }, + { + "type": "FIELD", + "name": "variable", + "content": { + "type": "SYMBOL", + "name": "variable" + } + }, { "type": "FIELD", "name": "atom", @@ -551,22 +559,6 @@ "name": "tuple" } }, - { - "type": "FIELD", - "name": "value", - "content": { - "type": "SYMBOL", - "name": "value" - } - }, - { - "type": "FIELD", - "name": "variable", - "content": { - "type": "SYMBOL", - "name": "variable" - } - }, { "type": "FIELD", "name": "aggregate", @@ -575,6 +567,38 @@ "name": "aggregate" } }, + { + "type": "FIELD", + "name": "true", + "content": { + "type": "STRING", + "value": "True" + } + }, + { + "type": "FIELD", + "name": "false", + "content": { + "type": "STRING", + "value": "False" + } + }, + { + "type": "FIELD", + "name": "symbol", + "content": { + "type": "SYMBOL", + "name": "symbol" + } + }, + { + "type": "FIELD", + "name": "integer", + "content": { + "type": "SYMBOL", + "name": "integer" + } + }, { "type": "FIELD", "name": "unary", @@ -694,43 +718,6 @@ } ] }, - "value": { - "type": "CHOICE", - "members": [ - { - "type": "FIELD", - "name": "true", - "content": { - "type": "STRING", - "value": "True" - } - }, - { - "type": "FIELD", - "name": "false", - "content": { - "type": "STRING", - "value": "False" - } - }, - { - "type": "FIELD", - "name": "symbol", - "content": { - "type": "SYMBOL", - "name": "symbol" - } - }, - { - "type": "FIELD", - "name": "integer", - "content": { - "type": "SYMBOL", - "name": "integer" - } - } - ] - }, "aggregate": { "type": "SEQ", "members": [ diff --git a/tree-sitter-kerolox/src/node-types.json b/tree-sitter-kerolox/src/node-types.json index fe7e832..ea603b2 100644 --- a/tree-sitter-kerolox/src/node-types.json +++ b/tree-sitter-kerolox/src/node-types.json @@ -287,6 +287,16 @@ } ] }, + "false": { + "multiple": false, + "required": false, + "types": [ + { + "type": "False", + "named": false + } + ] + }, "hole": { "multiple": false, "required": false, @@ -297,6 +307,16 @@ } ] }, + "integer": { + "multiple": false, + "required": false, + "types": [ + { + "type": "integer", + "named": true + } + ] + }, "parens": { "multiple": false, "required": false, @@ -307,6 +327,26 @@ } ] }, + "symbol": { + "multiple": false, + "required": false, + "types": [ + { + "type": "symbol", + "named": true + } + ] + }, + "true": { + "multiple": false, + "required": false, + "types": [ + { + "type": "True", + "named": false + } + ] + }, "tuple": { "multiple": false, "required": false, @@ -327,16 +367,6 @@ } ] }, - "value": { - "multiple": false, - "required": false, - "types": [ - { - "type": "value", - "named": true - } - ] - }, "variable": { "multiple": false, "required": false, @@ -581,52 +611,6 @@ "named": true, "fields": {} }, - { - "type": "value", - "named": true, - "fields": { - "false": { - "multiple": false, - "required": false, - "types": [ - { - "type": "False", - "named": false - } - ] - }, - "integer": { - "multiple": false, - "required": false, - "types": [ - { - "type": "integer", - "named": true - } - ] - }, - "symbol": { - "multiple": false, - "required": false, - "types": [ - { - "type": "symbol", - "named": true - } - ] - }, - "true": { - "multiple": false, - "required": false, - "types": [ - { - "type": "True", - "named": false - } - ] - } - } - }, { "type": "!", "named": false diff --git a/tree-sitter-kerolox/src/parser.c b/tree-sitter-kerolox/src/parser.c index f5b7301..8f35598 100644 --- a/tree-sitter-kerolox/src/parser.c +++ b/tree-sitter-kerolox/src/parser.c @@ -7,16 +7,16 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 163 +#define STATE_COUNT 162 #define LARGE_STATE_COUNT 3 -#define SYMBOL_COUNT 67 +#define SYMBOL_COUNT 66 #define ALIAS_COUNT 0 #define TOKEN_COUNT 42 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 33 +#define FIELD_COUNT 32 #define MAX_ALIAS_SEQUENCE_LENGTH 8 #define MAX_RESERVED_WORD_SET_SIZE 0 -#define PRODUCTION_ID_COUNT 61 +#define PRODUCTION_ID_COUNT 60 #define SUPERTYPE_COUNT 0 enum ts_symbol_identifiers { @@ -74,18 +74,17 @@ enum ts_symbol_identifiers { sym_expr = 52, sym_atom = 53, sym_tuple = 54, - sym_value = 55, - sym_aggregate = 56, - sym_unary_expr = 57, - sym_unary_op = 58, - sym_binary_expr = 59, - aux_sym_file_repeat1 = 60, - aux_sym_type_repeat1 = 61, - aux_sym_import_repeat1 = 62, - aux_sym_import_repeat2 = 63, - aux_sym_rule_body_repeat1 = 64, - aux_sym_tuple_repeat1 = 65, - aux_sym_aggregate_repeat1 = 66, + sym_aggregate = 55, + sym_unary_expr = 56, + sym_unary_op = 57, + sym_binary_expr = 58, + aux_sym_file_repeat1 = 59, + aux_sym_type_repeat1 = 60, + aux_sym_import_repeat1 = 61, + aux_sym_import_repeat2 = 62, + aux_sym_rule_body_repeat1 = 63, + aux_sym_tuple_repeat1 = 64, + aux_sym_aggregate_repeat1 = 65, }; static const char * const ts_symbol_names[] = { @@ -144,7 +143,6 @@ static const char * const ts_symbol_names[] = { [sym_expr] = "expr", [sym_atom] = "atom", [sym_tuple] = "tuple", - [sym_value] = "value", [sym_aggregate] = "aggregate", [sym_unary_expr] = "unary_expr", [sym_unary_op] = "unary_op", @@ -214,7 +212,6 @@ static const TSSymbol ts_symbol_map[] = { [sym_expr] = sym_expr, [sym_atom] = sym_atom, [sym_tuple] = sym_tuple, - [sym_value] = sym_value, [sym_aggregate] = sym_aggregate, [sym_unary_expr] = sym_unary_expr, [sym_unary_op] = sym_unary_op, @@ -449,10 +446,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_value] = { - .visible = true, - .named = true, - }, [sym_aggregate] = { .visible = true, .named = true, @@ -530,9 +523,8 @@ enum ts_field_identifiers { field_tuple = 28, field_type = 29, field_unary = 30, - field_value = 31, - field_variable = 32, - field_witness = 33, + field_variable = 31, + field_witness = 32, }; static const char * const ts_field_names[] = { @@ -567,7 +559,6 @@ static const char * const ts_field_names[] = { [field_tuple] = "tuple", [field_type] = "type", [field_unary] = "unary", - [field_value] = "value", [field_variable] = "variable", [field_witness] = "witness", }; @@ -585,54 +576,53 @@ static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [10] = {.index = 9, .length = 1}, [11] = {.index = 10, .length = 1}, [12] = {.index = 11, .length = 1}, - [13] = {.index = 12, .length = 1}, - [14] = {.index = 13, .length = 2}, - [15] = {.index = 15, .length = 2}, - [16] = {.index = 17, .length = 2}, - [17] = {.index = 19, .length = 2}, - [18] = {.index = 21, .length = 1}, - [19] = {.index = 22, .length = 2}, - [20] = {.index = 24, .length = 1}, - [21] = {.index = 25, .length = 2}, - [22] = {.index = 27, .length = 1}, - [23] = {.index = 28, .length = 3}, - [24] = {.index = 31, .length = 2}, - [25] = {.index = 33, .length = 1}, - [26] = {.index = 34, .length = 2}, - [27] = {.index = 36, .length = 2}, - [28] = {.index = 38, .length = 3}, - [29] = {.index = 41, .length = 3}, - [30] = {.index = 44, .length = 3}, - [31] = {.index = 47, .length = 3}, - [32] = {.index = 50, .length = 1}, - [33] = {.index = 51, .length = 2}, - [34] = {.index = 53, .length = 1}, - [35] = {.index = 54, .length = 2}, - [36] = {.index = 56, .length = 2}, - [37] = {.index = 58, .length = 1}, - [38] = {.index = 59, .length = 3}, - [39] = {.index = 62, .length = 2}, - [40] = {.index = 64, .length = 2}, - [41] = {.index = 66, .length = 3}, - [42] = {.index = 69, .length = 3}, - [43] = {.index = 72, .length = 4}, - [44] = {.index = 76, .length = 4}, - [45] = {.index = 80, .length = 4}, - [46] = {.index = 84, .length = 4}, - [47] = {.index = 88, .length = 2}, - [48] = {.index = 90, .length = 1}, - [49] = {.index = 91, .length = 2}, - [50] = {.index = 93, .length = 2}, - [51] = {.index = 95, .length = 5}, - [52] = {.index = 100, .length = 4}, - [53] = {.index = 104, .length = 3}, - [54] = {.index = 107, .length = 1}, - [55] = {.index = 108, .length = 3}, - [56] = {.index = 111, .length = 2}, - [57] = {.index = 113, .length = 3}, - [58] = {.index = 116, .length = 2}, - [59] = {.index = 118, .length = 4}, - [60] = {.index = 122, .length = 4}, + [13] = {.index = 12, .length = 2}, + [14] = {.index = 14, .length = 2}, + [15] = {.index = 16, .length = 2}, + [16] = {.index = 18, .length = 2}, + [17] = {.index = 20, .length = 1}, + [18] = {.index = 21, .length = 2}, + [19] = {.index = 23, .length = 1}, + [20] = {.index = 24, .length = 2}, + [21] = {.index = 26, .length = 1}, + [22] = {.index = 27, .length = 3}, + [23] = {.index = 30, .length = 2}, + [24] = {.index = 32, .length = 1}, + [25] = {.index = 33, .length = 2}, + [26] = {.index = 35, .length = 2}, + [27] = {.index = 37, .length = 3}, + [28] = {.index = 40, .length = 3}, + [29] = {.index = 43, .length = 3}, + [30] = {.index = 46, .length = 3}, + [31] = {.index = 49, .length = 1}, + [32] = {.index = 50, .length = 2}, + [33] = {.index = 52, .length = 1}, + [34] = {.index = 53, .length = 2}, + [35] = {.index = 55, .length = 2}, + [36] = {.index = 57, .length = 1}, + [37] = {.index = 58, .length = 3}, + [38] = {.index = 61, .length = 2}, + [39] = {.index = 63, .length = 2}, + [40] = {.index = 65, .length = 3}, + [41] = {.index = 68, .length = 3}, + [42] = {.index = 71, .length = 4}, + [43] = {.index = 75, .length = 4}, + [44] = {.index = 79, .length = 4}, + [45] = {.index = 83, .length = 4}, + [46] = {.index = 87, .length = 2}, + [47] = {.index = 89, .length = 1}, + [48] = {.index = 90, .length = 2}, + [49] = {.index = 92, .length = 2}, + [50] = {.index = 94, .length = 5}, + [51] = {.index = 99, .length = 4}, + [52] = {.index = 103, .length = 3}, + [53] = {.index = 106, .length = 1}, + [54] = {.index = 107, .length = 3}, + [55] = {.index = 110, .length = 2}, + [56] = {.index = 112, .length = 3}, + [57] = {.index = 115, .length = 2}, + [58] = {.index = 117, .length = 4}, + [59] = {.index = 121, .length = 4}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -653,171 +643,169 @@ static const TSFieldMapEntry ts_field_map_entries[] = { [7] = {field_tuple, 0}, [8] = - {field_value, 0}, - [9] = {field_aggregate, 0}, - [10] = + [9] = {field_unary, 0}, - [11] = + [10] = {field_binary, 0}, - [12] = + [11] = {field_clause, 0}, - [13] = + [12] = {field_body, 1}, {field_head, 0}, - [15] = + [14] = {field_atom, 1}, {field_op, 0}, - [17] = + [16] = {field_head, 1}, {field_relation, 0}, - [19] = + [18] = {field_op, 0}, {field_term, 1}, - [21] = + [20] = {field_named, 0}, - [22] = + [21] = {field_relation, 1}, {field_type, 2}, - [24] = + [23] = {field_body, 1}, - [25] = + [24] = {field_clause, 0}, {field_clause, 1, .inherited = true}, - [27] = + [26] = {field_parens, 1}, - [28] = + [27] = {field_lhs, 0}, {field_op, 1}, {field_rhs, 2}, - [31] = + [30] = {field_name, 1}, {field_type, 3}, - [33] = + [32] = {field_path, 1}, - [34] = + [33] = {field_item, 3}, {field_path, 1}, - [36] = + [35] = {field_path, 0, .inherited = true}, {field_path, 1, .inherited = true}, - [38] = + [37] = {field_input, 1}, {field_relation, 2}, {field_type, 3}, - [41] = + [40] = {field_output, 1}, {field_relation, 2}, {field_type, 3}, - [44] = + [43] = {field_decision, 1}, {field_relation, 2}, {field_type, 3}, - [47] = + [46] = {field_head, 2}, {field_negate, 0}, {field_relation, 1}, - [50] = + [49] = {field_clause, 1}, - [51] = + [50] = {field_clause, 0, .inherited = true}, {field_clause, 1, .inherited = true}, + [52] = + {field_el, 1}, [53] = {field_el, 1}, - [54] = - {field_el, 1}, {field_el, 2, .inherited = true}, - [56] = + [55] = {field_el, 0, .inherited = true}, {field_el, 1, .inherited = true}, - [58] = + [57] = {field_witness, 1}, - [59] = + [58] = {field_atom, 3}, {field_op, 0}, {field_witness, 1}, - [62] = + [61] = {field_witness, 0, .inherited = true}, {field_witness, 1, .inherited = true}, - [64] = + [63] = {field_body, 2}, {field_op, 0}, - [66] = + [65] = {field_body, 3}, {field_head, 1}, {field_relation, 0}, - [69] = + [68] = {field_item, 4}, {field_path, 1}, {field_path, 2, .inherited = true}, - [72] = + [71] = {field_input, 1}, {field_output, 2}, {field_relation, 3}, {field_type, 4}, - [76] = + [75] = {field_decision, 2}, {field_input, 1}, {field_relation, 3}, {field_type, 4}, - [80] = + [79] = {field_decision, 2}, {field_output, 1}, {field_relation, 3}, {field_type, 4}, - [84] = + [83] = {field_atom, 4}, {field_op, 0}, {field_witness, 1}, {field_witness, 2, .inherited = true}, - [88] = + [87] = {field_item, 4}, {field_path, 1}, + [89] = + {field_tuple, 1}, [90] = {field_tuple, 1}, - [91] = - {field_tuple, 1}, {field_tuple, 2, .inherited = true}, - [93] = + [92] = {field_tuple, 0, .inherited = true}, {field_tuple, 1, .inherited = true}, - [95] = + [94] = {field_decision, 3}, {field_input, 1}, {field_output, 2}, {field_relation, 4}, {field_type, 5}, - [100] = + [99] = {field_body, 4}, {field_head, 2}, {field_negate, 0}, {field_relation, 1}, - [104] = + [103] = {field_body, 4}, {field_op, 0}, {field_witness, 1}, - [107] = + [106] = {field_item, 1}, - [108] = + [107] = {field_item, 4}, {field_item, 5, .inherited = true}, {field_path, 1}, - [111] = + [110] = {field_item, 0, .inherited = true}, {field_item, 1, .inherited = true}, - [113] = + [112] = {field_item, 5}, {field_path, 1}, {field_path, 2, .inherited = true}, - [116] = + [115] = {field_body, 5}, {field_soft, 2}, - [118] = + [117] = {field_body, 5}, {field_op, 0}, {field_witness, 1}, {field_witness, 2, .inherited = true}, - [122] = + [121] = {field_item, 5}, {field_item, 6, .inherited = true}, {field_path, 1}, @@ -922,8 +910,8 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [86] = 86, [87] = 87, [88] = 88, - [89] = 89, - [90] = 85, + [89] = 88, + [90] = 90, [91] = 91, [92] = 92, [93] = 93, @@ -949,9 +937,9 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [113] = 113, [114] = 114, [115] = 115, - [116] = 116, - [117] = 105, - [118] = 96, + [116] = 106, + [117] = 117, + [118] = 93, [119] = 119, [120] = 120, [121] = 121, @@ -961,12 +949,12 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [125] = 125, [126] = 126, [127] = 127, - [128] = 65, - [129] = 75, - [130] = 76, - [131] = 131, - [132] = 132, - [133] = 131, + [128] = 128, + [129] = 129, + [130] = 120, + [131] = 73, + [132] = 75, + [133] = 76, [134] = 134, [135] = 135, [136] = 136, @@ -983,7 +971,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [147] = 147, [148] = 148, [149] = 149, - [150] = 150, + [150] = 136, [151] = 151, [152] = 152, [153] = 153, @@ -991,11 +979,10 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [155] = 155, [156] = 156, [157] = 157, - [158] = 156, + [158] = 158, [159] = 159, [160] = 160, - [161] = 161, - [162] = 84, + [161] = 83, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -1070,9 +1057,6 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { '<', 97, '=', 66, '>', 98, - 'd', 13, - 'i', 23, - 'o', 39, '{', 86, '|', 43, '}', 87, @@ -1082,21 +1066,25 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ' ', 52, ); if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(62); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(54); END_STATE(); case 4: if (lookahead == '&') ADVANCE(99); END_STATE(); case 5: - if (lookahead == ',') ADVANCE(68); - if (lookahead == ':') ADVANCE(84); - if (lookahead == ';') ADVANCE(48); - if (lookahead == '{') ADVANCE(86); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') ADVANCE(52); + ADVANCE_MAP( + ',', 68, + ':', 84, + ';', 48, + 'd', 13, + 'i', 23, + 'o', 39, + '\t', 52, + '\n', 52, + '\r', 52, + ' ', 52, + ); if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(62); - if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(54); END_STATE(); case 6: if (lookahead == '-') ADVANCE(79); @@ -1543,13 +1531,13 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [50] = {.lex_state = 3}, [51] = {.lex_state = 3}, [52] = {.lex_state = 3}, - [53] = {.lex_state = 3}, - [54] = {.lex_state = 46}, + [53] = {.lex_state = 46}, + [54] = {.lex_state = 3}, [55] = {.lex_state = 46}, [56] = {.lex_state = 3}, [57] = {.lex_state = 3}, - [58] = {.lex_state = 3}, - [59] = {.lex_state = 45}, + [58] = {.lex_state = 45}, + [59] = {.lex_state = 46}, [60] = {.lex_state = 46}, [61] = {.lex_state = 46}, [62] = {.lex_state = 46}, @@ -1574,85 +1562,84 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [81] = {.lex_state = 46}, [82] = {.lex_state = 46}, [83] = {.lex_state = 46}, - [84] = {.lex_state = 46}, - [85] = {.lex_state = 3}, + [84] = {.lex_state = 3}, + [85] = {.lex_state = 45}, [86] = {.lex_state = 45}, - [87] = {.lex_state = 3}, - [88] = {.lex_state = 45}, - [89] = {.lex_state = 5}, - [90] = {.lex_state = 3}, - [91] = {.lex_state = 45}, + [87] = {.lex_state = 5}, + [88] = {.lex_state = 3}, + [89] = {.lex_state = 3}, + [90] = {.lex_state = 45}, + [91] = {.lex_state = 3}, [92] = {.lex_state = 3}, - [93] = {.lex_state = 3}, + [93] = {.lex_state = 45}, [94] = {.lex_state = 3}, - [95] = {.lex_state = 45}, + [95] = {.lex_state = 3}, [96] = {.lex_state = 3}, [97] = {.lex_state = 3}, - [98] = {.lex_state = 3}, - [99] = {.lex_state = 45}, - [100] = {.lex_state = 3}, - [101] = {.lex_state = 3}, + [98] = {.lex_state = 5}, + [99] = {.lex_state = 3}, + [100] = {.lex_state = 45}, + [101] = {.lex_state = 45}, [102] = {.lex_state = 5}, - [103] = {.lex_state = 45}, - [104] = {.lex_state = 5}, + [103] = {.lex_state = 3}, + [104] = {.lex_state = 45}, [105] = {.lex_state = 45}, [106] = {.lex_state = 3}, - [107] = {.lex_state = 45}, - [108] = {.lex_state = 3}, + [107] = {.lex_state = 3}, + [108] = {.lex_state = 45}, [109] = {.lex_state = 5}, [110] = {.lex_state = 45}, - [111] = {.lex_state = 45}, - [112] = {.lex_state = 3}, - [113] = {.lex_state = 45}, + [111] = {.lex_state = 3}, + [112] = {.lex_state = 45}, + [113] = {.lex_state = 5}, [114] = {.lex_state = 3}, - [115] = {.lex_state = 3}, - [116] = {.lex_state = 45}, - [117] = {.lex_state = 45}, - [118] = {.lex_state = 3}, - [119] = {.lex_state = 3}, + [115] = {.lex_state = 45}, + [116] = {.lex_state = 3}, + [117] = {.lex_state = 3}, + [118] = {.lex_state = 45}, + [119] = {.lex_state = 5}, [120] = {.lex_state = 45}, [121] = {.lex_state = 3}, - [122] = {.lex_state = 5}, + [122] = {.lex_state = 45}, [123] = {.lex_state = 45}, - [124] = {.lex_state = 3}, - [125] = {.lex_state = 45}, - [126] = {.lex_state = 3}, - [127] = {.lex_state = 45}, - [128] = {.lex_state = 45}, + [124] = {.lex_state = 45}, + [125] = {.lex_state = 5}, + [126] = {.lex_state = 45}, + [127] = {.lex_state = 5}, + [128] = {.lex_state = 3}, [129] = {.lex_state = 45}, [130] = {.lex_state = 45}, [131] = {.lex_state = 45}, - [132] = {.lex_state = 3}, + [132] = {.lex_state = 45}, [133] = {.lex_state = 45}, [134] = {.lex_state = 45}, - [135] = {.lex_state = 3}, - [136] = {.lex_state = 45}, - [137] = {.lex_state = 3}, - [138] = {.lex_state = 3}, - [139] = {.lex_state = 3}, + [135] = {.lex_state = 45}, + [136] = {.lex_state = 1}, + [137] = {.lex_state = 45}, + [138] = {.lex_state = 45}, + [139] = {.lex_state = 45}, [140] = {.lex_state = 3}, - [141] = {.lex_state = 45}, + [141] = {.lex_state = 3}, [142] = {.lex_state = 45}, - [143] = {.lex_state = 45}, + [143] = {.lex_state = 3}, [144] = {.lex_state = 45}, [145] = {.lex_state = 45}, [146] = {.lex_state = 45}, - [147] = {.lex_state = 45}, + [147] = {.lex_state = 3}, [148] = {.lex_state = 3}, - [149] = {.lex_state = 45}, - [150] = {.lex_state = 45}, + [149] = {.lex_state = 3}, + [150] = {.lex_state = 1}, [151] = {.lex_state = 45}, [152] = {.lex_state = 3}, [153] = {.lex_state = 3}, - [154] = {.lex_state = 45}, + [154] = {.lex_state = 3}, [155] = {.lex_state = 45}, - [156] = {.lex_state = 1}, + [156] = {.lex_state = 45}, [157] = {.lex_state = 3}, - [158] = {.lex_state = 1}, + [158] = {.lex_state = 45}, [159] = {.lex_state = 3}, - [160] = {.lex_state = 3}, - [161] = {.lex_state = 45}, - [162] = {(TSStateId)(-1),}, + [160] = {.lex_state = 45}, + [161] = {(TSStateId)(-1),}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -1700,14 +1687,14 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_PIPE_PIPE] = ACTIONS(1), }, [STATE(1)] = { - [sym_file] = STATE(149), + [sym_file] = STATE(134), [sym_comment] = STATE(1), - [sym_type_alias] = STATE(54), - [sym_import] = STATE(54), - [sym_definition] = STATE(54), - [sym_rule] = STATE(54), - [sym_assumption] = STATE(54), - [aux_sym_file_repeat1] = STATE(54), + [sym_type_alias] = STATE(55), + [sym_import] = STATE(55), + [sym_definition] = STATE(55), + [sym_rule] = STATE(55), + [sym_assumption] = STATE(55), + [aux_sym_file_repeat1] = STATE(55), [ts_builtin_sym_end] = ACTIONS(7), [anon_sym_SEMI] = ACTIONS(9), [sym_newline] = ACTIONS(11), @@ -1722,15 +1709,14 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { }, [STATE(2)] = { [sym_comment] = STATE(2), - [sym_integer] = STATE(32), - [sym_expr] = STATE(25), - [sym_atom] = STATE(33), - [sym_tuple] = STATE(35), - [sym_value] = STATE(41), - [sym_aggregate] = STATE(44), - [sym_unary_expr] = STATE(46), - [sym_unary_op] = STATE(12), - [sym_binary_expr] = STATE(42), + [sym_integer] = STATE(46), + [sym_expr] = STATE(37), + [sym_atom] = STATE(28), + [sym_tuple] = STATE(30), + [sym_aggregate] = STATE(24), + [sym_unary_expr] = STATE(27), + [sym_unary_op] = STATE(13), + [sym_binary_expr] = STATE(29), [anon_sym_SEMI] = ACTIONS(3), [sym__whitespace] = ACTIONS(27), [sym_variable] = ACTIONS(29), @@ -1765,7 +1751,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { }; static const uint16_t ts_small_parse_table[] = { - [0] = 23, + [0] = 22, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -1790,30 +1776,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG, STATE(3), 1, sym_comment, - STATE(12), 1, + STATE(13), 1, sym_unary_op, - STATE(32), 1, - sym_integer, - STATE(33), 1, - sym_atom, - STATE(35), 1, - sym_tuple, - STATE(41), 1, - sym_value, - STATE(42), 1, - sym_binary_expr, - STATE(44), 1, + STATE(24), 1, sym_aggregate, - STATE(46), 1, + STATE(27), 1, sym_unary_expr, - STATE(51), 1, + STATE(28), 1, + sym_atom, + STATE(29), 1, + sym_binary_expr, + STATE(30), 1, + sym_tuple, + STATE(46), 1, + sym_integer, + STATE(50), 1, sym_expr, - STATE(151), 1, + STATE(160), 1, sym_rule_body, ACTIONS(33), 2, anon_sym_0, aux_sym_integer_token1, - [71] = 23, + [68] = 22, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -1838,126 +1822,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG, STATE(4), 1, sym_comment, - STATE(12), 1, + STATE(13), 1, sym_unary_op, - STATE(32), 1, - sym_integer, - STATE(33), 1, - sym_atom, - STATE(35), 1, - sym_tuple, - STATE(41), 1, - sym_value, - STATE(42), 1, - sym_binary_expr, - STATE(44), 1, + STATE(24), 1, sym_aggregate, - STATE(46), 1, + STATE(27), 1, sym_unary_expr, - STATE(51), 1, + STATE(28), 1, + sym_atom, + STATE(29), 1, + sym_binary_expr, + STATE(30), 1, + sym_tuple, + STATE(46), 1, + sym_integer, + STATE(50), 1, sym_expr, - STATE(136), 1, + STATE(146), 1, sym_rule_body, ACTIONS(33), 2, anon_sym_0, aux_sym_integer_token1, - [142] = 23, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(29), 1, - sym_variable, - ACTIONS(31), 1, - sym_symbol, - ACTIONS(37), 1, - anon_sym_LPAREN, - ACTIONS(41), 1, - anon_sym_DASH, - ACTIONS(43), 1, - anon_sym__, - ACTIONS(45), 1, - anon_sym_True, - ACTIONS(47), 1, - anon_sym_False, - ACTIONS(49), 1, - sym_aggregate_op, - ACTIONS(51), 1, - anon_sym_BANG, - STATE(5), 1, - sym_comment, - STATE(12), 1, - sym_unary_op, - STATE(32), 1, - sym_integer, - STATE(33), 1, - sym_atom, - STATE(35), 1, - sym_tuple, - STATE(41), 1, - sym_value, - STATE(42), 1, - sym_binary_expr, - STATE(44), 1, - sym_aggregate, - STATE(46), 1, - sym_unary_expr, - STATE(51), 1, - sym_expr, - STATE(142), 1, - sym_rule_body, - ACTIONS(33), 2, - anon_sym_0, - aux_sym_integer_token1, - [213] = 23, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(29), 1, - sym_variable, - ACTIONS(31), 1, - sym_symbol, - ACTIONS(37), 1, - anon_sym_LPAREN, - ACTIONS(41), 1, - anon_sym_DASH, - ACTIONS(43), 1, - anon_sym__, - ACTIONS(45), 1, - anon_sym_True, - ACTIONS(47), 1, - anon_sym_False, - ACTIONS(49), 1, - sym_aggregate_op, - ACTIONS(51), 1, - anon_sym_BANG, - STATE(6), 1, - sym_comment, - STATE(12), 1, - sym_unary_op, - STATE(32), 1, - sym_integer, - STATE(33), 1, - sym_atom, - STATE(35), 1, - sym_tuple, - STATE(41), 1, - sym_value, - STATE(42), 1, - sym_binary_expr, - STATE(44), 1, - sym_aggregate, - STATE(46), 1, - sym_unary_expr, - STATE(51), 1, - sym_expr, - STATE(154), 1, - sym_rule_body, - ACTIONS(33), 2, - anon_sym_0, - aux_sym_integer_token1, - [284] = 23, + [136] = 22, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -1982,30 +1868,120 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG, ACTIONS(53), 1, anon_sym_RPAREN, - STATE(7), 1, + STATE(5), 1, sym_comment, - STATE(12), 1, + STATE(13), 1, sym_unary_op, - STATE(32), 1, - sym_integer, - STATE(33), 1, - sym_atom, - STATE(35), 1, - sym_tuple, - STATE(41), 1, - sym_value, - STATE(42), 1, - sym_binary_expr, - STATE(44), 1, + STATE(24), 1, sym_aggregate, - STATE(46), 1, + STATE(27), 1, sym_unary_expr, - STATE(56), 1, + STATE(28), 1, + sym_atom, + STATE(29), 1, + sym_binary_expr, + STATE(30), 1, + sym_tuple, + STATE(46), 1, + sym_integer, + STATE(57), 1, sym_expr, ACTIONS(33), 2, anon_sym_0, aux_sym_integer_token1, - [355] = 23, + [204] = 22, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(29), 1, + sym_variable, + ACTIONS(31), 1, + sym_symbol, + ACTIONS(37), 1, + anon_sym_LPAREN, + ACTIONS(41), 1, + anon_sym_DASH, + ACTIONS(43), 1, + anon_sym__, + ACTIONS(45), 1, + anon_sym_True, + ACTIONS(47), 1, + anon_sym_False, + ACTIONS(49), 1, + sym_aggregate_op, + ACTIONS(51), 1, + anon_sym_BANG, + STATE(6), 1, + sym_comment, + STATE(13), 1, + sym_unary_op, + STATE(24), 1, + sym_aggregate, + STATE(27), 1, + sym_unary_expr, + STATE(28), 1, + sym_atom, + STATE(29), 1, + sym_binary_expr, + STATE(30), 1, + sym_tuple, + STATE(46), 1, + sym_integer, + STATE(50), 1, + sym_expr, + STATE(138), 1, + sym_rule_body, + ACTIONS(33), 2, + anon_sym_0, + aux_sym_integer_token1, + [272] = 22, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(29), 1, + sym_variable, + ACTIONS(31), 1, + sym_symbol, + ACTIONS(37), 1, + anon_sym_LPAREN, + ACTIONS(41), 1, + anon_sym_DASH, + ACTIONS(43), 1, + anon_sym__, + ACTIONS(45), 1, + anon_sym_True, + ACTIONS(47), 1, + anon_sym_False, + ACTIONS(49), 1, + sym_aggregate_op, + ACTIONS(51), 1, + anon_sym_BANG, + STATE(7), 1, + sym_comment, + STATE(13), 1, + sym_unary_op, + STATE(24), 1, + sym_aggregate, + STATE(27), 1, + sym_unary_expr, + STATE(28), 1, + sym_atom, + STATE(29), 1, + sym_binary_expr, + STATE(30), 1, + sym_tuple, + STATE(46), 1, + sym_integer, + STATE(50), 1, + sym_expr, + STATE(135), 1, + sym_rule_body, + ACTIONS(33), 2, + anon_sym_0, + aux_sym_integer_token1, + [340] = 22, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -2030,30 +2006,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG, STATE(8), 1, sym_comment, - STATE(12), 1, + STATE(13), 1, sym_unary_op, - STATE(32), 1, - sym_integer, - STATE(33), 1, - sym_atom, - STATE(35), 1, - sym_tuple, - STATE(41), 1, - sym_value, - STATE(42), 1, - sym_binary_expr, - STATE(44), 1, + STATE(24), 1, sym_aggregate, - STATE(46), 1, + STATE(27), 1, sym_unary_expr, - STATE(51), 1, + STATE(28), 1, + sym_atom, + STATE(29), 1, + sym_binary_expr, + STATE(30), 1, + sym_tuple, + STATE(46), 1, + sym_integer, + STATE(50), 1, sym_expr, - STATE(150), 1, + STATE(145), 1, sym_rule_body, ACTIONS(33), 2, anon_sym_0, aux_sym_integer_token1, - [426] = 23, + [408] = 22, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -2078,30 +2052,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG, STATE(9), 1, sym_comment, - STATE(12), 1, + STATE(13), 1, sym_unary_op, - STATE(32), 1, - sym_integer, - STATE(33), 1, - sym_atom, - STATE(35), 1, - sym_tuple, - STATE(41), 1, - sym_value, - STATE(42), 1, - sym_binary_expr, - STATE(44), 1, + STATE(24), 1, sym_aggregate, - STATE(46), 1, + STATE(27), 1, sym_unary_expr, - STATE(51), 1, + STATE(28), 1, + sym_atom, + STATE(29), 1, + sym_binary_expr, + STATE(30), 1, + sym_tuple, + STATE(46), 1, + sym_integer, + STATE(50), 1, sym_expr, - STATE(143), 1, + STATE(142), 1, sym_rule_body, ACTIONS(33), 2, anon_sym_0, aux_sym_integer_token1, - [497] = 23, + [476] = 22, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -2126,30 +2098,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG, STATE(10), 1, sym_comment, - STATE(12), 1, + STATE(13), 1, sym_unary_op, - STATE(32), 1, - sym_integer, - STATE(33), 1, - sym_atom, - STATE(35), 1, - sym_tuple, - STATE(41), 1, - sym_value, - STATE(42), 1, - sym_binary_expr, - STATE(44), 1, + STATE(24), 1, sym_aggregate, - STATE(46), 1, + STATE(27), 1, sym_unary_expr, - STATE(51), 1, + STATE(28), 1, + sym_atom, + STATE(29), 1, + sym_binary_expr, + STATE(30), 1, + sym_tuple, + STATE(46), 1, + sym_integer, + STATE(50), 1, sym_expr, - STATE(145), 1, + STATE(144), 1, sym_rule_body, ACTIONS(33), 2, anon_sym_0, aux_sym_integer_token1, - [568] = 22, + [544] = 21, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -2174,73 +2144,26 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG, STATE(11), 1, sym_comment, - STATE(12), 1, + STATE(13), 1, sym_unary_op, - STATE(32), 1, - sym_integer, - STATE(33), 1, - sym_atom, - STATE(35), 1, - sym_tuple, - STATE(41), 1, - sym_value, - STATE(42), 1, - sym_binary_expr, - STATE(44), 1, + STATE(24), 1, sym_aggregate, - STATE(46), 1, + STATE(27), 1, sym_unary_expr, + STATE(28), 1, + sym_atom, + STATE(29), 1, + sym_binary_expr, + STATE(30), 1, + sym_tuple, + STATE(46), 1, + sym_integer, STATE(57), 1, sym_expr, ACTIONS(33), 2, anon_sym_0, aux_sym_integer_token1, - [636] = 21, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(29), 1, - sym_variable, - ACTIONS(31), 1, - sym_symbol, - ACTIONS(37), 1, - anon_sym_LPAREN, - ACTIONS(41), 1, - anon_sym_DASH, - ACTIONS(43), 1, - anon_sym__, - ACTIONS(45), 1, - anon_sym_True, - ACTIONS(47), 1, - anon_sym_False, - ACTIONS(49), 1, - sym_aggregate_op, - ACTIONS(51), 1, - anon_sym_BANG, - STATE(26), 1, - sym_expr, - STATE(32), 1, - sym_integer, - STATE(33), 1, - sym_atom, - STATE(35), 1, - sym_tuple, - STATE(41), 1, - sym_value, - STATE(42), 1, - sym_binary_expr, - STATE(44), 1, - sym_aggregate, - STATE(46), 1, - sym_unary_expr, - ACTIONS(33), 2, - anon_sym_0, - aux_sym_integer_token1, - STATE(12), 2, - sym_comment, - sym_unary_op, - [702] = 22, + [609] = 21, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -2264,121 +2187,27 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(51), 1, anon_sym_BANG, STATE(12), 1, - sym_unary_op, + sym_comment, STATE(13), 1, - sym_comment, - STATE(32), 1, - sym_integer, - STATE(33), 1, - sym_atom, - STATE(35), 1, - sym_tuple, - STATE(41), 1, - sym_value, - STATE(42), 1, - sym_binary_expr, - STATE(44), 1, - sym_aggregate, - STATE(46), 1, - sym_unary_expr, - STATE(58), 1, - sym_expr, - ACTIONS(33), 2, - anon_sym_0, - aux_sym_integer_token1, - [770] = 22, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(29), 1, - sym_variable, - ACTIONS(31), 1, - sym_symbol, - ACTIONS(37), 1, - anon_sym_LPAREN, - ACTIONS(41), 1, - anon_sym_DASH, - ACTIONS(43), 1, - anon_sym__, - ACTIONS(45), 1, - anon_sym_True, - ACTIONS(47), 1, - anon_sym_False, - ACTIONS(49), 1, - sym_aggregate_op, - ACTIONS(51), 1, - anon_sym_BANG, - STATE(12), 1, sym_unary_op, - STATE(14), 1, - sym_comment, - STATE(25), 1, - sym_expr, - STATE(32), 1, - sym_integer, - STATE(33), 1, - sym_atom, - STATE(35), 1, - sym_tuple, - STATE(41), 1, - sym_value, - STATE(42), 1, - sym_binary_expr, - STATE(44), 1, + STATE(24), 1, sym_aggregate, - STATE(46), 1, + STATE(27), 1, sym_unary_expr, - ACTIONS(33), 2, - anon_sym_0, - aux_sym_integer_token1, - [838] = 22, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(29), 1, - sym_variable, - ACTIONS(31), 1, - sym_symbol, - ACTIONS(37), 1, - anon_sym_LPAREN, - ACTIONS(41), 1, - anon_sym_DASH, - ACTIONS(43), 1, - anon_sym__, - ACTIONS(45), 1, - anon_sym_True, - ACTIONS(47), 1, - anon_sym_False, - ACTIONS(49), 1, - sym_aggregate_op, - ACTIONS(51), 1, - anon_sym_BANG, - STATE(12), 1, - sym_unary_op, - STATE(15), 1, - sym_comment, - STATE(32), 1, - sym_integer, - STATE(33), 1, + STATE(28), 1, sym_atom, - STATE(35), 1, - sym_tuple, - STATE(41), 1, - sym_value, - STATE(42), 1, + STATE(29), 1, sym_binary_expr, - STATE(44), 1, - sym_aggregate, + STATE(30), 1, + sym_tuple, STATE(46), 1, - sym_unary_expr, + sym_integer, STATE(52), 1, sym_expr, ACTIONS(33), 2, anon_sym_0, aux_sym_integer_token1, - [906] = 22, + [674] = 20, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -2401,30 +2230,27 @@ static const uint16_t ts_small_parse_table[] = { sym_aggregate_op, ACTIONS(51), 1, anon_sym_BANG, - STATE(12), 1, - sym_unary_op, - STATE(16), 1, - sym_comment, - STATE(32), 1, - sym_integer, - STATE(33), 1, - sym_atom, - STATE(35), 1, - sym_tuple, - STATE(36), 1, - sym_expr, - STATE(41), 1, - sym_value, - STATE(42), 1, - sym_binary_expr, - STATE(44), 1, + STATE(24), 1, sym_aggregate, - STATE(46), 1, + STATE(27), 1, sym_unary_expr, + STATE(28), 1, + sym_atom, + STATE(29), 1, + sym_binary_expr, + STATE(30), 1, + sym_tuple, + STATE(31), 1, + sym_expr, + STATE(46), 1, + sym_integer, ACTIONS(33), 2, anon_sym_0, aux_sym_integer_token1, - [974] = 22, + STATE(13), 2, + sym_comment, + sym_unary_op, + [737] = 21, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -2447,214 +2273,28 @@ static const uint16_t ts_small_parse_table[] = { sym_aggregate_op, ACTIONS(51), 1, anon_sym_BANG, - STATE(12), 1, + STATE(13), 1, sym_unary_op, - STATE(17), 1, + STATE(14), 1, sym_comment, - STATE(32), 1, - sym_integer, - STATE(33), 1, - sym_atom, - STATE(35), 1, - sym_tuple, - STATE(37), 1, - sym_expr, - STATE(41), 1, - sym_value, - STATE(42), 1, - sym_binary_expr, - STATE(44), 1, + STATE(24), 1, sym_aggregate, - STATE(46), 1, + STATE(27), 1, sym_unary_expr, - ACTIONS(33), 2, - anon_sym_0, - aux_sym_integer_token1, - [1042] = 22, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(29), 1, - sym_variable, - ACTIONS(31), 1, - sym_symbol, - ACTIONS(37), 1, - anon_sym_LPAREN, - ACTIONS(41), 1, - anon_sym_DASH, - ACTIONS(43), 1, - anon_sym__, - ACTIONS(45), 1, - anon_sym_True, - ACTIONS(47), 1, - anon_sym_False, - ACTIONS(49), 1, - sym_aggregate_op, - ACTIONS(51), 1, - anon_sym_BANG, - STATE(12), 1, - sym_unary_op, - STATE(18), 1, - sym_comment, - STATE(32), 1, - sym_integer, - STATE(33), 1, + STATE(28), 1, sym_atom, - STATE(35), 1, - sym_tuple, - STATE(38), 1, - sym_expr, - STATE(41), 1, - sym_value, - STATE(42), 1, + STATE(29), 1, sym_binary_expr, - STATE(44), 1, - sym_aggregate, + STATE(30), 1, + sym_tuple, STATE(46), 1, - sym_unary_expr, - ACTIONS(33), 2, - anon_sym_0, - aux_sym_integer_token1, - [1110] = 22, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(29), 1, - sym_variable, - ACTIONS(31), 1, - sym_symbol, - ACTIONS(37), 1, - anon_sym_LPAREN, - ACTIONS(41), 1, - anon_sym_DASH, - ACTIONS(43), 1, - anon_sym__, - ACTIONS(45), 1, - anon_sym_True, - ACTIONS(47), 1, - anon_sym_False, - ACTIONS(49), 1, - sym_aggregate_op, - ACTIONS(51), 1, - anon_sym_BANG, - STATE(12), 1, - sym_unary_op, - STATE(19), 1, - sym_comment, - STATE(32), 1, sym_integer, - STATE(33), 1, - sym_atom, - STATE(35), 1, - sym_tuple, - STATE(40), 1, - sym_expr, - STATE(41), 1, - sym_value, - STATE(42), 1, - sym_binary_expr, - STATE(44), 1, - sym_aggregate, - STATE(46), 1, - sym_unary_expr, - ACTIONS(33), 2, - anon_sym_0, - aux_sym_integer_token1, - [1178] = 22, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(29), 1, - sym_variable, - ACTIONS(31), 1, - sym_symbol, - ACTIONS(37), 1, - anon_sym_LPAREN, - ACTIONS(41), 1, - anon_sym_DASH, - ACTIONS(43), 1, - anon_sym__, - ACTIONS(45), 1, - anon_sym_True, - ACTIONS(47), 1, - anon_sym_False, - ACTIONS(49), 1, - sym_aggregate_op, - ACTIONS(51), 1, - anon_sym_BANG, - STATE(12), 1, - sym_unary_op, - STATE(20), 1, - sym_comment, - STATE(32), 1, - sym_integer, - STATE(33), 1, - sym_atom, - STATE(35), 1, - sym_tuple, - STATE(39), 1, - sym_expr, - STATE(41), 1, - sym_value, - STATE(42), 1, - sym_binary_expr, - STATE(44), 1, - sym_aggregate, - STATE(46), 1, - sym_unary_expr, - ACTIONS(33), 2, - anon_sym_0, - aux_sym_integer_token1, - [1246] = 22, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(29), 1, - sym_variable, - ACTIONS(31), 1, - sym_symbol, - ACTIONS(37), 1, - anon_sym_LPAREN, - ACTIONS(41), 1, - anon_sym_DASH, - ACTIONS(43), 1, - anon_sym__, - ACTIONS(45), 1, - anon_sym_True, - ACTIONS(47), 1, - anon_sym_False, - ACTIONS(49), 1, - sym_aggregate_op, - ACTIONS(51), 1, - anon_sym_BANG, - STATE(12), 1, - sym_unary_op, - STATE(21), 1, - sym_comment, - STATE(32), 1, - sym_integer, - STATE(33), 1, - sym_atom, - STATE(35), 1, - sym_tuple, - STATE(41), 1, - sym_value, - STATE(42), 1, - sym_binary_expr, - STATE(44), 1, - sym_aggregate, - STATE(46), 1, - sym_unary_expr, STATE(56), 1, sym_expr, ACTIONS(33), 2, anon_sym_0, aux_sym_integer_token1, - [1314] = 22, + [802] = 21, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -2677,68 +2317,377 @@ static const uint16_t ts_small_parse_table[] = { sym_aggregate_op, ACTIONS(51), 1, anon_sym_BANG, - STATE(12), 1, + STATE(13), 1, sym_unary_op, - STATE(22), 1, + STATE(15), 1, sym_comment, - STATE(32), 1, - sym_integer, - STATE(33), 1, - sym_atom, - STATE(35), 1, - sym_tuple, - STATE(41), 1, - sym_value, - STATE(42), 1, - sym_binary_expr, - STATE(44), 1, + STATE(24), 1, sym_aggregate, - STATE(46), 1, + STATE(27), 1, sym_unary_expr, - STATE(53), 1, + STATE(28), 1, + sym_atom, + STATE(29), 1, + sym_binary_expr, + STATE(30), 1, + sym_tuple, + STATE(37), 1, sym_expr, + STATE(46), 1, + sym_integer, ACTIONS(33), 2, anon_sym_0, aux_sym_integer_token1, - [1382] = 5, + [867] = 21, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, + ACTIONS(29), 1, + sym_variable, + ACTIONS(31), 1, + sym_symbol, + ACTIONS(37), 1, + anon_sym_LPAREN, + ACTIONS(41), 1, + anon_sym_DASH, + ACTIONS(43), 1, + anon_sym__, + ACTIONS(45), 1, + anon_sym_True, + ACTIONS(47), 1, + anon_sym_False, + ACTIONS(49), 1, + sym_aggregate_op, + ACTIONS(51), 1, + anon_sym_BANG, + STATE(13), 1, + sym_unary_op, + STATE(16), 1, + sym_comment, + STATE(23), 1, + sym_expr, + STATE(24), 1, + sym_aggregate, + STATE(27), 1, + sym_unary_expr, + STATE(28), 1, + sym_atom, + STATE(29), 1, + sym_binary_expr, + STATE(30), 1, + sym_tuple, + STATE(46), 1, + sym_integer, + ACTIONS(33), 2, + anon_sym_0, + aux_sym_integer_token1, + [932] = 21, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(29), 1, + sym_variable, + ACTIONS(31), 1, + sym_symbol, + ACTIONS(37), 1, + anon_sym_LPAREN, + ACTIONS(41), 1, + anon_sym_DASH, + ACTIONS(43), 1, + anon_sym__, + ACTIONS(45), 1, + anon_sym_True, + ACTIONS(47), 1, + anon_sym_False, + ACTIONS(49), 1, + sym_aggregate_op, + ACTIONS(51), 1, + anon_sym_BANG, + STATE(13), 1, + sym_unary_op, + STATE(17), 1, + sym_comment, + STATE(24), 1, + sym_aggregate, + STATE(27), 1, + sym_unary_expr, + STATE(28), 1, + sym_atom, + STATE(29), 1, + sym_binary_expr, + STATE(30), 1, + sym_tuple, + STATE(46), 1, + sym_integer, + STATE(49), 1, + sym_expr, + ACTIONS(33), 2, + anon_sym_0, + aux_sym_integer_token1, + [997] = 21, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(29), 1, + sym_variable, + ACTIONS(31), 1, + sym_symbol, + ACTIONS(37), 1, + anon_sym_LPAREN, + ACTIONS(41), 1, + anon_sym_DASH, + ACTIONS(43), 1, + anon_sym__, + ACTIONS(45), 1, + anon_sym_True, + ACTIONS(47), 1, + anon_sym_False, + ACTIONS(49), 1, + sym_aggregate_op, + ACTIONS(51), 1, + anon_sym_BANG, + STATE(13), 1, + sym_unary_op, + STATE(18), 1, + sym_comment, + STATE(24), 1, + sym_aggregate, + STATE(27), 1, + sym_unary_expr, + STATE(28), 1, + sym_atom, + STATE(29), 1, + sym_binary_expr, + STATE(30), 1, + sym_tuple, + STATE(34), 1, + sym_expr, + STATE(46), 1, + sym_integer, + ACTIONS(33), 2, + anon_sym_0, + aux_sym_integer_token1, + [1062] = 21, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(29), 1, + sym_variable, + ACTIONS(31), 1, + sym_symbol, + ACTIONS(37), 1, + anon_sym_LPAREN, + ACTIONS(41), 1, + anon_sym_DASH, + ACTIONS(43), 1, + anon_sym__, + ACTIONS(45), 1, + anon_sym_True, + ACTIONS(47), 1, + anon_sym_False, + ACTIONS(49), 1, + sym_aggregate_op, + ACTIONS(51), 1, + anon_sym_BANG, + STATE(13), 1, + sym_unary_op, + STATE(19), 1, + sym_comment, + STATE(24), 1, + sym_aggregate, + STATE(27), 1, + sym_unary_expr, + STATE(28), 1, + sym_atom, + STATE(29), 1, + sym_binary_expr, + STATE(30), 1, + sym_tuple, + STATE(35), 1, + sym_expr, + STATE(46), 1, + sym_integer, + ACTIONS(33), 2, + anon_sym_0, + aux_sym_integer_token1, + [1127] = 21, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(29), 1, + sym_variable, + ACTIONS(31), 1, + sym_symbol, + ACTIONS(37), 1, + anon_sym_LPAREN, + ACTIONS(41), 1, + anon_sym_DASH, + ACTIONS(43), 1, + anon_sym__, + ACTIONS(45), 1, + anon_sym_True, + ACTIONS(47), 1, + anon_sym_False, + ACTIONS(49), 1, + sym_aggregate_op, + ACTIONS(51), 1, + anon_sym_BANG, + STATE(13), 1, + sym_unary_op, + STATE(20), 1, + sym_comment, + STATE(24), 1, + sym_aggregate, + STATE(27), 1, + sym_unary_expr, + STATE(28), 1, + sym_atom, + STATE(29), 1, + sym_binary_expr, + STATE(30), 1, + sym_tuple, + STATE(36), 1, + sym_expr, + STATE(46), 1, + sym_integer, + ACTIONS(33), 2, + anon_sym_0, + aux_sym_integer_token1, + [1192] = 21, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(29), 1, + sym_variable, + ACTIONS(31), 1, + sym_symbol, + ACTIONS(37), 1, + anon_sym_LPAREN, + ACTIONS(41), 1, + anon_sym_DASH, + ACTIONS(43), 1, + anon_sym__, + ACTIONS(45), 1, + anon_sym_True, + ACTIONS(47), 1, + anon_sym_False, + ACTIONS(49), 1, + sym_aggregate_op, + ACTIONS(51), 1, + anon_sym_BANG, + STATE(13), 1, + sym_unary_op, + STATE(21), 1, + sym_comment, + STATE(24), 1, + sym_aggregate, + STATE(27), 1, + sym_unary_expr, + STATE(28), 1, + sym_atom, + STATE(29), 1, + sym_binary_expr, + STATE(30), 1, + sym_tuple, + STATE(46), 1, + sym_integer, + STATE(51), 1, + sym_expr, + ACTIONS(33), 2, + anon_sym_0, + aux_sym_integer_token1, + [1257] = 21, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(29), 1, + sym_variable, + ACTIONS(31), 1, + sym_symbol, + ACTIONS(37), 1, + anon_sym_LPAREN, + ACTIONS(41), 1, + anon_sym_DASH, + ACTIONS(43), 1, + anon_sym__, + ACTIONS(45), 1, + anon_sym_True, + ACTIONS(47), 1, + anon_sym_False, + ACTIONS(49), 1, + sym_aggregate_op, + ACTIONS(51), 1, + anon_sym_BANG, + STATE(13), 1, + sym_unary_op, + STATE(22), 1, + sym_comment, + STATE(24), 1, + sym_aggregate, + STATE(27), 1, + sym_unary_expr, + STATE(28), 1, + sym_atom, + STATE(29), 1, + sym_binary_expr, + STATE(30), 1, + sym_tuple, + STATE(46), 1, + sym_integer, + STATE(54), 1, + sym_expr, + ACTIONS(33), 2, + anon_sym_0, + aux_sym_integer_token1, + [1322] = 8, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(63), 1, + anon_sym_DOT_DOT, STATE(23), 1, sym_comment, + ACTIONS(59), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(61), 2, + anon_sym_STAR, + anon_sym_SLASH, ACTIONS(57), 3, anon_sym_DOT, anon_sym_LT, anon_sym_GT, - ACTIONS(55), 15, + ACTIONS(55), 10, anon_sym_EQ, anon_sym_COMMA, anon_sym_RPAREN, - anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_RBRACE, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_DOT_DOT, anon_sym_BANG_EQ, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [1414] = 5, + [1360] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, STATE(24), 1, sym_comment, - ACTIONS(61), 3, + ACTIONS(67), 3, anon_sym_DOT, anon_sym_LT, anon_sym_GT, - ACTIONS(59), 15, + ACTIONS(65), 15, anon_sym_EQ, anon_sym_COMMA, anon_sym_RPAREN, @@ -2754,37 +2703,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [1446] = 8, + [1392] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(71), 1, - anon_sym_DOT_DOT, STATE(25), 1, sym_comment, - ACTIONS(67), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(69), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(65), 3, + ACTIONS(71), 3, anon_sym_DOT, anon_sym_LT, anon_sym_GT, - ACTIONS(63), 10, + ACTIONS(69), 15, anon_sym_EQ, anon_sym_COMMA, anon_sym_RPAREN, + anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DOT_DOT, anon_sym_BANG_EQ, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [1484] = 5, + [1424] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -2811,7 +2757,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [1516] = 5, + [1456] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -2838,7 +2784,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [1548] = 5, + [1488] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -2865,7 +2811,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [1580] = 5, + [1520] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -2892,7 +2838,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [1612] = 5, + [1552] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -2919,7 +2865,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [1644] = 5, + [1584] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -2946,7 +2892,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [1676] = 5, + [1616] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -2973,7 +2919,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [1708] = 5, + [1648] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -3000,18 +2946,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [1740] = 5, + [1680] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, STATE(34), 1, sym_comment, - ACTIONS(107), 3, + ACTIONS(57), 3, anon_sym_DOT, anon_sym_LT, anon_sym_GT, - ACTIONS(105), 15, + ACTIONS(55), 15, anon_sym_EQ, anon_sym_COMMA, anon_sym_RPAREN, @@ -3027,53 +2973,87 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [1772] = 5, + [1712] = 7, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, STATE(35), 1, sym_comment, + ACTIONS(59), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(61), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(57), 3, + anon_sym_DOT, + anon_sym_LT, + anon_sym_GT, + ACTIONS(55), 11, + anon_sym_EQ, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON_DASH, + anon_sym_RBRACE, + anon_sym_DOT_DOT, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [1748] = 10, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(57), 1, + anon_sym_DOT, + ACTIONS(63), 1, + anon_sym_DOT_DOT, + STATE(36), 1, + sym_comment, + ACTIONS(59), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(61), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(107), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(105), 4, + anon_sym_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(55), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON_DASH, + anon_sym_RBRACE, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [1790] = 8, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(63), 1, + anon_sym_DOT_DOT, + STATE(37), 1, + sym_comment, + ACTIONS(59), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(61), 2, + anon_sym_STAR, + anon_sym_SLASH, ACTIONS(111), 3, anon_sym_DOT, anon_sym_LT, anon_sym_GT, - ACTIONS(109), 15, - anon_sym_EQ, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_COLON_DASH, - anon_sym_RBRACE, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_DOT_DOT, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [1804] = 8, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(71), 1, - anon_sym_DOT_DOT, - STATE(36), 1, - sym_comment, - ACTIONS(67), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(69), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(115), 3, - anon_sym_DOT, - anon_sym_LT, - anon_sym_GT, - ACTIONS(113), 10, + ACTIONS(109), 10, anon_sym_EQ, anon_sym_COMMA, anon_sym_RPAREN, @@ -3084,35 +3064,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [1842] = 6, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - STATE(37), 1, - sym_comment, - ACTIONS(69), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(115), 3, - anon_sym_DOT, - anon_sym_LT, - anon_sym_GT, - ACTIONS(113), 13, - anon_sym_EQ, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_COLON_DASH, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DOT_DOT, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [1876] = 5, + [1828] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -3139,74 +3091,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [1908] = 7, + [1860] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, STATE(39), 1, sym_comment, - ACTIONS(67), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(69), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(115), 3, + ACTIONS(119), 3, anon_sym_DOT, anon_sym_LT, anon_sym_GT, - ACTIONS(113), 11, + ACTIONS(117), 15, anon_sym_EQ, anon_sym_COMMA, anon_sym_RPAREN, + anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, anon_sym_DOT_DOT, anon_sym_BANG_EQ, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [1944] = 10, + [1892] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(71), 1, - anon_sym_DOT_DOT, - ACTIONS(115), 1, - anon_sym_DOT, STATE(40), 1, sym_comment, - ACTIONS(67), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(69), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(119), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(117), 4, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(113), 6, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_COLON_DASH, - anon_sym_RBRACE, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [1986] = 5, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - STATE(41), 1, - sym_comment, ACTIONS(123), 3, anon_sym_DOT, anon_sym_LT, @@ -3227,12 +3145,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2018] = 5, + [1924] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - STATE(42), 1, + STATE(41), 1, sym_comment, ACTIONS(127), 3, anon_sym_DOT, @@ -3254,12 +3172,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2050] = 5, + [1956] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - STATE(43), 1, + STATE(42), 1, sym_comment, ACTIONS(131), 3, anon_sym_DOT, @@ -3281,12 +3199,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2082] = 5, + [1988] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - STATE(44), 1, + STATE(43), 1, sym_comment, ACTIONS(135), 3, anon_sym_DOT, @@ -3308,12 +3226,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2114] = 5, + [2020] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - STATE(45), 1, + STATE(44), 1, sym_comment, ACTIONS(139), 3, anon_sym_DOT, @@ -3335,12 +3253,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2146] = 5, + [2052] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - STATE(46), 1, + STATE(45), 1, sym_comment, ACTIONS(143), 3, anon_sym_DOT, @@ -3362,12 +3280,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2178] = 5, + [2084] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - STATE(47), 1, + STATE(46), 1, sym_comment, ACTIONS(147), 3, anon_sym_DOT, @@ -3389,12 +3307,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2210] = 5, + [2116] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - STATE(48), 1, + STATE(47), 1, sym_comment, ACTIONS(151), 3, anon_sym_DOT, @@ -3416,12 +3334,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2242] = 5, + [2148] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - STATE(49), 1, + STATE(48), 1, sym_comment, ACTIONS(155), 3, anon_sym_DOT, @@ -3443,26 +3361,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2274] = 5, + [2180] = 6, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - STATE(50), 1, + STATE(49), 1, sym_comment, - ACTIONS(159), 3, + ACTIONS(61), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(57), 3, anon_sym_DOT, anon_sym_LT, anon_sym_GT, - ACTIONS(157), 15, + ACTIONS(55), 13, anon_sym_EQ, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_RBRACE, - anon_sym_STAR, - anon_sym_SLASH, anon_sym_PLUS, anon_sym_DOT_DOT, anon_sym_BANG_EQ, @@ -3470,46 +3389,77 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2306] = 13, + [2214] = 13, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(71), 1, + ACTIONS(63), 1, anon_sym_DOT_DOT, - ACTIONS(161), 1, + ACTIONS(157), 1, anon_sym_COMMA, - ACTIONS(163), 1, + ACTIONS(159), 1, anon_sym_DOT, - ACTIONS(165), 1, + ACTIONS(161), 1, anon_sym_RBRACE, - STATE(51), 1, + STATE(50), 1, sym_comment, - STATE(88), 1, + STATE(85), 1, aux_sym_rule_body_repeat1, - ACTIONS(67), 2, + ACTIONS(59), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(69), 2, + ACTIONS(61), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(119), 2, + ACTIONS(107), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(167), 2, + ACTIONS(163), 2, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - ACTIONS(117), 4, + ACTIONS(105), 4, anon_sym_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, anon_sym_LT_EQ, - [2353] = 12, + [2261] = 11, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(71), 1, + ACTIONS(63), 1, + anon_sym_DOT_DOT, + ACTIONS(167), 1, + anon_sym_DOT, + STATE(51), 1, + sym_comment, + ACTIONS(59), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(61), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(107), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(163), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(165), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + ACTIONS(105), 4, + anon_sym_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [2303] = 12, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(63), 1, anon_sym_DOT_DOT, ACTIONS(169), 1, anon_sym_COMMA, @@ -3517,57 +3467,87 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, STATE(52), 1, sym_comment, - STATE(107), 1, + STATE(115), 1, aux_sym_tuple_repeat1, - ACTIONS(67), 2, + ACTIONS(59), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(69), 2, + ACTIONS(61), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(119), 2, + ACTIONS(107), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(167), 2, + ACTIONS(163), 2, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - ACTIONS(117), 4, + ACTIONS(105), 4, anon_sym_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, anon_sym_LT_EQ, - [2397] = 11, + [2347] = 12, + ACTIONS(5), 1, + sym__whitespace, + ACTIONS(173), 1, + ts_builtin_sym_end, + ACTIONS(175), 1, + anon_sym_SEMI, + ACTIONS(178), 1, + sym_newline, + ACTIONS(181), 1, + sym_symbol, + ACTIONS(184), 1, + anon_sym_type, + ACTIONS(187), 1, + anon_sym_import, + ACTIONS(190), 1, + anon_sym_define, + ACTIONS(193), 1, + anon_sym_DASH, + ACTIONS(196), 1, + anon_sym_COLON_DASH, + ACTIONS(199), 1, + anon_sym_soft, + STATE(53), 7, + sym_comment, + sym_type_alias, + sym_import, + sym_definition, + sym_rule, + sym_assumption, + aux_sym_file_repeat1, + [2390] = 11, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(71), 1, + ACTIONS(63), 1, anon_sym_DOT_DOT, - ACTIONS(175), 1, + ACTIONS(202), 1, anon_sym_DOT, - STATE(53), 1, + ACTIONS(204), 1, + anon_sym_COLON_DASH, + STATE(54), 1, sym_comment, - ACTIONS(67), 2, + ACTIONS(59), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(69), 2, + ACTIONS(61), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(119), 2, + ACTIONS(107), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(167), 2, + ACTIONS(163), 2, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - ACTIONS(173), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - ACTIONS(117), 4, + ACTIONS(105), 4, anon_sym_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, anon_sym_LT_EQ, - [2439] = 13, + [2431] = 13, ACTIONS(5), 1, sym__whitespace, ACTIONS(9), 1, @@ -3586,152 +3566,91 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON_DASH, ACTIONS(25), 1, anon_sym_soft, - ACTIONS(177), 1, + ACTIONS(206), 1, ts_builtin_sym_end, - ACTIONS(179), 1, + ACTIONS(208), 1, sym_newline, - STATE(54), 1, + STATE(55), 1, sym_comment, - STATE(55), 6, + STATE(53), 6, sym_type_alias, sym_import, sym_definition, sym_rule, sym_assumption, aux_sym_file_repeat1, - [2484] = 12, - ACTIONS(5), 1, - sym__whitespace, - ACTIONS(181), 1, - ts_builtin_sym_end, - ACTIONS(183), 1, - anon_sym_SEMI, - ACTIONS(186), 1, - sym_newline, - ACTIONS(189), 1, - sym_symbol, - ACTIONS(192), 1, - anon_sym_type, - ACTIONS(195), 1, - anon_sym_import, - ACTIONS(198), 1, - anon_sym_define, - ACTIONS(201), 1, - anon_sym_DASH, - ACTIONS(204), 1, - anon_sym_COLON_DASH, - ACTIONS(207), 1, - anon_sym_soft, - STATE(55), 7, - sym_comment, - sym_type_alias, - sym_import, - sym_definition, - sym_rule, - sym_assumption, - aux_sym_file_repeat1, - [2527] = 10, + [2476] = 11, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(71), 1, + ACTIONS(63), 1, anon_sym_DOT_DOT, + ACTIONS(210), 1, + anon_sym_DOT, + ACTIONS(212), 1, + anon_sym_COLON_DASH, STATE(56), 1, sym_comment, - ACTIONS(67), 2, + ACTIONS(59), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(69), 2, + ACTIONS(61), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(119), 2, + ACTIONS(107), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(167), 2, + ACTIONS(163), 2, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - ACTIONS(210), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - ACTIONS(117), 4, + ACTIONS(105), 4, anon_sym_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, anon_sym_LT_EQ, - [2566] = 11, + [2517] = 10, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(71), 1, + ACTIONS(63), 1, anon_sym_DOT_DOT, - ACTIONS(212), 1, - anon_sym_DOT, - ACTIONS(214), 1, - anon_sym_COLON_DASH, STATE(57), 1, sym_comment, - ACTIONS(67), 2, + ACTIONS(59), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(69), 2, + ACTIONS(61), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(119), 2, + ACTIONS(107), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(167), 2, + ACTIONS(163), 2, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - ACTIONS(117), 4, + ACTIONS(214), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(105), 4, anon_sym_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, anon_sym_LT_EQ, - [2607] = 11, + [2556] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(71), 1, - anon_sym_DOT_DOT, - ACTIONS(216), 1, - anon_sym_DOT, - ACTIONS(218), 1, - anon_sym_COLON_DASH, STATE(58), 1, sym_comment, - ACTIONS(67), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(69), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(119), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(167), 2, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - ACTIONS(117), 4, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [2648] = 5, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - STATE(59), 1, - sym_comment, - ACTIONS(222), 4, + ACTIONS(218), 4, sym_symbol, anon_sym_DASH, anon_sym_True, anon_sym_False, - ACTIONS(220), 7, + ACTIONS(216), 7, sym_variable, anon_sym_0, aux_sym_integer_token1, @@ -3739,10 +3658,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym__, sym_aggregate_op, anon_sym_BANG, - [2673] = 4, + [2581] = 4, ACTIONS(5), 1, sym__whitespace, - ACTIONS(226), 1, + ACTIONS(222), 1, + anon_sym_DOT, + STATE(59), 1, + sym_comment, + ACTIONS(220), 10, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_newline, + sym_symbol, + anon_sym_type, + anon_sym_import, + anon_sym_define, + anon_sym_DASH, + anon_sym_COLON_DASH, + anon_sym_soft, + [2603] = 4, + ACTIONS(5), 1, + sym__whitespace, + ACTIONS(222), 1, anon_sym_DOT, STATE(60), 1, sym_comment, @@ -3757,13 +3694,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_soft, - [2695] = 4, + [2625] = 3, ACTIONS(5), 1, sym__whitespace, - ACTIONS(226), 1, - anon_sym_DOT, STATE(61), 1, sym_comment, + ACTIONS(226), 10, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_newline, + sym_symbol, + anon_sym_type, + anon_sym_import, + anon_sym_define, + anon_sym_DASH, + anon_sym_COLON_DASH, + anon_sym_soft, + [2644] = 3, + ACTIONS(5), 1, + sym__whitespace, + STATE(62), 1, + sym_comment, ACTIONS(228), 10, ts_builtin_sym_end, anon_sym_SEMI, @@ -3775,10 +3726,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_soft, - [2717] = 3, + [2663] = 3, ACTIONS(5), 1, sym__whitespace, - STATE(62), 1, + STATE(63), 1, sym_comment, ACTIONS(230), 10, ts_builtin_sym_end, @@ -3791,10 +3742,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_soft, - [2736] = 3, + [2682] = 3, ACTIONS(5), 1, sym__whitespace, - STATE(63), 1, + STATE(64), 1, sym_comment, ACTIONS(232), 10, ts_builtin_sym_end, @@ -3807,10 +3758,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_soft, - [2755] = 3, + [2701] = 3, ACTIONS(5), 1, sym__whitespace, - STATE(64), 1, + STATE(65), 1, sym_comment, ACTIONS(234), 10, ts_builtin_sym_end, @@ -3823,10 +3774,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_soft, - [2774] = 3, + [2720] = 3, ACTIONS(5), 1, sym__whitespace, - STATE(65), 1, + STATE(66), 1, sym_comment, ACTIONS(236), 10, ts_builtin_sym_end, @@ -3839,10 +3790,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_soft, - [2793] = 3, + [2739] = 3, ACTIONS(5), 1, sym__whitespace, - STATE(66), 1, + STATE(67), 1, sym_comment, ACTIONS(238), 10, ts_builtin_sym_end, @@ -3855,10 +3806,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_soft, - [2812] = 3, + [2758] = 3, ACTIONS(5), 1, sym__whitespace, - STATE(67), 1, + STATE(68), 1, sym_comment, ACTIONS(240), 10, ts_builtin_sym_end, @@ -3871,10 +3822,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_soft, - [2831] = 3, + [2777] = 3, ACTIONS(5), 1, sym__whitespace, - STATE(68), 1, + STATE(69), 1, sym_comment, ACTIONS(242), 10, ts_builtin_sym_end, @@ -3887,10 +3838,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_soft, - [2850] = 3, + [2796] = 3, ACTIONS(5), 1, sym__whitespace, - STATE(69), 1, + STATE(70), 1, sym_comment, ACTIONS(244), 10, ts_builtin_sym_end, @@ -3903,10 +3854,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_soft, - [2869] = 3, + [2815] = 3, ACTIONS(5), 1, sym__whitespace, - STATE(70), 1, + STATE(71), 1, sym_comment, ACTIONS(246), 10, ts_builtin_sym_end, @@ -3919,10 +3870,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_soft, - [2888] = 3, + [2834] = 3, ACTIONS(5), 1, sym__whitespace, - STATE(71), 1, + STATE(72), 1, sym_comment, ACTIONS(248), 10, ts_builtin_sym_end, @@ -3935,10 +3886,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_soft, - [2907] = 3, + [2853] = 3, ACTIONS(5), 1, sym__whitespace, - STATE(72), 1, + STATE(73), 1, sym_comment, ACTIONS(250), 10, ts_builtin_sym_end, @@ -3951,10 +3902,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_soft, - [2926] = 3, + [2872] = 3, ACTIONS(5), 1, sym__whitespace, - STATE(73), 1, + STATE(74), 1, sym_comment, ACTIONS(252), 10, ts_builtin_sym_end, @@ -3967,10 +3918,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_soft, - [2945] = 3, + [2891] = 3, ACTIONS(5), 1, sym__whitespace, - STATE(74), 1, + STATE(75), 1, sym_comment, ACTIONS(254), 10, ts_builtin_sym_end, @@ -3983,10 +3934,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_soft, - [2964] = 3, + [2910] = 3, ACTIONS(5), 1, sym__whitespace, - STATE(75), 1, + STATE(76), 1, sym_comment, ACTIONS(256), 10, ts_builtin_sym_end, @@ -3999,10 +3950,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_soft, - [2983] = 3, + [2929] = 3, ACTIONS(5), 1, sym__whitespace, - STATE(76), 1, + STATE(77), 1, sym_comment, ACTIONS(258), 10, ts_builtin_sym_end, @@ -4015,10 +3966,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_soft, - [3002] = 3, + [2948] = 3, ACTIONS(5), 1, sym__whitespace, - STATE(77), 1, + STATE(78), 1, sym_comment, ACTIONS(260), 10, ts_builtin_sym_end, @@ -4031,10 +3982,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_soft, - [3021] = 3, + [2967] = 3, ACTIONS(5), 1, sym__whitespace, - STATE(78), 1, + STATE(79), 1, sym_comment, ACTIONS(262), 10, ts_builtin_sym_end, @@ -4047,10 +3998,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_soft, - [3040] = 3, + [2986] = 3, ACTIONS(5), 1, sym__whitespace, - STATE(79), 1, + STATE(80), 1, sym_comment, ACTIONS(264), 10, ts_builtin_sym_end, @@ -4063,10 +4014,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_soft, - [3059] = 3, + [3005] = 3, ACTIONS(5), 1, sym__whitespace, - STATE(80), 1, + STATE(81), 1, sym_comment, ACTIONS(266), 10, ts_builtin_sym_end, @@ -4079,10 +4030,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_soft, - [3078] = 3, + [3024] = 3, ACTIONS(5), 1, sym__whitespace, - STATE(81), 1, + STATE(82), 1, sym_comment, ACTIONS(268), 10, ts_builtin_sym_end, @@ -4095,10 +4046,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_soft, - [3097] = 3, + [3043] = 3, ACTIONS(5), 1, sym__whitespace, - STATE(82), 1, + STATE(83), 1, sym_comment, ACTIONS(270), 10, ts_builtin_sym_end, @@ -4111,408 +4062,389 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_COLON_DASH, anon_sym_soft, - [3116] = 3, - ACTIONS(5), 1, - sym__whitespace, - STATE(83), 1, - sym_comment, - ACTIONS(272), 10, - ts_builtin_sym_end, + [3062] = 7, + ACTIONS(3), 1, anon_sym_SEMI, - sym_newline, - sym_symbol, - anon_sym_type, - anon_sym_import, - anon_sym_define, - anon_sym_DASH, - anon_sym_COLON_DASH, - anon_sym_soft, - [3135] = 3, - ACTIONS(5), 1, + ACTIONS(27), 1, sym__whitespace, + ACTIONS(272), 1, + sym_variable, + ACTIONS(274), 1, + sym_symbol, + ACTIONS(276), 1, + anon_sym_LBRACE, + STATE(26), 1, + sym_atom, STATE(84), 1, sym_comment, - ACTIONS(274), 10, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_newline, - sym_symbol, - anon_sym_type, - anon_sym_import, - anon_sym_define, - anon_sym_DASH, - anon_sym_COLON_DASH, - anon_sym_soft, - [3154] = 7, + [3084] = 6, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(276), 1, - sym_symbol, - ACTIONS(278), 1, - anon_sym_LPAREN, - ACTIONS(280), 1, - anon_sym_RPAREN, + ACTIONS(157), 1, + anon_sym_COMMA, STATE(85), 1, sym_comment, - STATE(125), 1, - sym_type, - [3176] = 5, + STATE(86), 1, + aux_sym_rule_body_repeat1, + ACTIONS(278), 2, + anon_sym_DOT, + anon_sym_RBRACE, + [3104] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(282), 1, + ACTIONS(280), 1, anon_sym_COMMA, - ACTIONS(285), 2, + ACTIONS(283), 2, anon_sym_DOT, anon_sym_RBRACE, STATE(86), 2, sym_comment, aux_sym_rule_body_repeat1, - [3194] = 7, + [3122] = 7, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(287), 1, + ACTIONS(285), 1, sym_symbol, - ACTIONS(289), 1, + ACTIONS(287), 1, anon_sym_input, - ACTIONS(291), 1, + ACTIONS(289), 1, anon_sym_output, - ACTIONS(293), 1, + ACTIONS(291), 1, anon_sym_decision, STATE(87), 1, sym_comment, - [3216] = 6, + [3144] = 7, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(161), 1, - anon_sym_COMMA, - STATE(86), 1, - aux_sym_rule_body_repeat1, + ACTIONS(293), 1, + sym_symbol, + ACTIONS(295), 1, + anon_sym_LPAREN, + ACTIONS(297), 1, + anon_sym_RPAREN, STATE(88), 1, sym_comment, - ACTIONS(295), 2, - anon_sym_DOT, - anon_sym_RBRACE, - [3236] = 7, + STATE(123), 1, + sym_type, + [3166] = 7, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(297), 1, - sym_variable, - ACTIONS(299), 1, + ACTIONS(293), 1, sym_symbol, - ACTIONS(301), 1, - anon_sym_LBRACE, - STATE(28), 1, - sym_atom, + ACTIONS(295), 1, + anon_sym_LPAREN, + ACTIONS(299), 1, + anon_sym_RPAREN, STATE(89), 1, sym_comment, - [3258] = 7, + STATE(123), 1, + sym_type, + [3188] = 6, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(276), 1, - sym_symbol, - ACTIONS(278), 1, - anon_sym_LPAREN, + ACTIONS(301), 1, + anon_sym_COMMA, ACTIONS(303), 1, anon_sym_RPAREN, STATE(90), 1, sym_comment, - STATE(125), 1, - sym_type, - [3280] = 5, + STATE(100), 1, + aux_sym_import_repeat2, + [3207] = 6, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, ACTIONS(305), 1, - anon_sym_COMMA, - ACTIONS(308), 1, - anon_sym_RPAREN, - STATE(91), 2, + sym_symbol, + ACTIONS(307), 1, + anon_sym_LPAREN, + STATE(65), 1, + sym_type, + STATE(91), 1, sym_comment, - aux_sym_import_repeat2, - [3297] = 6, + [3226] = 6, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(310), 1, + ACTIONS(305), 1, sym_symbol, - ACTIONS(312), 1, + ACTIONS(307), 1, anon_sym_LPAREN, STATE(70), 1, sym_type, STATE(92), 1, sym_comment, - [3316] = 6, + [3245] = 6, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(310), 1, - sym_symbol, - ACTIONS(312), 1, - anon_sym_LPAREN, - STATE(73), 1, - sym_type, + ACTIONS(309), 1, + anon_sym_COMMA, + ACTIONS(311), 1, + anon_sym_RPAREN, STATE(93), 1, sym_comment, - [3335] = 6, + STATE(105), 1, + aux_sym_type_repeat1, + [3264] = 6, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(310), 1, + ACTIONS(305), 1, sym_symbol, - ACTIONS(312), 1, + ACTIONS(307), 1, anon_sym_LPAREN, - STATE(72), 1, + STATE(71), 1, sym_type, STATE(94), 1, sym_comment, - [3354] = 5, + [3283] = 6, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, + ACTIONS(305), 1, + sym_symbol, + ACTIONS(307), 1, + anon_sym_LPAREN, + STATE(61), 1, + sym_type, STATE(95), 1, sym_comment, - STATE(141), 1, + [3302] = 6, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(274), 1, + sym_symbol, + ACTIONS(313), 1, + anon_sym_LBRACE, + STATE(41), 1, + sym_atom, + STATE(96), 1, + sym_comment, + [3321] = 6, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(305), 1, + sym_symbol, + ACTIONS(307), 1, + anon_sym_LPAREN, + STATE(72), 1, + sym_type, + STATE(97), 1, + sym_comment, + [3340] = 6, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(315), 1, + anon_sym_COMMA, + ACTIONS(317), 1, + anon_sym_COLON, + STATE(98), 1, + sym_comment, + STATE(113), 1, + aux_sym_aggregate_repeat1, + [3359] = 6, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(305), 1, + sym_symbol, + ACTIONS(307), 1, + anon_sym_LPAREN, + STATE(68), 1, + sym_type, + STATE(99), 1, + sym_comment, + [3378] = 6, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(301), 1, + anon_sym_COMMA, + ACTIONS(319), 1, + anon_sym_RPAREN, + STATE(100), 1, + sym_comment, + STATE(110), 1, + aux_sym_import_repeat2, + [3397] = 6, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(301), 1, + anon_sym_COMMA, + ACTIONS(321), 1, + anon_sym_RPAREN, + STATE(101), 1, + sym_comment, + STATE(112), 1, + aux_sym_import_repeat2, + [3416] = 6, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(315), 1, + anon_sym_COMMA, + ACTIONS(323), 1, + anon_sym_COLON, + STATE(98), 1, + aux_sym_aggregate_repeat1, + STATE(102), 1, + sym_comment, + [3435] = 6, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(293), 1, + sym_symbol, + ACTIONS(295), 1, + anon_sym_LPAREN, + STATE(103), 1, + sym_comment, + STATE(123), 1, + sym_type, + [3454] = 5, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + STATE(104), 1, + sym_comment, + STATE(151), 1, sym_integer, ACTIONS(33), 2, anon_sym_0, aux_sym_integer_token1, - [3371] = 6, + [3471] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(276), 1, - sym_symbol, - ACTIONS(278), 1, - anon_sym_LPAREN, - STATE(96), 1, - sym_comment, - STATE(131), 1, - sym_type, - [3390] = 6, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(310), 1, - sym_symbol, - ACTIONS(312), 1, - anon_sym_LPAREN, - STATE(81), 1, - sym_type, - STATE(97), 1, - sym_comment, - [3409] = 6, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(310), 1, - sym_symbol, - ACTIONS(312), 1, - anon_sym_LPAREN, - STATE(82), 1, - sym_type, - STATE(98), 1, - sym_comment, - [3428] = 5, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(314), 1, - anon_sym_COMMA, - ACTIONS(317), 1, - anon_sym_RPAREN, - STATE(99), 2, - sym_comment, - aux_sym_tuple_repeat1, - [3445] = 6, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(310), 1, - sym_symbol, - ACTIONS(312), 1, - anon_sym_LPAREN, - STATE(63), 1, - sym_type, - STATE(100), 1, - sym_comment, - [3464] = 6, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(299), 1, - sym_symbol, - ACTIONS(319), 1, - anon_sym_LBRACE, - STATE(49), 1, - sym_atom, - STATE(101), 1, - sym_comment, - [3483] = 5, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(321), 1, - anon_sym_COMMA, - ACTIONS(324), 1, - anon_sym_COLON, - STATE(102), 2, - sym_comment, - aux_sym_aggregate_repeat1, - [3500] = 6, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(326), 1, + ACTIONS(325), 1, anon_sym_COMMA, ACTIONS(328), 1, anon_sym_RPAREN, - STATE(103), 1, + STATE(105), 2, sym_comment, - STATE(110), 1, - aux_sym_import_repeat2, - [3519] = 6, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(330), 1, - anon_sym_COMMA, - ACTIONS(332), 1, - anon_sym_COLON, - STATE(104), 1, - sym_comment, - STATE(109), 1, - aux_sym_aggregate_repeat1, - [3538] = 6, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(334), 1, - anon_sym_COMMA, - ACTIONS(336), 1, - anon_sym_RPAREN, - STATE(105), 1, - sym_comment, - STATE(113), 1, aux_sym_type_repeat1, - [3557] = 6, + [3488] = 6, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(310), 1, + ACTIONS(293), 1, sym_symbol, - ACTIONS(312), 1, + ACTIONS(295), 1, anon_sym_LPAREN, - STATE(77), 1, - sym_type, STATE(106), 1, sym_comment, - [3576] = 6, + STATE(130), 1, + sym_type, + [3507] = 6, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(338), 1, - anon_sym_COMMA, - ACTIONS(340), 1, - anon_sym_RPAREN, - STATE(99), 1, - aux_sym_tuple_repeat1, + ACTIONS(305), 1, + sym_symbol, + ACTIONS(307), 1, + anon_sym_LPAREN, + STATE(78), 1, + sym_type, STATE(107), 1, sym_comment, - [3595] = 6, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(299), 1, - sym_symbol, - ACTIONS(342), 1, - anon_sym_LBRACE, - STATE(47), 1, - sym_atom, - STATE(108), 1, - sym_comment, - [3614] = 6, + [3526] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, ACTIONS(330), 1, anon_sym_COMMA, - ACTIONS(344), 1, - anon_sym_COLON, - STATE(102), 1, - aux_sym_aggregate_repeat1, + ACTIONS(333), 1, + anon_sym_RPAREN, + STATE(108), 2, + sym_comment, + aux_sym_tuple_repeat1, + [3543] = 6, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(335), 1, + sym_symbol, + ACTIONS(337), 1, + anon_sym_output, + ACTIONS(339), 1, + anon_sym_decision, STATE(109), 1, sym_comment, - [3633] = 6, + [3562] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(326), 1, + ACTIONS(341), 1, anon_sym_COMMA, - ACTIONS(346), 1, + ACTIONS(344), 1, anon_sym_RPAREN, - STATE(91), 1, - aux_sym_import_repeat2, - STATE(110), 1, + STATE(110), 2, sym_comment, - [3652] = 6, + aux_sym_import_repeat2, + [3579] = 6, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(326), 1, + ACTIONS(274), 1, + sym_symbol, + ACTIONS(346), 1, + anon_sym_LBRACE, + STATE(45), 1, + sym_atom, + STATE(111), 1, + sym_comment, + [3598] = 6, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(301), 1, anon_sym_COMMA, ACTIONS(348), 1, anon_sym_RPAREN, - STATE(111), 1, - sym_comment, - STATE(116), 1, + STATE(110), 1, aux_sym_import_repeat2, - [3671] = 6, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(276), 1, - sym_symbol, - ACTIONS(278), 1, - anon_sym_LPAREN, STATE(112), 1, sym_comment, - STATE(125), 1, - sym_type, - [3690] = 5, + [3617] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -4520,100 +4452,98 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(350), 1, anon_sym_COMMA, ACTIONS(353), 1, - anon_sym_RPAREN, + anon_sym_COLON, STATE(113), 2, sym_comment, - aux_sym_type_repeat1, - [3707] = 6, + aux_sym_aggregate_repeat1, + [3634] = 6, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(310), 1, + ACTIONS(305), 1, sym_symbol, - ACTIONS(312), 1, + ACTIONS(307), 1, anon_sym_LPAREN, - STATE(66), 1, + STATE(63), 1, sym_type, STATE(114), 1, sym_comment, - [3726] = 6, + [3653] = 6, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, ACTIONS(355), 1, - sym_symbol, + anon_sym_COMMA, ACTIONS(357), 1, - anon_sym_output, - ACTIONS(359), 1, - anon_sym_decision, + anon_sym_RPAREN, + STATE(108), 1, + aux_sym_tuple_repeat1, STATE(115), 1, sym_comment, - [3745] = 6, + [3672] = 6, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(326), 1, - anon_sym_COMMA, - ACTIONS(361), 1, - anon_sym_RPAREN, - STATE(91), 1, - aux_sym_import_repeat2, + ACTIONS(293), 1, + sym_symbol, + ACTIONS(295), 1, + anon_sym_LPAREN, STATE(116), 1, sym_comment, - [3764] = 6, + STATE(120), 1, + sym_type, + [3691] = 6, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(334), 1, - anon_sym_COMMA, - ACTIONS(363), 1, - anon_sym_RPAREN, - STATE(113), 1, - aux_sym_type_repeat1, + ACTIONS(305), 1, + sym_symbol, + ACTIONS(307), 1, + anon_sym_LPAREN, + STATE(67), 1, + sym_type, STATE(117), 1, sym_comment, - [3783] = 6, + [3710] = 6, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(276), 1, - sym_symbol, - ACTIONS(278), 1, - anon_sym_LPAREN, + ACTIONS(309), 1, + anon_sym_COMMA, + ACTIONS(359), 1, + anon_sym_RPAREN, + STATE(105), 1, + aux_sym_type_repeat1, STATE(118), 1, sym_comment, - STATE(133), 1, - sym_type, - [3802] = 6, + [3729] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(310), 1, + ACTIONS(361), 1, sym_symbol, - ACTIONS(312), 1, - anon_sym_LPAREN, - STATE(71), 1, - sym_type, + ACTIONS(363), 1, + anon_sym_decision, STATE(119), 1, sym_comment, - [3821] = 5, + [3745] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, ACTIONS(365), 1, - anon_sym_DOT, + anon_sym_COMMA, + STATE(118), 1, + aux_sym_type_repeat1, STATE(120), 1, sym_comment, - STATE(127), 1, - aux_sym_import_repeat1, - [3837] = 5, + [3761] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -4624,17 +4554,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, STATE(121), 1, sym_comment, - [3853] = 4, + [3777] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, + ACTIONS(371), 1, + anon_sym_DOT, STATE(122), 1, sym_comment, - ACTIONS(371), 2, - anon_sym_COMMA, - anon_sym_COLON, - [3867] = 4, + STATE(129), 1, + aux_sym_import_repeat1, + [3793] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -4644,28 +4575,38 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(373), 2, anon_sym_COMMA, anon_sym_RPAREN, - [3881] = 5, + [3807] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, ACTIONS(375), 1, - sym_symbol, - ACTIONS(377), 1, - anon_sym_decision, + anon_sym_DOT, + STATE(122), 1, + aux_sym_import_repeat1, STATE(124), 1, sym_comment, - [3897] = 4, + [3823] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, STATE(125), 1, sym_comment, + ACTIONS(377), 2, + anon_sym_COMMA, + anon_sym_COLON, + [3837] = 4, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + STATE(126), 1, + sym_comment, ACTIONS(379), 2, anon_sym_COMMA, anon_sym_RPAREN, - [3911] = 5, + [3851] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -4673,139 +4614,126 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(381), 1, sym_symbol, ACTIONS(383), 1, - anon_sym_LPAREN, - STATE(126), 1, + anon_sym_decision, + STATE(127), 1, sym_comment, - [3927] = 4, + [3867] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, ACTIONS(385), 1, + sym_symbol, + ACTIONS(387), 1, + anon_sym_LPAREN, + STATE(128), 1, + sym_comment, + [3883] = 4, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(389), 1, anon_sym_DOT, - STATE(127), 2, + STATE(129), 2, sym_comment, aux_sym_import_repeat1, + [3897] = 5, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(392), 1, + anon_sym_COMMA, + STATE(93), 1, + aux_sym_type_repeat1, + STATE(130), 1, + sym_comment, + [3913] = 4, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + STATE(131), 1, + sym_comment, + ACTIONS(250), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [3927] = 4, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + STATE(132), 1, + sym_comment, + ACTIONS(254), 2, + anon_sym_COMMA, + anon_sym_RPAREN, [3941] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - STATE(128), 1, + STATE(133), 1, sym_comment, - ACTIONS(236), 2, + ACTIONS(256), 2, anon_sym_COMMA, anon_sym_RPAREN, [3955] = 4, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - STATE(129), 1, - sym_comment, - ACTIONS(256), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [3969] = 4, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - STATE(130), 1, - sym_comment, - ACTIONS(258), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [3983] = 5, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(388), 1, - anon_sym_COMMA, - STATE(105), 1, - aux_sym_type_repeat1, - STATE(131), 1, - sym_comment, - [3999] = 5, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(390), 1, - sym_symbol, - ACTIONS(392), 1, - anon_sym_decision, - STATE(132), 1, - sym_comment, - [4015] = 5, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, ACTIONS(394), 1, - anon_sym_COMMA, - STATE(117), 1, - aux_sym_type_repeat1, - STATE(133), 1, + ts_builtin_sym_end, + STATE(134), 1, sym_comment, - [4031] = 5, + [3968] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, ACTIONS(396), 1, anon_sym_DOT, - STATE(120), 1, - aux_sym_import_repeat1, - STATE(134), 1, - sym_comment, - [4047] = 4, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(398), 1, - sym_symbol, STATE(135), 1, sym_comment, - [4060] = 4, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, + [3981] = 4, + ACTIONS(5), 1, sym__whitespace, + ACTIONS(398), 1, + anon_sym_SEMI, ACTIONS(400), 1, - anon_sym_RBRACE, + sym_commentInner, STATE(136), 1, sym_comment, - [4073] = 4, + [3994] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, ACTIONS(402), 1, - sym_symbol, + anon_sym_EQ, STATE(137), 1, sym_comment, - [4086] = 4, + [4007] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, ACTIONS(404), 1, - sym_symbol, + anon_sym_DOT, STATE(138), 1, sym_comment, - [4099] = 4, + [4020] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, ACTIONS(406), 1, - sym_symbol, + sym_variable, STATE(139), 1, sym_comment, - [4112] = 4, + [4033] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -4814,16 +4742,16 @@ static const uint16_t ts_small_parse_table[] = { sym_symbol, STATE(140), 1, sym_comment, - [4125] = 4, + [4046] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, ACTIONS(410), 1, - anon_sym_RPAREN, + sym_symbol, STATE(141), 1, sym_comment, - [4138] = 4, + [4059] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -4832,25 +4760,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DOT, STATE(142), 1, sym_comment, - [4151] = 4, + [4072] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, ACTIONS(414), 1, - anon_sym_DOT, + sym_symbol, STATE(143), 1, sym_comment, - [4164] = 4, + [4085] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, ACTIONS(416), 1, - anon_sym_COLON_DASH, + anon_sym_RBRACE, STATE(144), 1, sym_comment, - [4177] = 4, + [4098] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -4859,25 +4787,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, STATE(145), 1, sym_comment, - [4190] = 4, + [4111] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, ACTIONS(420), 1, - anon_sym_LPAREN, + anon_sym_DOT, STATE(146), 1, sym_comment, - [4203] = 4, + [4124] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, ACTIONS(422), 1, - anon_sym_EQ, + sym_symbol, STATE(147), 1, sym_comment, - [4216] = 4, + [4137] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -4886,34 +4814,34 @@ static const uint16_t ts_small_parse_table[] = { sym_symbol, STATE(148), 1, sym_comment, - [4229] = 4, + [4150] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, ACTIONS(426), 1, - ts_builtin_sym_end, + sym_symbol, STATE(149), 1, sym_comment, - [4242] = 4, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, + [4163] = 4, + ACTIONS(5), 1, sym__whitespace, + ACTIONS(398), 1, + anon_sym_SEMI, ACTIONS(428), 1, - anon_sym_DOT, + sym_commentInner, STATE(150), 1, sym_comment, - [4255] = 4, + [4176] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, ACTIONS(430), 1, - anon_sym_DOT, + anon_sym_RPAREN, STATE(151), 1, sym_comment, - [4268] = 4, + [4189] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -4922,7 +4850,7 @@ static const uint16_t ts_small_parse_table[] = { sym_symbol, STATE(152), 1, sym_comment, - [4281] = 4, + [4202] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, @@ -4931,466 +4859,454 @@ static const uint16_t ts_small_parse_table[] = { sym_symbol, STATE(153), 1, sym_comment, - [4294] = 4, + [4215] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, ACTIONS(436), 1, - anon_sym_RBRACE, + sym_symbol, STATE(154), 1, sym_comment, - [4307] = 4, + [4228] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, ACTIONS(438), 1, - sym_variable, + anon_sym_COLON_DASH, STATE(155), 1, sym_comment, - [4320] = 4, - ACTIONS(5), 1, - sym__whitespace, - ACTIONS(440), 1, + [4241] = 4, + ACTIONS(3), 1, anon_sym_SEMI, - ACTIONS(442), 1, - sym_commentInner, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(222), 1, + anon_sym_DOT, STATE(156), 1, sym_comment, - [4333] = 4, + [4254] = 4, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(440), 1, + sym_symbol, + STATE(157), 1, + sym_comment, + [4267] = 4, + ACTIONS(3), 1, + anon_sym_SEMI, + ACTIONS(27), 1, + sym__whitespace, + ACTIONS(442), 1, + anon_sym_LPAREN, + STATE(158), 1, + sym_comment, + [4280] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, ACTIONS(444), 1, sym_symbol, - STATE(157), 1, - sym_comment, - [4346] = 4, - ACTIONS(5), 1, - sym__whitespace, - ACTIONS(440), 1, - anon_sym_SEMI, - ACTIONS(446), 1, - sym_commentInner, - STATE(158), 1, - sym_comment, - [4359] = 4, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(448), 1, - sym_symbol, STATE(159), 1, sym_comment, - [4372] = 4, + [4293] = 4, ACTIONS(3), 1, anon_sym_SEMI, ACTIONS(27), 1, sym__whitespace, - ACTIONS(450), 1, - sym_symbol, + ACTIONS(446), 1, + anon_sym_RBRACE, STATE(160), 1, sym_comment, - [4385] = 4, - ACTIONS(3), 1, - anon_sym_SEMI, - ACTIONS(27), 1, - sym__whitespace, - ACTIONS(226), 1, - anon_sym_DOT, - STATE(161), 1, - sym_comment, - [4398] = 1, - ACTIONS(274), 1, + [4306] = 1, + ACTIONS(270), 1, ts_builtin_sym_end, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(3)] = 0, - [SMALL_STATE(4)] = 71, - [SMALL_STATE(5)] = 142, - [SMALL_STATE(6)] = 213, - [SMALL_STATE(7)] = 284, - [SMALL_STATE(8)] = 355, - [SMALL_STATE(9)] = 426, - [SMALL_STATE(10)] = 497, - [SMALL_STATE(11)] = 568, - [SMALL_STATE(12)] = 636, - [SMALL_STATE(13)] = 702, - [SMALL_STATE(14)] = 770, - [SMALL_STATE(15)] = 838, - [SMALL_STATE(16)] = 906, - [SMALL_STATE(17)] = 974, - [SMALL_STATE(18)] = 1042, - [SMALL_STATE(19)] = 1110, - [SMALL_STATE(20)] = 1178, - [SMALL_STATE(21)] = 1246, - [SMALL_STATE(22)] = 1314, - [SMALL_STATE(23)] = 1382, - [SMALL_STATE(24)] = 1414, - [SMALL_STATE(25)] = 1446, - [SMALL_STATE(26)] = 1484, - [SMALL_STATE(27)] = 1516, - [SMALL_STATE(28)] = 1548, - [SMALL_STATE(29)] = 1580, - [SMALL_STATE(30)] = 1612, - [SMALL_STATE(31)] = 1644, - [SMALL_STATE(32)] = 1676, - [SMALL_STATE(33)] = 1708, - [SMALL_STATE(34)] = 1740, - [SMALL_STATE(35)] = 1772, - [SMALL_STATE(36)] = 1804, - [SMALL_STATE(37)] = 1842, - [SMALL_STATE(38)] = 1876, - [SMALL_STATE(39)] = 1908, - [SMALL_STATE(40)] = 1944, - [SMALL_STATE(41)] = 1986, - [SMALL_STATE(42)] = 2018, - [SMALL_STATE(43)] = 2050, - [SMALL_STATE(44)] = 2082, - [SMALL_STATE(45)] = 2114, - [SMALL_STATE(46)] = 2146, - [SMALL_STATE(47)] = 2178, - [SMALL_STATE(48)] = 2210, - [SMALL_STATE(49)] = 2242, - [SMALL_STATE(50)] = 2274, - [SMALL_STATE(51)] = 2306, - [SMALL_STATE(52)] = 2353, - [SMALL_STATE(53)] = 2397, - [SMALL_STATE(54)] = 2439, - [SMALL_STATE(55)] = 2484, - [SMALL_STATE(56)] = 2527, - [SMALL_STATE(57)] = 2566, - [SMALL_STATE(58)] = 2607, - [SMALL_STATE(59)] = 2648, - [SMALL_STATE(60)] = 2673, - [SMALL_STATE(61)] = 2695, - [SMALL_STATE(62)] = 2717, - [SMALL_STATE(63)] = 2736, - [SMALL_STATE(64)] = 2755, - [SMALL_STATE(65)] = 2774, - [SMALL_STATE(66)] = 2793, - [SMALL_STATE(67)] = 2812, - [SMALL_STATE(68)] = 2831, - [SMALL_STATE(69)] = 2850, - [SMALL_STATE(70)] = 2869, - [SMALL_STATE(71)] = 2888, - [SMALL_STATE(72)] = 2907, - [SMALL_STATE(73)] = 2926, - [SMALL_STATE(74)] = 2945, - [SMALL_STATE(75)] = 2964, - [SMALL_STATE(76)] = 2983, - [SMALL_STATE(77)] = 3002, - [SMALL_STATE(78)] = 3021, - [SMALL_STATE(79)] = 3040, - [SMALL_STATE(80)] = 3059, - [SMALL_STATE(81)] = 3078, - [SMALL_STATE(82)] = 3097, - [SMALL_STATE(83)] = 3116, - [SMALL_STATE(84)] = 3135, - [SMALL_STATE(85)] = 3154, - [SMALL_STATE(86)] = 3176, - [SMALL_STATE(87)] = 3194, - [SMALL_STATE(88)] = 3216, - [SMALL_STATE(89)] = 3236, - [SMALL_STATE(90)] = 3258, - [SMALL_STATE(91)] = 3280, - [SMALL_STATE(92)] = 3297, - [SMALL_STATE(93)] = 3316, - [SMALL_STATE(94)] = 3335, - [SMALL_STATE(95)] = 3354, - [SMALL_STATE(96)] = 3371, - [SMALL_STATE(97)] = 3390, - [SMALL_STATE(98)] = 3409, - [SMALL_STATE(99)] = 3428, - [SMALL_STATE(100)] = 3445, - [SMALL_STATE(101)] = 3464, - [SMALL_STATE(102)] = 3483, - [SMALL_STATE(103)] = 3500, - [SMALL_STATE(104)] = 3519, - [SMALL_STATE(105)] = 3538, - [SMALL_STATE(106)] = 3557, - [SMALL_STATE(107)] = 3576, - [SMALL_STATE(108)] = 3595, - [SMALL_STATE(109)] = 3614, - [SMALL_STATE(110)] = 3633, - [SMALL_STATE(111)] = 3652, - [SMALL_STATE(112)] = 3671, - [SMALL_STATE(113)] = 3690, - [SMALL_STATE(114)] = 3707, - [SMALL_STATE(115)] = 3726, - [SMALL_STATE(116)] = 3745, - [SMALL_STATE(117)] = 3764, - [SMALL_STATE(118)] = 3783, - [SMALL_STATE(119)] = 3802, - [SMALL_STATE(120)] = 3821, - [SMALL_STATE(121)] = 3837, - [SMALL_STATE(122)] = 3853, - [SMALL_STATE(123)] = 3867, - [SMALL_STATE(124)] = 3881, - [SMALL_STATE(125)] = 3897, - [SMALL_STATE(126)] = 3911, - [SMALL_STATE(127)] = 3927, - [SMALL_STATE(128)] = 3941, - [SMALL_STATE(129)] = 3955, - [SMALL_STATE(130)] = 3969, - [SMALL_STATE(131)] = 3983, - [SMALL_STATE(132)] = 3999, - [SMALL_STATE(133)] = 4015, - [SMALL_STATE(134)] = 4031, - [SMALL_STATE(135)] = 4047, - [SMALL_STATE(136)] = 4060, - [SMALL_STATE(137)] = 4073, - [SMALL_STATE(138)] = 4086, - [SMALL_STATE(139)] = 4099, - [SMALL_STATE(140)] = 4112, - [SMALL_STATE(141)] = 4125, - [SMALL_STATE(142)] = 4138, - [SMALL_STATE(143)] = 4151, - [SMALL_STATE(144)] = 4164, - [SMALL_STATE(145)] = 4177, - [SMALL_STATE(146)] = 4190, - [SMALL_STATE(147)] = 4203, - [SMALL_STATE(148)] = 4216, - [SMALL_STATE(149)] = 4229, - [SMALL_STATE(150)] = 4242, - [SMALL_STATE(151)] = 4255, - [SMALL_STATE(152)] = 4268, - [SMALL_STATE(153)] = 4281, - [SMALL_STATE(154)] = 4294, - [SMALL_STATE(155)] = 4307, - [SMALL_STATE(156)] = 4320, - [SMALL_STATE(157)] = 4333, - [SMALL_STATE(158)] = 4346, - [SMALL_STATE(159)] = 4359, - [SMALL_STATE(160)] = 4372, - [SMALL_STATE(161)] = 4385, - [SMALL_STATE(162)] = 4398, + [SMALL_STATE(4)] = 68, + [SMALL_STATE(5)] = 136, + [SMALL_STATE(6)] = 204, + [SMALL_STATE(7)] = 272, + [SMALL_STATE(8)] = 340, + [SMALL_STATE(9)] = 408, + [SMALL_STATE(10)] = 476, + [SMALL_STATE(11)] = 544, + [SMALL_STATE(12)] = 609, + [SMALL_STATE(13)] = 674, + [SMALL_STATE(14)] = 737, + [SMALL_STATE(15)] = 802, + [SMALL_STATE(16)] = 867, + [SMALL_STATE(17)] = 932, + [SMALL_STATE(18)] = 997, + [SMALL_STATE(19)] = 1062, + [SMALL_STATE(20)] = 1127, + [SMALL_STATE(21)] = 1192, + [SMALL_STATE(22)] = 1257, + [SMALL_STATE(23)] = 1322, + [SMALL_STATE(24)] = 1360, + [SMALL_STATE(25)] = 1392, + [SMALL_STATE(26)] = 1424, + [SMALL_STATE(27)] = 1456, + [SMALL_STATE(28)] = 1488, + [SMALL_STATE(29)] = 1520, + [SMALL_STATE(30)] = 1552, + [SMALL_STATE(31)] = 1584, + [SMALL_STATE(32)] = 1616, + [SMALL_STATE(33)] = 1648, + [SMALL_STATE(34)] = 1680, + [SMALL_STATE(35)] = 1712, + [SMALL_STATE(36)] = 1748, + [SMALL_STATE(37)] = 1790, + [SMALL_STATE(38)] = 1828, + [SMALL_STATE(39)] = 1860, + [SMALL_STATE(40)] = 1892, + [SMALL_STATE(41)] = 1924, + [SMALL_STATE(42)] = 1956, + [SMALL_STATE(43)] = 1988, + [SMALL_STATE(44)] = 2020, + [SMALL_STATE(45)] = 2052, + [SMALL_STATE(46)] = 2084, + [SMALL_STATE(47)] = 2116, + [SMALL_STATE(48)] = 2148, + [SMALL_STATE(49)] = 2180, + [SMALL_STATE(50)] = 2214, + [SMALL_STATE(51)] = 2261, + [SMALL_STATE(52)] = 2303, + [SMALL_STATE(53)] = 2347, + [SMALL_STATE(54)] = 2390, + [SMALL_STATE(55)] = 2431, + [SMALL_STATE(56)] = 2476, + [SMALL_STATE(57)] = 2517, + [SMALL_STATE(58)] = 2556, + [SMALL_STATE(59)] = 2581, + [SMALL_STATE(60)] = 2603, + [SMALL_STATE(61)] = 2625, + [SMALL_STATE(62)] = 2644, + [SMALL_STATE(63)] = 2663, + [SMALL_STATE(64)] = 2682, + [SMALL_STATE(65)] = 2701, + [SMALL_STATE(66)] = 2720, + [SMALL_STATE(67)] = 2739, + [SMALL_STATE(68)] = 2758, + [SMALL_STATE(69)] = 2777, + [SMALL_STATE(70)] = 2796, + [SMALL_STATE(71)] = 2815, + [SMALL_STATE(72)] = 2834, + [SMALL_STATE(73)] = 2853, + [SMALL_STATE(74)] = 2872, + [SMALL_STATE(75)] = 2891, + [SMALL_STATE(76)] = 2910, + [SMALL_STATE(77)] = 2929, + [SMALL_STATE(78)] = 2948, + [SMALL_STATE(79)] = 2967, + [SMALL_STATE(80)] = 2986, + [SMALL_STATE(81)] = 3005, + [SMALL_STATE(82)] = 3024, + [SMALL_STATE(83)] = 3043, + [SMALL_STATE(84)] = 3062, + [SMALL_STATE(85)] = 3084, + [SMALL_STATE(86)] = 3104, + [SMALL_STATE(87)] = 3122, + [SMALL_STATE(88)] = 3144, + [SMALL_STATE(89)] = 3166, + [SMALL_STATE(90)] = 3188, + [SMALL_STATE(91)] = 3207, + [SMALL_STATE(92)] = 3226, + [SMALL_STATE(93)] = 3245, + [SMALL_STATE(94)] = 3264, + [SMALL_STATE(95)] = 3283, + [SMALL_STATE(96)] = 3302, + [SMALL_STATE(97)] = 3321, + [SMALL_STATE(98)] = 3340, + [SMALL_STATE(99)] = 3359, + [SMALL_STATE(100)] = 3378, + [SMALL_STATE(101)] = 3397, + [SMALL_STATE(102)] = 3416, + [SMALL_STATE(103)] = 3435, + [SMALL_STATE(104)] = 3454, + [SMALL_STATE(105)] = 3471, + [SMALL_STATE(106)] = 3488, + [SMALL_STATE(107)] = 3507, + [SMALL_STATE(108)] = 3526, + [SMALL_STATE(109)] = 3543, + [SMALL_STATE(110)] = 3562, + [SMALL_STATE(111)] = 3579, + [SMALL_STATE(112)] = 3598, + [SMALL_STATE(113)] = 3617, + [SMALL_STATE(114)] = 3634, + [SMALL_STATE(115)] = 3653, + [SMALL_STATE(116)] = 3672, + [SMALL_STATE(117)] = 3691, + [SMALL_STATE(118)] = 3710, + [SMALL_STATE(119)] = 3729, + [SMALL_STATE(120)] = 3745, + [SMALL_STATE(121)] = 3761, + [SMALL_STATE(122)] = 3777, + [SMALL_STATE(123)] = 3793, + [SMALL_STATE(124)] = 3807, + [SMALL_STATE(125)] = 3823, + [SMALL_STATE(126)] = 3837, + [SMALL_STATE(127)] = 3851, + [SMALL_STATE(128)] = 3867, + [SMALL_STATE(129)] = 3883, + [SMALL_STATE(130)] = 3897, + [SMALL_STATE(131)] = 3913, + [SMALL_STATE(132)] = 3927, + [SMALL_STATE(133)] = 3941, + [SMALL_STATE(134)] = 3955, + [SMALL_STATE(135)] = 3968, + [SMALL_STATE(136)] = 3981, + [SMALL_STATE(137)] = 3994, + [SMALL_STATE(138)] = 4007, + [SMALL_STATE(139)] = 4020, + [SMALL_STATE(140)] = 4033, + [SMALL_STATE(141)] = 4046, + [SMALL_STATE(142)] = 4059, + [SMALL_STATE(143)] = 4072, + [SMALL_STATE(144)] = 4085, + [SMALL_STATE(145)] = 4098, + [SMALL_STATE(146)] = 4111, + [SMALL_STATE(147)] = 4124, + [SMALL_STATE(148)] = 4137, + [SMALL_STATE(149)] = 4150, + [SMALL_STATE(150)] = 4163, + [SMALL_STATE(151)] = 4176, + [SMALL_STATE(152)] = 4189, + [SMALL_STATE(153)] = 4202, + [SMALL_STATE(154)] = 4215, + [SMALL_STATE(155)] = 4228, + [SMALL_STATE(156)] = 4241, + [SMALL_STATE(157)] = 4254, + [SMALL_STATE(158)] = 4267, + [SMALL_STATE(159)] = 4280, + [SMALL_STATE(160)] = 4293, + [SMALL_STATE(161)] = 4306, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), - [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), [7] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file, 0, 0, 0), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1, 0, 2), - [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [39] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1, 0, 2), - [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59), - [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), - [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), - [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer, 1, 0, 0), - [57] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_integer, 1, 0, 0), - [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aggregate, 7, 0, 59), - [61] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_aggregate, 7, 0, 59), - [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_atom, 2, 0, 14), - [65] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_atom, 2, 0, 14), - [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [73] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expr, 2, 0, 17), - [75] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expr, 2, 0, 17), - [77] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr, 1, 0, 1), - [79] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr, 1, 0, 1), - [81] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aggregate, 2, 0, 15), - [83] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_aggregate, 2, 0, 15), - [85] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr, 1, 0, 3), - [87] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr, 1, 0, 3), - [89] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1, 0, 4), - [91] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1, 0, 4), - [93] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1, 0, 5), - [95] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1, 0, 5), - [97] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1, 0, 6), - [99] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1, 0, 6), - [101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr, 1, 0, 7), - [103] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr, 1, 0, 7), - [105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr, 3, 0, 22), - [107] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr, 3, 0, 22), - [109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr, 1, 0, 8), - [111] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr, 1, 0, 8), - [113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expr, 3, 0, 23), - [115] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expr, 3, 0, 23), - [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), - [121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr, 1, 0, 9), - [123] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr, 1, 0, 9), - [125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr, 1, 0, 12), - [127] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr, 1, 0, 12), - [129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 4, 0, 34), - [131] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 4, 0, 34), - [133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr, 1, 0, 10), - [135] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr, 1, 0, 10), - [137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 4, 0, 35), - [139] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 4, 0, 35), - [141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr, 1, 0, 11), - [143] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr, 1, 0, 11), - [145] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aggregate, 4, 0, 38), - [147] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_aggregate, 4, 0, 38), - [149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aggregate, 4, 0, 40), - [151] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_aggregate, 4, 0, 40), - [153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aggregate, 5, 0, 46), - [155] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_aggregate, 5, 0, 46), - [157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aggregate, 6, 0, 53), - [159] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_aggregate, 6, 0, 53), - [161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [163] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_rule_body, 1, 0, 13), - [165] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rule_body, 1, 0, 13), - [167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [173] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_rule_body_repeat1, 2, 0, 32), - [175] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_rule_body_repeat1, 2, 0, 32), - [177] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file, 1, 0, 0), - [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [181] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_file_repeat1, 2, 0, 0), - [183] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_repeat1, 2, 0, 0), SHIFT_REPEAT(158), - [186] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_repeat1, 2, 0, 0), SHIFT_REPEAT(55), - [189] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_repeat1, 2, 0, 0), SHIFT_REPEAT(11), - [192] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_repeat1, 2, 0, 0), SHIFT_REPEAT(139), - [195] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_repeat1, 2, 0, 0), SHIFT_REPEAT(152), - [198] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_repeat1, 2, 0, 0), SHIFT_REPEAT(87), - [201] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_repeat1, 2, 0, 0), SHIFT_REPEAT(159), - [204] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_repeat1, 2, 0, 0), SHIFT_REPEAT(3), - [207] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_repeat1, 2, 0, 0), SHIFT_REPEAT(146), - [210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2, 0, 34), - [212] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), - [214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [216] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), - [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_op, 1, 0, 0), - [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_op, 1, 0, 0), - [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 5, 0, 42), - [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_import_repeat1, 2, 0, 25), - [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 4, 0, 26), - [230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 7, 0, 55), - [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_definition, 4, 0, 30), - [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rule, 3, 0, 16), - [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1, 0, 18), - [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_definition, 3, 0, 19), - [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rule, 4, 0, 31), - [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rule, 5, 0, 41), - [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assumption, 3, 0, 20), - [246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_definition, 5, 0, 44), - [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_definition, 5, 0, 43), - [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_definition, 5, 0, 45), - [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias, 4, 0, 24), - [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 6, 0, 47), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr, 1, 0, 2), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [39] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr, 1, 0, 2), + [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58), + [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(43), + [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(44), + [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expr, 3, 0, 22), + [57] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expr, 3, 0, 22), + [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [65] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr, 1, 0, 9), + [67] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr, 1, 0, 9), + [69] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr, 1, 0, 1), + [71] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr, 1, 0, 1), + [73] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aggregate, 2, 0, 14), + [75] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_aggregate, 2, 0, 14), + [77] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr, 1, 0, 10), + [79] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr, 1, 0, 10), + [81] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr, 1, 0, 7), + [83] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr, 1, 0, 7), + [85] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr, 1, 0, 11), + [87] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr, 1, 0, 11), + [89] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr, 1, 0, 8), + [91] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr, 1, 0, 8), + [93] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expr, 2, 0, 16), + [95] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expr, 2, 0, 16), + [97] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer, 1, 0, 0), + [99] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_integer, 1, 0, 0), + [101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr, 3, 0, 21), + [103] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr, 3, 0, 21), + [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), + [109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_atom, 2, 0, 13), + [111] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_atom, 2, 0, 13), + [113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 4, 0, 33), + [115] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 4, 0, 33), + [117] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 4, 0, 34), + [119] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 4, 0, 34), + [121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr, 1, 0, 3), + [123] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr, 1, 0, 3), + [125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aggregate, 4, 0, 37), + [127] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_aggregate, 4, 0, 37), + [129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aggregate, 4, 0, 39), + [131] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_aggregate, 4, 0, 39), + [133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr, 1, 0, 4), + [135] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr, 1, 0, 4), + [137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr, 1, 0, 5), + [139] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr, 1, 0, 5), + [141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aggregate, 5, 0, 45), + [143] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_aggregate, 5, 0, 45), + [145] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr, 1, 0, 6), + [147] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr, 1, 0, 6), + [149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aggregate, 6, 0, 52), + [151] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_aggregate, 6, 0, 52), + [153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aggregate, 7, 0, 58), + [155] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_aggregate, 7, 0, 58), + [157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [159] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_rule_body, 1, 0, 12), + [161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rule_body, 1, 0, 12), + [163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [165] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_rule_body_repeat1, 2, 0, 31), + [167] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_rule_body_repeat1, 2, 0, 31), + [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [173] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_file_repeat1, 2, 0, 0), + [175] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_repeat1, 2, 0, 0), SHIFT_REPEAT(150), + [178] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_repeat1, 2, 0, 0), SHIFT_REPEAT(53), + [181] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_repeat1, 2, 0, 0), SHIFT_REPEAT(22), + [184] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_repeat1, 2, 0, 0), SHIFT_REPEAT(147), + [187] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_repeat1, 2, 0, 0), SHIFT_REPEAT(152), + [190] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_repeat1, 2, 0, 0), SHIFT_REPEAT(87), + [193] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_repeat1, 2, 0, 0), SHIFT_REPEAT(141), + [196] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_repeat1, 2, 0, 0), SHIFT_REPEAT(7), + [199] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_repeat1, 2, 0, 0), SHIFT_REPEAT(158), + [202] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), + [204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file, 1, 0, 0), + [208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [210] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), + [212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2, 0, 33), + [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_op, 1, 0, 0), + [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_op, 1, 0, 0), + [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 4, 0, 25), + [222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_import_repeat1, 2, 0, 24), + [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 5, 0, 41), + [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_definition, 6, 0, 50), + [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rule, 5, 0, 40), + [230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_definition, 4, 0, 27), + [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assumption, 3, 0, 19), + [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_definition, 4, 0, 28), + [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rule, 3, 0, 15), + [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias, 4, 0, 23), + [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_definition, 4, 0, 29), + [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rule, 4, 0, 30), + [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_definition, 5, 0, 42), + [246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_definition, 5, 0, 43), + [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_definition, 5, 0, 44), + [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1, 0, 17), + [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 6, 0, 46), + [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 4, 0, 47), [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 4, 0, 48), - [258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 4, 0, 49), - [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_definition, 6, 0, 51), - [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rule, 6, 0, 52), - [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 8, 0, 60), - [266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 7, 0, 57), - [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_definition, 4, 0, 28), - [270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_definition, 4, 0, 29), - [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assumption, 7, 0, 58), - [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2, 0, 0), - [276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), - [280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [282] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_rule_body_repeat1, 2, 0, 33), SHIFT_REPEAT(22), - [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_rule_body_repeat1, 2, 0, 33), - [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), - [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), - [295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rule_body, 2, 0, 21), - [297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [305] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_import_repeat2, 2, 0, 56), SHIFT_REPEAT(157), - [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_import_repeat2, 2, 0, 56), - [310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [314] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2, 0, 36), SHIFT_REPEAT(21), - [317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2, 0, 36), - [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [321] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_aggregate_repeat1, 2, 0, 39), SHIFT_REPEAT(155), - [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_aggregate_repeat1, 2, 0, 39), - [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), - [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), - [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [350] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, 0, 50), SHIFT_REPEAT(112), - [353] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, 0, 50), - [355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_aggregate_repeat1, 2, 0, 37), - [373] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_import_repeat2, 2, 0, 54), - [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), - [379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, 0, 48), - [381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [385] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_import_repeat1, 2, 0, 27), SHIFT_REPEAT(138), - [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), - [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), - [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), - [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), - [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), - [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [426] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [440] = {.entry = {.count = 1, .reusable = false}}, SHIFT(156), - [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), - [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rule, 6, 0, 51), + [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_definition, 3, 0, 18), + [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 7, 0, 54), + [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 7, 0, 56), + [266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assumption, 7, 0, 57), + [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 8, 0, 59), + [270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2, 0, 0), + [272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rule_body, 2, 0, 20), + [280] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_rule_body_repeat1, 2, 0, 32), SHIFT_REPEAT(21), + [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_rule_body_repeat1, 2, 0, 32), + [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [325] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, 0, 49), SHIFT_REPEAT(103), + [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, 0, 49), + [330] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2, 0, 35), SHIFT_REPEAT(11), + [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2, 0, 35), + [335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [341] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_import_repeat2, 2, 0, 55), SHIFT_REPEAT(148), + [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_import_repeat2, 2, 0, 55), + [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [350] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_aggregate_repeat1, 2, 0, 38), SHIFT_REPEAT(139), + [353] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_aggregate_repeat1, 2, 0, 38), + [355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [373] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, 0, 47), + [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [377] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_aggregate_repeat1, 2, 0, 36), + [379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_import_repeat2, 2, 0, 53), + [381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [389] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_import_repeat1, 2, 0, 26), SHIFT_REPEAT(157), + [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [394] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [398] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136), + [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), }; #ifdef __cplusplus