From 60804f0ff04b131180c62dc001c4fb504143fcaa Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Sat, 4 Jun 2022 21:10:23 +0200 Subject: [PATCH] Add object-oriented constructs Another EPITA extension, although this is mentionned in the book. --- grammar.js | 62 + src/grammar.json | 244 +- src/node-types.json | 742 +++ src/parser.c | 8830 ++++++++++++++++++------------- test/corpus/object-oriented.txt | 132 + 5 files changed, 6390 insertions(+), 3620 deletions(-) create mode 100644 test/corpus/object-oriented.txt diff --git a/grammar.js b/grammar.js index 37cc02a..808eb43 100644 --- a/grammar.js +++ b/grammar.js @@ -25,6 +25,8 @@ module.exports = grammar({ $._type_identifier, $._field_identifier, $._function_declaration_common, + $._class_declaration_common, + $._class_field, ], conflicts: ($) => [ @@ -75,6 +77,9 @@ module.exports = grammar({ $.break_expression, $.let_expression, + $.new_expression, + $.method_call, + $.meta_cast, $.meta_expression, ), @@ -263,6 +268,7 @@ module.exports = grammar({ _declaration_chunk: ($) => prec.left( choice( repeat1($.type_declaration), + repeat1($.class_declaration), repeat1(choice($.function_declaration, $.primitive_declaration)), $.variable_declaration, $.import_declaration, @@ -280,6 +286,7 @@ module.exports = grammar({ $.type_alias, $.record_type, $.array_type, + $.class_type, ), type_alias: ($) => $._type_identifier, @@ -349,6 +356,61 @@ module.exports = grammar({ // }}} + // Object Oriented {{{ + + new_expression: ($) => seq( + "new", + field("class", $._type_identifier), + ), + + method_call: ($) => seq( + field("object", $._lvalue), + ".", + field("method", $.identifier), + "(", + field("arguments", sepBy(",", $._expr)), + ")", + ), + + class_declaration: ($) => seq( + "class", + field("name", $.identifier), + $._class_declaration_common, + ), + + class_type: ($) => seq( + "class", + $._class_declaration_common, + ), + + _class_declaration_common: ($) => seq( + optional($.extends_qualifier), + "{", + field("fields", repeat($._class_field)), + "}", + ), + + extends_qualifier: ($) => seq( + "extends", + field("super", $._type_identifier), + ), + + _class_field: ($) => choice( + $._field_declaration, + $.method_declaration, + ), + + _field_declaration: ($) => alias($.variable_declaration, $.field_declaration), + + method_declaration: ($) => seq( + "method", + $._function_declaration_common, + "=", + field("body", $._expr), + ), + + // }}} + // Meta-variables {{{ meta_chunks: ($) => seq( diff --git a/src/grammar.json b/src/grammar.json index c012b62..a8f1897 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -90,6 +90,14 @@ "type": "SYMBOL", "name": "let_expression" }, + { + "type": "SYMBOL", + "name": "new_expression" + }, + { + "type": "SYMBOL", + "name": "method_call" + }, { "type": "SYMBOL", "name": "meta_cast" @@ -1110,6 +1118,13 @@ "name": "type_declaration" } }, + { + "type": "REPEAT1", + "content": { + "type": "SYMBOL", + "name": "class_declaration" + } + }, { "type": "REPEAT1", "content": { @@ -1180,6 +1195,10 @@ { "type": "SYMBOL", "name": "array_type" + }, + { + "type": "SYMBOL", + "name": "class_type" } ] }, @@ -1544,6 +1563,227 @@ } ] }, + "new_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "new" + }, + { + "type": "FIELD", + "name": "class", + "content": { + "type": "SYMBOL", + "name": "_type_identifier" + } + } + ] + }, + "method_call": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "object", + "content": { + "type": "SYMBOL", + "name": "_lvalue" + } + }, + { + "type": "STRING", + "value": "." + }, + { + "type": "FIELD", + "name": "method", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "arguments", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "_expr" + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "class_declaration": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "class" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "SYMBOL", + "name": "_class_declaration_common" + } + ] + }, + "class_type": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "class" + }, + { + "type": "SYMBOL", + "name": "_class_declaration_common" + } + ] + }, + "_class_declaration_common": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "extends_qualifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "{" + }, + { + "type": "FIELD", + "name": "fields", + "content": { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_class_field" + } + } + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "extends_qualifier": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "extends" + }, + { + "type": "FIELD", + "name": "super", + "content": { + "type": "SYMBOL", + "name": "_type_identifier" + } + } + ] + }, + "_class_field": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_field_declaration" + }, + { + "type": "SYMBOL", + "name": "method_declaration" + } + ] + }, + "_field_declaration": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "variable_declaration" + }, + "named": true, + "value": "field_declaration" + }, + "method_declaration": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "method" + }, + { + "type": "SYMBOL", + "name": "_function_declaration_common" + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + }, "meta_chunks": { "type": "SEQ", "members": [ @@ -1712,7 +1952,9 @@ "inline": [ "_type_identifier", "_field_identifier", - "_function_declaration_common" + "_function_declaration_common", + "_class_declaration_common", + "_class_field" ], "supertypes": [] } diff --git a/src/node-types.json b/src/node-types.json index 1ba0e24..cf71aaf 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -63,6 +63,14 @@ "type": "meta_lvalue", "named": true }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, { "type": "nil_literal", "named": true @@ -153,6 +161,14 @@ "type": "meta_lvalue", "named": true }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, { "type": "nil_literal", "named": true @@ -305,6 +321,14 @@ "type": "meta_lvalue", "named": true }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, { "type": "nil_literal", "named": true @@ -423,6 +447,14 @@ "type": "meta_lvalue", "named": true }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, { "type": "nil_literal", "named": true @@ -529,6 +561,14 @@ "type": "meta_lvalue", "named": true }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, { "type": "nil_literal", "named": true @@ -629,6 +669,14 @@ "type": "meta_lvalue", "named": true }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, { "type": "nil_literal", "named": true @@ -661,6 +709,234 @@ } } }, + { + "type": "class_declaration", + "named": true, + "fields": { + "fields": { + "multiple": true, + "required": false, + "types": [ + { + "type": "field_declaration", + "named": true + }, + { + "type": "method_declaration", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "extends_qualifier", + "named": true + } + ] + } + }, + { + "type": "class_type", + "named": true, + "fields": { + "fields": { + "multiple": true, + "required": false, + "types": [ + { + "type": "field_declaration", + "named": true + }, + { + "type": "method_declaration", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "extends_qualifier", + "named": true + } + ] + } + }, + { + "type": "extends_qualifier", + "named": true, + "fields": { + "super": { + "multiple": false, + "required": true, + "types": [ + { + "type": "meta_type_identifier", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + } + }, + { + "type": "field_declaration", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "meta_type_identifier", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_expression", + "named": true + }, + { + "type": "array_value", + "named": true + }, + { + "type": "assignment_expression", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "break_expression", + "named": true + }, + { + "type": "for_expression", + "named": true + }, + { + "type": "function_call", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "integer_literal", + "named": true + }, + { + "type": "let_expression", + "named": true + }, + { + "type": "meta_cast", + "named": true + }, + { + "type": "meta_expression", + "named": true + }, + { + "type": "meta_lvalue", + "named": true + }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, + { + "type": "nil_literal", + "named": true + }, + { + "type": "record_expression", + "named": true + }, + { + "type": "record_value", + "named": true + }, + { + "type": "sequence_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, + { + "type": "while_expression", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "operator", + "named": true + } + ] + } + }, { "type": "for_expression", "named": true, @@ -725,6 +1001,14 @@ "type": "meta_lvalue", "named": true }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, { "type": "nil_literal", "named": true @@ -815,6 +1099,14 @@ "type": "meta_lvalue", "named": true }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, { "type": "nil_literal", "named": true @@ -915,6 +1207,14 @@ "type": "meta_lvalue", "named": true }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, { "type": "nil_literal", "named": true @@ -1025,6 +1325,14 @@ "type": "meta_lvalue", "named": true }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, { "type": "nil_literal", "named": true @@ -1131,6 +1439,14 @@ "type": "meta_lvalue", "named": true }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, { "type": "nil_literal", "named": true @@ -1261,6 +1577,14 @@ "type": "meta_lvalue", "named": true }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, { "type": "nil_literal", "named": true @@ -1351,6 +1675,14 @@ "type": "meta_lvalue", "named": true }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, { "type": "nil_literal", "named": true @@ -1441,6 +1773,14 @@ "type": "meta_lvalue", "named": true }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, { "type": "nil_literal", "named": true @@ -1557,6 +1897,14 @@ "type": "meta_lvalue", "named": true }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, { "type": "nil_literal", "named": true @@ -1591,6 +1939,10 @@ "multiple": true, "required": false, "types": [ + { + "type": "class_declaration", + "named": true + }, { "type": "function_declaration", "named": true @@ -1683,6 +2035,14 @@ "type": "meta_lvalue", "named": true }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, { "type": "nil_literal", "named": true @@ -1721,6 +2081,10 @@ "type": "array_type", "named": true }, + { + "type": "class_type", + "named": true + }, { "type": "record_type", "named": true @@ -1796,6 +2160,304 @@ ] } }, + { + "type": "method_call", + "named": true, + "fields": { + "arguments": { + "multiple": true, + "required": false, + "types": [ + { + "type": ",", + "named": false + }, + { + "type": "array_expression", + "named": true + }, + { + "type": "array_value", + "named": true + }, + { + "type": "assignment_expression", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "break_expression", + "named": true + }, + { + "type": "for_expression", + "named": true + }, + { + "type": "function_call", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "integer_literal", + "named": true + }, + { + "type": "let_expression", + "named": true + }, + { + "type": "meta_cast", + "named": true + }, + { + "type": "meta_expression", + "named": true + }, + { + "type": "meta_lvalue", + "named": true + }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, + { + "type": "nil_literal", + "named": true + }, + { + "type": "record_expression", + "named": true + }, + { + "type": "record_value", + "named": true + }, + { + "type": "sequence_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, + { + "type": "while_expression", + "named": true + } + ] + }, + "method": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "object": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_value", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "meta_lvalue", + "named": true + }, + { + "type": "record_value", + "named": true + } + ] + } + } + }, + { + "type": "method_declaration", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_expression", + "named": true + }, + { + "type": "array_value", + "named": true + }, + { + "type": "assignment_expression", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "break_expression", + "named": true + }, + { + "type": "for_expression", + "named": true + }, + { + "type": "function_call", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "integer_literal", + "named": true + }, + { + "type": "let_expression", + "named": true + }, + { + "type": "meta_cast", + "named": true + }, + { + "type": "meta_expression", + "named": true + }, + { + "type": "meta_lvalue", + "named": true + }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, + { + "type": "nil_literal", + "named": true + }, + { + "type": "record_expression", + "named": true + }, + { + "type": "record_value", + "named": true + }, + { + "type": "sequence_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, + { + "type": "while_expression", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parameters", + "named": true + } + ] + }, + "return_type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "meta_type_identifier", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + } + }, + { + "type": "new_expression", + "named": true, + "fields": { + "class": { + "multiple": false, + "required": true, + "types": [ + { + "type": "meta_type_identifier", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + } + }, { "type": "parameters", "named": true, @@ -1940,6 +2602,14 @@ "type": "meta_lvalue", "named": true }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, { "type": "nil_literal", "named": true @@ -2118,6 +2788,14 @@ "type": "meta_lvalue", "named": true }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, { "type": "nil_literal", "named": true @@ -2177,6 +2855,10 @@ "type": "break_expression", "named": true }, + { + "type": "class_declaration", + "named": true + }, { "type": "for_expression", "named": true @@ -2225,6 +2907,14 @@ "type": "meta_lvalue", "named": true }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, { "type": "nil_literal", "named": true @@ -2324,6 +3014,10 @@ "type": "array_type", "named": true }, + { + "type": "class_type", + "named": true + }, { "type": "record_type", "named": true @@ -2400,6 +3094,14 @@ "type": "meta_lvalue", "named": true }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, { "type": "nil_literal", "named": true @@ -2530,6 +3232,14 @@ "type": "meta_lvalue", "named": true }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, { "type": "nil_literal", "named": true @@ -2636,6 +3346,14 @@ "type": "meta_lvalue", "named": true }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, { "type": "nil_literal", "named": true @@ -2726,6 +3444,14 @@ "type": "meta_lvalue", "named": true }, + { + "type": "method_call", + "named": true + }, + { + "type": "new_expression", + "named": true + }, { "type": "nil_literal", "named": true @@ -2826,6 +3552,10 @@ "type": "break_expression", "named": true }, + { + "type": "class", + "named": false + }, { "type": "comment", "named": true @@ -2846,6 +3576,10 @@ "type": "escape_sequence", "named": true }, + { + "type": "extends", + "named": false + }, { "type": "field_identifier", "named": true @@ -2882,6 +3616,14 @@ "type": "let", "named": false }, + { + "type": "method", + "named": false + }, + { + "type": "new", + "named": false + }, { "type": "nil_literal", "named": true diff --git a/src/parser.c b/src/parser.c index 2088d2a..852b91c 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,15 +6,15 @@ #endif #define LANGUAGE_VERSION 13 -#define STATE_COUNT 215 +#define STATE_COUNT 263 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 96 -#define ALIAS_COUNT 2 -#define TOKEN_COUNT 54 +#define SYMBOL_COUNT 109 +#define ALIAS_COUNT 3 +#define TOKEN_COUNT 58 #define EXTERNAL_TOKEN_COUNT 1 -#define FIELD_COUNT 26 +#define FIELD_COUNT 31 #define MAX_ALIAS_SEQUENCE_LENGTH 8 -#define PRODUCTION_ID_COUNT 52 +#define PRODUCTION_ID_COUNT 65 enum { sym_identifier = 1, @@ -64,56 +64,70 @@ enum { anon_sym_primitive = 45, anon_sym_var = 46, anon_sym_import = 47, - anon_sym__chunks = 48, - anon_sym__cast = 49, - anon_sym__exp = 50, - anon_sym__lvalue = 51, - anon_sym__namety = 52, - sym_comment = 53, - sym_source_file = 54, - sym__expr = 55, - sym_string_literal = 56, - sym__lvalue = 57, - sym_record_value = 58, - sym_array_value = 59, - sym_function_call = 60, - sym_unary_expression = 61, - sym_binary_expression = 62, - sym_sequence_expression = 63, - sym_array_expression = 64, - sym_record_expression = 65, - sym_assignment_expression = 66, - sym_if_expression = 67, - sym_while_expression = 68, - sym_for_expression = 69, - sym_let_expression = 70, - aux_sym__declaration_chunks = 71, - sym__declaration_chunk = 72, - sym_type_declaration = 73, - sym__type = 74, - sym_type_alias = 75, - sym_record_type = 76, - sym_array_type = 77, - sym_function_declaration = 78, - sym_primitive_declaration = 79, - sym_parameters = 80, - sym_variable_declaration = 81, - sym_import_declaration = 82, - sym_meta_chunks = 83, - sym_meta_cast = 84, - sym_meta_expression = 85, - sym_meta_lvalue = 86, - sym_meta_type_identifier = 87, - aux_sym_string_literal_repeat1 = 88, - aux_sym_function_call_repeat1 = 89, - aux_sym_sequence_expression_repeat1 = 90, - aux_sym_record_expression_repeat1 = 91, - aux_sym__declaration_chunk_repeat1 = 92, - aux_sym__declaration_chunk_repeat2 = 93, - aux_sym_record_type_repeat1 = 94, - aux_sym_parameters_repeat1 = 95, - alias_sym_field_identifier = 96, - alias_sym_type_identifier = 97, + anon_sym_new = 48, + anon_sym_class = 49, + anon_sym_extends = 50, + anon_sym_method = 51, + anon_sym__chunks = 52, + anon_sym__cast = 53, + anon_sym__exp = 54, + anon_sym__lvalue = 55, + anon_sym__namety = 56, + sym_comment = 57, + sym_source_file = 58, + sym__expr = 59, + sym_string_literal = 60, + sym__lvalue = 61, + sym_record_value = 62, + sym_array_value = 63, + sym_function_call = 64, + sym_unary_expression = 65, + sym_binary_expression = 66, + sym_sequence_expression = 67, + sym_array_expression = 68, + sym_record_expression = 69, + sym_assignment_expression = 70, + sym_if_expression = 71, + sym_while_expression = 72, + sym_for_expression = 73, + sym_let_expression = 74, + aux_sym__declaration_chunks = 75, + sym__declaration_chunk = 76, + sym_type_declaration = 77, + sym__type = 78, + sym_type_alias = 79, + sym_record_type = 80, + sym_array_type = 81, + sym_function_declaration = 82, + sym_primitive_declaration = 83, + sym_parameters = 84, + sym_variable_declaration = 85, + sym_import_declaration = 86, + sym_new_expression = 87, + sym_method_call = 88, + sym_class_declaration = 89, + sym_class_type = 90, + sym_extends_qualifier = 91, + sym__field_declaration = 92, + sym_method_declaration = 93, + sym_meta_chunks = 94, + sym_meta_cast = 95, + sym_meta_expression = 96, + sym_meta_lvalue = 97, + sym_meta_type_identifier = 98, + aux_sym_string_literal_repeat1 = 99, + aux_sym_function_call_repeat1 = 100, + aux_sym_sequence_expression_repeat1 = 101, + aux_sym_record_expression_repeat1 = 102, + aux_sym__declaration_chunk_repeat1 = 103, + aux_sym__declaration_chunk_repeat2 = 104, + aux_sym__declaration_chunk_repeat3 = 105, + aux_sym_record_type_repeat1 = 106, + aux_sym_parameters_repeat1 = 107, + aux_sym__class_declaration_common_repeat1 = 108, + alias_sym_field_declaration = 109, + alias_sym_field_identifier = 110, + alias_sym_type_identifier = 111, }; static const char * const ts_symbol_names[] = { @@ -165,6 +179,10 @@ static const char * const ts_symbol_names[] = { [anon_sym_primitive] = "primitive", [anon_sym_var] = "var", [anon_sym_import] = "import", + [anon_sym_new] = "new", + [anon_sym_class] = "class", + [anon_sym_extends] = "extends", + [anon_sym_method] = "method", [anon_sym__chunks] = "_chunks", [anon_sym__cast] = "_cast", [anon_sym__exp] = "_exp", @@ -200,6 +218,13 @@ static const char * const ts_symbol_names[] = { [sym_parameters] = "parameters", [sym_variable_declaration] = "variable_declaration", [sym_import_declaration] = "import_declaration", + [sym_new_expression] = "new_expression", + [sym_method_call] = "method_call", + [sym_class_declaration] = "class_declaration", + [sym_class_type] = "class_type", + [sym_extends_qualifier] = "extends_qualifier", + [sym__field_declaration] = "_field_declaration", + [sym_method_declaration] = "method_declaration", [sym_meta_chunks] = "meta_chunks", [sym_meta_cast] = "meta_cast", [sym_meta_expression] = "meta_expression", @@ -211,8 +236,11 @@ static const char * const ts_symbol_names[] = { [aux_sym_record_expression_repeat1] = "record_expression_repeat1", [aux_sym__declaration_chunk_repeat1] = "_declaration_chunk_repeat1", [aux_sym__declaration_chunk_repeat2] = "_declaration_chunk_repeat2", + [aux_sym__declaration_chunk_repeat3] = "_declaration_chunk_repeat3", [aux_sym_record_type_repeat1] = "record_type_repeat1", [aux_sym_parameters_repeat1] = "parameters_repeat1", + [aux_sym__class_declaration_common_repeat1] = "_class_declaration_common_repeat1", + [alias_sym_field_declaration] = "field_declaration", [alias_sym_field_identifier] = "field_identifier", [alias_sym_type_identifier] = "type_identifier", }; @@ -266,6 +294,10 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_primitive] = anon_sym_primitive, [anon_sym_var] = anon_sym_var, [anon_sym_import] = anon_sym_import, + [anon_sym_new] = anon_sym_new, + [anon_sym_class] = anon_sym_class, + [anon_sym_extends] = anon_sym_extends, + [anon_sym_method] = anon_sym_method, [anon_sym__chunks] = anon_sym__chunks, [anon_sym__cast] = anon_sym__cast, [anon_sym__exp] = anon_sym__exp, @@ -301,6 +333,13 @@ static const TSSymbol ts_symbol_map[] = { [sym_parameters] = sym_parameters, [sym_variable_declaration] = sym_variable_declaration, [sym_import_declaration] = sym_import_declaration, + [sym_new_expression] = sym_new_expression, + [sym_method_call] = sym_method_call, + [sym_class_declaration] = sym_class_declaration, + [sym_class_type] = sym_class_type, + [sym_extends_qualifier] = sym_extends_qualifier, + [sym__field_declaration] = sym__field_declaration, + [sym_method_declaration] = sym_method_declaration, [sym_meta_chunks] = sym_meta_chunks, [sym_meta_cast] = sym_meta_cast, [sym_meta_expression] = sym_meta_expression, @@ -312,8 +351,11 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_record_expression_repeat1] = aux_sym_record_expression_repeat1, [aux_sym__declaration_chunk_repeat1] = aux_sym__declaration_chunk_repeat1, [aux_sym__declaration_chunk_repeat2] = aux_sym__declaration_chunk_repeat2, + [aux_sym__declaration_chunk_repeat3] = aux_sym__declaration_chunk_repeat3, [aux_sym_record_type_repeat1] = aux_sym_record_type_repeat1, [aux_sym_parameters_repeat1] = aux_sym_parameters_repeat1, + [aux_sym__class_declaration_common_repeat1] = aux_sym__class_declaration_common_repeat1, + [alias_sym_field_declaration] = alias_sym_field_declaration, [alias_sym_field_identifier] = alias_sym_field_identifier, [alias_sym_type_identifier] = alias_sym_type_identifier, }; @@ -511,6 +553,22 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_new] = { + .visible = true, + .named = false, + }, + [anon_sym_class] = { + .visible = true, + .named = false, + }, + [anon_sym_extends] = { + .visible = true, + .named = false, + }, + [anon_sym_method] = { + .visible = true, + .named = false, + }, [anon_sym__chunks] = { .visible = true, .named = false, @@ -651,6 +709,34 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_new_expression] = { + .visible = true, + .named = true, + }, + [sym_method_call] = { + .visible = true, + .named = true, + }, + [sym_class_declaration] = { + .visible = true, + .named = true, + }, + [sym_class_type] = { + .visible = true, + .named = true, + }, + [sym_extends_qualifier] = { + .visible = true, + .named = true, + }, + [sym__field_declaration] = { + .visible = false, + .named = true, + }, + [sym_method_declaration] = { + .visible = true, + .named = true, + }, [sym_meta_chunks] = { .visible = true, .named = true, @@ -695,6 +781,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym__declaration_chunk_repeat3] = { + .visible = false, + .named = false, + }, [aux_sym_record_type_repeat1] = { .visible = false, .named = false, @@ -703,6 +793,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym__class_declaration_common_repeat1] = { + .visible = false, + .named = false, + }, + [alias_sym_field_declaration] = { + .visible = true, + .named = true, + }, [alias_sym_field_identifier] = { .visible = true, .named = true, @@ -718,28 +816,33 @@ enum { field_arguments = 2, field_array = 3, field_body = 4, - field_condition = 5, - field_consequence = 6, - field_declarations = 7, - field_element_type = 8, - field_end = 9, - field_expression = 10, - field_field = 11, - field_file = 12, - field_function = 13, - field_index = 14, - field_init = 15, - field_left = 16, - field_name = 17, - field_operator = 18, - field_parameters = 19, - field_record = 20, - field_return_type = 21, - field_right = 22, - field_size = 23, - field_start = 24, - field_type = 25, - field_value = 26, + field_class = 5, + field_condition = 6, + field_consequence = 7, + field_declarations = 8, + field_element_type = 9, + field_end = 10, + field_expression = 11, + field_field = 12, + field_fields = 13, + field_file = 14, + field_function = 15, + field_index = 16, + field_init = 17, + field_left = 18, + field_method = 19, + field_name = 20, + field_object = 21, + field_operator = 22, + field_parameters = 23, + field_record = 24, + field_return_type = 25, + field_right = 26, + field_size = 27, + field_start = 28, + field_super = 29, + field_type = 30, + field_value = 31, }; static const char * const ts_field_names[] = { @@ -748,6 +851,7 @@ static const char * const ts_field_names[] = { [field_arguments] = "arguments", [field_array] = "array", [field_body] = "body", + [field_class] = "class", [field_condition] = "condition", [field_consequence] = "consequence", [field_declarations] = "declarations", @@ -755,12 +859,15 @@ static const char * const ts_field_names[] = { [field_end] = "end", [field_expression] = "expression", [field_field] = "field", + [field_fields] = "fields", [field_file] = "file", [field_function] = "function", [field_index] = "index", [field_init] = "init", [field_left] = "left", + [field_method] = "method", [field_name] = "name", + [field_object] = "object", [field_operator] = "operator", [field_parameters] = "parameters", [field_record] = "record", @@ -768,6 +875,7 @@ static const char * const ts_field_names[] = { [field_right] = "right", [field_size] = "size", [field_start] = "start", + [field_super] = "super", [field_type] = "type", [field_value] = "value", }; @@ -776,53 +884,65 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [1] = {.index = 0, .length = 2}, [2] = {.index = 2, .length = 1}, [3] = {.index = 3, .length = 1}, - [4] = {.index = 4, .length = 1}, - [5] = {.index = 5, .length = 2}, - [6] = {.index = 7, .length = 3}, - [7] = {.index = 10, .length = 2}, - [8] = {.index = 12, .length = 2}, - [9] = {.index = 4, .length = 1}, - [10] = {.index = 14, .length = 2}, - [11] = {.index = 16, .length = 2}, - [12] = {.index = 18, .length = 2}, - [13] = {.index = 20, .length = 1}, - [14] = {.index = 21, .length = 1}, - [16] = {.index = 22, .length = 2}, - [17] = {.index = 24, .length = 1}, - [18] = {.index = 25, .length = 2}, - [19] = {.index = 27, .length = 3}, - [20] = {.index = 30, .length = 2}, - [21] = {.index = 32, .length = 2}, - [22] = {.index = 34, .length = 3}, - [23] = {.index = 37, .length = 3}, - [24] = {.index = 37, .length = 3}, - [25] = {.index = 40, .length = 3}, - [26] = {.index = 43, .length = 3}, - [27] = {.index = 46, .length = 3}, - [28] = {.index = 49, .length = 3}, - [29] = {.index = 52, .length = 1}, - [30] = {.index = 52, .length = 1}, - [31] = {.index = 53, .length = 3}, - [32] = {.index = 53, .length = 3}, - [33] = {.index = 56, .length = 2}, - [34] = {.index = 40, .length = 3}, - [35] = {.index = 43, .length = 3}, - [36] = {.index = 58, .length = 5}, - [37] = {.index = 63, .length = 4}, - [38] = {.index = 67, .length = 2}, - [39] = {.index = 67, .length = 2}, - [40] = {.index = 69, .length = 4}, - [41] = {.index = 69, .length = 4}, - [42] = {.index = 58, .length = 5}, - [43] = {.index = 73, .length = 4}, - [44] = {.index = 67, .length = 2}, - [45] = {.index = 67, .length = 2}, - [46] = {.index = 77, .length = 4}, - [47] = {.index = 81, .length = 4}, - [48] = {.index = 77, .length = 4}, - [49] = {.index = 85, .length = 2}, - [50] = {.index = 77, .length = 4}, - [51] = {.index = 77, .length = 4}, + [4] = {.index = 3, .length = 1}, + [5] = {.index = 4, .length = 1}, + [6] = {.index = 5, .length = 1}, + [7] = {.index = 6, .length = 2}, + [8] = {.index = 8, .length = 3}, + [9] = {.index = 11, .length = 2}, + [10] = {.index = 13, .length = 2}, + [11] = {.index = 5, .length = 1}, + [12] = {.index = 15, .length = 2}, + [13] = {.index = 17, .length = 2}, + [14] = {.index = 19, .length = 2}, + [15] = {.index = 21, .length = 1}, + [16] = {.index = 22, .length = 1}, + [18] = {.index = 23, .length = 2}, + [19] = {.index = 25, .length = 1}, + [21] = {.index = 26, .length = 1}, + [22] = {.index = 26, .length = 1}, + [23] = {.index = 27, .length = 1}, + [24] = {.index = 28, .length = 2}, + [25] = {.index = 30, .length = 3}, + [26] = {.index = 33, .length = 2}, + [27] = {.index = 35, .length = 2}, + [28] = {.index = 37, .length = 3}, + [29] = {.index = 40, .length = 3}, + [30] = {.index = 40, .length = 3}, + [31] = {.index = 43, .length = 2}, + [32] = {.index = 45, .length = 2}, + [33] = {.index = 47, .length = 3}, + [34] = {.index = 50, .length = 3}, + [35] = {.index = 53, .length = 3}, + [36] = {.index = 56, .length = 3}, + [37] = {.index = 59, .length = 1}, + [38] = {.index = 59, .length = 1}, + [39] = {.index = 60, .length = 3}, + [40] = {.index = 60, .length = 3}, + [41] = {.index = 63, .length = 2}, + [42] = {.index = 65, .length = 2}, + [43] = {.index = 67, .length = 3}, + [44] = {.index = 47, .length = 3}, + [45] = {.index = 50, .length = 3}, + [46] = {.index = 70, .length = 5}, + [47] = {.index = 75, .length = 4}, + [48] = {.index = 79, .length = 1}, + [49] = {.index = 80, .length = 2}, + [50] = {.index = 80, .length = 2}, + [51] = {.index = 82, .length = 4}, + [52] = {.index = 82, .length = 4}, + [53] = {.index = 86, .length = 4}, + [54] = {.index = 70, .length = 5}, + [55] = {.index = 90, .length = 4}, + [56] = {.index = 80, .length = 2}, + [57] = {.index = 80, .length = 2}, + [58] = {.index = 94, .length = 1}, + [59] = {.index = 95, .length = 4}, + [60] = {.index = 99, .length = 4}, + [61] = {.index = 95, .length = 4}, + [62] = {.index = 103, .length = 2}, + [63] = {.index = 95, .length = 4}, + [64] = {.index = 95, .length = 4}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -832,194 +952,234 @@ static const TSFieldMapEntry ts_field_map_entries[] = { [2] = {field_file, 1}, [3] = - {field_function, 0}, + {field_class, 1}, [4] = - {field_type, 0}, + {field_function, 0}, [5] = + {field_type, 0}, + [6] = {field_name, 1}, {field_parameters, 2}, - [7] = + [8] = {field_left, 0}, {field_operator, 1}, {field_right, 2}, - [10] = + [11] = {field_field, 2}, {field_record, 0}, - [12] = + [13] = {field_left, 0}, {field_right, 2}, - [14] = + [15] = {field_arguments, 2}, {field_function, 0}, - [16] = + [17] = {field_condition, 1}, {field_consequence, 3}, - [18] = + [19] = {field_body, 3}, {field_condition, 1}, - [20] = - {field_body, 2}, [21] = - {field_declarations, 1}, + {field_body, 2}, [22] = + {field_declarations, 1}, + [23] = {field_name, 1}, {field_value, 3}, - [24] = - {field_index, 2}, [25] = + {field_name, 1}, + [26] = + {field_super, 1}, + [27] = + {field_index, 2}, + [28] = {field_array, 0}, {field_index, 2}, - [27] = + [30] = {field_arguments, 2}, {field_arguments, 3}, {field_function, 0}, - [30] = + [33] = {field_body, 2}, {field_body, 3}, - [32] = + [35] = {field_body, 3}, {field_declarations, 1}, - [34] = + [37] = {field_body, 4}, {field_name, 1}, {field_parameters, 2}, - [37] = + [40] = {field_name, 1}, {field_parameters, 2}, {field_return_type, 4}, - [40] = + [43] = + {field_fields, 3}, + {field_name, 1}, + [45] = + {field_method, 2}, + {field_object, 0}, + [47] = {field_init, 5}, {field_size, 2}, {field_type, 0}, - [43] = + [50] = {field_field, 2}, {field_init, 4}, {field_type, 0}, - [46] = + [53] = {field_alternative, 5}, {field_condition, 1}, {field_consequence, 3}, - [49] = + [56] = {field_body, 3}, {field_body, 4}, {field_declarations, 1}, - [52] = + [59] = {field_element_type, 2}, - [53] = + [60] = {field_name, 1}, {field_type, 3}, {field_value, 5}, - [56] = + [63] = + {field_fields, 4}, + {field_name, 1}, + [65] = {field_expression, 2}, {field_type, 4}, - [58] = + [67] = + {field_arguments, 4}, + {field_method, 2}, + {field_object, 0}, + [70] = {field_field, 2}, {field_field, 5, .inherited = true}, {field_init, 4}, {field_init, 5, .inherited = true}, {field_type, 0}, - [63] = + [75] = {field_field, 0, .inherited = true}, {field_field, 1, .inherited = true}, {field_init, 0, .inherited = true}, {field_init, 1, .inherited = true}, - [67] = + [79] = + {field_fields, 2}, + [80] = {field_name, 1}, {field_type, 3}, - [69] = + [82] = {field_body, 6}, {field_name, 1}, {field_parameters, 2}, {field_return_type, 4}, - [73] = + [86] = + {field_arguments, 4}, + {field_arguments, 5}, + {field_method, 2}, + {field_object, 0}, + [90] = {field_body, 7}, {field_end, 5}, {field_index, 1}, {field_start, 3}, - [77] = + [94] = + {field_fields, 3}, + [95] = {field_name, 1}, {field_name, 4, .inherited = true}, {field_type, 3}, {field_type, 4, .inherited = true}, - [81] = + [99] = {field_name, 0, .inherited = true}, {field_name, 1, .inherited = true}, {field_type, 0, .inherited = true}, {field_type, 1, .inherited = true}, - [85] = + [103] = {field_field, 1}, {field_init, 3}, }; static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { [0] = {0}, - [4] = { - [0] = alias_sym_type_identifier, + [3] = { + [1] = alias_sym_type_identifier, }, [6] = { + [0] = alias_sym_type_identifier, + }, + [8] = { [1] = anon_sym_DASH, }, - [7] = { + [9] = { [2] = alias_sym_field_identifier, }, - [15] = { + [17] = { [0] = alias_sym_type_identifier, }, - [23] = { - [4] = alias_sym_type_identifier, + [20] = { + [0] = alias_sym_field_declaration, }, - [25] = { - [0] = alias_sym_type_identifier, - }, - [26] = { - [0] = alias_sym_type_identifier, - [2] = alias_sym_field_identifier, + [21] = { + [1] = alias_sym_type_identifier, }, [29] = { - [2] = alias_sym_type_identifier, + [4] = alias_sym_type_identifier, }, - [31] = { - [3] = alias_sym_type_identifier, + [33] = { + [0] = alias_sym_type_identifier, }, - [35] = { - [2] = alias_sym_field_identifier, - }, - [36] = { + [34] = { [0] = alias_sym_type_identifier, [2] = alias_sym_field_identifier, }, - [38] = { - [3] = alias_sym_type_identifier, + [37] = { + [2] = alias_sym_type_identifier, }, - [40] = { - [4] = alias_sym_type_identifier, - }, - [42] = { - [2] = alias_sym_field_identifier, - }, - [44] = { - [1] = alias_sym_field_identifier, + [39] = { [3] = alias_sym_type_identifier, }, [45] = { - [1] = alias_sym_field_identifier, + [2] = alias_sym_field_identifier, }, [46] = { - [3] = alias_sym_type_identifier, + [0] = alias_sym_type_identifier, + [2] = alias_sym_field_identifier, }, [49] = { - [1] = alias_sym_field_identifier, - }, - [50] = { - [1] = alias_sym_field_identifier, [3] = alias_sym_type_identifier, }, [51] = { + [4] = alias_sym_type_identifier, + }, + [54] = { + [2] = alias_sym_field_identifier, + }, + [56] = { + [1] = alias_sym_field_identifier, + [3] = alias_sym_type_identifier, + }, + [57] = { + [1] = alias_sym_field_identifier, + }, + [59] = { + [3] = alias_sym_type_identifier, + }, + [62] = { + [1] = alias_sym_field_identifier, + }, + [63] = { + [1] = alias_sym_field_identifier, + [3] = alias_sym_type_identifier, + }, + [64] = { [1] = alias_sym_field_identifier, }, }; static const uint16_t ts_non_terminal_alias_map[] = { + sym_variable_declaration, 2, + sym_variable_declaration, + alias_sym_field_declaration, 0, }; @@ -1298,308 +1458,369 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { if (lookahead == '_') ADVANCE(1); if (lookahead == 'a') ADVANCE(2); if (lookahead == 'b') ADVANCE(3); - if (lookahead == 'd') ADVANCE(4); - if (lookahead == 'e') ADVANCE(5); - if (lookahead == 'f') ADVANCE(6); - if (lookahead == 'i') ADVANCE(7); - if (lookahead == 'l') ADVANCE(8); - if (lookahead == 'n') ADVANCE(9); - if (lookahead == 'o') ADVANCE(10); - if (lookahead == 'p') ADVANCE(11); - if (lookahead == 't') ADVANCE(12); - if (lookahead == 'v') ADVANCE(13); - if (lookahead == 'w') ADVANCE(14); + if (lookahead == 'c') ADVANCE(4); + if (lookahead == 'd') ADVANCE(5); + if (lookahead == 'e') ADVANCE(6); + if (lookahead == 'f') ADVANCE(7); + if (lookahead == 'i') ADVANCE(8); + if (lookahead == 'l') ADVANCE(9); + if (lookahead == 'm') ADVANCE(10); + if (lookahead == 'n') ADVANCE(11); + if (lookahead == 'o') ADVANCE(12); + if (lookahead == 'p') ADVANCE(13); + if (lookahead == 't') ADVANCE(14); + if (lookahead == 'v') ADVANCE(15); + if (lookahead == 'w') ADVANCE(16); END_STATE(); case 1: - if (lookahead == 'c') ADVANCE(15); - if (lookahead == 'e') ADVANCE(16); - if (lookahead == 'l') ADVANCE(17); - if (lookahead == 'n') ADVANCE(18); + if (lookahead == 'c') ADVANCE(17); + if (lookahead == 'e') ADVANCE(18); + if (lookahead == 'l') ADVANCE(19); + if (lookahead == 'n') ADVANCE(20); END_STATE(); case 2: - if (lookahead == 'r') ADVANCE(19); + if (lookahead == 'r') ADVANCE(21); END_STATE(); case 3: - if (lookahead == 'r') ADVANCE(20); + if (lookahead == 'r') ADVANCE(22); END_STATE(); case 4: - if (lookahead == 'o') ADVANCE(21); + if (lookahead == 'l') ADVANCE(23); END_STATE(); case 5: - if (lookahead == 'l') ADVANCE(22); - if (lookahead == 'n') ADVANCE(23); + if (lookahead == 'o') ADVANCE(24); END_STATE(); case 6: - if (lookahead == 'o') ADVANCE(24); - if (lookahead == 'u') ADVANCE(25); + if (lookahead == 'l') ADVANCE(25); + if (lookahead == 'n') ADVANCE(26); + if (lookahead == 'x') ADVANCE(27); END_STATE(); case 7: - if (lookahead == 'f') ADVANCE(26); - if (lookahead == 'm') ADVANCE(27); - if (lookahead == 'n') ADVANCE(28); + if (lookahead == 'o') ADVANCE(28); + if (lookahead == 'u') ADVANCE(29); END_STATE(); case 8: - if (lookahead == 'e') ADVANCE(29); + if (lookahead == 'f') ADVANCE(30); + if (lookahead == 'm') ADVANCE(31); + if (lookahead == 'n') ADVANCE(32); END_STATE(); case 9: - if (lookahead == 'i') ADVANCE(30); + if (lookahead == 'e') ADVANCE(33); END_STATE(); case 10: - if (lookahead == 'f') ADVANCE(31); + if (lookahead == 'e') ADVANCE(34); END_STATE(); case 11: - if (lookahead == 'r') ADVANCE(32); + if (lookahead == 'e') ADVANCE(35); + if (lookahead == 'i') ADVANCE(36); END_STATE(); case 12: - if (lookahead == 'h') ADVANCE(33); - if (lookahead == 'o') ADVANCE(34); - if (lookahead == 'y') ADVANCE(35); + if (lookahead == 'f') ADVANCE(37); END_STATE(); case 13: - if (lookahead == 'a') ADVANCE(36); + if (lookahead == 'r') ADVANCE(38); END_STATE(); case 14: - if (lookahead == 'h') ADVANCE(37); + if (lookahead == 'h') ADVANCE(39); + if (lookahead == 'o') ADVANCE(40); + if (lookahead == 'y') ADVANCE(41); END_STATE(); case 15: - if (lookahead == 'a') ADVANCE(38); - if (lookahead == 'h') ADVANCE(39); - END_STATE(); - case 16: - if (lookahead == 'x') ADVANCE(40); - END_STATE(); - case 17: - if (lookahead == 'v') ADVANCE(41); - END_STATE(); - case 18: if (lookahead == 'a') ADVANCE(42); END_STATE(); + case 16: + if (lookahead == 'h') ADVANCE(43); + END_STATE(); + case 17: + if (lookahead == 'a') ADVANCE(44); + if (lookahead == 'h') ADVANCE(45); + END_STATE(); + case 18: + if (lookahead == 'x') ADVANCE(46); + END_STATE(); case 19: - if (lookahead == 'r') ADVANCE(43); + if (lookahead == 'v') ADVANCE(47); END_STATE(); case 20: - if (lookahead == 'e') ADVANCE(44); + if (lookahead == 'a') ADVANCE(48); END_STATE(); case 21: - ACCEPT_TOKEN(anon_sym_do); + if (lookahead == 'r') ADVANCE(49); END_STATE(); case 22: - if (lookahead == 's') ADVANCE(45); + if (lookahead == 'e') ADVANCE(50); END_STATE(); case 23: - if (lookahead == 'd') ADVANCE(46); + if (lookahead == 'a') ADVANCE(51); END_STATE(); case 24: - if (lookahead == 'r') ADVANCE(47); + ACCEPT_TOKEN(anon_sym_do); END_STATE(); case 25: - if (lookahead == 'n') ADVANCE(48); + if (lookahead == 's') ADVANCE(52); END_STATE(); case 26: - ACCEPT_TOKEN(anon_sym_if); + if (lookahead == 'd') ADVANCE(53); END_STATE(); case 27: - if (lookahead == 'p') ADVANCE(49); + if (lookahead == 't') ADVANCE(54); END_STATE(); case 28: - ACCEPT_TOKEN(anon_sym_in); - END_STATE(); - case 29: - if (lookahead == 't') ADVANCE(50); - END_STATE(); - case 30: - if (lookahead == 'l') ADVANCE(51); - END_STATE(); - case 31: - ACCEPT_TOKEN(anon_sym_of); - END_STATE(); - case 32: - if (lookahead == 'i') ADVANCE(52); - END_STATE(); - case 33: - if (lookahead == 'e') ADVANCE(53); - END_STATE(); - case 34: - ACCEPT_TOKEN(anon_sym_to); - END_STATE(); - case 35: - if (lookahead == 'p') ADVANCE(54); - END_STATE(); - case 36: if (lookahead == 'r') ADVANCE(55); END_STATE(); + case 29: + if (lookahead == 'n') ADVANCE(56); + END_STATE(); + case 30: + ACCEPT_TOKEN(anon_sym_if); + END_STATE(); + case 31: + if (lookahead == 'p') ADVANCE(57); + END_STATE(); + case 32: + ACCEPT_TOKEN(anon_sym_in); + END_STATE(); + case 33: + if (lookahead == 't') ADVANCE(58); + END_STATE(); + case 34: + if (lookahead == 't') ADVANCE(59); + END_STATE(); + case 35: + if (lookahead == 'w') ADVANCE(60); + END_STATE(); + case 36: + if (lookahead == 'l') ADVANCE(61); + END_STATE(); case 37: - if (lookahead == 'i') ADVANCE(56); + ACCEPT_TOKEN(anon_sym_of); END_STATE(); case 38: - if (lookahead == 's') ADVANCE(57); + if (lookahead == 'i') ADVANCE(62); END_STATE(); case 39: - if (lookahead == 'u') ADVANCE(58); + if (lookahead == 'e') ADVANCE(63); END_STATE(); case 40: - if (lookahead == 'p') ADVANCE(59); + ACCEPT_TOKEN(anon_sym_to); END_STATE(); case 41: - if (lookahead == 'a') ADVANCE(60); + if (lookahead == 'p') ADVANCE(64); END_STATE(); case 42: - if (lookahead == 'm') ADVANCE(61); + if (lookahead == 'r') ADVANCE(65); END_STATE(); case 43: - if (lookahead == 'a') ADVANCE(62); + if (lookahead == 'i') ADVANCE(66); END_STATE(); case 44: - if (lookahead == 'a') ADVANCE(63); + if (lookahead == 's') ADVANCE(67); END_STATE(); case 45: - if (lookahead == 'e') ADVANCE(64); + if (lookahead == 'u') ADVANCE(68); END_STATE(); case 46: - ACCEPT_TOKEN(anon_sym_end); + if (lookahead == 'p') ADVANCE(69); END_STATE(); case 47: - ACCEPT_TOKEN(anon_sym_for); + if (lookahead == 'a') ADVANCE(70); END_STATE(); case 48: - if (lookahead == 'c') ADVANCE(65); + if (lookahead == 'm') ADVANCE(71); END_STATE(); case 49: - if (lookahead == 'o') ADVANCE(66); + if (lookahead == 'a') ADVANCE(72); END_STATE(); case 50: - ACCEPT_TOKEN(anon_sym_let); + if (lookahead == 'a') ADVANCE(73); END_STATE(); case 51: - ACCEPT_TOKEN(sym_nil_literal); + if (lookahead == 's') ADVANCE(74); END_STATE(); case 52: - if (lookahead == 'm') ADVANCE(67); + if (lookahead == 'e') ADVANCE(75); END_STATE(); case 53: - if (lookahead == 'n') ADVANCE(68); + ACCEPT_TOKEN(anon_sym_end); END_STATE(); case 54: - if (lookahead == 'e') ADVANCE(69); + if (lookahead == 'e') ADVANCE(76); END_STATE(); case 55: - ACCEPT_TOKEN(anon_sym_var); + ACCEPT_TOKEN(anon_sym_for); END_STATE(); case 56: - if (lookahead == 'l') ADVANCE(70); + if (lookahead == 'c') ADVANCE(77); END_STATE(); case 57: - if (lookahead == 't') ADVANCE(71); + if (lookahead == 'o') ADVANCE(78); END_STATE(); case 58: - if (lookahead == 'n') ADVANCE(72); + ACCEPT_TOKEN(anon_sym_let); END_STATE(); case 59: - ACCEPT_TOKEN(anon_sym__exp); + if (lookahead == 'h') ADVANCE(79); END_STATE(); case 60: - if (lookahead == 'l') ADVANCE(73); + ACCEPT_TOKEN(anon_sym_new); END_STATE(); case 61: - if (lookahead == 'e') ADVANCE(74); + ACCEPT_TOKEN(sym_nil_literal); END_STATE(); case 62: - if (lookahead == 'y') ADVANCE(75); + if (lookahead == 'm') ADVANCE(80); END_STATE(); case 63: - if (lookahead == 'k') ADVANCE(76); + if (lookahead == 'n') ADVANCE(81); END_STATE(); case 64: - ACCEPT_TOKEN(anon_sym_else); + if (lookahead == 'e') ADVANCE(82); END_STATE(); case 65: - if (lookahead == 't') ADVANCE(77); + ACCEPT_TOKEN(anon_sym_var); END_STATE(); case 66: - if (lookahead == 'r') ADVANCE(78); + if (lookahead == 'l') ADVANCE(83); END_STATE(); case 67: - if (lookahead == 'i') ADVANCE(79); + if (lookahead == 't') ADVANCE(84); END_STATE(); case 68: - ACCEPT_TOKEN(anon_sym_then); + if (lookahead == 'n') ADVANCE(85); END_STATE(); case 69: - ACCEPT_TOKEN(anon_sym_type); + ACCEPT_TOKEN(anon_sym__exp); END_STATE(); case 70: - if (lookahead == 'e') ADVANCE(80); + if (lookahead == 'l') ADVANCE(86); END_STATE(); case 71: - ACCEPT_TOKEN(anon_sym__cast); + if (lookahead == 'e') ADVANCE(87); END_STATE(); case 72: - if (lookahead == 'k') ADVANCE(81); + if (lookahead == 'y') ADVANCE(88); END_STATE(); case 73: - if (lookahead == 'u') ADVANCE(82); + if (lookahead == 'k') ADVANCE(89); END_STATE(); case 74: - if (lookahead == 't') ADVANCE(83); + if (lookahead == 's') ADVANCE(90); END_STATE(); case 75: - ACCEPT_TOKEN(anon_sym_array); + ACCEPT_TOKEN(anon_sym_else); END_STATE(); case 76: - ACCEPT_TOKEN(sym_break_expression); + if (lookahead == 'n') ADVANCE(91); END_STATE(); case 77: - if (lookahead == 'i') ADVANCE(84); + if (lookahead == 't') ADVANCE(92); END_STATE(); case 78: - if (lookahead == 't') ADVANCE(85); + if (lookahead == 'r') ADVANCE(93); END_STATE(); case 79: - if (lookahead == 't') ADVANCE(86); + if (lookahead == 'o') ADVANCE(94); END_STATE(); case 80: - ACCEPT_TOKEN(anon_sym_while); + if (lookahead == 'i') ADVANCE(95); END_STATE(); case 81: - if (lookahead == 's') ADVANCE(87); + ACCEPT_TOKEN(anon_sym_then); END_STATE(); case 82: - if (lookahead == 'e') ADVANCE(88); + ACCEPT_TOKEN(anon_sym_type); END_STATE(); case 83: - if (lookahead == 'y') ADVANCE(89); + if (lookahead == 'e') ADVANCE(96); END_STATE(); case 84: - if (lookahead == 'o') ADVANCE(90); + ACCEPT_TOKEN(anon_sym__cast); END_STATE(); case 85: - ACCEPT_TOKEN(anon_sym_import); + if (lookahead == 'k') ADVANCE(97); END_STATE(); case 86: - if (lookahead == 'i') ADVANCE(91); + if (lookahead == 'u') ADVANCE(98); END_STATE(); case 87: - ACCEPT_TOKEN(anon_sym__chunks); + if (lookahead == 't') ADVANCE(99); END_STATE(); case 88: - ACCEPT_TOKEN(anon_sym__lvalue); + ACCEPT_TOKEN(anon_sym_array); END_STATE(); case 89: - ACCEPT_TOKEN(anon_sym__namety); + ACCEPT_TOKEN(sym_break_expression); END_STATE(); case 90: - if (lookahead == 'n') ADVANCE(92); + ACCEPT_TOKEN(anon_sym_class); END_STATE(); case 91: - if (lookahead == 'v') ADVANCE(93); + if (lookahead == 'd') ADVANCE(100); END_STATE(); case 92: - ACCEPT_TOKEN(anon_sym_function); + if (lookahead == 'i') ADVANCE(101); END_STATE(); case 93: - if (lookahead == 'e') ADVANCE(94); + if (lookahead == 't') ADVANCE(102); END_STATE(); case 94: + if (lookahead == 'd') ADVANCE(103); + END_STATE(); + case 95: + if (lookahead == 't') ADVANCE(104); + END_STATE(); + case 96: + ACCEPT_TOKEN(anon_sym_while); + END_STATE(); + case 97: + if (lookahead == 's') ADVANCE(105); + END_STATE(); + case 98: + if (lookahead == 'e') ADVANCE(106); + END_STATE(); + case 99: + if (lookahead == 'y') ADVANCE(107); + END_STATE(); + case 100: + if (lookahead == 's') ADVANCE(108); + END_STATE(); + case 101: + if (lookahead == 'o') ADVANCE(109); + END_STATE(); + case 102: + ACCEPT_TOKEN(anon_sym_import); + END_STATE(); + case 103: + ACCEPT_TOKEN(anon_sym_method); + END_STATE(); + case 104: + if (lookahead == 'i') ADVANCE(110); + END_STATE(); + case 105: + ACCEPT_TOKEN(anon_sym__chunks); + END_STATE(); + case 106: + ACCEPT_TOKEN(anon_sym__lvalue); + END_STATE(); + case 107: + ACCEPT_TOKEN(anon_sym__namety); + END_STATE(); + case 108: + ACCEPT_TOKEN(anon_sym_extends); + END_STATE(); + case 109: + if (lookahead == 'n') ADVANCE(111); + END_STATE(); + case 110: + if (lookahead == 'v') ADVANCE(112); + END_STATE(); + case 111: + ACCEPT_TOKEN(anon_sym_function); + END_STATE(); + case 112: + if (lookahead == 'e') ADVANCE(113); + END_STATE(); + case 113: ACCEPT_TOKEN(anon_sym_primitive); END_STATE(); default: @@ -1645,11 +1866,11 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [34] = {.lex_state = 0, .external_lex_state = 1}, [35] = {.lex_state = 0, .external_lex_state = 1}, [36] = {.lex_state = 0, .external_lex_state = 1}, - [37] = {.lex_state = 9, .external_lex_state = 1}, + [37] = {.lex_state = 0, .external_lex_state = 1}, [38] = {.lex_state = 0, .external_lex_state = 1}, - [39] = {.lex_state = 9, .external_lex_state = 1}, - [40] = {.lex_state = 9, .external_lex_state = 1}, - [41] = {.lex_state = 9, .external_lex_state = 1}, + [39] = {.lex_state = 0, .external_lex_state = 1}, + [40] = {.lex_state = 0, .external_lex_state = 1}, + [41] = {.lex_state = 0, .external_lex_state = 1}, [42] = {.lex_state = 9, .external_lex_state = 1}, [43] = {.lex_state = 9, .external_lex_state = 1}, [44] = {.lex_state = 9, .external_lex_state = 1}, @@ -1697,37 +1918,37 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [86] = {.lex_state = 9, .external_lex_state = 1}, [87] = {.lex_state = 9, .external_lex_state = 1}, [88] = {.lex_state = 9, .external_lex_state = 1}, - [89] = {.lex_state = 0, .external_lex_state = 1}, + [89] = {.lex_state = 9, .external_lex_state = 1}, [90] = {.lex_state = 9, .external_lex_state = 1}, - [91] = {.lex_state = 0, .external_lex_state = 1}, - [92] = {.lex_state = 0, .external_lex_state = 1}, + [91] = {.lex_state = 9, .external_lex_state = 1}, + [92] = {.lex_state = 9, .external_lex_state = 1}, [93] = {.lex_state = 9, .external_lex_state = 1}, - [94] = {.lex_state = 0, .external_lex_state = 1}, + [94] = {.lex_state = 9, .external_lex_state = 1}, [95] = {.lex_state = 9, .external_lex_state = 1}, - [96] = {.lex_state = 0, .external_lex_state = 1}, - [97] = {.lex_state = 0, .external_lex_state = 1}, + [96] = {.lex_state = 9, .external_lex_state = 1}, + [97] = {.lex_state = 9, .external_lex_state = 1}, [98] = {.lex_state = 0, .external_lex_state = 1}, - [99] = {.lex_state = 9, .external_lex_state = 1}, - [100] = {.lex_state = 0, .external_lex_state = 1}, + [99] = {.lex_state = 0, .external_lex_state = 1}, + [100] = {.lex_state = 9, .external_lex_state = 1}, [101] = {.lex_state = 0, .external_lex_state = 1}, [102] = {.lex_state = 9, .external_lex_state = 1}, [103] = {.lex_state = 9, .external_lex_state = 1}, [104] = {.lex_state = 0, .external_lex_state = 1}, [105] = {.lex_state = 9, .external_lex_state = 1}, - [106] = {.lex_state = 0, .external_lex_state = 1}, + [106] = {.lex_state = 9, .external_lex_state = 1}, [107] = {.lex_state = 9, .external_lex_state = 1}, - [108] = {.lex_state = 9, .external_lex_state = 1}, - [109] = {.lex_state = 9, .external_lex_state = 1}, - [110] = {.lex_state = 9, .external_lex_state = 1}, - [111] = {.lex_state = 9, .external_lex_state = 1}, - [112] = {.lex_state = 9, .external_lex_state = 1}, - [113] = {.lex_state = 9, .external_lex_state = 1}, - [114] = {.lex_state = 9, .external_lex_state = 1}, + [108] = {.lex_state = 0, .external_lex_state = 1}, + [109] = {.lex_state = 0, .external_lex_state = 1}, + [110] = {.lex_state = 0, .external_lex_state = 1}, + [111] = {.lex_state = 0, .external_lex_state = 1}, + [112] = {.lex_state = 0, .external_lex_state = 1}, + [113] = {.lex_state = 0, .external_lex_state = 1}, + [114] = {.lex_state = 0, .external_lex_state = 1}, [115] = {.lex_state = 9, .external_lex_state = 1}, [116] = {.lex_state = 9, .external_lex_state = 1}, [117] = {.lex_state = 9, .external_lex_state = 1}, [118] = {.lex_state = 9, .external_lex_state = 1}, - [119] = {.lex_state = 9, .external_lex_state = 1}, + [119] = {.lex_state = 0, .external_lex_state = 1}, [120] = {.lex_state = 9, .external_lex_state = 1}, [121] = {.lex_state = 9, .external_lex_state = 1}, [122] = {.lex_state = 9, .external_lex_state = 1}, @@ -1740,74 +1961,74 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [129] = {.lex_state = 9, .external_lex_state = 1}, [130] = {.lex_state = 9, .external_lex_state = 1}, [131] = {.lex_state = 9, .external_lex_state = 1}, - [132] = {.lex_state = 1, .external_lex_state = 1}, - [133] = {.lex_state = 1, .external_lex_state = 1}, - [134] = {.lex_state = 1, .external_lex_state = 1}, - [135] = {.lex_state = 0, .external_lex_state = 1}, - [136] = {.lex_state = 0, .external_lex_state = 1}, + [132] = {.lex_state = 9, .external_lex_state = 1}, + [133] = {.lex_state = 9, .external_lex_state = 1}, + [134] = {.lex_state = 9, .external_lex_state = 1}, + [135] = {.lex_state = 9, .external_lex_state = 1}, + [136] = {.lex_state = 9, .external_lex_state = 1}, [137] = {.lex_state = 9, .external_lex_state = 1}, [138] = {.lex_state = 9, .external_lex_state = 1}, [139] = {.lex_state = 9, .external_lex_state = 1}, - [140] = {.lex_state = 0, .external_lex_state = 1}, - [141] = {.lex_state = 0, .external_lex_state = 1}, - [142] = {.lex_state = 0, .external_lex_state = 1}, - [143] = {.lex_state = 0, .external_lex_state = 1}, - [144] = {.lex_state = 0, .external_lex_state = 1}, + [140] = {.lex_state = 9, .external_lex_state = 1}, + [141] = {.lex_state = 9, .external_lex_state = 1}, + [142] = {.lex_state = 9, .external_lex_state = 1}, + [143] = {.lex_state = 9, .external_lex_state = 1}, + [144] = {.lex_state = 9, .external_lex_state = 1}, [145] = {.lex_state = 9, .external_lex_state = 1}, [146] = {.lex_state = 9, .external_lex_state = 1}, - [147] = {.lex_state = 0, .external_lex_state = 1}, - [148] = {.lex_state = 0, .external_lex_state = 1}, + [147] = {.lex_state = 9, .external_lex_state = 1}, + [148] = {.lex_state = 9, .external_lex_state = 1}, [149] = {.lex_state = 9, .external_lex_state = 1}, - [150] = {.lex_state = 0, .external_lex_state = 1}, + [150] = {.lex_state = 9, .external_lex_state = 1}, [151] = {.lex_state = 9, .external_lex_state = 1}, - [152] = {.lex_state = 0, .external_lex_state = 1}, + [152] = {.lex_state = 9, .external_lex_state = 1}, [153] = {.lex_state = 9, .external_lex_state = 1}, [154] = {.lex_state = 9, .external_lex_state = 1}, - [155] = {.lex_state = 0, .external_lex_state = 1}, - [156] = {.lex_state = 0, .external_lex_state = 1}, - [157] = {.lex_state = 0, .external_lex_state = 1}, + [155] = {.lex_state = 9, .external_lex_state = 1}, + [156] = {.lex_state = 9, .external_lex_state = 1}, + [157] = {.lex_state = 9, .external_lex_state = 1}, [158] = {.lex_state = 9, .external_lex_state = 1}, - [159] = {.lex_state = 0, .external_lex_state = 1}, - [160] = {.lex_state = 0, .external_lex_state = 1}, - [161] = {.lex_state = 0, .external_lex_state = 1}, - [162] = {.lex_state = 9, .external_lex_state = 1}, - [163] = {.lex_state = 9, .external_lex_state = 1}, + [159] = {.lex_state = 9, .external_lex_state = 1}, + [160] = {.lex_state = 9, .external_lex_state = 1}, + [161] = {.lex_state = 9, .external_lex_state = 1}, + [162] = {.lex_state = 1, .external_lex_state = 1}, + [163] = {.lex_state = 1, .external_lex_state = 1}, [164] = {.lex_state = 9, .external_lex_state = 1}, - [165] = {.lex_state = 0, .external_lex_state = 1}, - [166] = {.lex_state = 0, .external_lex_state = 1}, + [165] = {.lex_state = 1, .external_lex_state = 1}, + [166] = {.lex_state = 9, .external_lex_state = 1}, [167] = {.lex_state = 0, .external_lex_state = 1}, - [168] = {.lex_state = 0, .external_lex_state = 1}, + [168] = {.lex_state = 9, .external_lex_state = 1}, [169] = {.lex_state = 0, .external_lex_state = 1}, [170] = {.lex_state = 9, .external_lex_state = 1}, - [171] = {.lex_state = 0, .external_lex_state = 1}, - [172] = {.lex_state = 0, .external_lex_state = 1}, - [173] = {.lex_state = 0, .external_lex_state = 1}, + [171] = {.lex_state = 9, .external_lex_state = 1}, + [172] = {.lex_state = 9, .external_lex_state = 1}, + [173] = {.lex_state = 9, .external_lex_state = 1}, [174] = {.lex_state = 0, .external_lex_state = 1}, - [175] = {.lex_state = 0, .external_lex_state = 1}, - [176] = {.lex_state = 0, .external_lex_state = 1}, - [177] = {.lex_state = 0, .external_lex_state = 1}, + [175] = {.lex_state = 9, .external_lex_state = 1}, + [176] = {.lex_state = 9, .external_lex_state = 1}, + [177] = {.lex_state = 9, .external_lex_state = 1}, [178] = {.lex_state = 0, .external_lex_state = 1}, [179] = {.lex_state = 0, .external_lex_state = 1}, [180] = {.lex_state = 0, .external_lex_state = 1}, [181] = {.lex_state = 9, .external_lex_state = 1}, - [182] = {.lex_state = 9, .external_lex_state = 1}, - [183] = {.lex_state = 0, .external_lex_state = 1}, - [184] = {.lex_state = 9, .external_lex_state = 1}, + [182] = {.lex_state = 0, .external_lex_state = 1}, + [183] = {.lex_state = 9, .external_lex_state = 1}, + [184] = {.lex_state = 0, .external_lex_state = 1}, [185] = {.lex_state = 9, .external_lex_state = 1}, [186] = {.lex_state = 9, .external_lex_state = 1}, - [187] = {.lex_state = 9, .external_lex_state = 1}, + [187] = {.lex_state = 0, .external_lex_state = 1}, [188] = {.lex_state = 0, .external_lex_state = 1}, [189] = {.lex_state = 0, .external_lex_state = 1}, [190] = {.lex_state = 9, .external_lex_state = 1}, - [191] = {.lex_state = 9, .external_lex_state = 1}, - [192] = {.lex_state = 2, .external_lex_state = 1}, + [191] = {.lex_state = 0, .external_lex_state = 1}, + [192] = {.lex_state = 9, .external_lex_state = 1}, [193] = {.lex_state = 9, .external_lex_state = 1}, - [194] = {.lex_state = 2, .external_lex_state = 1}, - [195] = {.lex_state = 9, .external_lex_state = 1}, - [196] = {.lex_state = 2, .external_lex_state = 1}, + [194] = {.lex_state = 0, .external_lex_state = 1}, + [195] = {.lex_state = 0, .external_lex_state = 1}, + [196] = {.lex_state = 0, .external_lex_state = 1}, [197] = {.lex_state = 0, .external_lex_state = 1}, - [198] = {.lex_state = 2, .external_lex_state = 1}, - [199] = {.lex_state = 9, .external_lex_state = 1}, + [198] = {.lex_state = 0, .external_lex_state = 1}, + [199] = {.lex_state = 0, .external_lex_state = 1}, [200] = {.lex_state = 0, .external_lex_state = 1}, [201] = {.lex_state = 0, .external_lex_state = 1}, [202] = {.lex_state = 0, .external_lex_state = 1}, @@ -1817,12 +2038,60 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [206] = {.lex_state = 0, .external_lex_state = 1}, [207] = {.lex_state = 0, .external_lex_state = 1}, [208] = {.lex_state = 0, .external_lex_state = 1}, - [209] = {.lex_state = 0, .external_lex_state = 1}, + [209] = {.lex_state = 9, .external_lex_state = 1}, [210] = {.lex_state = 0, .external_lex_state = 1}, - [211] = {.lex_state = 0, .external_lex_state = 1}, + [211] = {.lex_state = 9, .external_lex_state = 1}, [212] = {.lex_state = 0, .external_lex_state = 1}, [213] = {.lex_state = 9, .external_lex_state = 1}, - [214] = {.lex_state = 0, .external_lex_state = 1}, + [214] = {.lex_state = 9, .external_lex_state = 1}, + [215] = {.lex_state = 9, .external_lex_state = 1}, + [216] = {.lex_state = 0, .external_lex_state = 1}, + [217] = {.lex_state = 0, .external_lex_state = 1}, + [218] = {.lex_state = 0, .external_lex_state = 1}, + [219] = {.lex_state = 0, .external_lex_state = 1}, + [220] = {.lex_state = 0, .external_lex_state = 1}, + [221] = {.lex_state = 2, .external_lex_state = 1}, + [222] = {.lex_state = 9, .external_lex_state = 1}, + [223] = {.lex_state = 9, .external_lex_state = 1}, + [224] = {.lex_state = 2, .external_lex_state = 1}, + [225] = {.lex_state = 0, .external_lex_state = 1}, + [226] = {.lex_state = 2, .external_lex_state = 1}, + [227] = {.lex_state = 0, .external_lex_state = 1}, + [228] = {.lex_state = 0, .external_lex_state = 1}, + [229] = {.lex_state = 0, .external_lex_state = 1}, + [230] = {.lex_state = 9, .external_lex_state = 1}, + [231] = {.lex_state = 0, .external_lex_state = 1}, + [232] = {.lex_state = 0, .external_lex_state = 1}, + [233] = {.lex_state = 9, .external_lex_state = 1}, + [234] = {.lex_state = 2, .external_lex_state = 1}, + [235] = {.lex_state = 9, .external_lex_state = 1}, + [236] = {.lex_state = 0, .external_lex_state = 1}, + [237] = {.lex_state = 9, .external_lex_state = 1}, + [238] = {.lex_state = 0, .external_lex_state = 1}, + [239] = {.lex_state = 0, .external_lex_state = 1}, + [240] = {.lex_state = 0, .external_lex_state = 1}, + [241] = {.lex_state = 0, .external_lex_state = 1}, + [242] = {.lex_state = 0, .external_lex_state = 1}, + [243] = {.lex_state = 0, .external_lex_state = 1}, + [244] = {.lex_state = 0, .external_lex_state = 1}, + [245] = {.lex_state = 9, .external_lex_state = 1}, + [246] = {.lex_state = 0, .external_lex_state = 1}, + [247] = {.lex_state = 0, .external_lex_state = 1}, + [248] = {.lex_state = 9, .external_lex_state = 1}, + [249] = {.lex_state = 0, .external_lex_state = 1}, + [250] = {.lex_state = 0, .external_lex_state = 1}, + [251] = {.lex_state = 0, .external_lex_state = 1}, + [252] = {.lex_state = 9, .external_lex_state = 1}, + [253] = {.lex_state = 0, .external_lex_state = 1}, + [254] = {.lex_state = 9, .external_lex_state = 1}, + [255] = {.lex_state = 9, .external_lex_state = 1}, + [256] = {.lex_state = 0, .external_lex_state = 1}, + [257] = {.lex_state = 0, .external_lex_state = 1}, + [258] = {.lex_state = 0, .external_lex_state = 1}, + [259] = {.lex_state = 9, .external_lex_state = 1}, + [260] = {.lex_state = 9, .external_lex_state = 1}, + [261] = {.lex_state = 0, .external_lex_state = 1}, + [262] = {.lex_state = 0, .external_lex_state = 1}, }; enum { @@ -1888,6 +2157,10 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_primitive] = ACTIONS(1), [anon_sym_var] = ACTIONS(1), [anon_sym_import] = ACTIONS(1), + [anon_sym_new] = ACTIONS(1), + [anon_sym_class] = ACTIONS(1), + [anon_sym_extends] = ACTIONS(1), + [anon_sym_method] = ACTIONS(1), [anon_sym__chunks] = ACTIONS(1), [anon_sym__cast] = ACTIONS(1), [anon_sym__exp] = ACTIONS(1), @@ -1896,37 +2169,41 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_comment] = ACTIONS(3), }, [1] = { - [sym_source_file] = STATE(178), - [sym__expr] = STATE(98), - [sym_string_literal] = STATE(98), - [sym__lvalue] = STATE(40), - [sym_record_value] = STATE(40), - [sym_array_value] = STATE(40), - [sym_function_call] = STATE(98), - [sym_unary_expression] = STATE(98), - [sym_binary_expression] = STATE(98), - [sym_sequence_expression] = STATE(98), - [sym_array_expression] = STATE(98), - [sym_record_expression] = STATE(98), - [sym_assignment_expression] = STATE(98), - [sym_if_expression] = STATE(98), - [sym_while_expression] = STATE(98), - [sym_for_expression] = STATE(98), - [sym_let_expression] = STATE(98), - [aux_sym__declaration_chunks] = STATE(87), - [sym__declaration_chunk] = STATE(87), - [sym_type_declaration] = STATE(87), - [sym_function_declaration] = STATE(87), - [sym_primitive_declaration] = STATE(87), - [sym_variable_declaration] = STATE(87), - [sym_import_declaration] = STATE(87), - [sym_meta_chunks] = STATE(87), - [sym_meta_cast] = STATE(98), - [sym_meta_expression] = STATE(98), - [sym_meta_lvalue] = STATE(40), - [sym_meta_type_identifier] = STATE(165), - [aux_sym__declaration_chunk_repeat1] = STATE(87), - [aux_sym__declaration_chunk_repeat2] = STATE(87), + [sym_source_file] = STATE(217), + [sym__expr] = STATE(119), + [sym_string_literal] = STATE(119), + [sym__lvalue] = STATE(44), + [sym_record_value] = STATE(44), + [sym_array_value] = STATE(44), + [sym_function_call] = STATE(119), + [sym_unary_expression] = STATE(119), + [sym_binary_expression] = STATE(119), + [sym_sequence_expression] = STATE(119), + [sym_array_expression] = STATE(119), + [sym_record_expression] = STATE(119), + [sym_assignment_expression] = STATE(119), + [sym_if_expression] = STATE(119), + [sym_while_expression] = STATE(119), + [sym_for_expression] = STATE(119), + [sym_let_expression] = STATE(119), + [aux_sym__declaration_chunks] = STATE(95), + [sym__declaration_chunk] = STATE(95), + [sym_type_declaration] = STATE(95), + [sym_function_declaration] = STATE(95), + [sym_primitive_declaration] = STATE(95), + [sym_variable_declaration] = STATE(95), + [sym_import_declaration] = STATE(95), + [sym_new_expression] = STATE(119), + [sym_method_call] = STATE(119), + [sym_class_declaration] = STATE(95), + [sym_meta_chunks] = STATE(95), + [sym_meta_cast] = STATE(119), + [sym_meta_expression] = STATE(119), + [sym_meta_lvalue] = STATE(44), + [sym_meta_type_identifier] = STATE(199), + [aux_sym__declaration_chunk_repeat1] = STATE(95), + [aux_sym__declaration_chunk_repeat2] = STATE(95), + [aux_sym__declaration_chunk_repeat3] = STATE(95), [ts_builtin_sym_end] = ACTIONS(5), [sym_identifier] = ACTIONS(7), [sym_nil_literal] = ACTIONS(9), @@ -1944,17 +2221,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_primitive] = ACTIONS(29), [anon_sym_var] = ACTIONS(31), [anon_sym_import] = ACTIONS(33), - [anon_sym__chunks] = ACTIONS(35), - [anon_sym__cast] = ACTIONS(37), - [anon_sym__exp] = ACTIONS(39), - [anon_sym__lvalue] = ACTIONS(41), - [anon_sym__namety] = ACTIONS(43), + [anon_sym_new] = ACTIONS(35), + [anon_sym_class] = ACTIONS(37), + [anon_sym__chunks] = ACTIONS(39), + [anon_sym__cast] = ACTIONS(41), + [anon_sym__exp] = ACTIONS(43), + [anon_sym__lvalue] = ACTIONS(45), + [anon_sym__namety] = ACTIONS(47), [sym_comment] = ACTIONS(3), }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 18, + [0] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -1973,84 +2252,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, - anon_sym__namety, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, ACTIONS(47), 1, - anon_sym_end, - STATE(165), 1, - sym_meta_type_identifier, - ACTIONS(45), 3, - sym_nil_literal, - sym_integer_literal, - sym_break_expression, - STATE(40), 4, - sym__lvalue, - sym_record_value, - sym_array_value, - sym_meta_lvalue, - STATE(95), 15, - sym__expr, - sym_string_literal, - sym_function_call, - sym_unary_expression, - sym_binary_expression, - sym_sequence_expression, - sym_array_expression, - sym_record_expression, - sym_assignment_expression, - sym_if_expression, - sym_while_expression, - sym_for_expression, - sym_let_expression, - sym_meta_cast, - sym_meta_expression, - [74] = 18, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - sym_identifier, - ACTIONS(11), 1, - anon_sym_DQUOTE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - anon_sym_DASH, - ACTIONS(17), 1, - anon_sym_if, - ACTIONS(19), 1, - anon_sym_while, - ACTIONS(21), 1, - anon_sym_for, - ACTIONS(23), 1, - anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, - ACTIONS(41), 1, - anon_sym__lvalue, - ACTIONS(43), 1, anon_sym__namety, ACTIONS(51), 1, anon_sym_end, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(49), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(93), 15, + STATE(107), 17, sym__expr, sym_string_literal, sym_function_call, @@ -2064,9 +2289,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [148] = 18, + [79] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2085,28 +2312,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, ACTIONS(55), 1, anon_sym_RPAREN, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(53), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(92), 15, + STATE(98), 17, sym__expr, sym_string_literal, sym_function_call, @@ -2120,9 +2349,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [222] = 18, + [158] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2141,28 +2372,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, ACTIONS(59), 1, anon_sym_RPAREN, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(57), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(91), 15, + STATE(108), 17, sym__expr, sym_string_literal, sym_function_call, @@ -2176,9 +2409,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [296] = 17, + [237] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2197,26 +2432,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + ACTIONS(63), 1, + anon_sym_end, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(61), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(78), 15, + STATE(100), 17, sym__expr, sym_string_literal, sym_function_call, @@ -2230,9 +2469,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [367] = 17, + [316] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2251,80 +2492,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, - ACTIONS(43), 1, - anon_sym__namety, - STATE(165), 1, - sym_meta_type_identifier, - ACTIONS(63), 3, - sym_nil_literal, - sym_integer_literal, - sym_break_expression, - STATE(40), 4, - sym__lvalue, - sym_record_value, - sym_array_value, - sym_meta_lvalue, - STATE(101), 15, - sym__expr, - sym_string_literal, - sym_function_call, - sym_unary_expression, - sym_binary_expression, - sym_sequence_expression, - sym_array_expression, - sym_record_expression, - sym_assignment_expression, - sym_if_expression, - sym_while_expression, - sym_for_expression, - sym_let_expression, - sym_meta_cast, - sym_meta_expression, - [438] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - sym_identifier, - ACTIONS(11), 1, - anon_sym_DQUOTE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - anon_sym_DASH, - ACTIONS(17), 1, - anon_sym_if, - ACTIONS(19), 1, - anon_sym_while, - ACTIONS(21), 1, - anon_sym_for, - ACTIONS(23), 1, - anon_sym_let, - ACTIONS(37), 1, anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, - ACTIONS(41), 1, - anon_sym__lvalue, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + ACTIONS(67), 1, + anon_sym_RPAREN, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(65), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(60), 15, + STATE(99), 17, sym__expr, sym_string_literal, sym_function_call, @@ -2338,9 +2529,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [509] = 17, + [395] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2359,80 +2552,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, - ACTIONS(43), 1, - anon_sym__namety, - STATE(165), 1, - sym_meta_type_identifier, - ACTIONS(67), 3, - sym_nil_literal, - sym_integer_literal, - sym_break_expression, - STATE(40), 4, - sym__lvalue, - sym_record_value, - sym_array_value, - sym_meta_lvalue, - STATE(83), 15, - sym__expr, - sym_string_literal, - sym_function_call, - sym_unary_expression, - sym_binary_expression, - sym_sequence_expression, - sym_array_expression, - sym_record_expression, - sym_assignment_expression, - sym_if_expression, - sym_while_expression, - sym_for_expression, - sym_let_expression, - sym_meta_cast, - sym_meta_expression, - [580] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - sym_identifier, - ACTIONS(11), 1, - anon_sym_DQUOTE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - anon_sym_DASH, - ACTIONS(17), 1, - anon_sym_if, - ACTIONS(19), 1, - anon_sym_while, - ACTIONS(21), 1, - anon_sym_for, - ACTIONS(23), 1, - anon_sym_let, - ACTIONS(37), 1, anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, - ACTIONS(41), 1, - anon_sym__lvalue, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(69), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(82), 15, + STATE(64), 17, sym__expr, sym_string_literal, sym_function_call, @@ -2446,9 +2587,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [651] = 17, + [471] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2467,26 +2610,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(71), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(72), 15, + STATE(111), 17, sym__expr, sym_string_literal, sym_function_call, @@ -2500,9 +2645,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [722] = 17, + [547] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2521,26 +2668,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(73), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(79), 15, + STATE(116), 17, sym__expr, sym_string_literal, sym_function_call, @@ -2554,9 +2703,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [793] = 17, + [623] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2575,26 +2726,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(75), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(80), 15, + STATE(50), 17, sym__expr, sym_string_literal, sym_function_call, @@ -2608,9 +2761,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [864] = 17, + [699] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2629,26 +2784,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(77), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(102), 15, + STATE(104), 17, sym__expr, sym_string_literal, sym_function_call, @@ -2662,9 +2819,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [935] = 17, + [775] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2683,26 +2842,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(79), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(44), 15, + STATE(106), 17, sym__expr, sym_string_literal, sym_function_call, @@ -2716,9 +2877,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [1006] = 17, + [851] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2737,26 +2900,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(81), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(50), 15, + STATE(102), 17, sym__expr, sym_string_literal, sym_function_call, @@ -2770,9 +2935,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [1077] = 17, + [927] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2791,26 +2958,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(83), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(94), 15, + STATE(91), 17, sym__expr, sym_string_literal, sym_function_call, @@ -2824,9 +2993,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [1148] = 17, + [1003] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2845,26 +3016,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(85), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(55), 15, + STATE(110), 17, sym__expr, sym_string_literal, sym_function_call, @@ -2878,9 +3051,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [1219] = 17, + [1079] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2899,26 +3074,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(87), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(104), 15, + STATE(51), 17, sym__expr, sym_string_literal, sym_function_call, @@ -2932,9 +3109,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [1290] = 17, + [1155] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2953,26 +3132,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(89), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(103), 15, + STATE(90), 17, sym__expr, sym_string_literal, sym_function_call, @@ -2986,9 +3167,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [1361] = 17, + [1231] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3007,26 +3190,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(91), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(97), 15, + STATE(52), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3040,9 +3225,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [1432] = 17, + [1307] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3061,26 +3248,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(93), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(43), 15, + STATE(62), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3094,9 +3283,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [1503] = 17, + [1383] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3115,26 +3306,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(95), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(89), 15, + STATE(105), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3148,9 +3341,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [1574] = 17, + [1459] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3169,26 +3364,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(97), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(96), 15, + STATE(75), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3202,9 +3399,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [1645] = 17, + [1535] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3223,26 +3422,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(99), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(105), 15, + STATE(92), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3256,9 +3457,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [1716] = 17, + [1611] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3277,26 +3480,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(101), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(81), 15, + STATE(69), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3310,9 +3515,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [1787] = 17, + [1687] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3331,26 +3538,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(103), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(100), 15, + STATE(101), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3364,9 +3573,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [1858] = 17, + [1763] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3385,26 +3596,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(105), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(99), 15, + STATE(59), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3418,9 +3631,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [1929] = 17, + [1839] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3439,26 +3654,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(107), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(62), 15, + STATE(93), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3472,9 +3689,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [2000] = 17, + [1915] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3493,26 +3712,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(109), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(88), 15, + STATE(88), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3526,9 +3747,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [2071] = 17, + [1991] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3547,26 +3770,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(111), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(67), 15, + STATE(57), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3580,9 +3805,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [2142] = 17, + [2067] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3601,26 +3828,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(113), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(66), 15, + STATE(117), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3634,9 +3863,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [2213] = 17, + [2143] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3655,26 +3886,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(115), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(65), 15, + STATE(118), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3688,9 +3921,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [2284] = 17, + [2219] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3709,26 +3944,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(117), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(64), 15, + STATE(112), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3742,9 +3979,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [2355] = 17, + [2295] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3763,26 +4002,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(119), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(63), 15, + STATE(60), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3796,9 +4037,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [2426] = 17, + [2371] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3817,26 +4060,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, ACTIONS(121), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(49), 15, + STATE(63), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3850,52 +4095,11 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [2497] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(125), 1, - anon_sym_LBRACK, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(132), 1, - anon_sym_LBRACE, - ACTIONS(130), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(123), 30, - ts_builtin_sym_end, - anon_sym_DOT, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COLON_EQ, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [2546] = 17, + [2447] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3914,26 +4118,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(37), 1, - anon_sym__cast, - ACTIONS(39), 1, - anon_sym__exp, + ACTIONS(35), 1, + anon_sym_new, ACTIONS(41), 1, - anon_sym__lvalue, + anon_sym__cast, ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, anon_sym__namety, - STATE(165), 1, + STATE(199), 1, sym_meta_type_identifier, - ACTIONS(134), 3, + ACTIONS(123), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(40), 4, + STATE(44), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(106), 15, + STATE(103), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3947,60 +4153,431 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, + sym_new_expression, + sym_method_call, sym_meta_cast, sym_meta_expression, - [2617] = 3, + [2523] = 18, ACTIONS(3), 1, sym_comment, - ACTIONS(138), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(136), 31, - ts_builtin_sym_end, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, + ACTIONS(7), 1, + sym_identifier, + ACTIONS(11), 1, + anon_sym_DQUOTE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COLON_EQ, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [2658] = 6, + ACTIONS(17), 1, + anon_sym_if, + ACTIONS(19), 1, + anon_sym_while, + ACTIONS(21), 1, + anon_sym_for, + ACTIONS(23), 1, + anon_sym_let, + ACTIONS(35), 1, + anon_sym_new, + ACTIONS(41), 1, + anon_sym__cast, + ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, + anon_sym__namety, + STATE(199), 1, + sym_meta_type_identifier, + ACTIONS(125), 3, + sym_nil_literal, + sym_integer_literal, + sym_break_expression, + STATE(44), 4, + sym__lvalue, + sym_record_value, + sym_array_value, + sym_meta_lvalue, + STATE(89), 17, + sym__expr, + sym_string_literal, + sym_function_call, + sym_unary_expression, + sym_binary_expression, + sym_sequence_expression, + sym_array_expression, + sym_record_expression, + sym_assignment_expression, + sym_if_expression, + sym_while_expression, + sym_for_expression, + sym_let_expression, + sym_new_expression, + sym_method_call, + sym_meta_cast, + sym_meta_expression, + [2599] = 18, ACTIONS(3), 1, sym_comment, - ACTIONS(142), 1, - anon_sym_DOT, - ACTIONS(144), 1, + ACTIONS(7), 1, + sym_identifier, + ACTIONS(11), 1, + anon_sym_DQUOTE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + anon_sym_DASH, + ACTIONS(17), 1, + anon_sym_if, + ACTIONS(19), 1, + anon_sym_while, + ACTIONS(21), 1, + anon_sym_for, + ACTIONS(23), 1, + anon_sym_let, + ACTIONS(35), 1, + anon_sym_new, + ACTIONS(41), 1, + anon_sym__cast, + ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, + anon_sym__namety, + STATE(199), 1, + sym_meta_type_identifier, + ACTIONS(127), 3, + sym_nil_literal, + sym_integer_literal, + sym_break_expression, + STATE(44), 4, + sym__lvalue, + sym_record_value, + sym_array_value, + sym_meta_lvalue, + STATE(109), 17, + sym__expr, + sym_string_literal, + sym_function_call, + sym_unary_expression, + sym_binary_expression, + sym_sequence_expression, + sym_array_expression, + sym_record_expression, + sym_assignment_expression, + sym_if_expression, + sym_while_expression, + sym_for_expression, + sym_let_expression, + sym_new_expression, + sym_method_call, + sym_meta_cast, + sym_meta_expression, + [2675] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_identifier, + ACTIONS(11), 1, + anon_sym_DQUOTE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + anon_sym_DASH, + ACTIONS(17), 1, + anon_sym_if, + ACTIONS(19), 1, + anon_sym_while, + ACTIONS(21), 1, + anon_sym_for, + ACTIONS(23), 1, + anon_sym_let, + ACTIONS(35), 1, + anon_sym_new, + ACTIONS(41), 1, + anon_sym__cast, + ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, + anon_sym__namety, + STATE(199), 1, + sym_meta_type_identifier, + ACTIONS(129), 3, + sym_nil_literal, + sym_integer_literal, + sym_break_expression, + STATE(44), 4, + sym__lvalue, + sym_record_value, + sym_array_value, + sym_meta_lvalue, + STATE(115), 17, + sym__expr, + sym_string_literal, + sym_function_call, + sym_unary_expression, + sym_binary_expression, + sym_sequence_expression, + sym_array_expression, + sym_record_expression, + sym_assignment_expression, + sym_if_expression, + sym_while_expression, + sym_for_expression, + sym_let_expression, + sym_new_expression, + sym_method_call, + sym_meta_cast, + sym_meta_expression, + [2751] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_identifier, + ACTIONS(11), 1, + anon_sym_DQUOTE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + anon_sym_DASH, + ACTIONS(17), 1, + anon_sym_if, + ACTIONS(19), 1, + anon_sym_while, + ACTIONS(21), 1, + anon_sym_for, + ACTIONS(23), 1, + anon_sym_let, + ACTIONS(35), 1, + anon_sym_new, + ACTIONS(41), 1, + anon_sym__cast, + ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, + anon_sym__namety, + STATE(199), 1, + sym_meta_type_identifier, + ACTIONS(131), 3, + sym_nil_literal, + sym_integer_literal, + sym_break_expression, + STATE(44), 4, + sym__lvalue, + sym_record_value, + sym_array_value, + sym_meta_lvalue, + STATE(73), 17, + sym__expr, + sym_string_literal, + sym_function_call, + sym_unary_expression, + sym_binary_expression, + sym_sequence_expression, + sym_array_expression, + sym_record_expression, + sym_assignment_expression, + sym_if_expression, + sym_while_expression, + sym_for_expression, + sym_let_expression, + sym_new_expression, + sym_method_call, + sym_meta_cast, + sym_meta_expression, + [2827] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_identifier, + ACTIONS(11), 1, + anon_sym_DQUOTE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + anon_sym_DASH, + ACTIONS(17), 1, + anon_sym_if, + ACTIONS(19), 1, + anon_sym_while, + ACTIONS(21), 1, + anon_sym_for, + ACTIONS(23), 1, + anon_sym_let, + ACTIONS(35), 1, + anon_sym_new, + ACTIONS(41), 1, + anon_sym__cast, + ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, + anon_sym__namety, + STATE(199), 1, + sym_meta_type_identifier, + ACTIONS(133), 3, + sym_nil_literal, + sym_integer_literal, + sym_break_expression, + STATE(44), 4, + sym__lvalue, + sym_record_value, + sym_array_value, + sym_meta_lvalue, + STATE(84), 17, + sym__expr, + sym_string_literal, + sym_function_call, + sym_unary_expression, + sym_binary_expression, + sym_sequence_expression, + sym_array_expression, + sym_record_expression, + sym_assignment_expression, + sym_if_expression, + sym_while_expression, + sym_for_expression, + sym_let_expression, + sym_new_expression, + sym_method_call, + sym_meta_cast, + sym_meta_expression, + [2903] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_identifier, + ACTIONS(11), 1, + anon_sym_DQUOTE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + anon_sym_DASH, + ACTIONS(17), 1, + anon_sym_if, + ACTIONS(19), 1, + anon_sym_while, + ACTIONS(21), 1, + anon_sym_for, + ACTIONS(23), 1, + anon_sym_let, + ACTIONS(35), 1, + anon_sym_new, + ACTIONS(41), 1, + anon_sym__cast, + ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, + anon_sym__namety, + STATE(199), 1, + sym_meta_type_identifier, + ACTIONS(135), 3, + sym_nil_literal, + sym_integer_literal, + sym_break_expression, + STATE(44), 4, + sym__lvalue, + sym_record_value, + sym_array_value, + sym_meta_lvalue, + STATE(114), 17, + sym__expr, + sym_string_literal, + sym_function_call, + sym_unary_expression, + sym_binary_expression, + sym_sequence_expression, + sym_array_expression, + sym_record_expression, + sym_assignment_expression, + sym_if_expression, + sym_while_expression, + sym_for_expression, + sym_let_expression, + sym_new_expression, + sym_method_call, + sym_meta_cast, + sym_meta_expression, + [2979] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_identifier, + ACTIONS(11), 1, + anon_sym_DQUOTE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + anon_sym_DASH, + ACTIONS(17), 1, + anon_sym_if, + ACTIONS(19), 1, + anon_sym_while, + ACTIONS(21), 1, + anon_sym_for, + ACTIONS(23), 1, + anon_sym_let, + ACTIONS(35), 1, + anon_sym_new, + ACTIONS(41), 1, + anon_sym__cast, + ACTIONS(43), 1, + anon_sym__exp, + ACTIONS(45), 1, + anon_sym__lvalue, + ACTIONS(47), 1, + anon_sym__namety, + STATE(199), 1, + sym_meta_type_identifier, + ACTIONS(137), 3, + sym_nil_literal, + sym_integer_literal, + sym_break_expression, + STATE(44), 4, + sym__lvalue, + sym_record_value, + sym_array_value, + sym_meta_lvalue, + STATE(113), 17, + sym__expr, + sym_string_literal, + sym_function_call, + sym_unary_expression, + sym_binary_expression, + sym_sequence_expression, + sym_array_expression, + sym_record_expression, + sym_assignment_expression, + sym_if_expression, + sym_while_expression, + sym_for_expression, + sym_let_expression, + sym_new_expression, + sym_method_call, + sym_meta_cast, + sym_meta_expression, + [3055] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(141), 1, anon_sym_LBRACK, + ACTIONS(144), 1, + anon_sym_LPAREN, ACTIONS(148), 1, - anon_sym_COLON_EQ, + anon_sym_LBRACE, ACTIONS(146), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(140), 28, + ACTIONS(139), 32, ts_builtin_sym_end, + anon_sym_DOT, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, @@ -4016,6 +4593,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, + anon_sym_COLON_EQ, anon_sym_then, anon_sym_else, anon_sym_do, @@ -4027,14 +4605,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, + anon_sym_method, anon_sym__chunks, - [2705] = 3, + [3106] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(152), 2, + ACTIONS(152), 1, + anon_sym_LPAREN, + ACTIONS(154), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(150), 31, + ACTIONS(150), 33, ts_builtin_sym_end, anon_sym_DOT, anon_sym_LBRACK, @@ -4065,14 +4647,59 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, + anon_sym_method, anon_sym__chunks, - [2746] = 3, + [3152] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(156), 2, + ACTIONS(158), 1, + anon_sym_DOT, + ACTIONS(160), 1, + anon_sym_LBRACK, + ACTIONS(164), 1, + anon_sym_COLON_EQ, + ACTIONS(162), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(154), 31, + ACTIONS(156), 30, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [3201] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(168), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(166), 33, ts_builtin_sym_end, anon_sym_DOT, anon_sym_LBRACK, @@ -4103,76 +4730,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, + anon_sym_method, anon_sym__chunks, - [2787] = 9, + [3244] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(172), 1, - anon_sym_else, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, + ACTIONS(172), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(164), 4, + ACTIONS(170), 33, + ts_builtin_sym_end, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - ACTIONS(158), 17, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [2837] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, anon_sym_AMP, - ACTIONS(170), 1, anon_sym_PIPE, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(174), 18, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, anon_sym_SEMI, + anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_COLON_EQ, anon_sym_then, anon_sym_else, anon_sym_do, @@ -4184,14 +4770,56 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, + anon_sym_method, anon_sym__chunks, - [2885] = 3, + [3287] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(178), 2, + ACTIONS(176), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(176), 28, + ACTIONS(174), 33, + ts_builtin_sym_end, + anon_sym_DOT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON_EQ, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [3330] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(180), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(178), 30, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -4219,14 +4847,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, + anon_sym_method, anon_sym__chunks, - [2923] = 3, + [3370] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(182), 2, + ACTIONS(184), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(180), 28, + ACTIONS(182), 30, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -4254,14 +4884,95 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, + anon_sym_method, anon_sym__chunks, - [2961] = 3, + [3410] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(186), 2, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(184), 28, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(186), 22, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [3456] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(196), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(186), 26, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [3500] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(196), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(186), 30, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -4289,21 +5000,372 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, + anon_sym_method, anon_sym__chunks, - [2999] = 3, + [3540] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(200), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(198), 30, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [3580] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(204), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(202), 30, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [3620] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(208), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(206), 30, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [3660] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(212), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(210), 30, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [3700] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(214), 20, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [3750] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(222), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(220), 30, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [3790] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(224), 20, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [3840] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(226), 20, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [3890] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(230), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(228), 30, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [3930] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(196), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(188), 28, + ACTIONS(186), 28, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, @@ -4324,29 +5386,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, + anon_sym_method, anon_sym__chunks, - [3037] = 8, + [3972] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(168), 1, + ACTIONS(216), 1, anon_sym_AMP, - ACTIONS(170), 1, + ACTIONS(218), 1, anon_sym_PIPE, - ACTIONS(160), 2, + ACTIONS(234), 1, + anon_sym_else, + ACTIONS(188), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(162), 2, + ACTIONS(190), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(166), 2, + ACTIONS(194), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(164), 4, + ACTIONS(192), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - ACTIONS(192), 18, + ACTIONS(232), 19, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -4354,7 +5420,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, - anon_sym_else, anon_sym_do, anon_sym_to, anon_sym_in, @@ -4364,29 +5429,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, + anon_sym_method, anon_sym__chunks, - [3085] = 8, + [4024] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(168), 1, + ACTIONS(216), 1, anon_sym_AMP, - ACTIONS(170), 1, + ACTIONS(218), 1, anon_sym_PIPE, - ACTIONS(160), 2, + ACTIONS(188), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(162), 2, + ACTIONS(190), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(166), 2, + ACTIONS(194), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(164), 4, + ACTIONS(192), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - ACTIONS(194), 18, + ACTIONS(236), 20, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -4404,563 +5471,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, + anon_sym_method, anon_sym__chunks, - [3133] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(198), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(196), 28, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [3171] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(202), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(200), 28, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [3209] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(206), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(204), 28, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [3247] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(210), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(208), 28, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [3285] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(212), 18, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [3333] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(216), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(214), 28, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [3371] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(220), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(218), 28, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [3409] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(224), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(222), 28, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [3447] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(228), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(226), 28, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [3485] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(230), 18, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [3533] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(234), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(232), 28, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [3571] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(236), 18, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [3619] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(238), 19, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [3665] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(238), 20, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [3709] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(240), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(238), 24, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [3751] = 3, + [4074] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(240), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(238), 28, + ACTIONS(238), 30, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -4988,50 +5508,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, + anon_sym_method, anon_sym__chunks, - [3789] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(240), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(238), 26, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [3829] = 3, + [4114] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(244), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(242), 28, + ACTIONS(242), 30, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -5059,14 +5545,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, + anon_sym_method, anon_sym__chunks, - [3867] = 3, + [4154] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(248), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(246), 28, + ACTIONS(246), 30, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -5094,14 +5582,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, + anon_sym_method, anon_sym__chunks, - [3905] = 3, + [4194] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(252), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(250), 28, + ACTIONS(250), 30, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -5129,28 +5619,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, + anon_sym_method, anon_sym__chunks, - [3943] = 3, + [4234] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(256), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(254), 28, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(188), 2, anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, anon_sym_STAR, anon_sym_SLASH, - anon_sym_PLUS, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, + ACTIONS(254), 20, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, @@ -5164,33 +5661,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, + anon_sym_method, anon_sym__chunks, - [3981] = 8, + [4284] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, + ACTIONS(258), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(258), 18, + ACTIONS(256), 30, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, @@ -5204,14 +5698,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, + anon_sym_method, anon_sym__chunks, - [4029] = 3, + [4324] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(262), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(260), 28, + ACTIONS(260), 30, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -5239,14 +5735,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, + anon_sym_method, anon_sym__chunks, - [4067] = 3, + [4364] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(266), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(264), 28, + ACTIONS(264), 30, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -5274,14 +5772,57 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, + anon_sym_method, anon_sym__chunks, - [4105] = 3, + [4404] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(186), 21, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [4452] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(270), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(268), 28, + ACTIONS(268), 30, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -5309,14 +5850,58 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, + anon_sym_method, anon_sym__chunks, - [4143] = 3, + [4492] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(274), 2, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(272), 28, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(272), 20, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [4542] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(276), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 30, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -5344,14 +5929,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, + anon_sym_method, anon_sym__chunks, - [4181] = 3, + [4582] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(278), 2, + ACTIONS(280), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(276), 28, + ACTIONS(278), 30, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -5379,783 +5966,1272 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, + anon_sym_method, anon_sym__chunks, - [4219] = 8, + [4622] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, + ACTIONS(284), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(164), 4, + ACTIONS(282), 30, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - ACTIONS(280), 8, - ts_builtin_sym_end, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, anon_sym_in, + anon_sym_end, anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, + anon_sym_method, anon_sym__chunks, - [4257] = 8, + [4662] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, + ACTIONS(288), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(164), 4, + ACTIONS(286), 30, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - ACTIONS(282), 8, - ts_builtin_sym_end, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [4295] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, anon_sym_AMP, - ACTIONS(170), 1, anon_sym_PIPE, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(284), 8, - ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, anon_sym_in, + anon_sym_end, anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, + anon_sym_method, anon_sym__chunks, - [4333] = 8, + [4702] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(286), 8, - ts_builtin_sym_end, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [4371] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(288), 8, - ts_builtin_sym_end, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [4409] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(290), 8, - ts_builtin_sym_end, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [4447] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(294), 1, - anon_sym_type, - ACTIONS(297), 1, - anon_sym_function, - ACTIONS(300), 1, - anon_sym_primitive, - ACTIONS(303), 1, - anon_sym_var, - ACTIONS(306), 1, - anon_sym_import, - ACTIONS(309), 1, - anon_sym__chunks, ACTIONS(292), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(290), 30, ts_builtin_sym_end, - anon_sym_in, - STATE(84), 10, - aux_sym__declaration_chunks, - sym__declaration_chunk, - sym_type_declaration, - sym_function_declaration, - sym_primitive_declaration, - sym_variable_declaration, - sym_import_declaration, - sym_meta_chunks, - aux_sym__declaration_chunk_repeat1, - aux_sym__declaration_chunk_repeat2, - [4485] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(312), 1, - anon_sym_in, - ACTIONS(314), 1, - anon_sym_type, - ACTIONS(316), 1, - anon_sym_function, - ACTIONS(318), 1, - anon_sym_primitive, - ACTIONS(320), 1, - anon_sym_var, - ACTIONS(322), 1, - anon_sym_import, - ACTIONS(324), 1, - anon_sym__chunks, - STATE(86), 10, - aux_sym__declaration_chunks, - sym__declaration_chunk, - sym_type_declaration, - sym_function_declaration, - sym_primitive_declaration, - sym_variable_declaration, - sym_import_declaration, - sym_meta_chunks, - aux_sym__declaration_chunk_repeat1, - aux_sym__declaration_chunk_repeat2, - [4522] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(314), 1, - anon_sym_type, - ACTIONS(316), 1, - anon_sym_function, - ACTIONS(318), 1, - anon_sym_primitive, - ACTIONS(320), 1, - anon_sym_var, - ACTIONS(322), 1, - anon_sym_import, - ACTIONS(324), 1, - anon_sym__chunks, - ACTIONS(326), 1, - anon_sym_in, - STATE(84), 10, - aux_sym__declaration_chunks, - sym__declaration_chunk, - sym_type_declaration, - sym_function_declaration, - sym_primitive_declaration, - sym_variable_declaration, - sym_import_declaration, - sym_meta_chunks, - aux_sym__declaration_chunk_repeat1, - aux_sym__declaration_chunk_repeat2, - [4559] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(314), 1, - anon_sym_type, - ACTIONS(316), 1, - anon_sym_function, - ACTIONS(318), 1, - anon_sym_primitive, - ACTIONS(320), 1, - anon_sym_var, - ACTIONS(322), 1, - anon_sym_import, - ACTIONS(324), 1, - anon_sym__chunks, - ACTIONS(328), 1, - ts_builtin_sym_end, - STATE(84), 10, - aux_sym__declaration_chunks, - sym__declaration_chunk, - sym_type_declaration, - sym_function_declaration, - sym_primitive_declaration, - sym_variable_declaration, - sym_import_declaration, - sym_meta_chunks, - aux_sym__declaration_chunk_repeat1, - aux_sym__declaration_chunk_repeat2, - [4596] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(160), 2, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(330), 3, - anon_sym_RPAREN, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, anon_sym_SEMI, - anon_sym_end, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [4629] = 10, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(332), 1, - anon_sym_COMMA, - ACTIONS(334), 1, anon_sym_RBRACE, - STATE(156), 1, - aux_sym_record_expression_repeat1, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [4666] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(336), 15, - ts_builtin_sym_end, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_EQ, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COLON_EQ, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [4687] = 10, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(338), 1, - anon_sym_COMMA, - ACTIONS(340), 1, - anon_sym_RPAREN, - STATE(136), 1, - aux_sym_function_call_repeat1, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [4724] = 10, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(342), 1, - anon_sym_RPAREN, - ACTIONS(344), 1, - anon_sym_SEMI, - STATE(160), 1, - aux_sym_sequence_expression_repeat1, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [4761] = 10, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(344), 1, - anon_sym_SEMI, - ACTIONS(346), 1, - anon_sym_end, - STATE(151), 1, - aux_sym_sequence_expression_repeat1, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [4798] = 10, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(332), 1, - anon_sym_COMMA, - ACTIONS(348), 1, - anon_sym_RBRACE, - STATE(141), 1, - aux_sym_record_expression_repeat1, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [4835] = 10, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(344), 1, - anon_sym_SEMI, - ACTIONS(350), 1, - anon_sym_end, - STATE(137), 1, - aux_sym_sequence_expression_repeat1, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [4872] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(352), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [4904] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(354), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [4936] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(328), 1, - ts_builtin_sym_end, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [4967] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(356), 1, anon_sym_then, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [4998] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(358), 1, - anon_sym_RBRACK, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [5029] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(360), 1, - anon_sym_COMMA, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [5060] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(362), 1, + anon_sym_else, anon_sym_do, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [5091] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(364), 1, anon_sym_to, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [5122] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(366), 1, - anon_sym_RBRACK, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [5153] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(368), 1, - anon_sym_do, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [5184] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_AMP, - ACTIONS(170), 1, - anon_sym_PIPE, - ACTIONS(370), 1, - anon_sym_RBRACK, - ACTIONS(160), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(162), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(166), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(164), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [5215] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(374), 1, + anon_sym_in, + anon_sym_end, + anon_sym_type, anon_sym_function, - ACTIONS(377), 1, anon_sym_primitive, - STATE(107), 3, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [4742] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(296), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(294), 30, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [4782] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(300), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(298), 30, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [4822] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(304), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(302), 30, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [4862] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(306), 20, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [4912] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(310), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(308), 30, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [4952] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(314), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(312), 30, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [4992] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(318), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(316), 30, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [5032] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(320), 11, + ts_builtin_sym_end, + anon_sym_RBRACE, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [5073] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(322), 11, + ts_builtin_sym_end, + anon_sym_RBRACE, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [5114] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(324), 11, + ts_builtin_sym_end, + anon_sym_RBRACE, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [5155] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(326), 9, + ts_builtin_sym_end, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [5194] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(328), 9, + ts_builtin_sym_end, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [5233] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(330), 9, + ts_builtin_sym_end, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [5272] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(334), 1, + anon_sym_type, + ACTIONS(337), 1, + anon_sym_function, + ACTIONS(340), 1, + anon_sym_primitive, + ACTIONS(343), 1, + anon_sym_var, + ACTIONS(346), 1, + anon_sym_import, + ACTIONS(349), 1, + anon_sym_class, + ACTIONS(352), 1, + anon_sym__chunks, + ACTIONS(332), 2, + ts_builtin_sym_end, + anon_sym_in, + STATE(94), 12, + aux_sym__declaration_chunks, + sym__declaration_chunk, + sym_type_declaration, sym_function_declaration, sym_primitive_declaration, + sym_variable_declaration, + sym_import_declaration, + sym_class_declaration, + sym_meta_chunks, + aux_sym__declaration_chunk_repeat1, aux_sym__declaration_chunk_repeat2, - ACTIONS(372), 6, + aux_sym__declaration_chunk_repeat3, + [5315] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(355), 1, + ts_builtin_sym_end, + ACTIONS(357), 1, + anon_sym_type, + ACTIONS(359), 1, + anon_sym_function, + ACTIONS(361), 1, + anon_sym_primitive, + ACTIONS(363), 1, + anon_sym_var, + ACTIONS(365), 1, + anon_sym_import, + ACTIONS(367), 1, + anon_sym_class, + ACTIONS(369), 1, + anon_sym__chunks, + STATE(94), 12, + aux_sym__declaration_chunks, + sym__declaration_chunk, + sym_type_declaration, + sym_function_declaration, + sym_primitive_declaration, + sym_variable_declaration, + sym_import_declaration, + sym_class_declaration, + sym_meta_chunks, + aux_sym__declaration_chunk_repeat1, + aux_sym__declaration_chunk_repeat2, + aux_sym__declaration_chunk_repeat3, + [5357] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(357), 1, + anon_sym_type, + ACTIONS(359), 1, + anon_sym_function, + ACTIONS(361), 1, + anon_sym_primitive, + ACTIONS(363), 1, + anon_sym_var, + ACTIONS(365), 1, + anon_sym_import, + ACTIONS(367), 1, + anon_sym_class, + ACTIONS(369), 1, + anon_sym__chunks, + ACTIONS(371), 1, + anon_sym_in, + STATE(97), 12, + aux_sym__declaration_chunks, + sym__declaration_chunk, + sym_type_declaration, + sym_function_declaration, + sym_primitive_declaration, + sym_variable_declaration, + sym_import_declaration, + sym_class_declaration, + sym_meta_chunks, + aux_sym__declaration_chunk_repeat1, + aux_sym__declaration_chunk_repeat2, + aux_sym__declaration_chunk_repeat3, + [5399] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(357), 1, + anon_sym_type, + ACTIONS(359), 1, + anon_sym_function, + ACTIONS(361), 1, + anon_sym_primitive, + ACTIONS(363), 1, + anon_sym_var, + ACTIONS(365), 1, + anon_sym_import, + ACTIONS(367), 1, + anon_sym_class, + ACTIONS(369), 1, + anon_sym__chunks, + ACTIONS(373), 1, + anon_sym_in, + STATE(94), 12, + aux_sym__declaration_chunks, + sym__declaration_chunk, + sym_type_declaration, + sym_function_declaration, + sym_primitive_declaration, + sym_variable_declaration, + sym_import_declaration, + sym_class_declaration, + sym_meta_chunks, + aux_sym__declaration_chunk_repeat1, + aux_sym__declaration_chunk_repeat2, + aux_sym__declaration_chunk_repeat3, + [5441] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(375), 1, + anon_sym_COMMA, + ACTIONS(377), 1, + anon_sym_RPAREN, + STATE(197), 1, + aux_sym_function_call_repeat1, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [5478] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(375), 1, + anon_sym_COMMA, + ACTIONS(379), 1, + anon_sym_RPAREN, + STATE(180), 1, + aux_sym_function_call_repeat1, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [5515] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(381), 1, + anon_sym_SEMI, + ACTIONS(383), 1, + anon_sym_end, + STATE(173), 1, + aux_sym_sequence_expression_repeat1, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [5552] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(385), 1, + anon_sym_COMMA, + ACTIONS(387), 1, + anon_sym_RBRACE, + STATE(198), 1, + aux_sym_record_expression_repeat1, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [5589] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(389), 3, + anon_sym_RBRACE, + anon_sym_var, + anon_sym_method, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [5622] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(391), 3, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_end, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [5655] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(385), 1, + anon_sym_COMMA, + ACTIONS(393), 1, + anon_sym_RBRACE, + STATE(189), 1, + aux_sym_record_expression_repeat1, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [5692] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(395), 3, + anon_sym_RBRACE, + anon_sym_var, + anon_sym_method, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [5725] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(397), 3, + anon_sym_RBRACE, + anon_sym_var, + anon_sym_method, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [5758] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(381), 1, + anon_sym_SEMI, + ACTIONS(399), 1, + anon_sym_end, + STATE(193), 1, + aux_sym_sequence_expression_repeat1, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [5795] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(381), 1, + anon_sym_SEMI, + ACTIONS(401), 1, + anon_sym_RPAREN, + STATE(178), 1, + aux_sym_sequence_expression_repeat1, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [5832] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(403), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [5864] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(405), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [5896] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(407), 1, + anon_sym_COMMA, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [5927] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(409), 1, + anon_sym_RBRACK, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [5958] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(411), 1, + anon_sym_RBRACK, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [5989] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(413), 1, + anon_sym_RBRACK, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [6020] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(415), 1, + anon_sym_then, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [6051] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(417), 1, + anon_sym_do, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [6082] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(419), 1, + anon_sym_do, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [6113] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(421), 1, + anon_sym_to, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [6144] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + anon_sym_AMP, + ACTIONS(218), 1, + anon_sym_PIPE, + ACTIONS(355), 1, + ts_builtin_sym_end, + ACTIONS(188), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(190), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(194), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(192), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [6175] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(425), 1, + anon_sym_function, + ACTIONS(428), 1, + anon_sym_primitive, + STATE(120), 3, + sym_function_declaration, + sym_primitive_declaration, + aux_sym__declaration_chunk_repeat3, + ACTIONS(423), 7, ts_builtin_sym_end, anon_sym_in, anon_sym_type, anon_sym_var, anon_sym_import, + anon_sym_class, anon_sym__chunks, - [5238] = 2, + [6199] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(380), 10, + ACTIONS(431), 11, ts_builtin_sym_end, anon_sym_EQ, anon_sym_in, @@ -6165,41 +7241,46 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, anon_sym__chunks, - [5254] = 2, + [6216] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(382), 10, - ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_in, + ACTIONS(435), 1, anon_sym_type, - anon_sym_COLON, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [5270] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(386), 1, - anon_sym_type, - STATE(110), 2, + STATE(122), 2, sym_type_declaration, aux_sym__declaration_chunk_repeat1, - ACTIONS(384), 7, + ACTIONS(433), 8, ts_builtin_sym_end, anon_sym_in, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, anon_sym__chunks, - [5290] = 2, + [6237] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(389), 10, + ACTIONS(440), 1, + anon_sym_class, + STATE(123), 2, + sym_class_declaration, + aux_sym__declaration_chunk_repeat2, + ACTIONS(438), 8, + ts_builtin_sym_end, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym__chunks, + [6258] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(443), 11, ts_builtin_sym_end, anon_sym_EQ, anon_sym_in, @@ -6209,11 +7290,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, anon_sym__chunks, - [5306] = 2, + [6275] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(391), 10, + ACTIONS(445), 11, ts_builtin_sym_end, anon_sym_EQ, anon_sym_in, @@ -6223,11 +7305,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, anon_sym__chunks, - [5322] = 2, + [6292] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(393), 10, + ACTIONS(447), 11, ts_builtin_sym_end, anon_sym_EQ, anon_sym_in, @@ -6237,1018 +7320,1461 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, + anon_sym_class, anon_sym__chunks, - [5338] = 2, + [6309] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(395), 9, - ts_builtin_sym_end, - anon_sym_RPAREN, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [5353] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(397), 9, - ts_builtin_sym_end, - anon_sym_RPAREN, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [5368] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(399), 9, - ts_builtin_sym_end, - anon_sym_RPAREN, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [5383] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(401), 9, - ts_builtin_sym_end, - anon_sym_RPAREN, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [5398] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(403), 9, - ts_builtin_sym_end, - anon_sym_RPAREN, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [5413] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(405), 9, - ts_builtin_sym_end, - anon_sym_RPAREN, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [5428] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(43), 1, + ACTIONS(47), 1, anon_sym__namety, - ACTIONS(407), 1, - sym_identifier, - ACTIONS(409), 1, - anon_sym_LBRACE, - ACTIONS(411), 1, - anon_sym_array, - STATE(117), 1, - sym_meta_type_identifier, - STATE(126), 4, - sym__type, - sym_type_alias, - sym_record_type, - sym_array_type, - [5453] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(413), 9, - ts_builtin_sym_end, - anon_sym_RPAREN, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [5468] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(43), 1, - anon_sym__namety, - ACTIONS(407), 1, - sym_identifier, - ACTIONS(409), 1, - anon_sym_LBRACE, - ACTIONS(411), 1, - anon_sym_array, - STATE(117), 1, - sym_meta_type_identifier, - STATE(197), 4, - sym__type, - sym_type_alias, - sym_record_type, - sym_array_type, - [5493] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(415), 9, - ts_builtin_sym_end, - anon_sym_RPAREN, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [5508] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(419), 1, - anon_sym_COLON, - ACTIONS(417), 8, - ts_builtin_sym_end, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [5525] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(421), 9, - ts_builtin_sym_end, - anon_sym_RPAREN, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [5540] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(423), 8, - ts_builtin_sym_end, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [5554] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(425), 8, - ts_builtin_sym_end, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [5568] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(427), 8, - ts_builtin_sym_end, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [5582] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(429), 8, - ts_builtin_sym_end, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [5596] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(431), 8, - ts_builtin_sym_end, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym__chunks, - [5610] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(433), 1, - anon_sym_SEMI, - STATE(131), 1, - aux_sym_sequence_expression_repeat1, - ACTIONS(330), 2, - anon_sym_RPAREN, - anon_sym_end, - [5624] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(436), 1, - anon_sym_DQUOTE, - STATE(132), 1, - aux_sym_string_literal_repeat1, - ACTIONS(438), 2, - aux_sym_string_literal_token1, - sym_escape_sequence, - [5638] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(441), 1, - anon_sym_DQUOTE, - STATE(134), 1, - aux_sym_string_literal_repeat1, - ACTIONS(443), 2, - aux_sym_string_literal_token1, - sym_escape_sequence, - [5652] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(445), 1, - anon_sym_DQUOTE, - STATE(132), 1, - aux_sym_string_literal_repeat1, - ACTIONS(447), 2, - aux_sym_string_literal_token1, - sym_escape_sequence, - [5666] = 4, - ACTIONS(3), 1, - sym_comment, ACTIONS(449), 1, - anon_sym_COMMA, + sym_identifier, ACTIONS(451), 1, - anon_sym_RPAREN, - STATE(157), 1, - aux_sym_parameters_repeat1, - [5679] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(338), 1, - anon_sym_COMMA, + anon_sym_LBRACE, ACTIONS(453), 1, - anon_sym_RPAREN, - STATE(140), 1, - aux_sym_function_call_repeat1, - [5692] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(344), 1, - anon_sym_SEMI, + anon_sym_array, ACTIONS(455), 1, - anon_sym_end, - STATE(131), 1, - aux_sym_sequence_expression_repeat1, - [5705] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(43), 1, - anon_sym__namety, - ACTIONS(457), 1, - sym_identifier, - STATE(119), 1, + anon_sym_class, + STATE(134), 1, sym_meta_type_identifier, - [5718] = 4, + STATE(150), 5, + sym__type, + sym_type_alias, + sym_record_type, + sym_array_type, + sym_class_type, + [6338] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, + ACTIONS(47), 1, anon_sym__namety, - ACTIONS(459), 1, - sym_identifier, - STATE(135), 1, - sym_meta_type_identifier, - [5731] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(352), 1, - anon_sym_RPAREN, - ACTIONS(461), 1, - anon_sym_COMMA, - STATE(140), 1, - aux_sym_function_call_repeat1, - [5744] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(332), 1, - anon_sym_COMMA, - ACTIONS(464), 1, - anon_sym_RBRACE, - STATE(142), 1, - aux_sym_record_expression_repeat1, - [5757] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(466), 1, - anon_sym_COMMA, - ACTIONS(469), 1, - anon_sym_RBRACE, - STATE(142), 1, - aux_sym_record_expression_repeat1, - [5770] = 4, - ACTIONS(3), 1, - sym_comment, ACTIONS(449), 1, - anon_sym_COMMA, - ACTIONS(471), 1, + sym_identifier, + ACTIONS(451), 1, + anon_sym_LBRACE, + ACTIONS(453), 1, + anon_sym_array, + ACTIONS(455), 1, + anon_sym_class, + STATE(134), 1, + sym_meta_type_identifier, + STATE(239), 5, + sym__type, + sym_type_alias, + sym_record_type, + sym_array_type, + sym_class_type, + [6367] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(457), 11, + ts_builtin_sym_end, + anon_sym_EQ, + anon_sym_in, + anon_sym_type, + anon_sym_COLON, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6384] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(459), 10, + ts_builtin_sym_end, anon_sym_RPAREN, - STATE(159), 1, - aux_sym_parameters_repeat1, - [5783] = 4, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6400] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(461), 10, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6416] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(463), 10, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6432] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(465), 10, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6448] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 10, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6464] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(469), 10, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6480] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(471), 10, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6496] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(473), 1, - anon_sym_COMMA, ACTIONS(475), 1, - anon_sym_RBRACE, - STATE(155), 1, - aux_sym_record_type_repeat1, - [5796] = 4, + anon_sym_COLON, + ACTIONS(473), 9, + ts_builtin_sym_end, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6514] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, + ACTIONS(477), 10, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6530] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(479), 10, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6546] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(481), 10, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6562] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(483), 10, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6578] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(485), 10, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6594] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(487), 10, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6610] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(489), 9, + ts_builtin_sym_end, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6625] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(491), 9, + ts_builtin_sym_end, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6640] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(493), 9, + ts_builtin_sym_end, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6655] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(495), 9, + ts_builtin_sym_end, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6670] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(497), 9, + ts_builtin_sym_end, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6685] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(499), 9, + ts_builtin_sym_end, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6700] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(501), 9, + ts_builtin_sym_end, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6715] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(503), 9, + ts_builtin_sym_end, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6730] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(505), 9, + ts_builtin_sym_end, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym__chunks, + [6745] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(363), 1, + anon_sym_var, + ACTIONS(507), 1, + anon_sym_RBRACE, + ACTIONS(509), 1, + anon_sym_method, + STATE(190), 1, + sym_variable_declaration, + STATE(155), 3, + sym__field_declaration, + sym_method_declaration, + aux_sym__class_declaration_common_repeat1, + [6766] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(363), 1, + anon_sym_var, + ACTIONS(509), 1, + anon_sym_method, + ACTIONS(511), 1, + anon_sym_RBRACE, + STATE(190), 1, + sym_variable_declaration, + STATE(153), 3, + sym__field_declaration, + sym_method_declaration, + aux_sym__class_declaration_common_repeat1, + [6787] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(513), 1, + anon_sym_RBRACE, + ACTIONS(515), 1, + anon_sym_var, + ACTIONS(518), 1, + anon_sym_method, + STATE(190), 1, + sym_variable_declaration, + STATE(155), 3, + sym__field_declaration, + sym_method_declaration, + aux_sym__class_declaration_common_repeat1, + [6808] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(363), 1, + anon_sym_var, + ACTIONS(509), 1, + anon_sym_method, + ACTIONS(521), 1, + anon_sym_RBRACE, + STATE(190), 1, + sym_variable_declaration, + STATE(158), 3, + sym__field_declaration, + sym_method_declaration, + aux_sym__class_declaration_common_repeat1, + [6829] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(363), 1, + anon_sym_var, + ACTIONS(509), 1, + anon_sym_method, + ACTIONS(523), 1, + anon_sym_RBRACE, + STATE(190), 1, + sym_variable_declaration, + STATE(155), 3, + sym__field_declaration, + sym_method_declaration, + aux_sym__class_declaration_common_repeat1, + [6850] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(363), 1, + anon_sym_var, + ACTIONS(509), 1, + anon_sym_method, + ACTIONS(525), 1, + anon_sym_RBRACE, + STATE(190), 1, + sym_variable_declaration, + STATE(155), 3, + sym__field_declaration, + sym_method_declaration, + aux_sym__class_declaration_common_repeat1, + [6871] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(363), 1, + anon_sym_var, + ACTIONS(509), 1, + anon_sym_method, + ACTIONS(527), 1, + anon_sym_RBRACE, + STATE(190), 1, + sym_variable_declaration, + STATE(160), 3, + sym__field_declaration, + sym_method_declaration, + aux_sym__class_declaration_common_repeat1, + [6892] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(363), 1, + anon_sym_var, + ACTIONS(509), 1, + anon_sym_method, + ACTIONS(529), 1, + anon_sym_RBRACE, + STATE(190), 1, + sym_variable_declaration, + STATE(155), 3, + sym__field_declaration, + sym_method_declaration, + aux_sym__class_declaration_common_repeat1, + [6913] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(363), 1, + anon_sym_var, + ACTIONS(509), 1, + anon_sym_method, + ACTIONS(531), 1, + anon_sym_RBRACE, + STATE(190), 1, + sym_variable_declaration, + STATE(157), 3, + sym__field_declaration, + sym_method_declaration, + aux_sym__class_declaration_common_repeat1, + [6934] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(533), 1, + anon_sym_DQUOTE, + STATE(165), 1, + aux_sym_string_literal_repeat1, + ACTIONS(535), 2, + aux_sym_string_literal_token1, + sym_escape_sequence, + [6948] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(537), 1, + anon_sym_DQUOTE, + STATE(162), 1, + aux_sym_string_literal_repeat1, + ACTIONS(539), 2, + aux_sym_string_literal_token1, + sym_escape_sequence, + [6962] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(541), 1, + anon_sym_SEMI, + STATE(164), 1, + aux_sym_sequence_expression_repeat1, + ACTIONS(391), 2, + anon_sym_RPAREN, + anon_sym_end, + [6976] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(544), 1, + anon_sym_DQUOTE, + STATE(165), 1, + aux_sym_string_literal_repeat1, + ACTIONS(546), 2, + aux_sym_string_literal_token1, + sym_escape_sequence, + [6990] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, anon_sym__namety, - ACTIONS(477), 1, + ACTIONS(549), 1, sym_identifier, + STATE(191), 1, + sym_meta_type_identifier, + [7003] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(551), 1, + anon_sym_COMMA, + ACTIONS(553), 1, + anon_sym_RPAREN, + STATE(188), 1, + aux_sym_parameters_repeat1, + [7016] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym__namety, + ACTIONS(555), 1, + sym_identifier, + STATE(219), 1, + sym_meta_type_identifier, + [7029] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(405), 1, + anon_sym_RPAREN, + ACTIONS(557), 1, + anon_sym_COMMA, + STATE(169), 1, + aux_sym_function_call_repeat1, + [7042] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym__namety, + ACTIONS(560), 1, + sym_identifier, + STATE(225), 1, + sym_meta_type_identifier, + [7055] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym__namety, + ACTIONS(562), 1, + sym_identifier, + STATE(201), 1, + sym_meta_type_identifier, + [7068] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym__namety, + ACTIONS(564), 1, + sym_identifier, + STATE(203), 1, + sym_meta_type_identifier, + [7081] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(381), 1, + anon_sym_SEMI, + ACTIONS(566), 1, + anon_sym_end, + STATE(164), 1, + aux_sym_sequence_expression_repeat1, + [7094] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(568), 1, + anon_sym_COMMA, + ACTIONS(571), 1, + anon_sym_RBRACE, STATE(174), 1, - sym_meta_type_identifier, - [5809] = 4, + aux_sym_record_type_repeat1, + [7107] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, + ACTIONS(47), 1, anon_sym__namety, - ACTIONS(479), 1, + ACTIONS(573), 1, sym_identifier, - STATE(171), 1, + STATE(142), 1, sym_meta_type_identifier, - [5822] = 4, + [7120] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(481), 1, - anon_sym_COMMA, - ACTIONS(484), 1, - anon_sym_RBRACE, - STATE(147), 1, - aux_sym_record_type_repeat1, - [5835] = 4, + ACTIONS(575), 1, + anon_sym_LBRACE, + ACTIONS(577), 1, + anon_sym_extends, + STATE(251), 1, + sym_extends_qualifier, + [7133] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(473), 1, - anon_sym_COMMA, - ACTIONS(486), 1, - anon_sym_RBRACE, - STATE(152), 1, - aux_sym_record_type_repeat1, - [5848] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(43), 1, + ACTIONS(47), 1, anon_sym__namety, - ACTIONS(488), 1, + ACTIONS(579), 1, + sym_identifier, + STATE(196), 1, + sym_meta_type_identifier, + [7146] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(381), 1, + anon_sym_SEMI, + ACTIONS(581), 1, + anon_sym_RPAREN, + STATE(164), 1, + aux_sym_sequence_expression_repeat1, + [7159] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(583), 1, + anon_sym_COMMA, + ACTIONS(586), 1, + anon_sym_RPAREN, + STATE(179), 1, + aux_sym_parameters_repeat1, + [7172] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(375), 1, + anon_sym_COMMA, + ACTIONS(588), 1, + anon_sym_RPAREN, + STATE(169), 1, + aux_sym_function_call_repeat1, + [7185] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym__namety, + ACTIONS(590), 1, + sym_identifier, + STATE(243), 1, + sym_meta_type_identifier, + [7198] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(592), 1, + anon_sym_COMMA, + ACTIONS(594), 1, + anon_sym_RBRACE, + STATE(174), 1, + aux_sym_record_type_repeat1, + [7211] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym__namety, + ACTIONS(596), 1, sym_identifier, STATE(148), 1, sym_meta_type_identifier, - [5861] = 4, + [7224] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(490), 1, + ACTIONS(592), 1, anon_sym_COMMA, - ACTIONS(493), 1, + ACTIONS(598), 1, + anon_sym_RBRACE, + STATE(174), 1, + aux_sym_record_type_repeat1, + [7237] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym__namety, + ACTIONS(600), 1, + sym_identifier, + STATE(55), 1, + sym_meta_type_identifier, + [7250] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym__namety, + ACTIONS(602), 1, + sym_identifier, + STATE(247), 1, + sym_meta_type_identifier, + [7263] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(551), 1, + anon_sym_COMMA, + ACTIONS(604), 1, anon_sym_RPAREN, - STATE(150), 1, + STATE(179), 1, aux_sym_parameters_repeat1, - [5874] = 4, + [7276] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(344), 1, - anon_sym_SEMI, - ACTIONS(495), 1, - anon_sym_end, - STATE(131), 1, - aux_sym_sequence_expression_repeat1, - [5887] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(473), 1, + ACTIONS(551), 1, anon_sym_COMMA, - ACTIONS(497), 1, - anon_sym_RBRACE, - STATE(147), 1, - aux_sym_record_type_repeat1, - [5900] = 4, + ACTIONS(606), 1, + anon_sym_RPAREN, + STATE(179), 1, + aux_sym_parameters_repeat1, + [7289] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym__namety, - ACTIONS(499), 1, - sym_identifier, - STATE(127), 1, - sym_meta_type_identifier, - [5913] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(43), 1, - anon_sym__namety, - ACTIONS(501), 1, - sym_identifier, - STATE(204), 1, - sym_meta_type_identifier, - [5926] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(473), 1, + ACTIONS(385), 1, anon_sym_COMMA, - ACTIONS(503), 1, + ACTIONS(608), 1, anon_sym_RBRACE, - STATE(147), 1, - aux_sym_record_type_repeat1, - [5939] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(332), 1, - anon_sym_COMMA, - ACTIONS(505), 1, - anon_sym_RBRACE, - STATE(142), 1, + STATE(195), 1, aux_sym_record_expression_repeat1, - [5952] = 4, + [7302] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(449), 1, + ACTIONS(610), 3, + anon_sym_RBRACE, + anon_sym_var, + anon_sym_method, + [7311] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(592), 1, anon_sym_COMMA, - ACTIONS(507), 1, - anon_sym_RPAREN, - STATE(150), 1, - aux_sym_parameters_repeat1, - [5965] = 4, + ACTIONS(612), 1, + anon_sym_RBRACE, + STATE(182), 1, + aux_sym_record_type_repeat1, + [7324] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym__namety, - ACTIONS(509), 1, - sym_identifier, - STATE(202), 1, - sym_meta_type_identifier, - [5978] = 4, + ACTIONS(577), 1, + anon_sym_extends, + ACTIONS(614), 1, + anon_sym_LBRACE, + STATE(238), 1, + sym_extends_qualifier, + [7337] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(449), 1, - anon_sym_COMMA, - ACTIONS(511), 1, - anon_sym_RPAREN, - STATE(150), 1, - aux_sym_parameters_repeat1, - [5991] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(344), 1, + ACTIONS(381), 1, anon_sym_SEMI, - ACTIONS(513), 1, - anon_sym_RPAREN, - STATE(131), 1, + ACTIONS(616), 1, + anon_sym_end, + STATE(164), 1, aux_sym_sequence_expression_repeat1, - [6004] = 3, + [7350] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(592), 1, + anon_sym_COMMA, + ACTIONS(618), 1, + anon_sym_RBRACE, + STATE(184), 1, + aux_sym_record_type_repeat1, + [7363] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(620), 1, + anon_sym_COMMA, + ACTIONS(623), 1, + anon_sym_RBRACE, + STATE(195), 1, + aux_sym_record_expression_repeat1, + [7376] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(551), 1, + anon_sym_COMMA, + ACTIONS(625), 1, + anon_sym_RPAREN, + STATE(187), 1, + aux_sym_parameters_repeat1, + [7389] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(375), 1, + anon_sym_COMMA, + ACTIONS(627), 1, + anon_sym_RPAREN, + STATE(169), 1, + aux_sym_function_call_repeat1, + [7402] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(385), 1, + anon_sym_COMMA, + ACTIONS(629), 1, + anon_sym_RBRACE, + STATE(195), 1, + aux_sym_record_expression_repeat1, + [7415] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(631), 1, + anon_sym_LBRACK, + ACTIONS(633), 1, + anon_sym_LBRACE, + [7425] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(635), 1, + anon_sym_EQ, + ACTIONS(637), 1, + anon_sym_COLON, + [7435] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(639), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [7443] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(641), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [7451] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(643), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [7459] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(645), 1, + anon_sym_COLON_EQ, + ACTIONS(647), 1, + anon_sym_COLON, + [7469] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(649), 1, + anon_sym_LPAREN, + STATE(137), 1, + sym_parameters, + [7479] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(649), 1, + anon_sym_LPAREN, + STATE(200), 1, + sym_parameters, + [7489] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(651), 1, + anon_sym_EQ, + ACTIONS(653), 1, + anon_sym_COLON, + [7499] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(655), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [7507] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(657), 1, + sym_identifier, + ACTIONS(659), 1, + anon_sym_RPAREN, + [7517] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, anon_sym_DQUOTE, - STATE(130), 1, + STATE(147), 1, sym_string_literal, - [6014] = 3, + [7527] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(515), 1, + ACTIONS(661), 1, sym_identifier, - ACTIONS(517), 1, + ACTIONS(663), 1, anon_sym_RBRACE, - [6024] = 3, + [7537] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(519), 1, - sym_identifier, - ACTIONS(521), 1, - anon_sym_RBRACE, - [6034] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(523), 1, - sym_identifier, - ACTIONS(525), 1, - anon_sym_RBRACE, - [6044] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(527), 1, - anon_sym_LBRACK, - ACTIONS(529), 1, - anon_sym_LBRACE, - [6054] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(531), 1, - anon_sym_COLON_EQ, - ACTIONS(533), 1, - anon_sym_COLON, - [6064] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(535), 1, + ACTIONS(649), 1, anon_sym_LPAREN, - STATE(124), 1, + STATE(207), 1, sym_parameters, - [6074] = 3, + [7547] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(535), 1, - anon_sym_LPAREN, - STATE(172), 1, - sym_parameters, - [6084] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(537), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [6092] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(539), 1, + ACTIONS(665), 1, sym_identifier, - ACTIONS(541), 1, - anon_sym_RPAREN, - [6102] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(543), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [6110] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(545), 1, - anon_sym_EQ, - ACTIONS(547), 1, - anon_sym_COLON, - [6120] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(549), 2, - anon_sym_COMMA, + ACTIONS(667), 1, anon_sym_RBRACE, - [6128] = 2, + [7557] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(551), 2, - anon_sym_COMMA, + ACTIONS(669), 1, + sym_identifier, + ACTIONS(671), 1, anon_sym_RBRACE, - [6136] = 2, + [7567] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(553), 1, + ACTIONS(673), 1, + sym_identifier, + [7574] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(675), 1, anon_sym_RPAREN, - [6143] = 2, + [7581] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(555), 1, - anon_sym_RPAREN, - [6150] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(557), 1, - anon_sym_RPAREN, - [6157] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(559), 1, + ACTIONS(677), 1, ts_builtin_sym_end, - [6164] = 2, + [7588] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(561), 1, - anon_sym_EQ, - [6171] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(563), 1, + ACTIONS(679), 1, anon_sym_RPAREN, - [6178] = 2, + [7595] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(565), 1, + ACTIONS(681), 1, + anon_sym_LBRACE, + [7602] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(683), 1, + anon_sym_LBRACE, + [7609] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(685), 1, + sym_integer_literal, + [7616] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(687), 1, sym_identifier, - [6185] = 2, + [7623] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(567), 1, + ACTIONS(689), 1, sym_identifier, - [6192] = 2, + [7630] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(569), 1, - anon_sym_EQ, - [6199] = 2, + ACTIONS(691), 1, + sym_integer_literal, + [7637] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(571), 1, + ACTIONS(693), 1, + anon_sym_COLON_EQ, + [7644] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(695), 1, + sym_integer_literal, + [7651] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(697), 1, + anon_sym_LPAREN, + [7658] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(699), 1, + anon_sym_LPAREN, + [7665] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(701), 1, + anon_sym_LPAREN, + [7672] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(703), 1, anon_sym_of, - [6206] = 2, + [7679] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(573), 1, + ACTIONS(705), 1, + anon_sym_LPAREN, + [7686] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(707), 1, + anon_sym_LPAREN, + [7693] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(709), 1, sym_identifier, - [6213] = 2, + [7700] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(575), 1, - anon_sym_of, - [6220] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(577), 1, - sym_identifier, - [6227] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(579), 1, - anon_sym_EQ, - [6234] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(581), 1, - anon_sym_COLON, - [6241] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(583), 1, - sym_identifier, - [6248] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(585), 1, - sym_identifier, - [6255] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(587), 1, + ACTIONS(711), 1, sym_integer_literal, - [6262] = 2, + [7707] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(589), 1, + ACTIONS(713), 1, sym_identifier, - [6269] = 2, + [7714] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(591), 1, - sym_integer_literal, - [6276] = 2, + ACTIONS(715), 1, + anon_sym_COLON_EQ, + [7721] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(593), 1, + ACTIONS(717), 1, sym_identifier, - [6283] = 2, + [7728] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(595), 1, - sym_integer_literal, - [6290] = 2, + ACTIONS(719), 1, + anon_sym_LBRACE, + [7735] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(597), 1, + ACTIONS(721), 1, anon_sym_RPAREN, - [6297] = 2, + [7742] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(599), 1, - sym_integer_literal, - [6304] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(601), 1, - sym_identifier, - [6311] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(603), 1, - anon_sym_COLON, - [6318] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(605), 1, - anon_sym_COLON_EQ, - [6325] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(607), 1, + ACTIONS(723), 1, anon_sym_EQ, - [6332] = 2, + [7749] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(609), 1, - anon_sym_EQ, - [6339] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_COLON_EQ, - [6346] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(613), 1, + ACTIONS(725), 1, anon_sym_COLON, - [6353] = 2, + [7756] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(615), 1, + ACTIONS(727), 1, anon_sym_EQ, - [6360] = 2, + [7763] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(617), 1, + ACTIONS(729), 1, + anon_sym_EQ, + [7770] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(731), 1, anon_sym_COLON, - [6367] = 2, + [7777] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(619), 1, - anon_sym_COLON_EQ, - [6374] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(621), 1, - anon_sym_LPAREN, - [6381] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(623), 1, - anon_sym_LPAREN, - [6388] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(625), 1, - anon_sym_LPAREN, - [6395] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(627), 1, - anon_sym_LPAREN, - [6402] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(629), 1, + ACTIONS(733), 1, anon_sym_of, - [6409] = 2, + [7784] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(631), 1, - anon_sym_LPAREN, + ACTIONS(735), 1, + anon_sym_EQ, + [7791] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(737), 1, + anon_sym_EQ, + [7798] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(739), 1, + sym_identifier, + [7805] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(741), 1, + anon_sym_COLON, + [7812] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(743), 1, + anon_sym_EQ, + [7819] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(745), 1, + anon_sym_LBRACE, + [7826] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(747), 1, + anon_sym_of, + [7833] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(749), 1, + anon_sym_COLON, + [7840] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(751), 1, + sym_identifier, + [7847] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(753), 1, + sym_identifier, + [7854] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(755), 1, + anon_sym_COLON_EQ, + [7861] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(757), 1, + anon_sym_EQ, + [7868] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(759), 1, + anon_sym_EQ, + [7875] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(761), 1, + sym_identifier, + [7882] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(763), 1, + sym_identifier, + [7889] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(765), 1, + anon_sym_RPAREN, + [7896] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(767), 1, + anon_sym_RPAREN, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 74, - [SMALL_STATE(4)] = 148, - [SMALL_STATE(5)] = 222, - [SMALL_STATE(6)] = 296, - [SMALL_STATE(7)] = 367, - [SMALL_STATE(8)] = 438, - [SMALL_STATE(9)] = 509, - [SMALL_STATE(10)] = 580, - [SMALL_STATE(11)] = 651, - [SMALL_STATE(12)] = 722, - [SMALL_STATE(13)] = 793, - [SMALL_STATE(14)] = 864, - [SMALL_STATE(15)] = 935, - [SMALL_STATE(16)] = 1006, - [SMALL_STATE(17)] = 1077, - [SMALL_STATE(18)] = 1148, - [SMALL_STATE(19)] = 1219, - [SMALL_STATE(20)] = 1290, - [SMALL_STATE(21)] = 1361, - [SMALL_STATE(22)] = 1432, - [SMALL_STATE(23)] = 1503, - [SMALL_STATE(24)] = 1574, - [SMALL_STATE(25)] = 1645, - [SMALL_STATE(26)] = 1716, - [SMALL_STATE(27)] = 1787, - [SMALL_STATE(28)] = 1858, - [SMALL_STATE(29)] = 1929, - [SMALL_STATE(30)] = 2000, - [SMALL_STATE(31)] = 2071, - [SMALL_STATE(32)] = 2142, - [SMALL_STATE(33)] = 2213, - [SMALL_STATE(34)] = 2284, - [SMALL_STATE(35)] = 2355, - [SMALL_STATE(36)] = 2426, - [SMALL_STATE(37)] = 2497, - [SMALL_STATE(38)] = 2546, - [SMALL_STATE(39)] = 2617, - [SMALL_STATE(40)] = 2658, - [SMALL_STATE(41)] = 2705, - [SMALL_STATE(42)] = 2746, - [SMALL_STATE(43)] = 2787, - [SMALL_STATE(44)] = 2837, - [SMALL_STATE(45)] = 2885, - [SMALL_STATE(46)] = 2923, - [SMALL_STATE(47)] = 2961, - [SMALL_STATE(48)] = 2999, - [SMALL_STATE(49)] = 3037, - [SMALL_STATE(50)] = 3085, - [SMALL_STATE(51)] = 3133, - [SMALL_STATE(52)] = 3171, - [SMALL_STATE(53)] = 3209, - [SMALL_STATE(54)] = 3247, - [SMALL_STATE(55)] = 3285, - [SMALL_STATE(56)] = 3333, - [SMALL_STATE(57)] = 3371, - [SMALL_STATE(58)] = 3409, - [SMALL_STATE(59)] = 3447, - [SMALL_STATE(60)] = 3485, - [SMALL_STATE(61)] = 3533, - [SMALL_STATE(62)] = 3571, - [SMALL_STATE(63)] = 3619, - [SMALL_STATE(64)] = 3665, - [SMALL_STATE(65)] = 3709, - [SMALL_STATE(66)] = 3751, - [SMALL_STATE(67)] = 3789, - [SMALL_STATE(68)] = 3829, - [SMALL_STATE(69)] = 3867, - [SMALL_STATE(70)] = 3905, - [SMALL_STATE(71)] = 3943, - [SMALL_STATE(72)] = 3981, - [SMALL_STATE(73)] = 4029, - [SMALL_STATE(74)] = 4067, - [SMALL_STATE(75)] = 4105, - [SMALL_STATE(76)] = 4143, - [SMALL_STATE(77)] = 4181, - [SMALL_STATE(78)] = 4219, - [SMALL_STATE(79)] = 4257, - [SMALL_STATE(80)] = 4295, - [SMALL_STATE(81)] = 4333, - [SMALL_STATE(82)] = 4371, - [SMALL_STATE(83)] = 4409, - [SMALL_STATE(84)] = 4447, - [SMALL_STATE(85)] = 4485, - [SMALL_STATE(86)] = 4522, - [SMALL_STATE(87)] = 4559, - [SMALL_STATE(88)] = 4596, - [SMALL_STATE(89)] = 4629, - [SMALL_STATE(90)] = 4666, - [SMALL_STATE(91)] = 4687, - [SMALL_STATE(92)] = 4724, - [SMALL_STATE(93)] = 4761, - [SMALL_STATE(94)] = 4798, - [SMALL_STATE(95)] = 4835, - [SMALL_STATE(96)] = 4872, - [SMALL_STATE(97)] = 4904, - [SMALL_STATE(98)] = 4936, - [SMALL_STATE(99)] = 4967, - [SMALL_STATE(100)] = 4998, - [SMALL_STATE(101)] = 5029, - [SMALL_STATE(102)] = 5060, - [SMALL_STATE(103)] = 5091, - [SMALL_STATE(104)] = 5122, - [SMALL_STATE(105)] = 5153, - [SMALL_STATE(106)] = 5184, - [SMALL_STATE(107)] = 5215, - [SMALL_STATE(108)] = 5238, - [SMALL_STATE(109)] = 5254, - [SMALL_STATE(110)] = 5270, - [SMALL_STATE(111)] = 5290, - [SMALL_STATE(112)] = 5306, - [SMALL_STATE(113)] = 5322, - [SMALL_STATE(114)] = 5338, - [SMALL_STATE(115)] = 5353, - [SMALL_STATE(116)] = 5368, - [SMALL_STATE(117)] = 5383, - [SMALL_STATE(118)] = 5398, - [SMALL_STATE(119)] = 5413, - [SMALL_STATE(120)] = 5428, - [SMALL_STATE(121)] = 5453, - [SMALL_STATE(122)] = 5468, - [SMALL_STATE(123)] = 5493, - [SMALL_STATE(124)] = 5508, - [SMALL_STATE(125)] = 5525, - [SMALL_STATE(126)] = 5540, - [SMALL_STATE(127)] = 5554, - [SMALL_STATE(128)] = 5568, - [SMALL_STATE(129)] = 5582, - [SMALL_STATE(130)] = 5596, - [SMALL_STATE(131)] = 5610, - [SMALL_STATE(132)] = 5624, - [SMALL_STATE(133)] = 5638, - [SMALL_STATE(134)] = 5652, - [SMALL_STATE(135)] = 5666, - [SMALL_STATE(136)] = 5679, - [SMALL_STATE(137)] = 5692, - [SMALL_STATE(138)] = 5705, - [SMALL_STATE(139)] = 5718, - [SMALL_STATE(140)] = 5731, - [SMALL_STATE(141)] = 5744, - [SMALL_STATE(142)] = 5757, - [SMALL_STATE(143)] = 5770, - [SMALL_STATE(144)] = 5783, - [SMALL_STATE(145)] = 5796, - [SMALL_STATE(146)] = 5809, - [SMALL_STATE(147)] = 5822, - [SMALL_STATE(148)] = 5835, - [SMALL_STATE(149)] = 5848, - [SMALL_STATE(150)] = 5861, - [SMALL_STATE(151)] = 5874, - [SMALL_STATE(152)] = 5887, - [SMALL_STATE(153)] = 5900, - [SMALL_STATE(154)] = 5913, - [SMALL_STATE(155)] = 5926, - [SMALL_STATE(156)] = 5939, - [SMALL_STATE(157)] = 5952, - [SMALL_STATE(158)] = 5965, - [SMALL_STATE(159)] = 5978, - [SMALL_STATE(160)] = 5991, - [SMALL_STATE(161)] = 6004, - [SMALL_STATE(162)] = 6014, - [SMALL_STATE(163)] = 6024, - [SMALL_STATE(164)] = 6034, - [SMALL_STATE(165)] = 6044, - [SMALL_STATE(166)] = 6054, - [SMALL_STATE(167)] = 6064, - [SMALL_STATE(168)] = 6074, - [SMALL_STATE(169)] = 6084, - [SMALL_STATE(170)] = 6092, - [SMALL_STATE(171)] = 6102, - [SMALL_STATE(172)] = 6110, - [SMALL_STATE(173)] = 6120, - [SMALL_STATE(174)] = 6128, - [SMALL_STATE(175)] = 6136, - [SMALL_STATE(176)] = 6143, - [SMALL_STATE(177)] = 6150, - [SMALL_STATE(178)] = 6157, - [SMALL_STATE(179)] = 6164, - [SMALL_STATE(180)] = 6171, - [SMALL_STATE(181)] = 6178, - [SMALL_STATE(182)] = 6185, - [SMALL_STATE(183)] = 6192, - [SMALL_STATE(184)] = 6199, - [SMALL_STATE(185)] = 6206, - [SMALL_STATE(186)] = 6213, - [SMALL_STATE(187)] = 6220, - [SMALL_STATE(188)] = 6227, - [SMALL_STATE(189)] = 6234, - [SMALL_STATE(190)] = 6241, - [SMALL_STATE(191)] = 6248, - [SMALL_STATE(192)] = 6255, - [SMALL_STATE(193)] = 6262, - [SMALL_STATE(194)] = 6269, - [SMALL_STATE(195)] = 6276, - [SMALL_STATE(196)] = 6283, - [SMALL_STATE(197)] = 6290, - [SMALL_STATE(198)] = 6297, - [SMALL_STATE(199)] = 6304, - [SMALL_STATE(200)] = 6311, - [SMALL_STATE(201)] = 6318, - [SMALL_STATE(202)] = 6325, - [SMALL_STATE(203)] = 6332, - [SMALL_STATE(204)] = 6339, - [SMALL_STATE(205)] = 6346, - [SMALL_STATE(206)] = 6353, - [SMALL_STATE(207)] = 6360, - [SMALL_STATE(208)] = 6367, - [SMALL_STATE(209)] = 6374, - [SMALL_STATE(210)] = 6381, - [SMALL_STATE(211)] = 6388, - [SMALL_STATE(212)] = 6395, - [SMALL_STATE(213)] = 6402, - [SMALL_STATE(214)] = 6409, + [SMALL_STATE(3)] = 79, + [SMALL_STATE(4)] = 158, + [SMALL_STATE(5)] = 237, + [SMALL_STATE(6)] = 316, + [SMALL_STATE(7)] = 395, + [SMALL_STATE(8)] = 471, + [SMALL_STATE(9)] = 547, + [SMALL_STATE(10)] = 623, + [SMALL_STATE(11)] = 699, + [SMALL_STATE(12)] = 775, + [SMALL_STATE(13)] = 851, + [SMALL_STATE(14)] = 927, + [SMALL_STATE(15)] = 1003, + [SMALL_STATE(16)] = 1079, + [SMALL_STATE(17)] = 1155, + [SMALL_STATE(18)] = 1231, + [SMALL_STATE(19)] = 1307, + [SMALL_STATE(20)] = 1383, + [SMALL_STATE(21)] = 1459, + [SMALL_STATE(22)] = 1535, + [SMALL_STATE(23)] = 1611, + [SMALL_STATE(24)] = 1687, + [SMALL_STATE(25)] = 1763, + [SMALL_STATE(26)] = 1839, + [SMALL_STATE(27)] = 1915, + [SMALL_STATE(28)] = 1991, + [SMALL_STATE(29)] = 2067, + [SMALL_STATE(30)] = 2143, + [SMALL_STATE(31)] = 2219, + [SMALL_STATE(32)] = 2295, + [SMALL_STATE(33)] = 2371, + [SMALL_STATE(34)] = 2447, + [SMALL_STATE(35)] = 2523, + [SMALL_STATE(36)] = 2599, + [SMALL_STATE(37)] = 2675, + [SMALL_STATE(38)] = 2751, + [SMALL_STATE(39)] = 2827, + [SMALL_STATE(40)] = 2903, + [SMALL_STATE(41)] = 2979, + [SMALL_STATE(42)] = 3055, + [SMALL_STATE(43)] = 3106, + [SMALL_STATE(44)] = 3152, + [SMALL_STATE(45)] = 3201, + [SMALL_STATE(46)] = 3244, + [SMALL_STATE(47)] = 3287, + [SMALL_STATE(48)] = 3330, + [SMALL_STATE(49)] = 3370, + [SMALL_STATE(50)] = 3410, + [SMALL_STATE(51)] = 3456, + [SMALL_STATE(52)] = 3500, + [SMALL_STATE(53)] = 3540, + [SMALL_STATE(54)] = 3580, + [SMALL_STATE(55)] = 3620, + [SMALL_STATE(56)] = 3660, + [SMALL_STATE(57)] = 3700, + [SMALL_STATE(58)] = 3750, + [SMALL_STATE(59)] = 3790, + [SMALL_STATE(60)] = 3840, + [SMALL_STATE(61)] = 3890, + [SMALL_STATE(62)] = 3930, + [SMALL_STATE(63)] = 3972, + [SMALL_STATE(64)] = 4024, + [SMALL_STATE(65)] = 4074, + [SMALL_STATE(66)] = 4114, + [SMALL_STATE(67)] = 4154, + [SMALL_STATE(68)] = 4194, + [SMALL_STATE(69)] = 4234, + [SMALL_STATE(70)] = 4284, + [SMALL_STATE(71)] = 4324, + [SMALL_STATE(72)] = 4364, + [SMALL_STATE(73)] = 4404, + [SMALL_STATE(74)] = 4452, + [SMALL_STATE(75)] = 4492, + [SMALL_STATE(76)] = 4542, + [SMALL_STATE(77)] = 4582, + [SMALL_STATE(78)] = 4622, + [SMALL_STATE(79)] = 4662, + [SMALL_STATE(80)] = 4702, + [SMALL_STATE(81)] = 4742, + [SMALL_STATE(82)] = 4782, + [SMALL_STATE(83)] = 4822, + [SMALL_STATE(84)] = 4862, + [SMALL_STATE(85)] = 4912, + [SMALL_STATE(86)] = 4952, + [SMALL_STATE(87)] = 4992, + [SMALL_STATE(88)] = 5032, + [SMALL_STATE(89)] = 5073, + [SMALL_STATE(90)] = 5114, + [SMALL_STATE(91)] = 5155, + [SMALL_STATE(92)] = 5194, + [SMALL_STATE(93)] = 5233, + [SMALL_STATE(94)] = 5272, + [SMALL_STATE(95)] = 5315, + [SMALL_STATE(96)] = 5357, + [SMALL_STATE(97)] = 5399, + [SMALL_STATE(98)] = 5441, + [SMALL_STATE(99)] = 5478, + [SMALL_STATE(100)] = 5515, + [SMALL_STATE(101)] = 5552, + [SMALL_STATE(102)] = 5589, + [SMALL_STATE(103)] = 5622, + [SMALL_STATE(104)] = 5655, + [SMALL_STATE(105)] = 5692, + [SMALL_STATE(106)] = 5725, + [SMALL_STATE(107)] = 5758, + [SMALL_STATE(108)] = 5795, + [SMALL_STATE(109)] = 5832, + [SMALL_STATE(110)] = 5864, + [SMALL_STATE(111)] = 5896, + [SMALL_STATE(112)] = 5927, + [SMALL_STATE(113)] = 5958, + [SMALL_STATE(114)] = 5989, + [SMALL_STATE(115)] = 6020, + [SMALL_STATE(116)] = 6051, + [SMALL_STATE(117)] = 6082, + [SMALL_STATE(118)] = 6113, + [SMALL_STATE(119)] = 6144, + [SMALL_STATE(120)] = 6175, + [SMALL_STATE(121)] = 6199, + [SMALL_STATE(122)] = 6216, + [SMALL_STATE(123)] = 6237, + [SMALL_STATE(124)] = 6258, + [SMALL_STATE(125)] = 6275, + [SMALL_STATE(126)] = 6292, + [SMALL_STATE(127)] = 6309, + [SMALL_STATE(128)] = 6338, + [SMALL_STATE(129)] = 6367, + [SMALL_STATE(130)] = 6384, + [SMALL_STATE(131)] = 6400, + [SMALL_STATE(132)] = 6416, + [SMALL_STATE(133)] = 6432, + [SMALL_STATE(134)] = 6448, + [SMALL_STATE(135)] = 6464, + [SMALL_STATE(136)] = 6480, + [SMALL_STATE(137)] = 6496, + [SMALL_STATE(138)] = 6514, + [SMALL_STATE(139)] = 6530, + [SMALL_STATE(140)] = 6546, + [SMALL_STATE(141)] = 6562, + [SMALL_STATE(142)] = 6578, + [SMALL_STATE(143)] = 6594, + [SMALL_STATE(144)] = 6610, + [SMALL_STATE(145)] = 6625, + [SMALL_STATE(146)] = 6640, + [SMALL_STATE(147)] = 6655, + [SMALL_STATE(148)] = 6670, + [SMALL_STATE(149)] = 6685, + [SMALL_STATE(150)] = 6700, + [SMALL_STATE(151)] = 6715, + [SMALL_STATE(152)] = 6730, + [SMALL_STATE(153)] = 6745, + [SMALL_STATE(154)] = 6766, + [SMALL_STATE(155)] = 6787, + [SMALL_STATE(156)] = 6808, + [SMALL_STATE(157)] = 6829, + [SMALL_STATE(158)] = 6850, + [SMALL_STATE(159)] = 6871, + [SMALL_STATE(160)] = 6892, + [SMALL_STATE(161)] = 6913, + [SMALL_STATE(162)] = 6934, + [SMALL_STATE(163)] = 6948, + [SMALL_STATE(164)] = 6962, + [SMALL_STATE(165)] = 6976, + [SMALL_STATE(166)] = 6990, + [SMALL_STATE(167)] = 7003, + [SMALL_STATE(168)] = 7016, + [SMALL_STATE(169)] = 7029, + [SMALL_STATE(170)] = 7042, + [SMALL_STATE(171)] = 7055, + [SMALL_STATE(172)] = 7068, + [SMALL_STATE(173)] = 7081, + [SMALL_STATE(174)] = 7094, + [SMALL_STATE(175)] = 7107, + [SMALL_STATE(176)] = 7120, + [SMALL_STATE(177)] = 7133, + [SMALL_STATE(178)] = 7146, + [SMALL_STATE(179)] = 7159, + [SMALL_STATE(180)] = 7172, + [SMALL_STATE(181)] = 7185, + [SMALL_STATE(182)] = 7198, + [SMALL_STATE(183)] = 7211, + [SMALL_STATE(184)] = 7224, + [SMALL_STATE(185)] = 7237, + [SMALL_STATE(186)] = 7250, + [SMALL_STATE(187)] = 7263, + [SMALL_STATE(188)] = 7276, + [SMALL_STATE(189)] = 7289, + [SMALL_STATE(190)] = 7302, + [SMALL_STATE(191)] = 7311, + [SMALL_STATE(192)] = 7324, + [SMALL_STATE(193)] = 7337, + [SMALL_STATE(194)] = 7350, + [SMALL_STATE(195)] = 7363, + [SMALL_STATE(196)] = 7376, + [SMALL_STATE(197)] = 7389, + [SMALL_STATE(198)] = 7402, + [SMALL_STATE(199)] = 7415, + [SMALL_STATE(200)] = 7425, + [SMALL_STATE(201)] = 7435, + [SMALL_STATE(202)] = 7443, + [SMALL_STATE(203)] = 7451, + [SMALL_STATE(204)] = 7459, + [SMALL_STATE(205)] = 7469, + [SMALL_STATE(206)] = 7479, + [SMALL_STATE(207)] = 7489, + [SMALL_STATE(208)] = 7499, + [SMALL_STATE(209)] = 7507, + [SMALL_STATE(210)] = 7517, + [SMALL_STATE(211)] = 7527, + [SMALL_STATE(212)] = 7537, + [SMALL_STATE(213)] = 7547, + [SMALL_STATE(214)] = 7557, + [SMALL_STATE(215)] = 7567, + [SMALL_STATE(216)] = 7574, + [SMALL_STATE(217)] = 7581, + [SMALL_STATE(218)] = 7588, + [SMALL_STATE(219)] = 7595, + [SMALL_STATE(220)] = 7602, + [SMALL_STATE(221)] = 7609, + [SMALL_STATE(222)] = 7616, + [SMALL_STATE(223)] = 7623, + [SMALL_STATE(224)] = 7630, + [SMALL_STATE(225)] = 7637, + [SMALL_STATE(226)] = 7644, + [SMALL_STATE(227)] = 7651, + [SMALL_STATE(228)] = 7658, + [SMALL_STATE(229)] = 7665, + [SMALL_STATE(230)] = 7672, + [SMALL_STATE(231)] = 7679, + [SMALL_STATE(232)] = 7686, + [SMALL_STATE(233)] = 7693, + [SMALL_STATE(234)] = 7700, + [SMALL_STATE(235)] = 7707, + [SMALL_STATE(236)] = 7714, + [SMALL_STATE(237)] = 7721, + [SMALL_STATE(238)] = 7728, + [SMALL_STATE(239)] = 7735, + [SMALL_STATE(240)] = 7742, + [SMALL_STATE(241)] = 7749, + [SMALL_STATE(242)] = 7756, + [SMALL_STATE(243)] = 7763, + [SMALL_STATE(244)] = 7770, + [SMALL_STATE(245)] = 7777, + [SMALL_STATE(246)] = 7784, + [SMALL_STATE(247)] = 7791, + [SMALL_STATE(248)] = 7798, + [SMALL_STATE(249)] = 7805, + [SMALL_STATE(250)] = 7812, + [SMALL_STATE(251)] = 7819, + [SMALL_STATE(252)] = 7826, + [SMALL_STATE(253)] = 7833, + [SMALL_STATE(254)] = 7840, + [SMALL_STATE(255)] = 7847, + [SMALL_STATE(256)] = 7854, + [SMALL_STATE(257)] = 7861, + [SMALL_STATE(258)] = 7868, + [SMALL_STATE(259)] = 7875, + [SMALL_STATE(260)] = 7882, + [SMALL_STATE(261)] = 7889, + [SMALL_STATE(262)] = 7896, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -7256,311 +8782,377 @@ static const TSParseActionEntry ts_parse_actions[] = { [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), - [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(119), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), - [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(193), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(181), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(182), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(190), - [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(199), - [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161), - [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(211), - [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(212), - [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(209), - [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(210), - [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(214), - [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(95), - [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), - [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), - [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), - [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), - [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), - [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), - [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), - [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), - [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(83), - [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), - [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), - [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), - [75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), - [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), - [79] = {.entry = {.count = 1, .reusable = false}}, SHIFT(44), - [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), - [83] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94), - [85] = {.entry = {.count = 1, .reusable = false}}, SHIFT(55), - [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), - [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), - [91] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97), - [93] = {.entry = {.count = 1, .reusable = false}}, SHIFT(43), - [95] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), - [97] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96), - [99] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), - [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), - [103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(100), - [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99), - [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(260), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(259), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(255), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(254), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(248), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(210), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(185), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(233), + [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(232), + [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(231), + [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(229), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(228), + [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(227), + [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107), + [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), + [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), + [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(108), + [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(100), + [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61), + [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99), + [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), + [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111), + [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), + [75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), + [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), + [79] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), + [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), + [83] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), + [85] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), + [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51), + [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90), + [91] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), + [93] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), + [95] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), + [97] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), + [99] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), + [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), + [103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), + [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59), + [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), [109] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88), - [111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), - [113] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), - [115] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), - [117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), - [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63), - [121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), - [123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lvalue, 1), - [125] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__lvalue, 1), SHIFT(27), - [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [130] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lvalue, 1), - [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), - [134] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), - [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_value, 3, .production_id = 7), - [138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_value, 3, .production_id = 7), - [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1), - [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), - [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [146] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr, 1), - [148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta_lvalue, 4, .production_id = 17), - [152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_meta_lvalue, 4, .production_id = 17), - [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_value, 4, .production_id = 18), - [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_value, 4, .production_id = 18), - [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 4, .production_id = 11), - [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [166] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), - [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 6, .production_id = 27), - [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 5, .production_id = 20), - [178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 5, .production_id = 20), - [180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 5, .production_id = 19), - [182] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 5, .production_id = 19), - [184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 2), - [186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 2), - [188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta_expression, 4, .production_id = 17), - [190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_meta_expression, 4, .production_id = 17), - [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, .production_id = 1), - [194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_expression, 6, .production_id = 25), - [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 6, .production_id = 26), - [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 6, .production_id = 26), - [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, .production_id = 14), - [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, .production_id = 14), - [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 5, .production_id = 21), - [206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 5, .production_id = 21), - [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, .production_id = 13), - [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, .production_id = 13), - [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_expression, 4, .production_id = 12), - [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 4), - [216] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 4), - [218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 6, .production_id = 28), - [220] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 6, .production_id = 28), - [222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, .production_id = 10), - [224] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, .production_id = 10), - [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 3, .production_id = 9), - [228] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 3, .production_id = 9), - [230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_expression, 8, .production_id = 43), - [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 7, .production_id = 42), - [234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 7, .production_id = 42), - [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, .production_id = 8), - [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 6), - [240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 6), - [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3), - [244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3), - [246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), - [248] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), - [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta_cast, 6, .production_id = 33), - [252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_meta_cast, 6, .production_id = 33), - [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, .production_id = 3), - [256] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, .production_id = 3), - [258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_expression, 6, .production_id = 34), - [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 6, .production_id = 35), - [262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 6, .production_id = 35), - [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 3, .production_id = 4), - [266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 3, .production_id = 4), + [111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(57), + [113] = {.entry = {.count = 1, .reusable = false}}, SHIFT(117), + [115] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), + [117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), + [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), + [121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63), + [123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), + [125] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), + [127] = {.entry = {.count = 1, .reusable = false}}, SHIFT(109), + [129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), + [131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), + [133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), + [135] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114), + [137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(113), + [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lvalue, 1), + [141] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__lvalue, 1), SHIFT(31), + [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [146] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lvalue, 1), + [148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), + [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_value, 3, .production_id = 9), + [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_value, 3, .production_id = 9), + [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1), + [158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr, 1), + [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_value, 4, .production_id = 24), + [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_value, 4, .production_id = 24), + [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta_type_identifier, 4), + [172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_meta_type_identifier, 4), + [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta_lvalue, 4, .production_id = 23), + [176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_meta_lvalue, 4, .production_id = 23), + [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_call, 5, .production_id = 32), + [180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_call, 5, .production_id = 32), + [182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 3, .production_id = 6), + [184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 3, .production_id = 6), + [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 8), + [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), + [196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 8), + [198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 6, .production_id = 36), + [200] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 6, .production_id = 36), + [202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 2, .production_id = 3), + [204] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 2, .production_id = 3), + [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 2, .production_id = 4), + [208] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 2, .production_id = 4), + [210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, .production_id = 15), + [212] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, .production_id = 15), + [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 6, .production_id = 35), + [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 6, .production_id = 34), + [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 6, .production_id = 34), + [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_expression, 6, .production_id = 33), + [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_expression, 4, .production_id = 14), + [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, .production_id = 16), + [230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, .production_id = 16), + [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 4, .production_id = 13), + [234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, .production_id = 10), + [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_call, 7, .production_id = 53), + [240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_call, 7, .production_id = 53), + [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 4), + [244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 4), + [246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3), + [248] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3), + [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, .production_id = 12), + [252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, .production_id = 12), + [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_expression, 8, .production_id = 55), + [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, .production_id = 5), + [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, .production_id = 5), + [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 7, .production_id = 46), + [262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 7, .production_id = 46), + [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 5, .production_id = 25), + [266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 5, .production_id = 25), [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 3), [270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 3), - [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 7, .production_id = 36), - [274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 7, .production_id = 36), - [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 3), - [278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 3), - [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 22), - [282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 6, .production_id = 32), - [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 6, .production_id = 31), - [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 4, .production_id = 16), - [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 40), - [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 41), - [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), - [294] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(181), - [297] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(182), - [300] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(190), - [303] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(199), - [306] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(161), - [309] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(211), - [312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), - [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), - [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), - [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), - [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), - [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), - [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_sequence_expression_repeat1, 2), - [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187), - [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta_type_identifier, 4), - [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), - [354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 4, .production_id = 49), - [356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), - [360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), - [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat2, 2), - [374] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat2, 2), SHIFT_REPEAT(182), - [377] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat2, 2), SHIFT_REPEAT(190), - [380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 5, .production_id = 38), - [382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 6, .production_id = 46), - [384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat1, 2), - [386] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat1, 2), SHIFT_REPEAT(181), - [389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2), - [391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 6, .production_id = 48), - [393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 5, .production_id = 39), - [395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 2), - [397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 6, .production_id = 50), - [399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias, 1, .production_id = 15), - [401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias, 1), - [403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 3, .production_id = 29), - [405] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 3, .production_id = 30), - [407] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), - [409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), - [411] = {.entry = {.count = 1, .reusable = false}}, SHIFT(186), - [413] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 5, .production_id = 44), - [415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 5, .production_id = 45), - [417] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_declaration, 3, .production_id = 5), - [419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), - [421] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 6, .production_id = 51), - [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 4, .production_id = 16), - [425] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_declaration, 5, .production_id = 24), - [427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_declaration, 5, .production_id = 23), - [429] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta_chunks, 4, .production_id = 17), - [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 2, .production_id = 2), - [433] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_sequence_expression_repeat1, 2), SHIFT_REPEAT(30), - [436] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), - [438] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(132), - [441] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), - [443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [445] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), - [447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), - [451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [457] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), - [459] = {.entry = {.count = 1, .reusable = false}}, SHIFT(143), - [461] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(24), - [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [466] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 2, .production_id = 37), SHIFT_REPEAT(187), - [469] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 2, .production_id = 37), - [471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), - [475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), - [477] = {.entry = {.count = 1, .reusable = false}}, SHIFT(173), - [479] = {.entry = {.count = 1, .reusable = false}}, SHIFT(169), - [481] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 47), SHIFT_REPEAT(195), - [484] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 47), - [486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [488] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144), - [490] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2, .production_id = 47), SHIFT_REPEAT(185), - [493] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2, .production_id = 47), - [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [499] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128), - [501] = {.entry = {.count = 1, .reusable = false}}, SHIFT(201), - [503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), - [505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [509] = {.entry = {.count = 1, .reusable = false}}, SHIFT(203), - [511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), - [517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), - [521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), - [525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), - [531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [533] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154), - [535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), - [537] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 4, .production_id = 38), - [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), - [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 4, .production_id = 39), - [545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), - [549] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 4, .production_id = 44), - [551] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 4, .production_id = 45), - [553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [559] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), - [567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), - [569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), - [575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), - [577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), - [579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), - [583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), - [585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), - [589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), - [591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), - [593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), - [595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), - [597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), - [601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), - [603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), - [605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [609] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), - [615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), - [619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), - [623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), - [625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), - [627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, .production_id = 1), + [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 5, .production_id = 27), + [276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 5, .production_id = 27), + [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 3, .production_id = 11), + [280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 3, .production_id = 11), + [282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 2), + [284] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 2), + [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_call, 6, .production_id = 43), + [288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_call, 6, .production_id = 43), + [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 3), + [292] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 3), + [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta_expression, 4, .production_id = 23), + [296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_meta_expression, 4, .production_id = 23), + [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta_cast, 6, .production_id = 42), + [300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_meta_cast, 6, .production_id = 42), + [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 5, .production_id = 26), + [304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 5, .production_id = 26), + [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_expression, 6, .production_id = 44), + [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), + [310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), + [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 7, .production_id = 54), + [314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 7, .production_id = 54), + [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 6, .production_id = 45), + [318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 6, .production_id = 45), + [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 4, .production_id = 18), + [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 6, .production_id = 39), + [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 6, .production_id = 40), + [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 28), + [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 51), + [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 52), + [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), + [334] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(259), + [337] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(255), + [340] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(254), + [343] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(248), + [346] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(210), + [349] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(233), + [352] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(232), + [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), + [357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), + [359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), + [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), + [363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), + [365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), + [367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), + [369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), + [371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 7, .production_id = 51), + [391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_sequence_expression_repeat1, 2), + [393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 5, .production_id = 28), + [397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 7, .production_id = 52), + [399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 4, .production_id = 62), + [405] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), + [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), + [411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), + [413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat3, 2), + [425] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat3, 2), SHIFT_REPEAT(255), + [428] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat3, 2), SHIFT_REPEAT(254), + [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2), + [433] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat1, 2), + [435] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat1, 2), SHIFT_REPEAT(259), + [438] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat2, 2), + [440] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat2, 2), SHIFT_REPEAT(233), + [443] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 5, .production_id = 49), + [445] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 5, .production_id = 50), + [447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 6, .production_id = 61), + [449] = {.entry = {.count = 1, .reusable = false}}, SHIFT(131), + [451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), + [453] = {.entry = {.count = 1, .reusable = false}}, SHIFT(252), + [455] = {.entry = {.count = 1, .reusable = false}}, SHIFT(176), + [457] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 6, .production_id = 59), + [459] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 5, .production_id = 57), + [461] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias, 1, .production_id = 17), + [463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_type, 5, .production_id = 58), + [465] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 5, .production_id = 56), + [467] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias, 1), + [469] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 2), + [471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 6, .production_id = 63), + [473] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_declaration, 3, .production_id = 7), + [475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [477] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 6, .production_id = 64), + [479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_type, 4), + [481] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 3, .production_id = 37), + [483] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_type, 4, .production_id = 48), + [485] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 3, .production_id = 38), + [487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_type, 3), + [489] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta_chunks, 4, .production_id = 23), + [491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_declaration, 5, .production_id = 29), + [493] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 6, .production_id = 41), + [495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 2, .production_id = 2), + [497] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_declaration, 5, .production_id = 30), + [499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 4, .production_id = 19), + [501] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 4, .production_id = 18), + [503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 5, .production_id = 19), + [505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 5, .production_id = 31), + [507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), + [511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [513] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__class_declaration_common_repeat1, 2), + [515] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__class_declaration_common_repeat1, 2), SHIFT_REPEAT(248), + [518] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__class_declaration_common_repeat1, 2), SHIFT_REPEAT(223), + [521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [533] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), + [535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [537] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), + [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [541] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_sequence_expression_repeat1, 2), SHIFT_REPEAT(34), + [544] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), + [546] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(165), + [549] = {.entry = {.count = 1, .reusable = false}}, SHIFT(194), + [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), + [553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [555] = {.entry = {.count = 1, .reusable = false}}, SHIFT(220), + [557] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(15), + [560] = {.entry = {.count = 1, .reusable = false}}, SHIFT(236), + [562] = {.entry = {.count = 1, .reusable = false}}, SHIFT(202), + [564] = {.entry = {.count = 1, .reusable = false}}, SHIFT(208), + [566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [568] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 60), SHIFT_REPEAT(235), + [571] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 60), + [573] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140), + [575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [579] = {.entry = {.count = 1, .reusable = false}}, SHIFT(167), + [581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [583] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2, .production_id = 60), SHIFT_REPEAT(222), + [586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2, .production_id = 60), + [588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [590] = {.entry = {.count = 1, .reusable = false}}, SHIFT(250), + [592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), + [594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [596] = {.entry = {.count = 1, .reusable = false}}, SHIFT(145), + [598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [600] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), + [602] = {.entry = {.count = 1, .reusable = false}}, SHIFT(246), + [604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [610] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declaration, 1, .production_id = 20), + [612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [620] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 2, .production_id = 47), SHIFT_REPEAT(215), + [623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 2, .production_id = 47), + [625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), + [635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), + [639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 4, .production_id = 57), + [641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 4, .production_id = 56), + [643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 4, .production_id = 50), + [645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [647] = {.entry = {.count = 1, .reusable = false}}, SHIFT(170), + [649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), + [651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), + [655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 4, .production_id = 49), + [657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), + [659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), + [667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), + [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [677] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [681] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extends_qualifier, 2, .production_id = 22), + [683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extends_qualifier, 2, .production_id = 21), + [685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), + [687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), + [689] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), + [691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), + [693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), + [697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), + [701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), + [703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), + [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), + [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), + [715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), + [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), + [733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), + [741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), + [755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), + [763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), + [765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), }; #ifdef __cplusplus diff --git a/test/corpus/object-oriented.txt b/test/corpus/object-oriented.txt new file mode 100644 index 0000000..56a1c94 --- /dev/null +++ b/test/corpus/object-oriented.txt @@ -0,0 +1,132 @@ +================================================================================ +New expression +================================================================================ + +new Object + +-------------------------------------------------------------------------------- + +(source_file + (new_expression + class: (type_identifier))) + +================================================================================ +Method call +================================================================================ + +object.method(12, "27") + +-------------------------------------------------------------------------------- + +(source_file + (method_call + object: (identifier) + method: (identifier) + arguments: (integer_literal) + arguments: (string_literal))) + +================================================================================ +Class declaration +================================================================================ + +class A { } + +-------------------------------------------------------------------------------- + +(source_file + (class_declaration + name: (identifier))) + +================================================================================ +Class type +================================================================================ + +type A = class { } + +-------------------------------------------------------------------------------- + +(source_file + (type_declaration + (identifier) + (class_type))) + +================================================================================ +Class declaration extends +================================================================================ + +class A extends Object { } + +-------------------------------------------------------------------------------- + +(source_file + (class_declaration + name: (identifier) + (extends_qualifier + super: (type_identifier)))) + +================================================================================ +Class type +================================================================================ + +type A = class extends Object { } + +-------------------------------------------------------------------------------- + +(source_file + (type_declaration + name: (identifier) + value: (class_type + (extends_qualifier + super: (type_identifier))))) + +================================================================================ +Class field +================================================================================ + +class A { + var a : int := 12 + var b := 27 +} + +-------------------------------------------------------------------------------- + +(source_file + (class_declaration + name: (identifier) + fields: (field_declaration + name: (identifier) + type: (type_identifier) + (operator) + value: (integer_literal)) + fields: (field_declaration + name: (identifier) + (operator) + value: (integer_literal)))) + +================================================================================ +Class method +================================================================================ + +class A { + method m(a: int, b: string) : int = a + method n() = () +} + +-------------------------------------------------------------------------------- + +(source_file + (class_declaration + name: (identifier) + fields: (method_declaration + name: (identifier) + parameters: (parameters + name: (identifier) + type: (type_identifier) + name: (identifier) + type: (type_identifier)) + return_type: (type_identifier) + body: (identifier)) + fields: (method_declaration + name: (identifier) + parameters: (parameters) + body: (sequence_expression))))