diff --git a/tree-sitter-storybook/grammar.js b/tree-sitter-storybook/grammar.js index afd7e2e..a248ea5 100644 --- a/tree-sitter-storybook/grammar.js +++ b/tree-sitter-storybook/grammar.js @@ -20,7 +20,8 @@ module.exports = grammar({ ], conflicts: $ => [ - [$.path_segments] + [$.path_segments], + [$.sub_concept_enum_body, $.sub_concept_record_body] ], word: $ => $.identifier, @@ -45,7 +46,10 @@ module.exports = grammar({ $.relationship, $.location, $.species, - $.enum_declaration + $.enum_declaration, + $.concept_declaration, + $.sub_concept, + $.concept_comparison ), // Use declarations @@ -78,6 +82,7 @@ module.exports = grammar({ template: $ => seq( 'template', field('name', $.identifier), + optional(seq(':', field('species', $.identifier))), optional('strict'), '{', repeat($.include), @@ -374,6 +379,80 @@ module.exports = grammar({ '}' ), + // Concept declaration - base type with no structure + concept_declaration: $ => seq( + 'concept', + field('name', $.identifier), + ';' + ), + + // Sub-concept declaration - enum or record subtype with dot notation + sub_concept: $ => seq( + 'sub_concept', + field('parent', $.identifier), + '.', + field('name', $.identifier), + '{', + field('body', choice( + $.sub_concept_record_body, + $.sub_concept_enum_body + )), + '}' + ), + + // Enum form: Variant1, Variant2, Variant3 + sub_concept_enum_body: $ => commaSep1($.identifier), + + // Record form: field_name: Type, field_name: any + sub_concept_record_body: $ => commaSep1($.sub_concept_field), + + sub_concept_field: $ => seq( + field('name', $.identifier), + ':', + field('type', choice($.identifier, $.any_type)) + ), + + any_type: $ => 'any', + + // Concept comparison - compile-time pattern matching + concept_comparison: $ => seq( + 'concept_comparison', + field('name', $.identifier), + '{', + commaSep1($.variant_pattern), + '}' + ), + + // A named variant with field conditions + variant_pattern: $ => seq( + field('name', $.identifier), + ':', + '{', + commaSep1($.field_condition), + '}' + ), + + // A condition on a sub_concept field + field_condition: $ => seq( + field('sub_concept', $.dotted_path), + ':', + field('condition', $.condition_expr) + ), + + // Condition: either 'any' or 'Type is Value or Type is Value2' + condition_expr: $ => choice( + $.any_type, + $.is_condition + ), + + // Pattern: DottedPath is Ident [or DottedPath is Ident]* + is_condition: $ => seq( + $.dotted_path, + 'is', + $.identifier, + repeat(seq('or', $.dotted_path, 'is', $.identifier)) + ), + // Expressions (for conditions in life arcs) expression: $ => choice( $.or_expression, diff --git a/tree-sitter-storybook/queries/highlights.scm b/tree-sitter-storybook/queries/highlights.scm index 8ead7f0..b4a9eaf 100644 --- a/tree-sitter-storybook/queries/highlights.scm +++ b/tree-sitter-storybook/queries/highlights.scm @@ -18,6 +18,9 @@ "species" "enum" "state" + "concept" + "sub_concept" + "concept_comparison" ] @keyword.declaration ; Keywords - Control flow and modifiers @@ -45,6 +48,7 @@ "remove" "append" "is" + "any" ] @keyword.special ; Boolean literals @@ -74,9 +78,16 @@ (species name: (identifier) @type.species) (enum_declaration name: (identifier) @type.enum) (arc_state name: (identifier) @type.state) +(concept_declaration name: (identifier) @type.concept) +(sub_concept parent: (identifier) @type.concept) +(sub_concept name: (identifier) @type.sub_concept) +(concept_comparison name: (identifier) @type.concept_comparison) +(variant_pattern name: (identifier) @type.variant) +(template species: (identifier) @type.builtin) ; Field names (field name: (dotted_path) @property) +(sub_concept_field name: (identifier) @property) ; Species reference (character species: (identifier) @type.builtin) @@ -124,14 +135,10 @@ "." ".." "*" - "?" "@" ] @punctuation.delimiter ; Behavior tree nodes -(selector_node "?" @keyword.behavior.selector) -(sequence_node ">" @keyword.behavior.sequence) -(repeat_node "*" @keyword.behavior.repeat) (action_node (identifier) @function.action) ; Transitions diff --git a/tree-sitter-storybook/queries/indents.scm b/tree-sitter-storybook/queries/indents.scm index 01439b4..de54a3d 100644 --- a/tree-sitter-storybook/queries/indents.scm +++ b/tree-sitter-storybook/queries/indents.scm @@ -38,8 +38,12 @@ (enum_declaration) (selector_node) (sequence_node) - (repeat_node) + (decorator_node) + (sub_concept) + (concept_comparison) + (variant_pattern) ] @indent.begin ; Dedent after semicolon at top level (use_declaration ";" @indent.end) +(concept_declaration ";" @indent.end) diff --git a/tree-sitter-storybook/queries/outline.scm b/tree-sitter-storybook/queries/outline.scm index f7ce582..72b48cc 100644 --- a/tree-sitter-storybook/queries/outline.scm +++ b/tree-sitter-storybook/queries/outline.scm @@ -55,3 +55,18 @@ (enum_declaration name: (identifier) @name ) @symbol.enum + +; Concepts +(concept_declaration + name: (identifier) @name +) @symbol.concept + +; Sub-concepts +(sub_concept + name: (identifier) @name +) @symbol.sub_concept + +; Concept comparisons +(concept_comparison + name: (identifier) @name +) @symbol.concept_comparison diff --git a/tree-sitter-storybook/src/grammar.json b/tree-sitter-storybook/src/grammar.json index b07a00f..7d1c8b6 100644 --- a/tree-sitter-storybook/src/grammar.json +++ b/tree-sitter-storybook/src/grammar.json @@ -91,6 +91,18 @@ { "type": "SYMBOL", "name": "enum_declaration" + }, + { + "type": "SYMBOL", + "name": "concept_declaration" + }, + { + "type": "SYMBOL", + "name": "sub_concept" + }, + { + "type": "SYMBOL", + "name": "concept_comparison" } ] }, @@ -350,6 +362,31 @@ "name": "identifier" } }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "species", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, { "type": "CHOICE", "members": [ @@ -1704,6 +1741,396 @@ } ] }, + "concept_declaration": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "concept" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "sub_concept": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "sub_concept" + }, + { + "type": "FIELD", + "name": "parent", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": "." + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": "{" + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "sub_concept_record_body" + }, + { + "type": "SYMBOL", + "name": "sub_concept_enum_body" + } + ] + } + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "sub_concept_enum_body": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "sub_concept_record_body": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "sub_concept_field" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "sub_concept_field" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "sub_concept_field": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "any_type" + } + ] + } + } + ] + }, + "any_type": { + "type": "STRING", + "value": "any" + }, + "concept_comparison": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "concept_comparison" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": "{" + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "variant_pattern" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "variant_pattern" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "variant_pattern": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "STRING", + "value": "{" + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "field_condition" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "field_condition" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "field_condition": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "sub_concept", + "content": { + "type": "SYMBOL", + "name": "dotted_path" + } + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "condition_expr" + } + } + ] + }, + "condition_expr": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "any_type" + }, + { + "type": "SYMBOL", + "name": "is_condition" + } + ] + }, + "is_condition": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "dotted_path" + }, + { + "type": "STRING", + "value": "is" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "or" + }, + { + "type": "SYMBOL", + "name": "dotted_path" + }, + { + "type": "STRING", + "value": "is" + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + } + } + ] + }, "expression": { "type": "CHOICE", "members": [ @@ -1914,6 +2341,10 @@ "conflicts": [ [ "path_segments" + ], + [ + "sub_concept_enum_body", + "sub_concept_record_body" ] ], "precedences": [], diff --git a/tree-sitter-storybook/src/node-types.json b/tree-sitter-storybook/src/node-types.json index 84e56eb..eb1dc35 100644 --- a/tree-sitter-storybook/src/node-types.json +++ b/tree-sitter-storybook/src/node-types.json @@ -269,6 +269,67 @@ ] } }, + { + "type": "concept_comparison", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "variant_pattern", + "named": true + } + ] + } + }, + { + "type": "concept_declaration", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + } + }, + { + "type": "condition_expr", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "any_type", + "named": true + }, + { + "type": "is_condition", + "named": true + } + ] + } + }, { "type": "condition_node", "named": true, @@ -301,6 +362,14 @@ "type": "character", "named": true }, + { + "type": "concept_comparison", + "named": true + }, + { + "type": "concept_declaration", + "named": true + }, { "type": "enum_declaration", "named": true @@ -329,6 +398,10 @@ "type": "species", "named": true }, + { + "type": "sub_concept", + "named": true + }, { "type": "template", "named": true @@ -531,6 +604,32 @@ ] } }, + { + "type": "field_condition", + "named": true, + "fields": { + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "condition_expr", + "named": true + } + ] + }, + "sub_concept": { + "multiple": false, + "required": true, + "types": [ + { + "type": "dotted_path", + "named": true + } + ] + } + } + }, { "type": "if_decorator_node", "named": true, @@ -598,6 +697,25 @@ ] } }, + { + "type": "is_condition", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "dotted_path", + "named": true + }, + { + "type": "identifier", + "named": true + } + ] + } + }, { "type": "life_arc", "named": true, @@ -1119,6 +1237,106 @@ ] } }, + { + "type": "sub_concept", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "sub_concept_enum_body", + "named": true + }, + { + "type": "sub_concept_record_body", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "parent": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + } + }, + { + "type": "sub_concept_enum_body", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "sub_concept_field", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "any_type", + "named": true + }, + { + "type": "identifier", + "named": true + } + ] + } + } + }, + { + "type": "sub_concept_record_body", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "sub_concept_field", + "named": true + } + ] + } + }, { "type": "subtree_node", "named": true, @@ -1147,6 +1365,16 @@ "named": true } ] + }, + "species": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] } }, "children": { @@ -1283,6 +1511,32 @@ ] } }, + { + "type": "variant_pattern", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "field_condition", + "named": true + } + ] + } + }, { "type": "(", "named": false @@ -1355,6 +1609,10 @@ "type": "and", "named": false }, + { + "type": "any_type", + "named": true + }, { "type": "append", "named": false @@ -1379,6 +1637,14 @@ "type": "choose", "named": false }, + { + "type": "concept", + "named": false + }, + { + "type": "concept_comparison", + "named": false + }, { "type": "cooldown", "named": false @@ -1515,6 +1781,10 @@ "type": "string", "named": true }, + { + "type": "sub_concept", + "named": false + }, { "type": "succeed_always", "named": false diff --git a/tree-sitter-storybook/src/parser.c b/tree-sitter-storybook/src/parser.c index 3f4b690..103d61d 100644 --- a/tree-sitter-storybook/src/parser.c +++ b/tree-sitter-storybook/src/parser.c @@ -6,15 +6,15 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 289 +#define STATE_COUNT 366 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 135 +#define SYMBOL_COUNT 153 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 70 +#define TOKEN_COUNT 74 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 19 +#define FIELD_COUNT 22 #define MAX_ALIAS_SEQUENCE_LENGTH 9 -#define PRODUCTION_ID_COUNT 19 +#define PRODUCTION_ID_COUNT 24 enum { sym_identifier = 1, @@ -76,81 +76,99 @@ enum { anon_sym_location = 57, anon_sym_species = 58, anon_sym_enum = 59, - anon_sym_or = 60, - anon_sym_and = 61, - anon_sym_not = 62, - anon_sym_is = 63, - anon_sym_GT = 64, - anon_sym_GT_EQ = 65, - anon_sym_LT = 66, - anon_sym_LT_EQ = 67, - anon_sym_self = 68, - anon_sym_other = 69, - sym_source_file = 70, - sym_declaration = 71, - sym_use_declaration = 72, - sym_path = 73, - sym_path_segments = 74, - sym_character = 75, - sym_template_clause = 76, - sym_template = 77, - sym_include = 78, - sym_field = 79, - sym_dotted_path = 80, - sym_value = 81, - sym_boolean = 82, - sym_range = 83, - sym_list = 84, - sym_object = 85, - sym_block = 86, - sym_override = 87, - sym_override_op = 88, - sym_prose_block = 89, - sym_life_arc = 90, - sym_arc_state = 91, - sym_on_enter = 92, - sym_transition = 93, - sym_schedule = 94, - sym_schedule_block = 95, - sym_behavior = 96, - sym_behavior_node = 97, - sym_selector_node = 98, - sym_sequence_node = 99, - sym_condition_node = 100, - sym_if_decorator_node = 101, - sym_decorator_node = 102, - sym_decorator_keyword = 103, - sym_decorator_params = 104, - sym_action_node = 105, - sym_action_param = 106, - sym_subtree_node = 107, - sym_institution = 108, - sym_relationship = 109, - sym_participant = 110, - sym_location = 111, - sym_species = 112, - sym_enum_declaration = 113, - sym_expression = 114, - sym_or_expression = 115, - sym_and_expression = 116, - sym_not_expression = 117, - sym_comparison = 118, - sym_field_access = 119, - sym_primary_expression = 120, - aux_sym_source_file_repeat1 = 121, - aux_sym_use_declaration_repeat1 = 122, - aux_sym_path_segments_repeat1 = 123, - aux_sym_template_repeat1 = 124, - aux_sym_template_repeat2 = 125, - aux_sym_dotted_path_repeat1 = 126, - aux_sym_list_repeat1 = 127, - aux_sym_override_repeat1 = 128, - aux_sym_life_arc_repeat1 = 129, - aux_sym_arc_state_repeat1 = 130, - aux_sym_schedule_repeat1 = 131, - aux_sym_selector_node_repeat1 = 132, - aux_sym_action_node_repeat1 = 133, - aux_sym_relationship_repeat1 = 134, + anon_sym_concept = 60, + anon_sym_sub_concept = 61, + sym_any_type = 62, + anon_sym_concept_comparison = 63, + anon_sym_is = 64, + anon_sym_or = 65, + anon_sym_and = 66, + anon_sym_not = 67, + anon_sym_GT = 68, + anon_sym_GT_EQ = 69, + anon_sym_LT = 70, + anon_sym_LT_EQ = 71, + anon_sym_self = 72, + anon_sym_other = 73, + sym_source_file = 74, + sym_declaration = 75, + sym_use_declaration = 76, + sym_path = 77, + sym_path_segments = 78, + sym_character = 79, + sym_template_clause = 80, + sym_template = 81, + sym_include = 82, + sym_field = 83, + sym_dotted_path = 84, + sym_value = 85, + sym_boolean = 86, + sym_range = 87, + sym_list = 88, + sym_object = 89, + sym_block = 90, + sym_override = 91, + sym_override_op = 92, + sym_prose_block = 93, + sym_life_arc = 94, + sym_arc_state = 95, + sym_on_enter = 96, + sym_transition = 97, + sym_schedule = 98, + sym_schedule_block = 99, + sym_behavior = 100, + sym_behavior_node = 101, + sym_selector_node = 102, + sym_sequence_node = 103, + sym_condition_node = 104, + sym_if_decorator_node = 105, + sym_decorator_node = 106, + sym_decorator_keyword = 107, + sym_decorator_params = 108, + sym_action_node = 109, + sym_action_param = 110, + sym_subtree_node = 111, + sym_institution = 112, + sym_relationship = 113, + sym_participant = 114, + sym_location = 115, + sym_species = 116, + sym_enum_declaration = 117, + sym_concept_declaration = 118, + sym_sub_concept = 119, + sym_sub_concept_enum_body = 120, + sym_sub_concept_record_body = 121, + sym_sub_concept_field = 122, + sym_concept_comparison = 123, + sym_variant_pattern = 124, + sym_field_condition = 125, + sym_condition_expr = 126, + sym_is_condition = 127, + sym_expression = 128, + sym_or_expression = 129, + sym_and_expression = 130, + sym_not_expression = 131, + sym_comparison = 132, + sym_field_access = 133, + sym_primary_expression = 134, + aux_sym_source_file_repeat1 = 135, + aux_sym_use_declaration_repeat1 = 136, + aux_sym_path_segments_repeat1 = 137, + aux_sym_template_repeat1 = 138, + aux_sym_template_repeat2 = 139, + aux_sym_dotted_path_repeat1 = 140, + aux_sym_list_repeat1 = 141, + aux_sym_override_repeat1 = 142, + aux_sym_life_arc_repeat1 = 143, + aux_sym_arc_state_repeat1 = 144, + aux_sym_schedule_repeat1 = 145, + aux_sym_selector_node_repeat1 = 146, + aux_sym_action_node_repeat1 = 147, + aux_sym_relationship_repeat1 = 148, + aux_sym_sub_concept_record_body_repeat1 = 149, + aux_sym_concept_comparison_repeat1 = 150, + aux_sym_variant_pattern_repeat1 = 151, + aux_sym_is_condition_repeat1 = 152, }; static const char * const ts_symbol_names[] = { @@ -214,10 +232,14 @@ static const char * const ts_symbol_names[] = { [anon_sym_location] = "location", [anon_sym_species] = "species", [anon_sym_enum] = "enum", + [anon_sym_concept] = "concept", + [anon_sym_sub_concept] = "sub_concept", + [sym_any_type] = "any_type", + [anon_sym_concept_comparison] = "concept_comparison", + [anon_sym_is] = "is", [anon_sym_or] = "or", [anon_sym_and] = "and", [anon_sym_not] = "not", - [anon_sym_is] = "is", [anon_sym_GT] = ">", [anon_sym_GT_EQ] = ">=", [anon_sym_LT] = "<", @@ -268,6 +290,16 @@ static const char * const ts_symbol_names[] = { [sym_location] = "location", [sym_species] = "species", [sym_enum_declaration] = "enum_declaration", + [sym_concept_declaration] = "concept_declaration", + [sym_sub_concept] = "sub_concept", + [sym_sub_concept_enum_body] = "sub_concept_enum_body", + [sym_sub_concept_record_body] = "sub_concept_record_body", + [sym_sub_concept_field] = "sub_concept_field", + [sym_concept_comparison] = "concept_comparison", + [sym_variant_pattern] = "variant_pattern", + [sym_field_condition] = "field_condition", + [sym_condition_expr] = "condition_expr", + [sym_is_condition] = "is_condition", [sym_expression] = "expression", [sym_or_expression] = "or_expression", [sym_and_expression] = "and_expression", @@ -289,6 +321,10 @@ static const char * const ts_symbol_names[] = { [aux_sym_selector_node_repeat1] = "selector_node_repeat1", [aux_sym_action_node_repeat1] = "action_node_repeat1", [aux_sym_relationship_repeat1] = "relationship_repeat1", + [aux_sym_sub_concept_record_body_repeat1] = "sub_concept_record_body_repeat1", + [aux_sym_concept_comparison_repeat1] = "concept_comparison_repeat1", + [aux_sym_variant_pattern_repeat1] = "variant_pattern_repeat1", + [aux_sym_is_condition_repeat1] = "is_condition_repeat1", }; static const TSSymbol ts_symbol_map[] = { @@ -352,10 +388,14 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_location] = anon_sym_location, [anon_sym_species] = anon_sym_species, [anon_sym_enum] = anon_sym_enum, + [anon_sym_concept] = anon_sym_concept, + [anon_sym_sub_concept] = anon_sym_sub_concept, + [sym_any_type] = sym_any_type, + [anon_sym_concept_comparison] = anon_sym_concept_comparison, + [anon_sym_is] = anon_sym_is, [anon_sym_or] = anon_sym_or, [anon_sym_and] = anon_sym_and, [anon_sym_not] = anon_sym_not, - [anon_sym_is] = anon_sym_is, [anon_sym_GT] = anon_sym_GT, [anon_sym_GT_EQ] = anon_sym_GT_EQ, [anon_sym_LT] = anon_sym_LT, @@ -406,6 +446,16 @@ static const TSSymbol ts_symbol_map[] = { [sym_location] = sym_location, [sym_species] = sym_species, [sym_enum_declaration] = sym_enum_declaration, + [sym_concept_declaration] = sym_concept_declaration, + [sym_sub_concept] = sym_sub_concept, + [sym_sub_concept_enum_body] = sym_sub_concept_enum_body, + [sym_sub_concept_record_body] = sym_sub_concept_record_body, + [sym_sub_concept_field] = sym_sub_concept_field, + [sym_concept_comparison] = sym_concept_comparison, + [sym_variant_pattern] = sym_variant_pattern, + [sym_field_condition] = sym_field_condition, + [sym_condition_expr] = sym_condition_expr, + [sym_is_condition] = sym_is_condition, [sym_expression] = sym_expression, [sym_or_expression] = sym_or_expression, [sym_and_expression] = sym_and_expression, @@ -427,6 +477,10 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_selector_node_repeat1] = aux_sym_selector_node_repeat1, [aux_sym_action_node_repeat1] = aux_sym_action_node_repeat1, [aux_sym_relationship_repeat1] = aux_sym_relationship_repeat1, + [aux_sym_sub_concept_record_body_repeat1] = aux_sym_sub_concept_record_body_repeat1, + [aux_sym_concept_comparison_repeat1] = aux_sym_concept_comparison_repeat1, + [aux_sym_variant_pattern_repeat1] = aux_sym_variant_pattern_repeat1, + [aux_sym_is_condition_repeat1] = aux_sym_is_condition_repeat1, }; static const TSSymbolMetadata ts_symbol_metadata[] = { @@ -670,6 +724,26 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_concept] = { + .visible = true, + .named = false, + }, + [anon_sym_sub_concept] = { + .visible = true, + .named = false, + }, + [sym_any_type] = { + .visible = true, + .named = true, + }, + [anon_sym_concept_comparison] = { + .visible = true, + .named = false, + }, + [anon_sym_is] = { + .visible = true, + .named = false, + }, [anon_sym_or] = { .visible = true, .named = false, @@ -682,10 +756,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_is] = { - .visible = true, - .named = false, - }, [anon_sym_GT] = { .visible = true, .named = false, @@ -886,6 +956,46 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_concept_declaration] = { + .visible = true, + .named = true, + }, + [sym_sub_concept] = { + .visible = true, + .named = true, + }, + [sym_sub_concept_enum_body] = { + .visible = true, + .named = true, + }, + [sym_sub_concept_record_body] = { + .visible = true, + .named = true, + }, + [sym_sub_concept_field] = { + .visible = true, + .named = true, + }, + [sym_concept_comparison] = { + .visible = true, + .named = true, + }, + [sym_variant_pattern] = { + .visible = true, + .named = true, + }, + [sym_field_condition] = { + .visible = true, + .named = true, + }, + [sym_condition_expr] = { + .visible = true, + .named = true, + }, + [sym_is_condition] = { + .visible = true, + .named = true, + }, [sym_expression] = { .visible = true, .named = true, @@ -970,6 +1080,22 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym_sub_concept_record_body_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_concept_comparison_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_variant_pattern_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_is_condition_repeat1] = { + .visible = false, + .named = false, + }, }; enum { @@ -985,13 +1111,16 @@ enum { field_name = 10, field_operator = 11, field_params = 12, - field_root = 13, - field_species = 14, - field_start = 15, - field_tag = 16, - field_target = 17, - field_template = 18, - field_value = 19, + field_parent = 13, + field_root = 14, + field_species = 15, + field_start = 16, + field_sub_concept = 17, + field_tag = 18, + field_target = 19, + field_template = 20, + field_type = 21, + field_value = 22, }; static const char * const ts_field_names[] = { @@ -1008,12 +1137,15 @@ static const char * const ts_field_names[] = { [field_name] = "name", [field_operator] = "operator", [field_params] = "params", + [field_parent] = "parent", [field_root] = "root", [field_species] = "species", [field_start] = "start", + [field_sub_concept] = "sub_concept", [field_tag] = "tag", [field_target] = "target", [field_template] = "template", + [field_type] = "type", [field_value] = "value", }; @@ -1026,16 +1158,21 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [6] = {.index = 11, .length = 2}, [7] = {.index = 13, .length = 4}, [8] = {.index = 17, .length = 2}, - [9] = {.index = 19, .length = 4}, - [10] = {.index = 23, .length = 1}, - [11] = {.index = 24, .length = 2}, - [12] = {.index = 26, .length = 4}, - [13] = {.index = 30, .length = 1}, - [14] = {.index = 31, .length = 1}, - [15] = {.index = 32, .length = 3}, - [16] = {.index = 35, .length = 3}, - [17] = {.index = 38, .length = 2}, + [9] = {.index = 19, .length = 2}, + [10] = {.index = 21, .length = 4}, + [11] = {.index = 25, .length = 1}, + [12] = {.index = 26, .length = 2}, + [13] = {.index = 28, .length = 3}, + [14] = {.index = 31, .length = 4}, + [15] = {.index = 35, .length = 1}, + [16] = {.index = 36, .length = 1}, + [17] = {.index = 37, .length = 3}, [18] = {.index = 40, .length = 2}, + [19] = {.index = 42, .length = 1}, + [20] = {.index = 43, .length = 3}, + [21] = {.index = 46, .length = 2}, + [22] = {.index = 48, .length = 2}, + [23] = {.index = 50, .length = 2}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -1065,38 +1202,53 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_template, 4}, [17] = {field_name, 1}, - {field_root, 4}, + {field_species, 3}, [19] = + {field_name, 1}, + {field_root, 4}, + [21] = {field_content, 2}, {field_end, 3}, {field_marker, 0}, {field_tag, 1}, - [23] = + [25] = {field_condition, 2}, - [24] = + [26] = {field_child, 2}, {field_decorator, 0}, - [26] = + [28] = + {field_body, 5}, + {field_name, 3}, + {field_parent, 1}, + [31] = {field_content, 3}, {field_end, 4}, {field_marker, 0}, {field_tag, 1}, - [30] = + [35] = {field_label, 1}, - [31] = + [36] = {field_operator, 1}, - [32] = + [37] = {field_child, 3}, {field_decorator, 0}, {field_params, 1}, - [35] = + [40] = + {field_name, 0}, + {field_type, 2}, + [42] = + {field_name, 0}, + [43] = {field_activity, 4}, {field_end, 2}, {field_start, 0}, - [38] = + [46] = + {field_condition, 2}, + {field_sub_concept, 0}, + [48] = {field_condition, 1}, {field_target, 3}, - [40] = + [50] = {field_child, 5}, {field_condition, 2}, }; @@ -1282,12 +1434,12 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [169] = 169, [170] = 170, [171] = 171, - [172] = 4, + [172] = 172, [173] = 173, [174] = 174, [175] = 175, [176] = 176, - [177] = 3, + [177] = 177, [178] = 178, [179] = 179, [180] = 180, @@ -1319,7 +1471,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [206] = 206, [207] = 207, [208] = 208, - [209] = 209, + [209] = 5, [210] = 210, [211] = 211, [212] = 212, @@ -1342,7 +1494,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [229] = 229, [230] = 230, [231] = 231, - [232] = 232, + [232] = 6, [233] = 233, [234] = 234, [235] = 235, @@ -1399,6 +1551,83 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [286] = 286, [287] = 287, [288] = 288, + [289] = 289, + [290] = 290, + [291] = 291, + [292] = 292, + [293] = 293, + [294] = 294, + [295] = 295, + [296] = 296, + [297] = 297, + [298] = 298, + [299] = 299, + [300] = 300, + [301] = 301, + [302] = 302, + [303] = 303, + [304] = 304, + [305] = 305, + [306] = 306, + [307] = 307, + [308] = 308, + [309] = 309, + [310] = 310, + [311] = 311, + [312] = 312, + [313] = 313, + [314] = 314, + [315] = 315, + [316] = 316, + [317] = 317, + [318] = 318, + [319] = 319, + [320] = 320, + [321] = 321, + [322] = 322, + [323] = 323, + [324] = 324, + [325] = 325, + [326] = 326, + [327] = 327, + [328] = 328, + [329] = 329, + [330] = 330, + [331] = 331, + [332] = 332, + [333] = 333, + [334] = 334, + [335] = 335, + [336] = 336, + [337] = 337, + [338] = 338, + [339] = 339, + [340] = 340, + [341] = 341, + [342] = 342, + [343] = 343, + [344] = 344, + [345] = 345, + [346] = 346, + [347] = 347, + [348] = 348, + [349] = 349, + [350] = 350, + [351] = 351, + [352] = 352, + [353] = 353, + [354] = 354, + [355] = 355, + [356] = 356, + [357] = 357, + [358] = 358, + [359] = 359, + [360] = 360, + [361] = 361, + [362] = 362, + [363] = 363, + [364] = 364, + [365] = 365, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -1984,53 +2213,55 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { END_STATE(); case 15: if (lookahead == 'd') ADVANCE(45); + if (lookahead == 'y') ADVANCE(46); END_STATE(); case 16: - if (lookahead == 'p') ADVANCE(46); + if (lookahead == 'p') ADVANCE(47); END_STATE(); case 17: ACCEPT_TOKEN(anon_sym_as); END_STATE(); case 18: - if (lookahead == 'h') ADVANCE(47); + if (lookahead == 'h') ADVANCE(48); END_STATE(); case 19: - if (lookahead == 'a') ADVANCE(48); - if (lookahead == 'o') ADVANCE(49); - END_STATE(); - case 20: + if (lookahead == 'a') ADVANCE(49); if (lookahead == 'o') ADVANCE(50); END_STATE(); + case 20: + if (lookahead == 'n') ADVANCE(51); + if (lookahead == 'o') ADVANCE(52); + END_STATE(); case 21: - if (lookahead == 't') ADVANCE(51); - if (lookahead == 'u') ADVANCE(52); + if (lookahead == 't') ADVANCE(53); + if (lookahead == 'u') ADVANCE(54); END_STATE(); case 22: - if (lookahead == 'i') ADVANCE(53); - if (lookahead == 'l') ADVANCE(54); + if (lookahead == 'i') ADVANCE(55); + if (lookahead == 'l') ADVANCE(56); END_STATE(); case 23: - if (lookahead == 'o') ADVANCE(55); + if (lookahead == 'o') ADVANCE(57); END_STATE(); case 24: ACCEPT_TOKEN(anon_sym_if); END_STATE(); case 25: - if (lookahead == 'c') ADVANCE(56); - if (lookahead == 's') ADVANCE(57); - if (lookahead == 'v') ADVANCE(58); + if (lookahead == 'c') ADVANCE(58); + if (lookahead == 's') ADVANCE(59); + if (lookahead == 'v') ADVANCE(60); END_STATE(); case 26: ACCEPT_TOKEN(anon_sym_is); END_STATE(); case 27: - if (lookahead == 'f') ADVANCE(59); + if (lookahead == 'f') ADVANCE(61); END_STATE(); case 28: - if (lookahead == 'c') ADVANCE(60); + if (lookahead == 'c') ADVANCE(62); END_STATE(); case 29: - if (lookahead == 't') ADVANCE(61); + if (lookahead == 't') ADVANCE(63); END_STATE(); case 30: ACCEPT_TOKEN(anon_sym_on); @@ -2039,504 +2270,584 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { ACCEPT_TOKEN(anon_sym_or); END_STATE(); case 32: - if (lookahead == 'h') ADVANCE(62); + if (lookahead == 'h') ADVANCE(64); END_STATE(); case 33: - if (lookahead == 'l') ADVANCE(63); - if (lookahead == 'm') ADVANCE(64); - if (lookahead == 'p') ADVANCE(65); - if (lookahead == 't') ADVANCE(66); + if (lookahead == 'l') ADVANCE(65); + if (lookahead == 'm') ADVANCE(66); + if (lookahead == 'p') ADVANCE(67); + if (lookahead == 't') ADVANCE(68); END_STATE(); case 34: - if (lookahead == 'h') ADVANCE(67); + if (lookahead == 'h') ADVANCE(69); END_STATE(); case 35: - if (lookahead == 'l') ADVANCE(68); + if (lookahead == 'l') ADVANCE(70); END_STATE(); case 36: - if (lookahead == 'e') ADVANCE(69); + if (lookahead == 'e') ADVANCE(71); END_STATE(); case 37: - if (lookahead == 'a') ADVANCE(70); - if (lookahead == 'r') ADVANCE(71); + if (lookahead == 'a') ADVANCE(72); + if (lookahead == 'r') ADVANCE(73); END_STATE(); case 38: - if (lookahead == 'c') ADVANCE(72); + if (lookahead == 'b') ADVANCE(74); + if (lookahead == 'c') ADVANCE(75); END_STATE(); case 39: - if (lookahead == 'm') ADVANCE(73); + if (lookahead == 'm') ADVANCE(76); END_STATE(); case 40: - if (lookahead == 'e') ADVANCE(74); - END_STATE(); - case 41: - if (lookahead == 'm') ADVANCE(75); - END_STATE(); - case 42: - if (lookahead == 'u') ADVANCE(76); - END_STATE(); - case 43: if (lookahead == 'e') ADVANCE(77); END_STATE(); + case 41: + if (lookahead == 'm') ADVANCE(78); + END_STATE(); + case 42: + if (lookahead == 'u') ADVANCE(79); + END_STATE(); + case 43: + if (lookahead == 'e') ADVANCE(80); + END_STATE(); case 44: - if (lookahead == 'e') ADVANCE(78); + if (lookahead == 'e') ADVANCE(81); END_STATE(); case 45: ACCEPT_TOKEN(anon_sym_and); END_STATE(); case 46: - if (lookahead == 'e') ADVANCE(79); + ACCEPT_TOKEN(sym_any_type); END_STATE(); case 47: - if (lookahead == 'a') ADVANCE(80); + if (lookahead == 'e') ADVANCE(82); END_STATE(); case 48: - if (lookahead == 'r') ADVANCE(81); + if (lookahead == 'a') ADVANCE(83); END_STATE(); case 49: - if (lookahead == 'o') ADVANCE(82); + if (lookahead == 'r') ADVANCE(84); END_STATE(); case 50: - if (lookahead == 'l') ADVANCE(83); + if (lookahead == 'o') ADVANCE(85); END_STATE(); case 51: - if (lookahead == 'e') ADVANCE(84); + if (lookahead == 'c') ADVANCE(86); END_STATE(); case 52: - if (lookahead == 'm') ADVANCE(85); + if (lookahead == 'l') ADVANCE(87); END_STATE(); case 53: - if (lookahead == 'l') ADVANCE(86); + if (lookahead == 'e') ADVANCE(88); END_STATE(); case 54: - if (lookahead == 's') ADVANCE(87); + if (lookahead == 'm') ADVANCE(89); END_STATE(); case 55: - if (lookahead == 'm') ADVANCE(88); + if (lookahead == 'l') ADVANCE(90); END_STATE(); case 56: - if (lookahead == 'l') ADVANCE(89); + if (lookahead == 's') ADVANCE(91); END_STATE(); case 57: - if (lookahead == 't') ADVANCE(90); + if (lookahead == 'm') ADVANCE(92); END_STATE(); case 58: - if (lookahead == 'e') ADVANCE(91); + if (lookahead == 'l') ADVANCE(93); END_STATE(); case 59: - if (lookahead == 'e') ADVANCE(92); + if (lookahead == 't') ADVANCE(94); END_STATE(); case 60: - if (lookahead == 'a') ADVANCE(93); + if (lookahead == 'e') ADVANCE(95); END_STATE(); case 61: - ACCEPT_TOKEN(anon_sym_not); + if (lookahead == 'e') ADVANCE(96); END_STATE(); case 62: - if (lookahead == 'e') ADVANCE(94); + if (lookahead == 'a') ADVANCE(97); END_STATE(); case 63: - if (lookahead == 'a') ADVANCE(95); + ACCEPT_TOKEN(anon_sym_not); END_STATE(); case 64: - if (lookahead == 'o') ADVANCE(96); + if (lookahead == 'e') ADVANCE(98); END_STATE(); case 65: - if (lookahead == 'e') ADVANCE(97); + if (lookahead == 'a') ADVANCE(99); END_STATE(); case 66: - if (lookahead == 'r') ADVANCE(98); + if (lookahead == 'o') ADVANCE(100); END_STATE(); case 67: - if (lookahead == 'e') ADVANCE(99); + if (lookahead == 'e') ADVANCE(101); END_STATE(); case 68: - if (lookahead == 'f') ADVANCE(100); + if (lookahead == 'r') ADVANCE(102); END_STATE(); case 69: - if (lookahead == 'c') ADVANCE(101); + if (lookahead == 'e') ADVANCE(103); END_STATE(); case 70: - if (lookahead == 't') ADVANCE(102); + if (lookahead == 'f') ADVANCE(104); END_STATE(); case 71: - if (lookahead == 'i') ADVANCE(103); + if (lookahead == 'c') ADVANCE(105); END_STATE(); case 72: - if (lookahead == 'c') ADVANCE(104); + if (lookahead == 't') ADVANCE(106); END_STATE(); case 73: - if (lookahead == 'p') ADVANCE(105); + if (lookahead == 'i') ADVANCE(107); END_STATE(); case 74: - if (lookahead == 'n') ADVANCE(106); + if (lookahead == '_') ADVANCE(108); END_STATE(); case 75: - if (lookahead == 'e') ADVANCE(107); + if (lookahead == 'c') ADVANCE(109); END_STATE(); case 76: - if (lookahead == 'e') ADVANCE(108); + if (lookahead == 'p') ADVANCE(110); END_STATE(); case 77: - ACCEPT_TOKEN(anon_sym_use); + if (lookahead == 'n') ADVANCE(111); END_STATE(); case 78: - if (lookahead == 'n') ADVANCE(109); + if (lookahead == 'e') ADVANCE(112); END_STATE(); case 79: - if (lookahead == 'n') ADVANCE(110); + if (lookahead == 'e') ADVANCE(113); END_STATE(); case 80: - if (lookahead == 'v') ADVANCE(111); + ACCEPT_TOKEN(anon_sym_use); END_STATE(); case 81: - if (lookahead == 'a') ADVANCE(112); + if (lookahead == 'n') ADVANCE(114); END_STATE(); case 82: - if (lookahead == 's') ADVANCE(113); + if (lookahead == 'n') ADVANCE(115); END_STATE(); case 83: - if (lookahead == 'd') ADVANCE(114); + if (lookahead == 'v') ADVANCE(116); END_STATE(); case 84: - if (lookahead == 'r') ADVANCE(115); + if (lookahead == 'a') ADVANCE(117); END_STATE(); case 85: - ACCEPT_TOKEN(anon_sym_enum); + if (lookahead == 's') ADVANCE(118); END_STATE(); case 86: - if (lookahead == '_') ADVANCE(116); + if (lookahead == 'e') ADVANCE(119); END_STATE(); case 87: - if (lookahead == 'e') ADVANCE(117); + if (lookahead == 'd') ADVANCE(120); END_STATE(); case 88: - ACCEPT_TOKEN(anon_sym_from); + if (lookahead == 'r') ADVANCE(121); END_STATE(); case 89: - if (lookahead == 'u') ADVANCE(118); + ACCEPT_TOKEN(anon_sym_enum); END_STATE(); case 90: - if (lookahead == 'i') ADVANCE(119); + if (lookahead == '_') ADVANCE(122); END_STATE(); case 91: - if (lookahead == 'r') ADVANCE(120); + if (lookahead == 'e') ADVANCE(123); END_STATE(); case 92: - if (lookahead == '_') ADVANCE(121); + ACCEPT_TOKEN(anon_sym_from); END_STATE(); case 93: - if (lookahead == 't') ADVANCE(122); + if (lookahead == 'u') ADVANCE(124); END_STATE(); case 94: - if (lookahead == 'r') ADVANCE(123); + if (lookahead == 'i') ADVANCE(125); END_STATE(); case 95: - if (lookahead == 't') ADVANCE(124); + if (lookahead == 'r') ADVANCE(126); END_STATE(); case 96: - if (lookahead == 'v') ADVANCE(125); + if (lookahead == '_') ADVANCE(127); END_STATE(); case 97: - if (lookahead == 'a') ADVANCE(126); + if (lookahead == 't') ADVANCE(128); END_STATE(); case 98: - if (lookahead == 'y') ADVANCE(127); + if (lookahead == 'r') ADVANCE(129); END_STATE(); case 99: - if (lookahead == 'd') ADVANCE(128); + if (lookahead == 't') ADVANCE(130); END_STATE(); case 100: - ACCEPT_TOKEN(anon_sym_self); + if (lookahead == 'v') ADVANCE(131); END_STATE(); case 101: - if (lookahead == 'i') ADVANCE(129); + if (lookahead == 'a') ADVANCE(132); END_STATE(); case 102: - if (lookahead == 'e') ADVANCE(130); + if (lookahead == 'y') ADVANCE(133); END_STATE(); case 103: - if (lookahead == 'c') ADVANCE(131); + if (lookahead == 'd') ADVANCE(134); END_STATE(); case 104: - if (lookahead == 'e') ADVANCE(132); + ACCEPT_TOKEN(anon_sym_self); END_STATE(); case 105: - if (lookahead == 'l') ADVANCE(133); + if (lookahead == 'i') ADVANCE(135); END_STATE(); case 106: - ACCEPT_TOKEN(anon_sym_then); + if (lookahead == 'e') ADVANCE(136); END_STATE(); case 107: - if (lookahead == 'o') ADVANCE(134); - END_STATE(); - case 108: - ACCEPT_TOKEN(anon_sym_true); - END_STATE(); - case 109: - ACCEPT_TOKEN(anon_sym_when); - END_STATE(); - case 110: - if (lookahead == 'd') ADVANCE(135); - END_STATE(); - case 111: - if (lookahead == 'i') ADVANCE(136); - END_STATE(); - case 112: if (lookahead == 'c') ADVANCE(137); END_STATE(); + case 108: + if (lookahead == 'c') ADVANCE(138); + END_STATE(); + case 109: + if (lookahead == 'e') ADVANCE(139); + END_STATE(); + case 110: + if (lookahead == 'l') ADVANCE(140); + END_STATE(); + case 111: + ACCEPT_TOKEN(anon_sym_then); + END_STATE(); + case 112: + if (lookahead == 'o') ADVANCE(141); + END_STATE(); case 113: - if (lookahead == 'e') ADVANCE(138); + ACCEPT_TOKEN(anon_sym_true); END_STATE(); case 114: - if (lookahead == 'o') ADVANCE(139); + ACCEPT_TOKEN(anon_sym_when); END_STATE(); case 115: - ACCEPT_TOKEN(anon_sym_enter); + if (lookahead == 'd') ADVANCE(142); END_STATE(); case 116: - if (lookahead == 'a') ADVANCE(140); + if (lookahead == 'i') ADVANCE(143); END_STATE(); case 117: - ACCEPT_TOKEN(anon_sym_false); + if (lookahead == 'c') ADVANCE(144); END_STATE(); case 118: - if (lookahead == 'd') ADVANCE(141); + if (lookahead == 'e') ADVANCE(145); END_STATE(); case 119: - if (lookahead == 't') ADVANCE(142); + if (lookahead == 'p') ADVANCE(146); END_STATE(); case 120: - if (lookahead == 't') ADVANCE(143); + if (lookahead == 'o') ADVANCE(147); END_STATE(); case 121: - if (lookahead == 'a') ADVANCE(144); + ACCEPT_TOKEN(anon_sym_enter); END_STATE(); case 122: - if (lookahead == 'i') ADVANCE(145); + if (lookahead == 'a') ADVANCE(148); END_STATE(); case 123: - ACCEPT_TOKEN(anon_sym_other); + ACCEPT_TOKEN(anon_sym_false); END_STATE(); case 124: - if (lookahead == 'i') ADVANCE(146); + if (lookahead == 'd') ADVANCE(149); END_STATE(); case 125: - if (lookahead == 'e') ADVANCE(147); + if (lookahead == 't') ADVANCE(150); END_STATE(); case 126: - if (lookahead == 't') ADVANCE(148); - END_STATE(); - case 127: - ACCEPT_TOKEN(anon_sym_retry); - END_STATE(); - case 128: - if (lookahead == 'u') ADVANCE(149); - END_STATE(); - case 129: - if (lookahead == 'e') ADVANCE(150); - END_STATE(); - case 130: - ACCEPT_TOKEN(anon_sym_state); - END_STATE(); - case 131: if (lookahead == 't') ADVANCE(151); END_STATE(); + case 127: + if (lookahead == 'a') ADVANCE(152); + END_STATE(); + case 128: + if (lookahead == 'i') ADVANCE(153); + END_STATE(); + case 129: + ACCEPT_TOKEN(anon_sym_other); + END_STATE(); + case 130: + if (lookahead == 'i') ADVANCE(154); + END_STATE(); + case 131: + if (lookahead == 'e') ADVANCE(155); + END_STATE(); case 132: - if (lookahead == 'e') ADVANCE(152); - END_STATE(); - case 133: - if (lookahead == 'a') ADVANCE(153); - END_STATE(); - case 134: - if (lookahead == 'u') ADVANCE(154); - END_STATE(); - case 135: - ACCEPT_TOKEN(anon_sym_append); - END_STATE(); - case 136: - if (lookahead == 'o') ADVANCE(155); - END_STATE(); - case 137: if (lookahead == 't') ADVANCE(156); END_STATE(); + case 133: + ACCEPT_TOKEN(anon_sym_retry); + END_STATE(); + case 134: + if (lookahead == 'u') ADVANCE(157); + END_STATE(); + case 135: + if (lookahead == 'e') ADVANCE(158); + END_STATE(); + case 136: + ACCEPT_TOKEN(anon_sym_state); + END_STATE(); + case 137: + if (lookahead == 't') ADVANCE(159); + END_STATE(); case 138: - ACCEPT_TOKEN(anon_sym_choose); + if (lookahead == 'o') ADVANCE(160); END_STATE(); case 139: - if (lookahead == 'w') ADVANCE(157); + if (lookahead == 'e') ADVANCE(161); END_STATE(); case 140: - if (lookahead == 'l') ADVANCE(158); + if (lookahead == 'a') ADVANCE(162); END_STATE(); case 141: - if (lookahead == 'e') ADVANCE(159); + if (lookahead == 'u') ADVANCE(163); END_STATE(); case 142: - if (lookahead == 'u') ADVANCE(160); + ACCEPT_TOKEN(anon_sym_append); END_STATE(); case 143: - ACCEPT_TOKEN(anon_sym_invert); + if (lookahead == 'o') ADVANCE(164); END_STATE(); case 144: - if (lookahead == 'r') ADVANCE(161); + if (lookahead == 't') ADVANCE(165); END_STATE(); case 145: - if (lookahead == 'o') ADVANCE(162); + ACCEPT_TOKEN(anon_sym_choose); END_STATE(); case 146: - if (lookahead == 'o') ADVANCE(163); + if (lookahead == 't') ADVANCE(166); END_STATE(); case 147: - ACCEPT_TOKEN(anon_sym_remove); + if (lookahead == 'w') ADVANCE(167); END_STATE(); case 148: - ACCEPT_TOKEN(anon_sym_repeat); + if (lookahead == 'l') ADVANCE(168); END_STATE(); case 149: - if (lookahead == 'l') ADVANCE(164); + if (lookahead == 'e') ADVANCE(169); END_STATE(); case 150: - if (lookahead == 's') ADVANCE(165); + if (lookahead == 'u') ADVANCE(170); END_STATE(); case 151: - ACCEPT_TOKEN(anon_sym_strict); + ACCEPT_TOKEN(anon_sym_invert); END_STATE(); case 152: - if (lookahead == 'd') ADVANCE(166); + if (lookahead == 'r') ADVANCE(171); END_STATE(); case 153: - if (lookahead == 't') ADVANCE(167); + if (lookahead == 'o') ADVANCE(172); END_STATE(); case 154: - if (lookahead == 't') ADVANCE(168); + if (lookahead == 'o') ADVANCE(173); END_STATE(); case 155: - if (lookahead == 'r') ADVANCE(169); + ACCEPT_TOKEN(anon_sym_remove); END_STATE(); case 156: - if (lookahead == 'e') ADVANCE(170); + ACCEPT_TOKEN(anon_sym_repeat); END_STATE(); case 157: - if (lookahead == 'n') ADVANCE(171); + if (lookahead == 'l') ADVANCE(174); END_STATE(); case 158: - if (lookahead == 'w') ADVANCE(172); + if (lookahead == 's') ADVANCE(175); END_STATE(); case 159: - ACCEPT_TOKEN(anon_sym_include); + ACCEPT_TOKEN(anon_sym_strict); END_STATE(); case 160: - if (lookahead == 't') ADVANCE(173); - END_STATE(); - case 161: - if (lookahead == 'c') ADVANCE(174); - END_STATE(); - case 162: - if (lookahead == 'n') ADVANCE(175); - END_STATE(); - case 163: if (lookahead == 'n') ADVANCE(176); END_STATE(); + case 161: + if (lookahead == 'd') ADVANCE(177); + END_STATE(); + case 162: + if (lookahead == 't') ADVANCE(178); + END_STATE(); + case 163: + if (lookahead == 't') ADVANCE(179); + END_STATE(); case 164: - if (lookahead == 'e') ADVANCE(177); - END_STATE(); - case 165: - ACCEPT_TOKEN(anon_sym_species); - END_STATE(); - case 166: - if (lookahead == '_') ADVANCE(178); - END_STATE(); - case 167: - if (lookahead == 'e') ADVANCE(179); - END_STATE(); - case 168: - ACCEPT_TOKEN(anon_sym_timeout); - END_STATE(); - case 169: - ACCEPT_TOKEN(anon_sym_behavior); - END_STATE(); - case 170: if (lookahead == 'r') ADVANCE(180); END_STATE(); + case 165: + if (lookahead == 'e') ADVANCE(181); + END_STATE(); + case 166: + ACCEPT_TOKEN(anon_sym_concept); + if (lookahead == '_') ADVANCE(182); + END_STATE(); + case 167: + if (lookahead == 'n') ADVANCE(183); + END_STATE(); + case 168: + if (lookahead == 'w') ADVANCE(184); + END_STATE(); + case 169: + ACCEPT_TOKEN(anon_sym_include); + END_STATE(); + case 170: + if (lookahead == 't') ADVANCE(185); + END_STATE(); case 171: - ACCEPT_TOKEN(anon_sym_cooldown); + if (lookahead == 'c') ADVANCE(186); END_STATE(); case 172: - if (lookahead == 'a') ADVANCE(181); + if (lookahead == 'n') ADVANCE(187); END_STATE(); case 173: - if (lookahead == 'i') ADVANCE(182); + if (lookahead == 'n') ADVANCE(188); END_STATE(); case 174: - ACCEPT_TOKEN(anon_sym_life_arc); + if (lookahead == 'e') ADVANCE(189); END_STATE(); case 175: - ACCEPT_TOKEN(anon_sym_location); + ACCEPT_TOKEN(anon_sym_species); END_STATE(); case 176: - if (lookahead == 's') ADVANCE(183); + if (lookahead == 'c') ADVANCE(190); END_STATE(); case 177: - ACCEPT_TOKEN(anon_sym_schedule); + if (lookahead == '_') ADVANCE(191); END_STATE(); case 178: - if (lookahead == 'a') ADVANCE(184); + if (lookahead == 'e') ADVANCE(192); END_STATE(); case 179: - ACCEPT_TOKEN(anon_sym_template); + ACCEPT_TOKEN(anon_sym_timeout); END_STATE(); case 180: - ACCEPT_TOKEN(anon_sym_character); + ACCEPT_TOKEN(anon_sym_behavior); END_STATE(); case 181: - if (lookahead == 'y') ADVANCE(185); + if (lookahead == 'r') ADVANCE(193); END_STATE(); case 182: - if (lookahead == 'o') ADVANCE(186); + if (lookahead == 'c') ADVANCE(194); END_STATE(); case 183: - if (lookahead == 'h') ADVANCE(187); + ACCEPT_TOKEN(anon_sym_cooldown); END_STATE(); case 184: - if (lookahead == 'l') ADVANCE(188); + if (lookahead == 'a') ADVANCE(195); END_STATE(); case 185: - if (lookahead == 's') ADVANCE(189); + if (lookahead == 'i') ADVANCE(196); END_STATE(); case 186: - if (lookahead == 'n') ADVANCE(190); + ACCEPT_TOKEN(anon_sym_life_arc); END_STATE(); case 187: - if (lookahead == 'i') ADVANCE(191); + ACCEPT_TOKEN(anon_sym_location); END_STATE(); case 188: - if (lookahead == 'w') ADVANCE(192); + if (lookahead == 's') ADVANCE(197); END_STATE(); case 189: - ACCEPT_TOKEN(anon_sym_fail_always); + ACCEPT_TOKEN(anon_sym_schedule); END_STATE(); case 190: - ACCEPT_TOKEN(anon_sym_institution); + if (lookahead == 'e') ADVANCE(198); END_STATE(); case 191: - if (lookahead == 'p') ADVANCE(193); + if (lookahead == 'a') ADVANCE(199); END_STATE(); case 192: - if (lookahead == 'a') ADVANCE(194); + ACCEPT_TOKEN(anon_sym_template); END_STATE(); case 193: - ACCEPT_TOKEN(anon_sym_relationship); + ACCEPT_TOKEN(anon_sym_character); END_STATE(); case 194: - if (lookahead == 'y') ADVANCE(195); + if (lookahead == 'o') ADVANCE(200); END_STATE(); case 195: - if (lookahead == 's') ADVANCE(196); + if (lookahead == 'y') ADVANCE(201); END_STATE(); case 196: + if (lookahead == 'o') ADVANCE(202); + END_STATE(); + case 197: + if (lookahead == 'h') ADVANCE(203); + END_STATE(); + case 198: + if (lookahead == 'p') ADVANCE(204); + END_STATE(); + case 199: + if (lookahead == 'l') ADVANCE(205); + END_STATE(); + case 200: + if (lookahead == 'm') ADVANCE(206); + END_STATE(); + case 201: + if (lookahead == 's') ADVANCE(207); + END_STATE(); + case 202: + if (lookahead == 'n') ADVANCE(208); + END_STATE(); + case 203: + if (lookahead == 'i') ADVANCE(209); + END_STATE(); + case 204: + if (lookahead == 't') ADVANCE(210); + END_STATE(); + case 205: + if (lookahead == 'w') ADVANCE(211); + END_STATE(); + case 206: + if (lookahead == 'p') ADVANCE(212); + END_STATE(); + case 207: + ACCEPT_TOKEN(anon_sym_fail_always); + END_STATE(); + case 208: + ACCEPT_TOKEN(anon_sym_institution); + END_STATE(); + case 209: + if (lookahead == 'p') ADVANCE(213); + END_STATE(); + case 210: + ACCEPT_TOKEN(anon_sym_sub_concept); + END_STATE(); + case 211: + if (lookahead == 'a') ADVANCE(214); + END_STATE(); + case 212: + if (lookahead == 'a') ADVANCE(215); + END_STATE(); + case 213: + ACCEPT_TOKEN(anon_sym_relationship); + END_STATE(); + case 214: + if (lookahead == 'y') ADVANCE(216); + END_STATE(); + case 215: + if (lookahead == 'r') ADVANCE(217); + END_STATE(); + case 216: + if (lookahead == 's') ADVANCE(218); + END_STATE(); + case 217: + if (lookahead == 'i') ADVANCE(219); + END_STATE(); + case 218: ACCEPT_TOKEN(anon_sym_succeed_always); END_STATE(); + case 219: + if (lookahead == 's') ADVANCE(220); + END_STATE(); + case 220: + if (lookahead == 'o') ADVANCE(221); + END_STATE(); + case 221: + if (lookahead == 'n') ADVANCE(222); + END_STATE(); + case 222: + ACCEPT_TOKEN(anon_sym_concept_comparison); + END_STATE(); default: return false; } @@ -2545,12 +2856,12 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, [1] = {.lex_state = 0}, - [2] = {.lex_state = 1}, - [3] = {.lex_state = 1}, + [2] = {.lex_state = 0}, + [3] = {.lex_state = 0}, [4] = {.lex_state = 1}, [5] = {.lex_state = 1}, - [6] = {.lex_state = 0}, - [7] = {.lex_state = 0}, + [6] = {.lex_state = 1}, + [7] = {.lex_state = 1}, [8] = {.lex_state = 1}, [9] = {.lex_state = 1}, [10] = {.lex_state = 0}, @@ -2560,13 +2871,13 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [14] = {.lex_state = 0}, [15] = {.lex_state = 0}, [16] = {.lex_state = 0}, - [17] = {.lex_state = 3}, + [17] = {.lex_state = 0}, [18] = {.lex_state = 0}, - [19] = {.lex_state = 0}, + [19] = {.lex_state = 3}, [20] = {.lex_state = 0}, - [21] = {.lex_state = 0}, + [21] = {.lex_state = 3}, [22] = {.lex_state = 0}, - [23] = {.lex_state = 3}, + [23] = {.lex_state = 0}, [24] = {.lex_state = 0}, [25] = {.lex_state = 0}, [26] = {.lex_state = 0}, @@ -2594,8 +2905,8 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [48] = {.lex_state = 0}, [49] = {.lex_state = 0}, [50] = {.lex_state = 0}, - [51] = {.lex_state = 1}, - [52] = {.lex_state = 0}, + [51] = {.lex_state = 0}, + [52] = {.lex_state = 1}, [53] = {.lex_state = 1}, [54] = {.lex_state = 1}, [55] = {.lex_state = 1}, @@ -2653,8 +2964,8 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [107] = {.lex_state = 0}, [108] = {.lex_state = 0}, [109] = {.lex_state = 0}, - [110] = {.lex_state = 1}, - [111] = {.lex_state = 1}, + [110] = {.lex_state = 0}, + [111] = {.lex_state = 0}, [112] = {.lex_state = 0}, [113] = {.lex_state = 0}, [114] = {.lex_state = 0}, @@ -2662,37 +2973,37 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [116] = {.lex_state = 0}, [117] = {.lex_state = 0}, [118] = {.lex_state = 0}, - [119] = {.lex_state = 1}, + [119] = {.lex_state = 0}, [120] = {.lex_state = 0}, [121] = {.lex_state = 0}, [122] = {.lex_state = 0}, [123] = {.lex_state = 0}, - [124] = {.lex_state = 1}, + [124] = {.lex_state = 0}, [125] = {.lex_state = 0}, - [126] = {.lex_state = 1}, - [127] = {.lex_state = 1}, + [126] = {.lex_state = 0}, + [127] = {.lex_state = 0}, [128] = {.lex_state = 0}, - [129] = {.lex_state = 1}, - [130] = {.lex_state = 0}, + [129] = {.lex_state = 0}, + [130] = {.lex_state = 1}, [131] = {.lex_state = 0}, [132] = {.lex_state = 0}, [133] = {.lex_state = 1}, - [134] = {.lex_state = 1}, + [134] = {.lex_state = 0}, [135] = {.lex_state = 1}, [136] = {.lex_state = 1}, [137] = {.lex_state = 0}, - [138] = {.lex_state = 0}, + [138] = {.lex_state = 1}, [139] = {.lex_state = 0}, [140] = {.lex_state = 0}, [141] = {.lex_state = 0}, [142] = {.lex_state = 0}, - [143] = {.lex_state = 0}, + [143] = {.lex_state = 1}, [144] = {.lex_state = 0}, - [145] = {.lex_state = 0}, - [146] = {.lex_state = 0}, - [147] = {.lex_state = 0}, + [145] = {.lex_state = 1}, + [146] = {.lex_state = 1}, + [147] = {.lex_state = 1}, [148] = {.lex_state = 1}, - [149] = {.lex_state = 0}, + [149] = {.lex_state = 1}, [150] = {.lex_state = 0}, [151] = {.lex_state = 0}, [152] = {.lex_state = 0}, @@ -2706,24 +3017,24 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [160] = {.lex_state = 0}, [161] = {.lex_state = 0}, [162] = {.lex_state = 0}, - [163] = {.lex_state = 0}, + [163] = {.lex_state = 1}, [164] = {.lex_state = 0}, [165] = {.lex_state = 0}, [166] = {.lex_state = 0}, [167] = {.lex_state = 0}, [168] = {.lex_state = 0}, [169] = {.lex_state = 0}, - [170] = {.lex_state = 1}, - [171] = {.lex_state = 0}, - [172] = {.lex_state = 0}, + [170] = {.lex_state = 0}, + [171] = {.lex_state = 1}, + [172] = {.lex_state = 1}, [173] = {.lex_state = 0}, [174] = {.lex_state = 0}, [175] = {.lex_state = 0}, [176] = {.lex_state = 0}, [177] = {.lex_state = 0}, [178] = {.lex_state = 0}, - [179] = {.lex_state = 0}, - [180] = {.lex_state = 1}, + [179] = {.lex_state = 1}, + [180] = {.lex_state = 0}, [181] = {.lex_state = 0}, [182] = {.lex_state = 0}, [183] = {.lex_state = 0}, @@ -2733,11 +3044,11 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [187] = {.lex_state = 0}, [188] = {.lex_state = 0}, [189] = {.lex_state = 0}, - [190] = {.lex_state = 1}, + [190] = {.lex_state = 0}, [191] = {.lex_state = 0}, [192] = {.lex_state = 0}, [193] = {.lex_state = 0}, - [194] = {.lex_state = 3}, + [194] = {.lex_state = 0}, [195] = {.lex_state = 0}, [196] = {.lex_state = 0}, [197] = {.lex_state = 0}, @@ -2753,8 +3064,8 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [207] = {.lex_state = 0}, [208] = {.lex_state = 0}, [209] = {.lex_state = 0}, - [210] = {.lex_state = 63}, - [211] = {.lex_state = 0}, + [210] = {.lex_state = 0}, + [211] = {.lex_state = 1}, [212] = {.lex_state = 0}, [213] = {.lex_state = 0}, [214] = {.lex_state = 0}, @@ -2763,8 +3074,8 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [217] = {.lex_state = 0}, [218] = {.lex_state = 0}, [219] = {.lex_state = 0}, - [220] = {.lex_state = 3}, - [221] = {.lex_state = 1}, + [220] = {.lex_state = 0}, + [221] = {.lex_state = 0}, [222] = {.lex_state = 0}, [223] = {.lex_state = 0}, [224] = {.lex_state = 0}, @@ -2782,7 +3093,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [236] = {.lex_state = 0}, [237] = {.lex_state = 0}, [238] = {.lex_state = 0}, - [239] = {.lex_state = 0}, + [239] = {.lex_state = 3}, [240] = {.lex_state = 0}, [241] = {.lex_state = 0}, [242] = {.lex_state = 0}, @@ -2792,17 +3103,17 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [246] = {.lex_state = 0}, [247] = {.lex_state = 0}, [248] = {.lex_state = 0}, - [249] = {.lex_state = 0}, + [249] = {.lex_state = 63}, [250] = {.lex_state = 0}, [251] = {.lex_state = 0}, [252] = {.lex_state = 0}, [253] = {.lex_state = 0}, [254] = {.lex_state = 0}, [255] = {.lex_state = 0}, - [256] = {.lex_state = 14}, + [256] = {.lex_state = 3}, [257] = {.lex_state = 0}, [258] = {.lex_state = 0}, - [259] = {.lex_state = 12}, + [259] = {.lex_state = 0}, [260] = {.lex_state = 0}, [261] = {.lex_state = 0}, [262] = {.lex_state = 0}, @@ -2813,7 +3124,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [267] = {.lex_state = 0}, [268] = {.lex_state = 0}, [269] = {.lex_state = 0}, - [270] = {.lex_state = 14}, + [270] = {.lex_state = 0}, [271] = {.lex_state = 0}, [272] = {.lex_state = 0}, [273] = {.lex_state = 0}, @@ -2832,6 +3143,83 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [286] = {.lex_state = 0}, [287] = {.lex_state = 0}, [288] = {.lex_state = 0}, + [289] = {.lex_state = 0}, + [290] = {.lex_state = 0}, + [291] = {.lex_state = 0}, + [292] = {.lex_state = 0}, + [293] = {.lex_state = 0}, + [294] = {.lex_state = 0}, + [295] = {.lex_state = 0}, + [296] = {.lex_state = 0}, + [297] = {.lex_state = 0}, + [298] = {.lex_state = 0}, + [299] = {.lex_state = 0}, + [300] = {.lex_state = 0}, + [301] = {.lex_state = 0}, + [302] = {.lex_state = 0}, + [303] = {.lex_state = 0}, + [304] = {.lex_state = 0}, + [305] = {.lex_state = 0}, + [306] = {.lex_state = 0}, + [307] = {.lex_state = 1}, + [308] = {.lex_state = 14}, + [309] = {.lex_state = 0}, + [310] = {.lex_state = 0}, + [311] = {.lex_state = 0}, + [312] = {.lex_state = 0}, + [313] = {.lex_state = 0}, + [314] = {.lex_state = 0}, + [315] = {.lex_state = 0}, + [316] = {.lex_state = 0}, + [317] = {.lex_state = 0}, + [318] = {.lex_state = 0}, + [319] = {.lex_state = 0}, + [320] = {.lex_state = 0}, + [321] = {.lex_state = 0}, + [322] = {.lex_state = 0}, + [323] = {.lex_state = 0}, + [324] = {.lex_state = 0}, + [325] = {.lex_state = 0}, + [326] = {.lex_state = 0}, + [327] = {.lex_state = 0}, + [328] = {.lex_state = 0}, + [329] = {.lex_state = 0}, + [330] = {.lex_state = 0}, + [331] = {.lex_state = 0}, + [332] = {.lex_state = 14}, + [333] = {.lex_state = 0}, + [334] = {.lex_state = 0}, + [335] = {.lex_state = 0}, + [336] = {.lex_state = 0}, + [337] = {.lex_state = 0}, + [338] = {.lex_state = 0}, + [339] = {.lex_state = 0}, + [340] = {.lex_state = 0}, + [341] = {.lex_state = 0}, + [342] = {.lex_state = 0}, + [343] = {.lex_state = 0}, + [344] = {.lex_state = 0}, + [345] = {.lex_state = 0}, + [346] = {.lex_state = 0}, + [347] = {.lex_state = 0}, + [348] = {.lex_state = 0}, + [349] = {.lex_state = 0}, + [350] = {.lex_state = 0}, + [351] = {.lex_state = 0}, + [352] = {.lex_state = 12}, + [353] = {.lex_state = 0}, + [354] = {.lex_state = 0}, + [355] = {.lex_state = 0}, + [356] = {.lex_state = 0}, + [357] = {.lex_state = 0}, + [358] = {.lex_state = 0}, + [359] = {.lex_state = 0}, + [360] = {.lex_state = 0}, + [361] = {.lex_state = 0}, + [362] = {.lex_state = 0}, + [363] = {.lex_state = 0}, + [364] = {.lex_state = 0}, + [365] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -2894,10 +3282,14 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_location] = ACTIONS(1), [anon_sym_species] = ACTIONS(1), [anon_sym_enum] = ACTIONS(1), + [anon_sym_concept] = ACTIONS(1), + [anon_sym_sub_concept] = ACTIONS(1), + [sym_any_type] = ACTIONS(1), + [anon_sym_concept_comparison] = ACTIONS(1), + [anon_sym_is] = ACTIONS(1), [anon_sym_or] = ACTIONS(1), [anon_sym_and] = ACTIONS(1), [anon_sym_not] = ACTIONS(1), - [anon_sym_is] = ACTIONS(1), [anon_sym_GT] = ACTIONS(1), [anon_sym_GT_EQ] = ACTIONS(1), [anon_sym_LT] = ACTIONS(1), @@ -2906,20 +3298,23 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_other] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(269), - [sym_declaration] = STATE(15), - [sym_use_declaration] = STATE(91), - [sym_character] = STATE(91), - [sym_template] = STATE(91), - [sym_life_arc] = STATE(91), - [sym_schedule] = STATE(91), - [sym_behavior] = STATE(91), - [sym_institution] = STATE(91), - [sym_relationship] = STATE(91), - [sym_location] = STATE(91), - [sym_species] = STATE(91), - [sym_enum_declaration] = STATE(91), - [aux_sym_source_file_repeat1] = STATE(15), + [sym_source_file] = STATE(335), + [sym_declaration] = STATE(10), + [sym_use_declaration] = STATE(94), + [sym_character] = STATE(94), + [sym_template] = STATE(94), + [sym_life_arc] = STATE(94), + [sym_schedule] = STATE(94), + [sym_behavior] = STATE(94), + [sym_institution] = STATE(94), + [sym_relationship] = STATE(94), + [sym_location] = STATE(94), + [sym_species] = STATE(94), + [sym_enum_declaration] = STATE(94), + [sym_concept_declaration] = STATE(94), + [sym_sub_concept] = STATE(94), + [sym_concept_comparison] = STATE(94), + [aux_sym_source_file_repeat1] = STATE(10), [ts_builtin_sym_end] = ACTIONS(5), [sym_line_comment] = ACTIONS(3), [sym_block_comment] = ACTIONS(3), @@ -2934,19 +3329,110 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_location] = ACTIONS(23), [anon_sym_species] = ACTIONS(25), [anon_sym_enum] = ACTIONS(27), + [anon_sym_concept] = ACTIONS(29), + [anon_sym_sub_concept] = ACTIONS(31), + [anon_sym_concept_comparison] = ACTIONS(33), }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 5, - ACTIONS(31), 1, + [0] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(35), 7, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + sym_time, + anon_sym_RBRACK, + sym_prose_marker, + anon_sym_RPAREN, + ACTIONS(37), 31, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_include, + anon_sym_remove, + anon_sym_append, + anon_sym_life_arc, + anon_sym_state, + anon_sym_on, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_choose, + anon_sym_then, + anon_sym_if, + anon_sym_when, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_concept, + anon_sym_sub_concept, + anon_sym_concept_comparison, + sym_identifier, + [47] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(39), 7, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + sym_time, + anon_sym_RBRACK, + sym_prose_marker, + anon_sym_RPAREN, + ACTIONS(41), 31, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_include, + anon_sym_remove, + anon_sym_append, + anon_sym_life_arc, + anon_sym_state, + anon_sym_on, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_choose, + anon_sym_then, + anon_sym_if, + anon_sym_when, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_concept, + anon_sym_sub_concept, + anon_sym_concept_comparison, + sym_identifier, + [94] = 5, + ACTIONS(45), 1, anon_sym_COLON_COLON, - STATE(2), 1, + STATE(4), 1, aux_sym_path_segments_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(34), 12, + ACTIONS(48), 12, anon_sym_LBRACE, anon_sym_COMMA, anon_sym_RBRACE, @@ -2959,7 +3445,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(29), 23, + ACTIONS(43), 23, anon_sym_include, anon_sym_remove, anon_sym_append, @@ -2977,21 +3463,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, anon_sym_as, + anon_sym_is, anon_sym_or, anon_sym_and, - anon_sym_is, anon_sym_GT, anon_sym_LT, sym_identifier, - [50] = 5, - ACTIONS(38), 1, + [144] = 5, + ACTIONS(52), 1, anon_sym_COLON_COLON, - STATE(2), 1, + STATE(4), 1, aux_sym_path_segments_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(40), 11, + ACTIONS(54), 11, anon_sym_LBRACE, anon_sym_COMMA, anon_sym_RBRACE, @@ -3003,7 +3489,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(36), 23, + ACTIONS(50), 23, anon_sym_include, anon_sym_remove, anon_sym_append, @@ -3021,21 +3507,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, anon_sym_as, + anon_sym_is, anon_sym_or, anon_sym_and, - anon_sym_is, anon_sym_GT, anon_sym_LT, sym_identifier, - [99] = 5, - ACTIONS(38), 1, + [193] = 5, + ACTIONS(52), 1, anon_sym_COLON_COLON, - STATE(3), 1, + STATE(5), 1, aux_sym_path_segments_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(44), 11, + ACTIONS(58), 11, anon_sym_LBRACE, anon_sym_COMMA, anon_sym_RBRACE, @@ -3047,7 +3533,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(42), 23, + ACTIONS(56), 23, anon_sym_include, anon_sym_remove, anon_sym_append, @@ -3065,17 +3551,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, anon_sym_as, + anon_sym_is, anon_sym_or, anon_sym_and, - anon_sym_is, anon_sym_GT, anon_sym_LT, sym_identifier, - [148] = 3, + [242] = 3, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(34), 13, + ACTIONS(48), 13, anon_sym_COLON_COLON, anon_sym_LBRACE, anon_sym_COMMA, @@ -3089,7 +3575,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(29), 23, + ACTIONS(43), 23, anon_sym_include, anon_sym_remove, anon_sym_append, @@ -3107,99 +3593,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, anon_sym_as, + anon_sym_is, anon_sym_or, anon_sym_and, - anon_sym_is, anon_sym_GT, anon_sym_LT, sym_identifier, - [193] = 3, + [287] = 3, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(46), 7, - ts_builtin_sym_end, - anon_sym_COMMA, - anon_sym_RBRACE, - sym_time, - anon_sym_RBRACK, - sym_prose_marker, - anon_sym_RPAREN, - ACTIONS(48), 28, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_include, - anon_sym_remove, - anon_sym_append, - anon_sym_life_arc, - anon_sym_state, - anon_sym_on, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_choose, - anon_sym_then, - anon_sym_if, - anon_sym_when, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - sym_identifier, - [237] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(50), 7, - ts_builtin_sym_end, - anon_sym_COMMA, - anon_sym_RBRACE, - sym_time, - anon_sym_RBRACK, - sym_prose_marker, - anon_sym_RPAREN, - ACTIONS(52), 28, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_include, - anon_sym_remove, - anon_sym_append, - anon_sym_life_arc, - anon_sym_state, - anon_sym_on, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_choose, - anon_sym_then, - anon_sym_if, - anon_sym_when, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - sym_identifier, - [281] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(56), 11, + ACTIONS(62), 11, anon_sym_LBRACE, anon_sym_COMMA, anon_sym_RBRACE, @@ -3211,7 +3615,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(54), 23, + ACTIONS(60), 23, anon_sym_include, anon_sym_remove, anon_sym_append, @@ -3229,17 +3633,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, anon_sym_as, + anon_sym_is, anon_sym_or, anon_sym_and, - anon_sym_is, anon_sym_GT, anon_sym_LT, sym_identifier, - [324] = 3, + [330] = 3, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(60), 10, + ACTIONS(66), 10, anon_sym_COMMA, anon_sym_RBRACE, anon_sym_DOT, @@ -3250,7 +3654,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(58), 22, + ACTIONS(64), 22, anon_sym_include, anon_sym_remove, anon_sym_append, @@ -3267,236 +3671,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_cooldown, anon_sym_succeed_always, anon_sym_fail_always, + anon_sym_is, anon_sym_or, anon_sym_and, - anon_sym_is, anon_sym_GT, anon_sym_LT, sym_identifier, - [365] = 15, - ACTIONS(62), 1, - sym_identifier, - ACTIONS(64), 1, - anon_sym_include, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(68), 1, - anon_sym_choose, - ACTIONS(70), 1, - anon_sym_then, - ACTIONS(72), 1, - anon_sym_if, - ACTIONS(74), 1, - anon_sym_when, - STATE(52), 1, - sym_prose_block, - STATE(188), 1, - sym_decorator_keyword, - STATE(233), 1, - sym_dotted_path, - STATE(257), 1, - sym_behavior_node, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(46), 2, - sym_field, - aux_sym_template_repeat2, - ACTIONS(76), 7, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, - STATE(73), 7, - sym_selector_node, - sym_sequence_node, - sym_condition_node, - sym_if_decorator_node, - sym_decorator_node, - sym_action_node, - sym_subtree_node, - [425] = 15, - ACTIONS(62), 1, - sym_identifier, - ACTIONS(64), 1, - anon_sym_include, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(68), 1, - anon_sym_choose, - ACTIONS(70), 1, - anon_sym_then, - ACTIONS(72), 1, - anon_sym_if, - ACTIONS(74), 1, - anon_sym_when, - STATE(52), 1, - sym_prose_block, - STATE(188), 1, - sym_decorator_keyword, - STATE(233), 1, - sym_dotted_path, - STATE(255), 1, - sym_behavior_node, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(10), 2, - sym_field, - aux_sym_template_repeat2, - ACTIONS(76), 7, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, - STATE(73), 7, - sym_selector_node, - sym_sequence_node, - sym_condition_node, - sym_if_decorator_node, - sym_decorator_node, - sym_action_node, - sym_subtree_node, - [485] = 17, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(78), 1, - sym_identifier, - ACTIONS(80), 1, - anon_sym_LBRACE, - ACTIONS(82), 1, - sym_integer, - ACTIONS(84), 1, - sym_float, - ACTIONS(90), 1, - anon_sym_LBRACK, - ACTIONS(92), 1, - anon_sym_AT, - ACTIONS(94), 1, - anon_sym_RPAREN, - STATE(8), 1, - sym_path_segments, - STATE(29), 1, - sym_block, - STATE(211), 1, - sym_action_param, - STATE(215), 1, - sym_value, - STATE(230), 1, - sym_dotted_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(88), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(86), 3, - sym_string, - sym_time, - sym_duration, - STATE(34), 7, - sym_path, - sym_boolean, - sym_range, - sym_list, - sym_object, - sym_override, - sym_prose_block, - [547] = 15, - ACTIONS(96), 1, - ts_builtin_sym_end, - ACTIONS(98), 1, - anon_sym_use, - ACTIONS(101), 1, - anon_sym_character, - ACTIONS(104), 1, - anon_sym_template, - ACTIONS(107), 1, - anon_sym_life_arc, - ACTIONS(110), 1, - anon_sym_schedule, - ACTIONS(113), 1, - anon_sym_behavior, - ACTIONS(116), 1, - anon_sym_institution, - ACTIONS(119), 1, - anon_sym_relationship, - ACTIONS(122), 1, - anon_sym_location, - ACTIONS(125), 1, - anon_sym_species, - ACTIONS(128), 1, - anon_sym_enum, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(13), 2, - sym_declaration, - aux_sym_source_file_repeat1, - STATE(91), 11, - sym_use_declaration, - sym_character, - sym_template, - sym_life_arc, - sym_schedule, - sym_behavior, - sym_institution, - sym_relationship, - sym_location, - sym_species, - sym_enum_declaration, - [605] = 17, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(78), 1, - sym_identifier, - ACTIONS(80), 1, - anon_sym_LBRACE, - ACTIONS(82), 1, - sym_integer, - ACTIONS(84), 1, - sym_float, - ACTIONS(90), 1, - anon_sym_LBRACK, - ACTIONS(92), 1, - anon_sym_AT, - ACTIONS(131), 1, - anon_sym_RPAREN, - STATE(8), 1, - sym_path_segments, - STATE(29), 1, - sym_block, - STATE(184), 1, - sym_action_param, - STATE(215), 1, - sym_value, - STATE(230), 1, - sym_dotted_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(88), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(86), 3, - sym_string, - sym_time, - sym_duration, - STATE(34), 7, - sym_path, - sym_boolean, - sym_range, - sym_list, - sym_object, - sym_override, - sym_prose_block, - [667] = 15, + [371] = 18, ACTIONS(7), 1, anon_sym_use, ACTIONS(9), 1, @@ -3519,15 +3700,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_species, ACTIONS(27), 1, anon_sym_enum, - ACTIONS(133), 1, + ACTIONS(29), 1, + anon_sym_concept, + ACTIONS(31), 1, + anon_sym_sub_concept, + ACTIONS(33), 1, + anon_sym_concept_comparison, + ACTIONS(68), 1, ts_builtin_sym_end, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - STATE(13), 2, + STATE(11), 2, sym_declaration, aux_sym_source_file_repeat1, - STATE(91), 11, + STATE(94), 14, sym_use_declaration, sym_character, sym_template, @@ -3539,44 +3726,189 @@ static const uint16_t ts_small_parse_table[] = { sym_location, sym_species, sym_enum_declaration, - [725] = 17, - ACTIONS(66), 1, - sym_prose_marker, + sym_concept_declaration, + sym_sub_concept, + sym_concept_comparison, + [441] = 18, + ACTIONS(70), 1, + ts_builtin_sym_end, + ACTIONS(72), 1, + anon_sym_use, + ACTIONS(75), 1, + anon_sym_character, ACTIONS(78), 1, - sym_identifier, - ACTIONS(80), 1, - anon_sym_LBRACE, - ACTIONS(82), 1, - sym_integer, + anon_sym_template, + ACTIONS(81), 1, + anon_sym_life_arc, ACTIONS(84), 1, - sym_float, + anon_sym_schedule, + ACTIONS(87), 1, + anon_sym_behavior, ACTIONS(90), 1, + anon_sym_institution, + ACTIONS(93), 1, + anon_sym_relationship, + ACTIONS(96), 1, + anon_sym_location, + ACTIONS(99), 1, + anon_sym_species, + ACTIONS(102), 1, + anon_sym_enum, + ACTIONS(105), 1, + anon_sym_concept, + ACTIONS(108), 1, + anon_sym_sub_concept, + ACTIONS(111), 1, + anon_sym_concept_comparison, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(11), 2, + sym_declaration, + aux_sym_source_file_repeat1, + STATE(94), 14, + sym_use_declaration, + sym_character, + sym_template, + sym_life_arc, + sym_schedule, + sym_behavior, + sym_institution, + sym_relationship, + sym_location, + sym_species, + sym_enum_declaration, + sym_concept_declaration, + sym_sub_concept, + sym_concept_comparison, + [511] = 15, + ACTIONS(114), 1, + sym_identifier, + ACTIONS(116), 1, + anon_sym_include, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(120), 1, + anon_sym_choose, + ACTIONS(122), 1, + anon_sym_then, + ACTIONS(124), 1, + anon_sym_if, + ACTIONS(126), 1, + anon_sym_when, + STATE(50), 1, + sym_prose_block, + STATE(217), 1, + sym_decorator_keyword, + STATE(284), 1, + sym_dotted_path, + STATE(309), 1, + sym_behavior_node, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(13), 2, + sym_field, + aux_sym_template_repeat2, + ACTIONS(128), 7, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, + STATE(106), 7, + sym_selector_node, + sym_sequence_node, + sym_condition_node, + sym_if_decorator_node, + sym_decorator_node, + sym_action_node, + sym_subtree_node, + [571] = 15, + ACTIONS(114), 1, + sym_identifier, + ACTIONS(116), 1, + anon_sym_include, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(120), 1, + anon_sym_choose, + ACTIONS(122), 1, + anon_sym_then, + ACTIONS(124), 1, + anon_sym_if, + ACTIONS(126), 1, + anon_sym_when, + STATE(50), 1, + sym_prose_block, + STATE(217), 1, + sym_decorator_keyword, + STATE(284), 1, + sym_dotted_path, + STATE(363), 1, + sym_behavior_node, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(46), 2, + sym_field, + aux_sym_template_repeat2, + ACTIONS(128), 7, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, + STATE(106), 7, + sym_selector_node, + sym_sequence_node, + sym_condition_node, + sym_if_decorator_node, + sym_decorator_node, + sym_action_node, + sym_subtree_node, + [631] = 17, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(130), 1, + sym_identifier, + ACTIONS(132), 1, + anon_sym_LBRACE, + ACTIONS(134), 1, + sym_integer, + ACTIONS(136), 1, + sym_float, + ACTIONS(142), 1, anon_sym_LBRACK, - ACTIONS(92), 1, + ACTIONS(144), 1, anon_sym_AT, - ACTIONS(135), 1, + ACTIONS(146), 1, anon_sym_RPAREN, STATE(8), 1, sym_path_segments, - STATE(29), 1, + STATE(34), 1, sym_block, - STATE(211), 1, + STATE(218), 1, sym_action_param, - STATE(215), 1, + STATE(235), 1, sym_value, - STATE(230), 1, + STATE(343), 1, sym_dotted_path, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(88), 2, + ACTIONS(140), 2, anon_sym_true, anon_sym_false, - ACTIONS(86), 3, + ACTIONS(138), 3, sym_string, sym_time, sym_duration, - STATE(34), 7, + STATE(37), 7, sym_path, sym_boolean, sym_range, @@ -3584,543 +3916,112 @@ static const uint16_t ts_small_parse_table[] = { sym_object, sym_override, sym_prose_block, - [787] = 4, - ACTIONS(141), 1, - anon_sym_DOT_DOT, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(139), 6, - anon_sym_COMMA, - anon_sym_RBRACE, - sym_time, - anon_sym_RBRACK, + [693] = 17, + ACTIONS(118), 1, sym_prose_marker, + ACTIONS(130), 1, + sym_identifier, + ACTIONS(132), 1, + anon_sym_LBRACE, + ACTIONS(134), 1, + sym_integer, + ACTIONS(136), 1, + sym_float, + ACTIONS(142), 1, + anon_sym_LBRACK, + ACTIONS(144), 1, + anon_sym_AT, + ACTIONS(148), 1, anon_sym_RPAREN, - ACTIONS(137), 17, - anon_sym_include, - anon_sym_remove, - anon_sym_append, - anon_sym_state, - anon_sym_on, - anon_sym_choose, - anon_sym_then, - anon_sym_if, - anon_sym_when, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, - sym_identifier, - [822] = 12, - ACTIONS(64), 1, - anon_sym_include, - ACTIONS(68), 1, - anon_sym_choose, - ACTIONS(70), 1, - anon_sym_then, - ACTIONS(72), 1, - anon_sym_if, - ACTIONS(74), 1, - anon_sym_when, - ACTIONS(143), 1, - sym_identifier, - ACTIONS(145), 1, - anon_sym_RBRACE, - STATE(188), 1, - sym_decorator_keyword, + STATE(8), 1, + sym_path_segments, + STATE(34), 1, + sym_block, + STATE(235), 1, + sym_value, + STATE(262), 1, + sym_action_param, + STATE(343), 1, + sym_dotted_path, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - STATE(21), 2, - sym_behavior_node, - aux_sym_selector_node_repeat1, - ACTIONS(76), 7, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, - STATE(73), 7, - sym_selector_node, - sym_sequence_node, - sym_condition_node, - sym_if_decorator_node, - sym_decorator_node, - sym_action_node, - sym_subtree_node, - [873] = 12, - ACTIONS(64), 1, - anon_sym_include, - ACTIONS(68), 1, - anon_sym_choose, - ACTIONS(70), 1, - anon_sym_then, - ACTIONS(72), 1, - anon_sym_if, - ACTIONS(74), 1, - anon_sym_when, - ACTIONS(143), 1, + ACTIONS(140), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(138), 3, + sym_string, + sym_time, + sym_duration, + STATE(37), 7, + sym_path, + sym_boolean, + sym_range, + sym_list, + sym_object, + sym_override, + sym_prose_block, + [755] = 17, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(130), 1, sym_identifier, - ACTIONS(147), 1, - anon_sym_RBRACE, - STATE(188), 1, - sym_decorator_keyword, + ACTIONS(132), 1, + anon_sym_LBRACE, + ACTIONS(134), 1, + sym_integer, + ACTIONS(136), 1, + sym_float, + ACTIONS(142), 1, + anon_sym_LBRACK, + ACTIONS(144), 1, + anon_sym_AT, + ACTIONS(150), 1, + anon_sym_RPAREN, + STATE(8), 1, + sym_path_segments, + STATE(34), 1, + sym_block, + STATE(235), 1, + sym_value, + STATE(262), 1, + sym_action_param, + STATE(343), 1, + sym_dotted_path, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - STATE(21), 2, - sym_behavior_node, - aux_sym_selector_node_repeat1, - ACTIONS(76), 7, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, - STATE(73), 7, - sym_selector_node, - sym_sequence_node, - sym_condition_node, - sym_if_decorator_node, - sym_decorator_node, - sym_action_node, - sym_subtree_node, - [924] = 12, - ACTIONS(64), 1, + ACTIONS(140), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(138), 3, + sym_string, + sym_time, + sym_duration, + STATE(37), 7, + sym_path, + sym_boolean, + sym_range, + sym_list, + sym_object, + sym_override, + sym_prose_block, + [817] = 12, + ACTIONS(116), 1, anon_sym_include, - ACTIONS(68), 1, + ACTIONS(120), 1, anon_sym_choose, - ACTIONS(70), 1, + ACTIONS(122), 1, anon_sym_then, - ACTIONS(72), 1, + ACTIONS(124), 1, anon_sym_if, - ACTIONS(74), 1, + ACTIONS(126), 1, anon_sym_when, - ACTIONS(143), 1, - sym_identifier, - ACTIONS(149), 1, - anon_sym_RBRACE, - STATE(188), 1, - sym_decorator_keyword, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(21), 2, - sym_behavior_node, - aux_sym_selector_node_repeat1, - ACTIONS(76), 7, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, - STATE(73), 7, - sym_selector_node, - sym_sequence_node, - sym_condition_node, - sym_if_decorator_node, - sym_decorator_node, - sym_action_node, - sym_subtree_node, - [975] = 12, - ACTIONS(151), 1, + ACTIONS(152), 1, sym_identifier, ACTIONS(154), 1, anon_sym_RBRACE, - ACTIONS(156), 1, - anon_sym_include, - ACTIONS(159), 1, - anon_sym_choose, - ACTIONS(162), 1, - anon_sym_then, - ACTIONS(165), 1, - anon_sym_if, - ACTIONS(168), 1, - anon_sym_when, - STATE(188), 1, - sym_decorator_keyword, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(21), 2, - sym_behavior_node, - aux_sym_selector_node_repeat1, - ACTIONS(171), 7, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, - STATE(73), 7, - sym_selector_node, - sym_sequence_node, - sym_condition_node, - sym_if_decorator_node, - sym_decorator_node, - sym_action_node, - sym_subtree_node, - [1026] = 16, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(78), 1, - sym_identifier, - ACTIONS(80), 1, - anon_sym_LBRACE, - ACTIONS(82), 1, - sym_integer, - ACTIONS(84), 1, - sym_float, - ACTIONS(90), 1, - anon_sym_LBRACK, - ACTIONS(92), 1, - anon_sym_AT, - STATE(8), 1, - sym_path_segments, - STATE(29), 1, - sym_block, - STATE(211), 1, - sym_action_param, - STATE(215), 1, - sym_value, - STATE(230), 1, - sym_dotted_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(88), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(86), 3, - sym_string, - sym_time, - sym_duration, - STATE(34), 7, - sym_path, - sym_boolean, - sym_range, - sym_list, - sym_object, - sym_override, - sym_prose_block, - [1085] = 4, - ACTIONS(174), 1, - anon_sym_DOT_DOT, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(139), 6, - anon_sym_COMMA, - anon_sym_RBRACE, - sym_time, - anon_sym_RBRACK, - sym_prose_marker, - anon_sym_RPAREN, - ACTIONS(137), 17, - anon_sym_include, - anon_sym_remove, - anon_sym_append, - anon_sym_state, - anon_sym_on, - anon_sym_choose, - anon_sym_then, - anon_sym_if, - anon_sym_when, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, - sym_identifier, - [1120] = 12, - ACTIONS(64), 1, - anon_sym_include, - ACTIONS(68), 1, - anon_sym_choose, - ACTIONS(70), 1, - anon_sym_then, - ACTIONS(72), 1, - anon_sym_if, - ACTIONS(74), 1, - anon_sym_when, - ACTIONS(143), 1, - sym_identifier, - ACTIONS(176), 1, - anon_sym_RBRACE, - STATE(188), 1, - sym_decorator_keyword, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(21), 2, - sym_behavior_node, - aux_sym_selector_node_repeat1, - ACTIONS(76), 7, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, - STATE(73), 7, - sym_selector_node, - sym_sequence_node, - sym_condition_node, - sym_if_decorator_node, - sym_decorator_node, - sym_action_node, - sym_subtree_node, - [1171] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(180), 6, - anon_sym_COMMA, - anon_sym_RBRACE, - sym_time, - anon_sym_RBRACK, - sym_prose_marker, - anon_sym_RPAREN, - ACTIONS(178), 17, - anon_sym_include, - anon_sym_remove, - anon_sym_append, - anon_sym_state, - anon_sym_on, - anon_sym_choose, - anon_sym_then, - anon_sym_if, - anon_sym_when, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, - sym_identifier, - [1203] = 11, - ACTIONS(64), 1, - anon_sym_include, - ACTIONS(68), 1, - anon_sym_choose, - ACTIONS(70), 1, - anon_sym_then, - ACTIONS(72), 1, - anon_sym_if, - ACTIONS(74), 1, - anon_sym_when, - ACTIONS(143), 1, - sym_identifier, - STATE(188), 1, - sym_decorator_keyword, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(18), 2, - sym_behavior_node, - aux_sym_selector_node_repeat1, - ACTIONS(76), 7, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, - STATE(73), 7, - sym_selector_node, - sym_sequence_node, - sym_condition_node, - sym_if_decorator_node, - sym_decorator_node, - sym_action_node, - sym_subtree_node, - [1251] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(184), 6, - anon_sym_COMMA, - anon_sym_RBRACE, - sym_time, - anon_sym_RBRACK, - sym_prose_marker, - anon_sym_RPAREN, - ACTIONS(182), 17, - anon_sym_include, - anon_sym_remove, - anon_sym_append, - anon_sym_state, - anon_sym_on, - anon_sym_choose, - anon_sym_then, - anon_sym_if, - anon_sym_when, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, - sym_identifier, - [1283] = 15, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(80), 1, - anon_sym_LBRACE, - ACTIONS(82), 1, - sym_integer, - ACTIONS(84), 1, - sym_float, - ACTIONS(90), 1, - anon_sym_LBRACK, - ACTIONS(92), 1, - anon_sym_AT, - ACTIONS(186), 1, - sym_identifier, - ACTIONS(188), 1, - anon_sym_RBRACK, - STATE(8), 1, - sym_path_segments, - STATE(29), 1, - sym_block, - STATE(168), 1, - sym_value, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(88), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(86), 3, - sym_string, - sym_time, - sym_duration, - STATE(34), 7, - sym_path, - sym_boolean, - sym_range, - sym_list, - sym_object, - sym_override, - sym_prose_block, - [1339] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(192), 6, - anon_sym_COMMA, - anon_sym_RBRACE, - sym_time, - anon_sym_RBRACK, - sym_prose_marker, - anon_sym_RPAREN, - ACTIONS(190), 17, - anon_sym_include, - anon_sym_remove, - anon_sym_append, - anon_sym_state, - anon_sym_on, - anon_sym_choose, - anon_sym_then, - anon_sym_if, - anon_sym_when, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, - sym_identifier, - [1371] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(196), 6, - anon_sym_COMMA, - anon_sym_RBRACE, - sym_time, - anon_sym_RBRACK, - sym_prose_marker, - anon_sym_RPAREN, - ACTIONS(194), 17, - anon_sym_include, - anon_sym_remove, - anon_sym_append, - anon_sym_state, - anon_sym_on, - anon_sym_choose, - anon_sym_then, - anon_sym_if, - anon_sym_when, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, - sym_identifier, - [1403] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(200), 6, - anon_sym_COMMA, - anon_sym_RBRACE, - sym_time, - anon_sym_RBRACK, - sym_prose_marker, - anon_sym_RPAREN, - ACTIONS(198), 17, - anon_sym_include, - anon_sym_remove, - anon_sym_append, - anon_sym_state, - anon_sym_on, - anon_sym_choose, - anon_sym_then, - anon_sym_if, - anon_sym_when, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, - sym_identifier, - [1435] = 11, - ACTIONS(64), 1, - anon_sym_include, - ACTIONS(68), 1, - anon_sym_choose, - ACTIONS(70), 1, - anon_sym_then, - ACTIONS(72), 1, - anon_sym_if, - ACTIONS(74), 1, - anon_sym_when, - ACTIONS(143), 1, - sym_identifier, - STATE(188), 1, + STATE(217), 1, sym_decorator_keyword, ACTIONS(3), 2, sym_line_comment, @@ -4128,7 +4029,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(24), 2, sym_behavior_node, aux_sym_selector_node_repeat1, - ACTIONS(76), 7, + ACTIONS(128), 7, anon_sym_repeat, anon_sym_invert, anon_sym_retry, @@ -4136,7 +4037,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_cooldown, anon_sym_succeed_always, anon_sym_fail_always, - STATE(73), 7, + STATE(106), 7, sym_selector_node, sym_sequence_node, sym_condition_node, @@ -4144,20 +4045,310 @@ static const uint16_t ts_small_parse_table[] = { sym_decorator_node, sym_action_node, sym_subtree_node, - [1483] = 11, - ACTIONS(64), 1, - anon_sym_include, - ACTIONS(68), 1, - anon_sym_choose, - ACTIONS(70), 1, - anon_sym_then, - ACTIONS(72), 1, - anon_sym_if, - ACTIONS(74), 1, - anon_sym_when, - ACTIONS(143), 1, + [868] = 16, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(130), 1, sym_identifier, - STATE(188), 1, + ACTIONS(132), 1, + anon_sym_LBRACE, + ACTIONS(134), 1, + sym_integer, + ACTIONS(136), 1, + sym_float, + ACTIONS(142), 1, + anon_sym_LBRACK, + ACTIONS(144), 1, + anon_sym_AT, + STATE(8), 1, + sym_path_segments, + STATE(34), 1, + sym_block, + STATE(235), 1, + sym_value, + STATE(262), 1, + sym_action_param, + STATE(343), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(140), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(138), 3, + sym_string, + sym_time, + sym_duration, + STATE(37), 7, + sym_path, + sym_boolean, + sym_range, + sym_list, + sym_object, + sym_override, + sym_prose_block, + [927] = 4, + ACTIONS(160), 1, + anon_sym_DOT_DOT, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(158), 6, + anon_sym_COMMA, + anon_sym_RBRACE, + sym_time, + anon_sym_RBRACK, + sym_prose_marker, + anon_sym_RPAREN, + ACTIONS(156), 17, + anon_sym_include, + anon_sym_remove, + anon_sym_append, + anon_sym_state, + anon_sym_on, + anon_sym_choose, + anon_sym_then, + anon_sym_if, + anon_sym_when, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, + sym_identifier, + [962] = 12, + ACTIONS(116), 1, + anon_sym_include, + ACTIONS(120), 1, + anon_sym_choose, + ACTIONS(122), 1, + anon_sym_then, + ACTIONS(124), 1, + anon_sym_if, + ACTIONS(126), 1, + anon_sym_when, + ACTIONS(152), 1, + sym_identifier, + ACTIONS(162), 1, + anon_sym_RBRACE, + STATE(217), 1, + sym_decorator_keyword, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(24), 2, + sym_behavior_node, + aux_sym_selector_node_repeat1, + ACTIONS(128), 7, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, + STATE(106), 7, + sym_selector_node, + sym_sequence_node, + sym_condition_node, + sym_if_decorator_node, + sym_decorator_node, + sym_action_node, + sym_subtree_node, + [1013] = 4, + ACTIONS(164), 1, + anon_sym_DOT_DOT, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(158), 6, + anon_sym_COMMA, + anon_sym_RBRACE, + sym_time, + anon_sym_RBRACK, + sym_prose_marker, + anon_sym_RPAREN, + ACTIONS(156), 17, + anon_sym_include, + anon_sym_remove, + anon_sym_append, + anon_sym_state, + anon_sym_on, + anon_sym_choose, + anon_sym_then, + anon_sym_if, + anon_sym_when, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, + sym_identifier, + [1048] = 12, + ACTIONS(116), 1, + anon_sym_include, + ACTIONS(120), 1, + anon_sym_choose, + ACTIONS(122), 1, + anon_sym_then, + ACTIONS(124), 1, + anon_sym_if, + ACTIONS(126), 1, + anon_sym_when, + ACTIONS(152), 1, + sym_identifier, + ACTIONS(166), 1, + anon_sym_RBRACE, + STATE(217), 1, + sym_decorator_keyword, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(24), 2, + sym_behavior_node, + aux_sym_selector_node_repeat1, + ACTIONS(128), 7, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, + STATE(106), 7, + sym_selector_node, + sym_sequence_node, + sym_condition_node, + sym_if_decorator_node, + sym_decorator_node, + sym_action_node, + sym_subtree_node, + [1099] = 12, + ACTIONS(116), 1, + anon_sym_include, + ACTIONS(120), 1, + anon_sym_choose, + ACTIONS(122), 1, + anon_sym_then, + ACTIONS(124), 1, + anon_sym_if, + ACTIONS(126), 1, + anon_sym_when, + ACTIONS(152), 1, + sym_identifier, + ACTIONS(168), 1, + anon_sym_RBRACE, + STATE(217), 1, + sym_decorator_keyword, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(24), 2, + sym_behavior_node, + aux_sym_selector_node_repeat1, + ACTIONS(128), 7, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, + STATE(106), 7, + sym_selector_node, + sym_sequence_node, + sym_condition_node, + sym_if_decorator_node, + sym_decorator_node, + sym_action_node, + sym_subtree_node, + [1150] = 12, + ACTIONS(170), 1, + sym_identifier, + ACTIONS(173), 1, + anon_sym_RBRACE, + ACTIONS(175), 1, + anon_sym_include, + ACTIONS(178), 1, + anon_sym_choose, + ACTIONS(181), 1, + anon_sym_then, + ACTIONS(184), 1, + anon_sym_if, + ACTIONS(187), 1, + anon_sym_when, + STATE(217), 1, + sym_decorator_keyword, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(24), 2, + sym_behavior_node, + aux_sym_selector_node_repeat1, + ACTIONS(190), 7, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, + STATE(106), 7, + sym_selector_node, + sym_sequence_node, + sym_condition_node, + sym_if_decorator_node, + sym_decorator_node, + sym_action_node, + sym_subtree_node, + [1201] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(195), 6, + anon_sym_COMMA, + anon_sym_RBRACE, + sym_time, + anon_sym_RBRACK, + sym_prose_marker, + anon_sym_RPAREN, + ACTIONS(193), 17, + anon_sym_include, + anon_sym_remove, + anon_sym_append, + anon_sym_state, + anon_sym_on, + anon_sym_choose, + anon_sym_then, + anon_sym_if, + anon_sym_when, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, + sym_identifier, + [1233] = 11, + ACTIONS(116), 1, + anon_sym_include, + ACTIONS(120), 1, + anon_sym_choose, + ACTIONS(122), 1, + anon_sym_then, + ACTIONS(124), 1, + anon_sym_if, + ACTIONS(126), 1, + anon_sym_when, + ACTIONS(152), 1, + sym_identifier, + STATE(217), 1, sym_decorator_keyword, ACTIONS(3), 2, sym_line_comment, @@ -4165,7 +4356,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(20), 2, sym_behavior_node, aux_sym_selector_node_repeat1, - ACTIONS(76), 7, + ACTIONS(128), 7, anon_sym_repeat, anon_sym_invert, anon_sym_retry, @@ -4173,7 +4364,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_cooldown, anon_sym_succeed_always, anon_sym_fail_always, - STATE(73), 7, + STATE(106), 7, sym_selector_node, sym_sequence_node, sym_condition_node, @@ -4181,98 +4372,40 @@ static const uint16_t ts_small_parse_table[] = { sym_decorator_node, sym_action_node, sym_subtree_node, - [1531] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(139), 6, - anon_sym_COMMA, - anon_sym_RBRACE, - sym_time, - anon_sym_RBRACK, + [1281] = 15, + ACTIONS(118), 1, sym_prose_marker, - anon_sym_RPAREN, - ACTIONS(137), 17, - anon_sym_include, - anon_sym_remove, - anon_sym_append, - anon_sym_state, - anon_sym_on, - anon_sym_choose, - anon_sym_then, - anon_sym_if, - anon_sym_when, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, - sym_identifier, - [1563] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(204), 6, - anon_sym_COMMA, - anon_sym_RBRACE, - sym_time, - anon_sym_RBRACK, - sym_prose_marker, - anon_sym_RPAREN, - ACTIONS(202), 17, - anon_sym_include, - anon_sym_remove, - anon_sym_append, - anon_sym_state, - anon_sym_on, - anon_sym_choose, - anon_sym_then, - anon_sym_if, - anon_sym_when, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, - sym_identifier, - [1595] = 15, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(80), 1, + ACTIONS(132), 1, anon_sym_LBRACE, - ACTIONS(82), 1, + ACTIONS(134), 1, sym_integer, - ACTIONS(84), 1, + ACTIONS(136), 1, sym_float, - ACTIONS(90), 1, + ACTIONS(142), 1, anon_sym_LBRACK, - ACTIONS(92), 1, + ACTIONS(144), 1, anon_sym_AT, - ACTIONS(186), 1, + ACTIONS(197), 1, sym_identifier, - ACTIONS(206), 1, + ACTIONS(199), 1, anon_sym_RBRACK, STATE(8), 1, sym_path_segments, - STATE(29), 1, + STATE(34), 1, sym_block, - STATE(209), 1, + STATE(241), 1, sym_value, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(88), 2, + ACTIONS(140), 2, anon_sym_true, anon_sym_false, - ACTIONS(86), 3, + ACTIONS(138), 3, sym_string, sym_time, sym_duration, - STATE(34), 7, + STATE(37), 7, sym_path, sym_boolean, sym_range, @@ -4280,18 +4413,18 @@ static const uint16_t ts_small_parse_table[] = { sym_object, sym_override, sym_prose_block, - [1651] = 3, + [1337] = 3, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(210), 6, + ACTIONS(203), 6, anon_sym_COMMA, anon_sym_RBRACE, sym_time, anon_sym_RBRACK, sym_prose_marker, anon_sym_RPAREN, - ACTIONS(208), 17, + ACTIONS(201), 17, anon_sym_include, anon_sym_remove, anon_sym_append, @@ -4309,57 +4442,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, sym_identifier, - [1683] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(214), 6, - anon_sym_COMMA, - anon_sym_RBRACE, - sym_time, - anon_sym_RBRACK, - sym_prose_marker, - anon_sym_RPAREN, - ACTIONS(212), 17, + [1369] = 11, + ACTIONS(116), 1, anon_sym_include, - anon_sym_remove, - anon_sym_append, - anon_sym_state, - anon_sym_on, + ACTIONS(120), 1, anon_sym_choose, + ACTIONS(122), 1, anon_sym_then, + ACTIONS(124), 1, anon_sym_if, + ACTIONS(126), 1, anon_sym_when, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, + ACTIONS(152), 1, sym_identifier, - [1715] = 11, - ACTIONS(64), 1, - anon_sym_include, - ACTIONS(68), 1, - anon_sym_choose, - ACTIONS(70), 1, - anon_sym_then, - ACTIONS(72), 1, - anon_sym_if, - ACTIONS(74), 1, - anon_sym_when, - ACTIONS(143), 1, - sym_identifier, - STATE(188), 1, + STATE(217), 1, sym_decorator_keyword, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - STATE(19), 2, + STATE(22), 2, sym_behavior_node, aux_sym_selector_node_repeat1, - ACTIONS(76), 7, + ACTIONS(128), 7, anon_sym_repeat, anon_sym_invert, anon_sym_retry, @@ -4367,7 +4471,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_cooldown, anon_sym_succeed_always, anon_sym_fail_always, - STATE(73), 7, + STATE(106), 7, sym_selector_node, sym_sequence_node, sym_condition_node, @@ -4375,18 +4479,18 @@ static const uint16_t ts_small_parse_table[] = { sym_decorator_node, sym_action_node, sym_subtree_node, - [1763] = 3, + [1417] = 3, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(218), 6, + ACTIONS(207), 6, anon_sym_COMMA, anon_sym_RBRACE, sym_time, anon_sym_RBRACK, sym_prose_marker, anon_sym_RPAREN, - ACTIONS(216), 17, + ACTIONS(205), 17, anon_sym_include, anon_sym_remove, anon_sym_append, @@ -4404,18 +4508,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, sym_identifier, - [1795] = 3, + [1449] = 3, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(222), 6, + ACTIONS(211), 6, anon_sym_COMMA, anon_sym_RBRACE, sym_time, anon_sym_RBRACK, sym_prose_marker, anon_sym_RPAREN, - ACTIONS(220), 17, + ACTIONS(209), 17, anon_sym_include, anon_sym_remove, anon_sym_append, @@ -4433,40 +4537,143 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, sym_identifier, - [1827] = 15, - ACTIONS(66), 1, + [1481] = 11, + ACTIONS(116), 1, + anon_sym_include, + ACTIONS(120), 1, + anon_sym_choose, + ACTIONS(122), 1, + anon_sym_then, + ACTIONS(124), 1, + anon_sym_if, + ACTIONS(126), 1, + anon_sym_when, + ACTIONS(152), 1, + sym_identifier, + STATE(217), 1, + sym_decorator_keyword, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(23), 2, + sym_behavior_node, + aux_sym_selector_node_repeat1, + ACTIONS(128), 7, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, + STATE(106), 7, + sym_selector_node, + sym_sequence_node, + sym_condition_node, + sym_if_decorator_node, + sym_decorator_node, + sym_action_node, + sym_subtree_node, + [1529] = 11, + ACTIONS(116), 1, + anon_sym_include, + ACTIONS(120), 1, + anon_sym_choose, + ACTIONS(122), 1, + anon_sym_then, + ACTIONS(124), 1, + anon_sym_if, + ACTIONS(126), 1, + anon_sym_when, + ACTIONS(152), 1, + sym_identifier, + STATE(217), 1, + sym_decorator_keyword, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(17), 2, + sym_behavior_node, + aux_sym_selector_node_repeat1, + ACTIONS(128), 7, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, + STATE(106), 7, + sym_selector_node, + sym_sequence_node, + sym_condition_node, + sym_if_decorator_node, + sym_decorator_node, + sym_action_node, + sym_subtree_node, + [1577] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(215), 6, + anon_sym_COMMA, + anon_sym_RBRACE, + sym_time, + anon_sym_RBRACK, sym_prose_marker, - ACTIONS(80), 1, + anon_sym_RPAREN, + ACTIONS(213), 17, + anon_sym_include, + anon_sym_remove, + anon_sym_append, + anon_sym_state, + anon_sym_on, + anon_sym_choose, + anon_sym_then, + anon_sym_if, + anon_sym_when, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, + sym_identifier, + [1609] = 15, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(132), 1, anon_sym_LBRACE, - ACTIONS(82), 1, + ACTIONS(134), 1, sym_integer, - ACTIONS(84), 1, + ACTIONS(136), 1, sym_float, - ACTIONS(90), 1, + ACTIONS(142), 1, anon_sym_LBRACK, - ACTIONS(92), 1, + ACTIONS(144), 1, anon_sym_AT, - ACTIONS(186), 1, + ACTIONS(197), 1, sym_identifier, - ACTIONS(224), 1, + ACTIONS(217), 1, anon_sym_RBRACK, STATE(8), 1, sym_path_segments, - STATE(29), 1, + STATE(34), 1, sym_block, - STATE(209), 1, + STATE(233), 1, sym_value, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(88), 2, + ACTIONS(140), 2, anon_sym_true, anon_sym_false, - ACTIONS(86), 3, + ACTIONS(138), 3, sym_string, sym_time, sym_duration, - STATE(34), 7, + STATE(37), 7, sym_path, sym_boolean, sym_range, @@ -4474,27 +4681,320 @@ static const uint16_t ts_small_parse_table[] = { sym_object, sym_override, sym_prose_block, - [1883] = 11, - ACTIONS(64), 1, + [1665] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(221), 6, + anon_sym_COMMA, + anon_sym_RBRACE, + sym_time, + anon_sym_RBRACK, + sym_prose_marker, + anon_sym_RPAREN, + ACTIONS(219), 17, anon_sym_include, - ACTIONS(68), 1, + anon_sym_remove, + anon_sym_append, + anon_sym_state, + anon_sym_on, anon_sym_choose, - ACTIONS(70), 1, anon_sym_then, - ACTIONS(72), 1, anon_sym_if, - ACTIONS(74), 1, anon_sym_when, - ACTIONS(143), 1, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, sym_identifier, - STATE(188), 1, + [1697] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(158), 6, + anon_sym_COMMA, + anon_sym_RBRACE, + sym_time, + anon_sym_RBRACK, + sym_prose_marker, + anon_sym_RPAREN, + ACTIONS(156), 17, + anon_sym_include, + anon_sym_remove, + anon_sym_append, + anon_sym_state, + anon_sym_on, + anon_sym_choose, + anon_sym_then, + anon_sym_if, + anon_sym_when, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, + sym_identifier, + [1729] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(225), 6, + anon_sym_COMMA, + anon_sym_RBRACE, + sym_time, + anon_sym_RBRACK, + sym_prose_marker, + anon_sym_RPAREN, + ACTIONS(223), 17, + anon_sym_include, + anon_sym_remove, + anon_sym_append, + anon_sym_state, + anon_sym_on, + anon_sym_choose, + anon_sym_then, + anon_sym_if, + anon_sym_when, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, + sym_identifier, + [1761] = 15, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(132), 1, + anon_sym_LBRACE, + ACTIONS(134), 1, + sym_integer, + ACTIONS(136), 1, + sym_float, + ACTIONS(142), 1, + anon_sym_LBRACK, + ACTIONS(144), 1, + anon_sym_AT, + ACTIONS(197), 1, + sym_identifier, + ACTIONS(227), 1, + anon_sym_RBRACK, + STATE(8), 1, + sym_path_segments, + STATE(34), 1, + sym_block, + STATE(241), 1, + sym_value, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(140), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(138), 3, + sym_string, + sym_time, + sym_duration, + STATE(37), 7, + sym_path, + sym_boolean, + sym_range, + sym_list, + sym_object, + sym_override, + sym_prose_block, + [1817] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(231), 6, + anon_sym_COMMA, + anon_sym_RBRACE, + sym_time, + anon_sym_RBRACK, + sym_prose_marker, + anon_sym_RPAREN, + ACTIONS(229), 17, + anon_sym_include, + anon_sym_remove, + anon_sym_append, + anon_sym_state, + anon_sym_on, + anon_sym_choose, + anon_sym_then, + anon_sym_if, + anon_sym_when, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, + sym_identifier, + [1849] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(235), 6, + anon_sym_COMMA, + anon_sym_RBRACE, + sym_time, + anon_sym_RBRACK, + sym_prose_marker, + anon_sym_RPAREN, + ACTIONS(233), 17, + anon_sym_include, + anon_sym_remove, + anon_sym_append, + anon_sym_state, + anon_sym_on, + anon_sym_choose, + anon_sym_then, + anon_sym_if, + anon_sym_when, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, + sym_identifier, + [1881] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(239), 6, + anon_sym_COMMA, + anon_sym_RBRACE, + sym_time, + anon_sym_RBRACK, + sym_prose_marker, + anon_sym_RPAREN, + ACTIONS(237), 17, + anon_sym_include, + anon_sym_remove, + anon_sym_append, + anon_sym_state, + anon_sym_on, + anon_sym_choose, + anon_sym_then, + anon_sym_if, + anon_sym_when, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, + sym_identifier, + [1913] = 14, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(132), 1, + anon_sym_LBRACE, + ACTIONS(134), 1, + sym_integer, + ACTIONS(136), 1, + sym_float, + ACTIONS(142), 1, + anon_sym_LBRACK, + ACTIONS(144), 1, + anon_sym_AT, + ACTIONS(197), 1, + sym_identifier, + STATE(8), 1, + sym_path_segments, + STATE(34), 1, + sym_block, + STATE(51), 1, + sym_value, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(140), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(138), 3, + sym_string, + sym_time, + sym_duration, + STATE(37), 7, + sym_path, + sym_boolean, + sym_range, + sym_list, + sym_object, + sym_override, + sym_prose_block, + [1966] = 14, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(132), 1, + anon_sym_LBRACE, + ACTIONS(134), 1, + sym_integer, + ACTIONS(136), 1, + sym_float, + ACTIONS(142), 1, + anon_sym_LBRACK, + ACTIONS(144), 1, + anon_sym_AT, + ACTIONS(197), 1, + sym_identifier, + STATE(8), 1, + sym_path_segments, + STATE(34), 1, + sym_block, + STATE(241), 1, + sym_value, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(140), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(138), 3, + sym_string, + sym_time, + sym_duration, + STATE(37), 7, + sym_path, + sym_boolean, + sym_range, + sym_list, + sym_object, + sym_override, + sym_prose_block, + [2019] = 11, + ACTIONS(116), 1, + anon_sym_include, + ACTIONS(120), 1, + anon_sym_choose, + ACTIONS(122), 1, + anon_sym_then, + ACTIONS(124), 1, + anon_sym_if, + ACTIONS(126), 1, + anon_sym_when, + ACTIONS(152), 1, + sym_identifier, + STATE(217), 1, sym_decorator_keyword, - STATE(240), 1, + STATE(334), 1, sym_behavior_node, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(76), 7, + ACTIONS(128), 7, anon_sym_repeat, anon_sym_invert, anon_sym_retry, @@ -4502,7 +5002,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_cooldown, anon_sym_succeed_always, anon_sym_fail_always, - STATE(73), 7, + STATE(106), 7, sym_selector_node, sym_sequence_node, sym_condition_node, @@ -4510,103 +5010,25 @@ static const uint16_t ts_small_parse_table[] = { sym_decorator_node, sym_action_node, sym_subtree_node, - [1930] = 14, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(80), 1, - anon_sym_LBRACE, - ACTIONS(82), 1, - sym_integer, - ACTIONS(84), 1, - sym_float, - ACTIONS(90), 1, - anon_sym_LBRACK, - ACTIONS(92), 1, - anon_sym_AT, - ACTIONS(186), 1, + [2066] = 8, + ACTIONS(241), 1, sym_identifier, - STATE(8), 1, - sym_path_segments, - STATE(29), 1, - sym_block, - STATE(209), 1, - sym_value, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(88), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(86), 3, - sym_string, - sym_time, - sym_duration, - STATE(34), 7, - sym_path, - sym_boolean, - sym_range, - sym_list, - sym_object, - sym_override, - sym_prose_block, - [1983] = 14, - ACTIONS(66), 1, + ACTIONS(248), 1, sym_prose_marker, - ACTIONS(80), 1, - anon_sym_LBRACE, - ACTIONS(82), 1, - sym_integer, - ACTIONS(84), 1, - sym_float, - ACTIONS(90), 1, - anon_sym_LBRACK, - ACTIONS(92), 1, - anon_sym_AT, - ACTIONS(186), 1, - sym_identifier, - STATE(8), 1, - sym_path_segments, - STATE(29), 1, - sym_block, STATE(50), 1, - sym_value, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(88), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(86), 3, - sym_string, - sym_time, - sym_duration, - STATE(34), 7, - sym_path, - sym_boolean, - sym_range, - sym_list, - sym_object, - sym_override, sym_prose_block, - [2036] = 8, - ACTIONS(226), 1, - sym_identifier, - ACTIONS(233), 1, - sym_prose_marker, - STATE(52), 1, - sym_prose_block, - STATE(233), 1, + STATE(284), 1, sym_dotted_path, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(229), 2, + ACTIONS(244), 2, anon_sym_RBRACE, sym_time, STATE(46), 2, sym_field, aux_sym_template_repeat2, - ACTIONS(231), 14, + ACTIONS(246), 14, anon_sym_include, anon_sym_state, anon_sym_on, @@ -4621,38 +5043,110 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_cooldown, anon_sym_succeed_always, anon_sym_fail_always, - [2077] = 14, - ACTIONS(66), 1, + [2107] = 11, + ACTIONS(116), 1, + anon_sym_include, + ACTIONS(120), 1, + anon_sym_choose, + ACTIONS(122), 1, + anon_sym_then, + ACTIONS(124), 1, + anon_sym_if, + ACTIONS(126), 1, + anon_sym_when, + ACTIONS(152), 1, + sym_identifier, + STATE(217), 1, + sym_decorator_keyword, + STATE(342), 1, + sym_behavior_node, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(128), 7, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, + STATE(106), 7, + sym_selector_node, + sym_sequence_node, + sym_condition_node, + sym_if_decorator_node, + sym_decorator_node, + sym_action_node, + sym_subtree_node, + [2154] = 11, + ACTIONS(116), 1, + anon_sym_include, + ACTIONS(120), 1, + anon_sym_choose, + ACTIONS(122), 1, + anon_sym_then, + ACTIONS(124), 1, + anon_sym_if, + ACTIONS(126), 1, + anon_sym_when, + ACTIONS(152), 1, + sym_identifier, + STATE(217), 1, + sym_decorator_keyword, + STATE(303), 1, + sym_behavior_node, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(128), 7, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, + STATE(106), 7, + sym_selector_node, + sym_sequence_node, + sym_condition_node, + sym_if_decorator_node, + sym_decorator_node, + sym_action_node, + sym_subtree_node, + [2201] = 14, + ACTIONS(118), 1, sym_prose_marker, - ACTIONS(80), 1, + ACTIONS(132), 1, anon_sym_LBRACE, - ACTIONS(82), 1, + ACTIONS(134), 1, sym_integer, - ACTIONS(84), 1, + ACTIONS(136), 1, sym_float, - ACTIONS(90), 1, + ACTIONS(142), 1, anon_sym_LBRACK, - ACTIONS(92), 1, + ACTIONS(144), 1, anon_sym_AT, - ACTIONS(186), 1, + ACTIONS(197), 1, sym_identifier, STATE(8), 1, sym_path_segments, - STATE(29), 1, + STATE(34), 1, sym_block, - STATE(214), 1, + STATE(263), 1, sym_value, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(88), 2, + ACTIONS(140), 2, anon_sym_true, anon_sym_false, - ACTIONS(86), 3, + ACTIONS(138), 3, sym_string, sym_time, sym_duration, - STATE(34), 7, + STATE(37), 7, sym_path, sym_boolean, sym_range, @@ -4660,87 +5154,15 @@ static const uint16_t ts_small_parse_table[] = { sym_object, sym_override, sym_prose_block, - [2130] = 11, - ACTIONS(64), 1, - anon_sym_include, - ACTIONS(68), 1, - anon_sym_choose, - ACTIONS(70), 1, - anon_sym_then, - ACTIONS(72), 1, - anon_sym_if, - ACTIONS(74), 1, - anon_sym_when, - ACTIONS(143), 1, - sym_identifier, - STATE(188), 1, - sym_decorator_keyword, - STATE(253), 1, - sym_behavior_node, + [2254] = 3, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(76), 7, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, - STATE(73), 7, - sym_selector_node, - sym_sequence_node, - sym_condition_node, - sym_if_decorator_node, - sym_decorator_node, - sym_action_node, - sym_subtree_node, - [2177] = 11, - ACTIONS(64), 1, - anon_sym_include, - ACTIONS(68), 1, - anon_sym_choose, - ACTIONS(70), 1, - anon_sym_then, - ACTIONS(72), 1, - anon_sym_if, - ACTIONS(74), 1, - anon_sym_when, - ACTIONS(143), 1, - sym_identifier, - STATE(188), 1, - sym_decorator_keyword, - STATE(275), 1, - sym_behavior_node, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(76), 7, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, - STATE(73), 7, - sym_selector_node, - sym_sequence_node, - sym_condition_node, - sym_if_decorator_node, - sym_decorator_node, - sym_action_node, - sym_subtree_node, - [2224] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(238), 3, + ACTIONS(253), 3, anon_sym_RBRACE, sym_time, sym_prose_marker, - ACTIONS(236), 17, + ACTIONS(251), 17, anon_sym_include, anon_sym_remove, anon_sym_append, @@ -4758,198 +5180,198 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, sym_identifier, - [2253] = 11, - ACTIONS(186), 1, + [2283] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(257), 3, + anon_sym_RBRACE, + sym_time, + sym_prose_marker, + ACTIONS(255), 17, + anon_sym_include, + anon_sym_remove, + anon_sym_append, + anon_sym_state, + anon_sym_on, + anon_sym_choose, + anon_sym_then, + anon_sym_if, + anon_sym_when, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, sym_identifier, - ACTIONS(244), 1, + [2312] = 11, + ACTIONS(197), 1, + sym_identifier, + ACTIONS(263), 1, anon_sym_enter, - ACTIONS(246), 1, + ACTIONS(265), 1, anon_sym_not, STATE(8), 1, sym_path_segments, - STATE(135), 1, + STATE(149), 1, sym_expression, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(88), 2, + ACTIONS(140), 2, anon_sym_true, anon_sym_false, - ACTIONS(242), 2, + ACTIONS(261), 2, sym_float, sym_string, - STATE(110), 2, + STATE(143), 2, sym_path, sym_boolean, - ACTIONS(240), 3, + ACTIONS(259), 3, sym_integer, anon_sym_self, anon_sym_other, - STATE(119), 6, + STATE(145), 6, sym_or_expression, sym_and_expression, sym_not_expression, sym_comparison, sym_field_access, sym_primary_expression, - [2298] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(250), 3, - anon_sym_RBRACE, - sym_time, - sym_prose_marker, - ACTIONS(248), 17, - anon_sym_include, - anon_sym_remove, - anon_sym_append, - anon_sym_state, - anon_sym_on, - anon_sym_choose, - anon_sym_then, - anon_sym_if, - anon_sym_when, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, + [2357] = 10, + ACTIONS(197), 1, sym_identifier, - [2327] = 10, - ACTIONS(186), 1, - sym_identifier, - ACTIONS(246), 1, + ACTIONS(265), 1, anon_sym_not, STATE(8), 1, sym_path_segments, - STATE(135), 1, + STATE(147), 1, sym_expression, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(88), 2, + ACTIONS(140), 2, anon_sym_true, anon_sym_false, - ACTIONS(242), 2, + ACTIONS(261), 2, sym_float, sym_string, - STATE(110), 2, + STATE(143), 2, sym_path, sym_boolean, - ACTIONS(240), 3, + ACTIONS(259), 3, sym_integer, anon_sym_self, anon_sym_other, - STATE(119), 6, + STATE(145), 6, sym_or_expression, sym_and_expression, sym_not_expression, sym_comparison, sym_field_access, sym_primary_expression, - [2369] = 10, - ACTIONS(186), 1, + [2399] = 10, + ACTIONS(197), 1, sym_identifier, - ACTIONS(246), 1, + ACTIONS(265), 1, anon_sym_not, STATE(8), 1, sym_path_segments, - STATE(134), 1, + STATE(146), 1, sym_expression, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(88), 2, + ACTIONS(140), 2, anon_sym_true, anon_sym_false, - ACTIONS(242), 2, + ACTIONS(261), 2, sym_float, sym_string, - STATE(110), 2, + STATE(143), 2, sym_path, sym_boolean, - ACTIONS(240), 3, + ACTIONS(259), 3, sym_integer, anon_sym_self, anon_sym_other, - STATE(119), 6, + STATE(145), 6, sym_or_expression, sym_and_expression, sym_not_expression, sym_comparison, sym_field_access, sym_primary_expression, - [2411] = 10, - ACTIONS(186), 1, + [2441] = 10, + ACTIONS(197), 1, sym_identifier, - ACTIONS(246), 1, + ACTIONS(265), 1, anon_sym_not, STATE(8), 1, sym_path_segments, - STATE(127), 1, + STATE(138), 1, sym_expression, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(88), 2, + ACTIONS(140), 2, anon_sym_true, anon_sym_false, - ACTIONS(242), 2, + ACTIONS(261), 2, sym_float, sym_string, - STATE(110), 2, + STATE(143), 2, sym_path, sym_boolean, - ACTIONS(240), 3, + ACTIONS(259), 3, sym_integer, anon_sym_self, anon_sym_other, - STATE(119), 6, + STATE(145), 6, sym_or_expression, sym_and_expression, sym_not_expression, sym_comparison, sym_field_access, sym_primary_expression, - [2453] = 10, - ACTIONS(186), 1, + [2483] = 10, + ACTIONS(197), 1, sym_identifier, - ACTIONS(246), 1, + ACTIONS(265), 1, anon_sym_not, STATE(8), 1, sym_path_segments, - STATE(126), 1, + STATE(133), 1, sym_expression, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(88), 2, + ACTIONS(140), 2, anon_sym_true, anon_sym_false, - ACTIONS(242), 2, + ACTIONS(261), 2, sym_float, sym_string, - STATE(110), 2, + STATE(143), 2, sym_path, sym_boolean, - ACTIONS(240), 3, + ACTIONS(259), 3, sym_integer, anon_sym_self, anon_sym_other, - STATE(119), 6, + STATE(145), 6, sym_or_expression, sym_and_expression, sym_not_expression, sym_comparison, sym_field_access, sym_primary_expression, - [2495] = 10, - ACTIONS(186), 1, + [2525] = 10, + ACTIONS(197), 1, sym_identifier, - ACTIONS(246), 1, + ACTIONS(265), 1, anon_sym_not, STATE(8), 1, sym_path_segments, @@ -4958,99 +5380,142 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(88), 2, + ACTIONS(140), 2, anon_sym_true, anon_sym_false, - ACTIONS(242), 2, + ACTIONS(261), 2, sym_float, sym_string, - STATE(110), 2, + STATE(143), 2, sym_path, sym_boolean, - ACTIONS(240), 3, + ACTIONS(259), 3, sym_integer, anon_sym_self, anon_sym_other, - STATE(119), 6, + STATE(145), 6, sym_or_expression, sym_and_expression, sym_not_expression, sym_comparison, sym_field_access, sym_primary_expression, - [2537] = 10, - ACTIONS(186), 1, + [2567] = 10, + ACTIONS(197), 1, sym_identifier, - ACTIONS(246), 1, + ACTIONS(265), 1, anon_sym_not, STATE(8), 1, sym_path_segments, - STATE(111), 1, + STATE(135), 1, sym_expression, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(88), 2, + ACTIONS(140), 2, anon_sym_true, anon_sym_false, - ACTIONS(242), 2, + ACTIONS(261), 2, sym_float, sym_string, - STATE(110), 2, + STATE(143), 2, sym_path, sym_boolean, - ACTIONS(240), 3, + ACTIONS(259), 3, sym_integer, anon_sym_self, anon_sym_other, - STATE(119), 6, + STATE(145), 6, sym_or_expression, sym_and_expression, sym_not_expression, sym_comparison, sym_field_access, sym_primary_expression, - [2579] = 10, - ACTIONS(186), 1, + [2609] = 10, + ACTIONS(197), 1, sym_identifier, - ACTIONS(246), 1, + ACTIONS(265), 1, anon_sym_not, STATE(8), 1, sym_path_segments, - STATE(129), 1, + STATE(149), 1, sym_expression, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(88), 2, + ACTIONS(140), 2, anon_sym_true, anon_sym_false, - ACTIONS(242), 2, + ACTIONS(261), 2, sym_float, sym_string, - STATE(110), 2, + STATE(143), 2, sym_path, sym_boolean, - ACTIONS(240), 3, + ACTIONS(259), 3, sym_integer, anon_sym_self, anon_sym_other, - STATE(119), 6, + STATE(145), 6, sym_or_expression, sym_and_expression, sym_not_expression, sym_comparison, sym_field_access, sym_primary_expression, - [2621] = 4, - ACTIONS(254), 1, + [2651] = 3, + ACTIONS(269), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(267), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [2675] = 4, + ACTIONS(273), 1, + anon_sym_LBRACE, + ACTIONS(275), 1, anon_sym_RBRACE, - ACTIONS(256), 1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(271), 13, + anon_sym_include, + anon_sym_choose, + anon_sym_then, + anon_sym_if, + anon_sym_when, + anon_sym_repeat, + anon_sym_invert, + anon_sym_retry, + anon_sym_timeout, + anon_sym_cooldown, + anon_sym_succeed_always, + anon_sym_fail_always, + sym_identifier, + [2701] = 4, + ACTIONS(279), 1, + anon_sym_RBRACE, + ACTIONS(281), 1, anon_sym_LPAREN, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(252), 13, + ACTIONS(277), 13, anon_sym_include, anon_sym_choose, anon_sym_then, @@ -5064,15 +5529,853 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, sym_identifier, - [2647] = 4, - ACTIONS(260), 1, - anon_sym_LBRACE, - ACTIONS(262), 1, + [2727] = 3, + ACTIONS(285), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(283), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [2751] = 3, + ACTIONS(289), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(287), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [2775] = 3, + ACTIONS(293), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(291), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [2799] = 3, + ACTIONS(297), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(295), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [2823] = 3, + ACTIONS(301), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(299), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [2847] = 3, + ACTIONS(305), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(303), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [2871] = 3, + ACTIONS(309), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(307), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [2895] = 3, + ACTIONS(313), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(311), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [2919] = 3, + ACTIONS(317), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(315), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [2943] = 3, + ACTIONS(321), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(319), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [2967] = 3, + ACTIONS(325), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(323), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [2991] = 3, + ACTIONS(329), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(327), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3015] = 3, + ACTIONS(333), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(331), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3039] = 3, + ACTIONS(337), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(335), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3063] = 3, + ACTIONS(341), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(339), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3087] = 3, + ACTIONS(345), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(343), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3111] = 3, + ACTIONS(349), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(347), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3135] = 3, + ACTIONS(353), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(351), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3159] = 3, + ACTIONS(357), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(355), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3183] = 3, + ACTIONS(361), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(359), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3207] = 3, + ACTIONS(365), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(363), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3231] = 3, + ACTIONS(369), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(367), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3255] = 3, + ACTIONS(373), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(371), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3279] = 3, + ACTIONS(377), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(375), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3303] = 3, + ACTIONS(381), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(379), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3327] = 3, + ACTIONS(385), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(383), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3351] = 3, + ACTIONS(389), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(387), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3375] = 3, + ACTIONS(393), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(391), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3399] = 3, + ACTIONS(397), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(395), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3423] = 3, + ACTIONS(401), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(399), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3447] = 3, + ACTIONS(405), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(403), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3471] = 3, + ACTIONS(409), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(407), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3495] = 3, + ACTIONS(413), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(411), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3519] = 3, + ACTIONS(417), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(415), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3543] = 3, + ACTIONS(421), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(419), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3567] = 3, + ACTIONS(425), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(423), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3591] = 3, + ACTIONS(429), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(427), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3615] = 3, + ACTIONS(433), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(431), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3639] = 3, + ACTIONS(437), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(435), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3663] = 3, + ACTIONS(441), 1, + anon_sym_concept, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(439), 14, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_character, + anon_sym_template, + anon_sym_life_arc, + anon_sym_schedule, + anon_sym_behavior, + anon_sym_institution, + anon_sym_relationship, + anon_sym_location, + anon_sym_species, + anon_sym_enum, + anon_sym_sub_concept, + anon_sym_concept_comparison, + [3687] = 3, + ACTIONS(275), 1, anon_sym_RBRACE, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(258), 13, + ACTIONS(271), 13, anon_sym_include, anon_sym_choose, anon_sym_then, @@ -5086,13 +6389,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, sym_identifier, - [2673] = 3, - ACTIONS(266), 1, + [3710] = 3, + ACTIONS(445), 1, anon_sym_RBRACE, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(264), 13, + ACTIONS(443), 13, anon_sym_include, anon_sym_choose, anon_sym_then, @@ -5106,13 +6409,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, sym_identifier, - [2696] = 3, - ACTIONS(262), 1, + [3733] = 3, + ACTIONS(449), 1, anon_sym_RBRACE, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(258), 13, + ACTIONS(447), 13, anon_sym_include, anon_sym_choose, anon_sym_then, @@ -5126,13 +6429,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, sym_identifier, - [2719] = 3, - ACTIONS(270), 1, + [3756] = 3, + ACTIONS(453), 1, anon_sym_RBRACE, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(268), 13, + ACTIONS(451), 13, anon_sym_include, anon_sym_choose, anon_sym_then, @@ -5146,13 +6449,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, sym_identifier, - [2742] = 3, - ACTIONS(274), 1, + [3779] = 3, + ACTIONS(457), 1, anon_sym_RBRACE, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(272), 13, + ACTIONS(455), 13, anon_sym_include, anon_sym_choose, anon_sym_then, @@ -5166,13 +6469,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, sym_identifier, - [2765] = 3, - ACTIONS(278), 1, + [3802] = 3, + ACTIONS(461), 1, anon_sym_RBRACE, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(276), 13, + ACTIONS(459), 13, anon_sym_include, anon_sym_choose, anon_sym_then, @@ -5186,13 +6489,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, sym_identifier, - [2788] = 3, - ACTIONS(282), 1, + [3825] = 3, + ACTIONS(465), 1, anon_sym_RBRACE, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(280), 13, + ACTIONS(463), 13, anon_sym_include, anon_sym_choose, anon_sym_then, @@ -5206,13 +6509,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, sym_identifier, - [2811] = 3, - ACTIONS(286), 1, + [3848] = 3, + ACTIONS(469), 1, anon_sym_RBRACE, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(284), 13, + ACTIONS(467), 13, anon_sym_include, anon_sym_choose, anon_sym_then, @@ -5226,13 +6529,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, sym_identifier, - [2834] = 3, - ACTIONS(290), 1, + [3871] = 3, + ACTIONS(473), 1, anon_sym_RBRACE, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(288), 13, + ACTIONS(471), 13, anon_sym_include, anon_sym_choose, anon_sym_then, @@ -5246,13 +6549,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, sym_identifier, - [2857] = 3, - ACTIONS(294), 1, + [3894] = 3, + ACTIONS(477), 1, anon_sym_RBRACE, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(292), 13, + ACTIONS(475), 13, anon_sym_include, anon_sym_choose, anon_sym_then, @@ -5266,13 +6569,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, sym_identifier, - [2880] = 3, - ACTIONS(298), 1, + [3917] = 3, + ACTIONS(481), 1, anon_sym_RBRACE, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(296), 13, + ACTIONS(479), 13, anon_sym_include, anon_sym_choose, anon_sym_then, @@ -5286,13 +6589,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, sym_identifier, - [2903] = 3, - ACTIONS(302), 1, + [3940] = 3, + ACTIONS(485), 1, anon_sym_RBRACE, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(300), 13, + ACTIONS(483), 13, anon_sym_include, anon_sym_choose, anon_sym_then, @@ -5306,13 +6609,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, sym_identifier, - [2926] = 3, - ACTIONS(306), 1, + [3963] = 3, + ACTIONS(489), 1, anon_sym_RBRACE, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(304), 13, + ACTIONS(487), 13, anon_sym_include, anon_sym_choose, anon_sym_then, @@ -5326,13 +6629,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, sym_identifier, - [2949] = 3, - ACTIONS(310), 1, + [3986] = 3, + ACTIONS(493), 1, anon_sym_RBRACE, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(308), 13, + ACTIONS(491), 13, anon_sym_include, anon_sym_choose, anon_sym_then, @@ -5346,999 +6649,200 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_succeed_always, anon_sym_fail_always, sym_identifier, - [2972] = 3, - ACTIONS(314), 1, - anon_sym_RBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(312), 13, - anon_sym_include, - anon_sym_choose, - anon_sym_then, - anon_sym_if, - anon_sym_when, - anon_sym_repeat, - anon_sym_invert, - anon_sym_retry, - anon_sym_timeout, - anon_sym_cooldown, - anon_sym_succeed_always, - anon_sym_fail_always, - sym_identifier, - [2995] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(316), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3014] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(318), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3033] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(320), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3052] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(322), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3071] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(324), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3090] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(326), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3109] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(328), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3128] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(330), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3147] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(332), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3166] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(334), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3185] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(336), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3204] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(338), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3223] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(340), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3242] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(342), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3261] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(344), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3280] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(346), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3299] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(348), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3318] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(350), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3337] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(352), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3356] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(354), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3375] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(356), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3394] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(358), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3413] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(360), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3432] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(362), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3451] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(364), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3470] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(366), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3489] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(368), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3508] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(370), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3527] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(372), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3546] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(374), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3565] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(376), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3584] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(378), 12, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_character, - anon_sym_template, - anon_sym_life_arc, - anon_sym_schedule, - anon_sym_behavior, - anon_sym_institution, - anon_sym_relationship, - anon_sym_location, - anon_sym_species, - anon_sym_enum, - [3603] = 10, - ACTIONS(66), 1, + [4009] = 10, + ACTIONS(118), 1, sym_prose_marker, - ACTIONS(380), 1, + ACTIONS(495), 1, sym_identifier, - ACTIONS(382), 1, - anon_sym_RBRACE, - ACTIONS(384), 1, - anon_sym_on, - STATE(52), 1, - sym_prose_block, - STATE(125), 1, - sym_on_enter, - STATE(233), 1, - sym_dotted_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(128), 2, - sym_field, - aux_sym_template_repeat2, - STATE(154), 2, - sym_transition, - aux_sym_arc_state_repeat1, - [3637] = 10, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(386), 1, - sym_identifier, - ACTIONS(388), 1, + ACTIONS(497), 1, anon_sym_RBRACE, STATE(8), 1, sym_path_segments, - STATE(52), 1, + STATE(50), 1, sym_prose_block, - STATE(185), 1, + STATE(219), 1, sym_path, - STATE(233), 1, + STATE(284), 1, sym_dotted_path, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - STATE(137), 2, - sym_field, - aux_sym_template_repeat2, - STATE(138), 2, + STATE(151), 2, sym_participant, aux_sym_relationship_repeat1, - [3671] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(392), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(390), 8, - anon_sym_DOT, - anon_sym_DASH_GT, - anon_sym_RPAREN, - anon_sym_or, - anon_sym_and, - anon_sym_is, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [3690] = 5, - ACTIONS(394), 1, - anon_sym_DOT, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(400), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(398), 3, - anon_sym_is, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(396), 4, - anon_sym_DASH_GT, - anon_sym_RPAREN, - anon_sym_or, - anon_sym_and, - [3713] = 9, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(402), 1, - anon_sym_RBRACE, - ACTIONS(404), 1, - anon_sym_include, - STATE(52), 1, - sym_prose_block, - STATE(233), 1, - sym_dotted_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(143), 2, - sym_field, - aux_sym_template_repeat2, - STATE(146), 2, - sym_include, - aux_sym_template_repeat1, - [3744] = 9, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(406), 1, - anon_sym_RBRACE, - ACTIONS(408), 1, - anon_sym_on, - STATE(52), 1, - sym_prose_block, - STATE(233), 1, - sym_dotted_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(46), 2, - sym_field, - aux_sym_template_repeat2, STATE(155), 2, + sym_field, + aux_sym_template_repeat2, + [4043] = 10, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(499), 1, + sym_identifier, + ACTIONS(501), 1, + anon_sym_RBRACE, + ACTIONS(503), 1, + anon_sym_on, + STATE(50), 1, + sym_prose_block, + STATE(129), 1, + sym_on_enter, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(125), 2, + sym_field, + aux_sym_template_repeat2, + STATE(181), 2, sym_transition, aux_sym_arc_state_repeat1, - [3775] = 10, - ACTIONS(410), 1, - sym_identifier, - ACTIONS(413), 1, - anon_sym_RBRACE, - ACTIONS(415), 1, - anon_sym_remove, - ACTIONS(418), 1, - anon_sym_append, - ACTIONS(421), 1, + [4077] = 9, + ACTIONS(118), 1, sym_prose_marker, - STATE(52), 1, - sym_prose_block, - STATE(151), 1, - sym_field, - STATE(233), 1, - sym_dotted_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(114), 2, - sym_override_op, - aux_sym_override_repeat1, - [3808] = 9, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(380), 1, + ACTIONS(499), 1, sym_identifier, - ACTIONS(404), 1, - anon_sym_include, - ACTIONS(424), 1, + ACTIONS(505), 1, anon_sym_RBRACE, - STATE(52), 1, - sym_prose_block, - STATE(233), 1, - sym_dotted_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(141), 2, - sym_field, - aux_sym_template_repeat2, - STATE(146), 2, - sym_include, - aux_sym_template_repeat1, - [3839] = 10, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(426), 1, - anon_sym_RBRACE, - ACTIONS(428), 1, - anon_sym_remove, - ACTIONS(430), 1, - anon_sym_append, - STATE(52), 1, - sym_prose_block, - STATE(151), 1, - sym_field, - STATE(233), 1, - sym_dotted_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(114), 2, - sym_override_op, - aux_sym_override_repeat1, - [3872] = 9, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(404), 1, - anon_sym_include, - ACTIONS(432), 1, - anon_sym_RBRACE, - STATE(52), 1, - sym_prose_block, - STATE(233), 1, - sym_dotted_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(115), 2, - sym_include, - aux_sym_template_repeat1, - STATE(144), 2, - sym_field, - aux_sym_template_repeat2, - [3903] = 9, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(404), 1, - anon_sym_include, - ACTIONS(424), 1, - anon_sym_RBRACE, - STATE(52), 1, - sym_prose_block, - STATE(233), 1, - sym_dotted_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(112), 2, - sym_include, - aux_sym_template_repeat1, - STATE(141), 2, - sym_field, - aux_sym_template_repeat2, - [3934] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(436), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(434), 8, - anon_sym_DOT, - anon_sym_DASH_GT, - anon_sym_RPAREN, - anon_sym_or, - anon_sym_and, - anon_sym_is, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [3953] = 9, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(438), 1, - anon_sym_RBRACE, - ACTIONS(440), 1, + ACTIONS(507), 1, anon_sym_state, - STATE(52), 1, + STATE(50), 1, sym_prose_block, - STATE(233), 1, + STATE(284), 1, sym_dotted_path, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - STATE(46), 2, + STATE(141), 2, sym_field, aux_sym_template_repeat2, - STATE(165), 2, + STATE(174), 2, sym_arc_state, aux_sym_life_arc_repeat1, - [3984] = 9, - ACTIONS(66), 1, + [4108] = 10, + ACTIONS(118), 1, sym_prose_marker, - ACTIONS(442), 1, + ACTIONS(499), 1, sym_identifier, - ACTIONS(444), 1, + ACTIONS(509), 1, anon_sym_RBRACE, - ACTIONS(446), 1, - sym_time, - STATE(52), 1, + ACTIONS(511), 1, + anon_sym_remove, + ACTIONS(513), 1, + anon_sym_append, + STATE(50), 1, sym_prose_block, - STATE(233), 1, + STATE(168), 1, + sym_field, + STATE(284), 1, sym_dotted_path, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - STATE(46), 2, - sym_field, - aux_sym_template_repeat2, - STATE(166), 2, - sym_schedule_block, - aux_sym_schedule_repeat1, - [4015] = 9, - ACTIONS(66), 1, + STATE(123), 2, + sym_override_op, + aux_sym_override_repeat1, + [4141] = 9, + ACTIONS(118), 1, sym_prose_marker, - ACTIONS(380), 1, + ACTIONS(499), 1, sym_identifier, - ACTIONS(440), 1, - anon_sym_state, - ACTIONS(448), 1, + ACTIONS(515), 1, anon_sym_RBRACE, - STATE(52), 1, + ACTIONS(517), 1, + anon_sym_include, + STATE(50), 1, sym_prose_block, - STATE(233), 1, + STATE(284), 1, sym_dotted_path, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - STATE(120), 2, + STATE(126), 2, + sym_include, + aux_sym_template_repeat1, + STATE(160), 2, sym_field, aux_sym_template_repeat2, + [4172] = 9, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(499), 1, + sym_identifier, + ACTIONS(517), 1, + anon_sym_include, + ACTIONS(519), 1, + anon_sym_RBRACE, + STATE(50), 1, + sym_prose_block, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(132), 2, + sym_include, + aux_sym_template_repeat1, + STATE(159), 2, + sym_field, + aux_sym_template_repeat2, + [4203] = 10, + ACTIONS(521), 1, + sym_identifier, + ACTIONS(524), 1, + anon_sym_RBRACE, + ACTIONS(526), 1, + anon_sym_remove, + ACTIONS(529), 1, + anon_sym_append, + ACTIONS(532), 1, + sym_prose_marker, + STATE(50), 1, + sym_prose_block, + STATE(168), 1, + sym_field, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(123), 2, + sym_override_op, + aux_sym_override_repeat1, + [4236] = 9, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(499), 1, + sym_identifier, + ACTIONS(517), 1, + anon_sym_include, + ACTIONS(535), 1, + anon_sym_RBRACE, + STATE(50), 1, + sym_prose_block, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, STATE(161), 2, - sym_arc_state, - aux_sym_life_arc_repeat1, - [4046] = 9, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(442), 1, - sym_identifier, - ACTIONS(446), 1, - sym_time, - ACTIONS(450), 1, - anon_sym_RBRACE, - STATE(52), 1, - sym_prose_block, - STATE(233), 1, - sym_dotted_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(121), 2, sym_field, aux_sym_template_repeat2, - STATE(153), 2, - sym_schedule_block, - aux_sym_schedule_repeat1, - [4077] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(454), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(452), 8, - anon_sym_DOT, - anon_sym_DASH_GT, - anon_sym_RPAREN, - anon_sym_or, - anon_sym_and, - anon_sym_is, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [4096] = 9, - ACTIONS(66), 1, + STATE(162), 2, + sym_include, + aux_sym_template_repeat1, + [4267] = 9, + ACTIONS(118), 1, sym_prose_marker, - ACTIONS(380), 1, + ACTIONS(499), 1, sym_identifier, - ACTIONS(408), 1, - anon_sym_on, - ACTIONS(456), 1, + ACTIONS(537), 1, anon_sym_RBRACE, - STATE(52), 1, - sym_prose_block, - STATE(233), 1, - sym_dotted_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(113), 2, - sym_field, - aux_sym_template_repeat2, - STATE(158), 2, - sym_transition, - aux_sym_arc_state_repeat1, - [4127] = 6, - ACTIONS(394), 1, - anon_sym_DOT, - ACTIONS(460), 1, - anon_sym_and, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(400), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(398), 3, - anon_sym_is, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(458), 3, - anon_sym_DASH_GT, - anon_sym_RPAREN, - anon_sym_or, - [4152] = 5, - ACTIONS(394), 1, - anon_sym_DOT, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(400), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(398), 3, - anon_sym_is, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(462), 4, - anon_sym_DASH_GT, - anon_sym_RPAREN, - anon_sym_or, - anon_sym_and, - [4175] = 9, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(408), 1, + ACTIONS(539), 1, anon_sym_on, - ACTIONS(456), 1, - anon_sym_RBRACE, - STATE(52), 1, + STATE(50), 1, sym_prose_block, - STATE(233), 1, + STATE(284), 1, sym_dotted_path, ACTIONS(3), 2, sym_line_comment, @@ -6346,83 +6850,65 @@ static const uint16_t ts_small_parse_table[] = { STATE(46), 2, sym_field, aux_sym_template_repeat2, - STATE(158), 2, + STATE(178), 2, sym_transition, aux_sym_arc_state_repeat1, - [4206] = 4, - ACTIONS(394), 1, - anon_sym_DOT, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(466), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(464), 7, - anon_sym_DASH_GT, - anon_sym_RPAREN, - anon_sym_or, - anon_sym_and, - anon_sym_is, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [4227] = 10, - ACTIONS(66), 1, + [4298] = 9, + ACTIONS(118), 1, sym_prose_marker, - ACTIONS(380), 1, + ACTIONS(499), 1, sym_identifier, - ACTIONS(428), 1, - anon_sym_remove, - ACTIONS(430), 1, - anon_sym_append, - ACTIONS(468), 1, - anon_sym_RBRACE, - STATE(52), 1, - sym_prose_block, - STATE(151), 1, - sym_field, - STATE(233), 1, - sym_dotted_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(116), 2, - sym_override_op, - aux_sym_override_repeat1, - [4260] = 9, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(404), 1, + ACTIONS(517), 1, anon_sym_include, - ACTIONS(470), 1, + ACTIONS(541), 1, anon_sym_RBRACE, - STATE(52), 1, + STATE(50), 1, sym_prose_block, - STATE(233), 1, + STATE(284), 1, sym_dotted_path, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - STATE(139), 2, + STATE(153), 2, sym_field, aux_sym_template_repeat2, - STATE(146), 2, + STATE(162), 2, sym_include, aux_sym_template_repeat1, - [4291] = 9, - ACTIONS(66), 1, + [4329] = 9, + ACTIONS(118), 1, sym_prose_marker, - ACTIONS(380), 1, + ACTIONS(499), 1, sym_identifier, - ACTIONS(404), 1, - anon_sym_include, - ACTIONS(472), 1, + ACTIONS(539), 1, + anon_sym_on, + ACTIONS(543), 1, anon_sym_RBRACE, - STATE(52), 1, + STATE(50), 1, sym_prose_block, - STATE(233), 1, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(46), 2, + sym_field, + aux_sym_template_repeat2, + STATE(187), 2, + sym_transition, + aux_sym_arc_state_repeat1, + [4360] = 9, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(499), 1, + sym_identifier, + ACTIONS(517), 1, + anon_sym_include, + ACTIONS(545), 1, + anon_sym_RBRACE, + STATE(50), 1, + sym_prose_block, + STATE(284), 1, sym_dotted_path, ACTIONS(3), 2, sym_line_comment, @@ -6430,1355 +6916,2255 @@ static const uint16_t ts_small_parse_table[] = { STATE(131), 2, sym_include, aux_sym_template_repeat1, - STATE(140), 2, + STATE(157), 2, sym_field, aux_sym_template_repeat2, - [4322] = 7, - ACTIONS(38), 1, - anon_sym_COLON_COLON, - ACTIONS(474), 1, - anon_sym_COLON, - ACTIONS(476), 1, + [4391] = 9, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(499), 1, + sym_identifier, + ACTIONS(537), 1, + anon_sym_RBRACE, + ACTIONS(539), 1, + anon_sym_on, + STATE(50), 1, + sym_prose_block, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(127), 2, + sym_field, + aux_sym_template_repeat2, + STATE(178), 2, + sym_transition, + aux_sym_arc_state_repeat1, + [4422] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(549), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(547), 8, anon_sym_DOT, - STATE(3), 1, + anon_sym_DASH_GT, + anon_sym_RPAREN, + anon_sym_is, + anon_sym_or, + anon_sym_and, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [4441] = 9, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(499), 1, + sym_identifier, + ACTIONS(517), 1, + anon_sym_include, + ACTIONS(551), 1, + anon_sym_RBRACE, + STATE(50), 1, + sym_prose_block, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(158), 2, + sym_field, + aux_sym_template_repeat2, + STATE(162), 2, + sym_include, + aux_sym_template_repeat1, + [4472] = 9, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(499), 1, + sym_identifier, + ACTIONS(517), 1, + anon_sym_include, + ACTIONS(545), 1, + anon_sym_RBRACE, + STATE(50), 1, + sym_prose_block, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(157), 2, + sym_field, + aux_sym_template_repeat2, + STATE(162), 2, + sym_include, + aux_sym_template_repeat1, + [4503] = 5, + ACTIONS(553), 1, + anon_sym_DOT, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(559), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(557), 3, + anon_sym_is, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(555), 4, + anon_sym_DASH_GT, + anon_sym_RPAREN, + anon_sym_or, + anon_sym_and, + [4526] = 10, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(499), 1, + sym_identifier, + ACTIONS(511), 1, + anon_sym_remove, + ACTIONS(513), 1, + anon_sym_append, + ACTIONS(561), 1, + anon_sym_RBRACE, + STATE(50), 1, + sym_prose_block, + STATE(168), 1, + sym_field, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(120), 2, + sym_override_op, + aux_sym_override_repeat1, + [4559] = 5, + ACTIONS(553), 1, + anon_sym_DOT, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(559), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(557), 3, + anon_sym_is, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(563), 4, + anon_sym_DASH_GT, + anon_sym_RPAREN, + anon_sym_or, + anon_sym_and, + [4582] = 6, + ACTIONS(553), 1, + anon_sym_DOT, + ACTIONS(567), 1, + anon_sym_and, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(559), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(557), 3, + anon_sym_is, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(565), 3, + anon_sym_DASH_GT, + anon_sym_RPAREN, + anon_sym_or, + [4607] = 9, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(499), 1, + sym_identifier, + ACTIONS(517), 1, + anon_sym_include, + ACTIONS(569), 1, + anon_sym_RBRACE, + STATE(50), 1, + sym_prose_block, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(144), 2, + sym_include, + aux_sym_template_repeat1, + STATE(152), 2, + sym_field, + aux_sym_template_repeat2, + [4638] = 4, + ACTIONS(553), 1, + anon_sym_DOT, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(573), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(571), 7, + anon_sym_DASH_GT, + anon_sym_RPAREN, + anon_sym_is, + anon_sym_or, + anon_sym_and, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [4659] = 9, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(575), 1, + sym_identifier, + ACTIONS(577), 1, + anon_sym_RBRACE, + ACTIONS(579), 1, + sym_time, + STATE(50), 1, + sym_prose_block, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(46), 2, + sym_field, + aux_sym_template_repeat2, + STATE(185), 2, + sym_schedule_block, + aux_sym_schedule_repeat1, + [4690] = 9, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(575), 1, + sym_identifier, + ACTIONS(579), 1, + sym_time, + ACTIONS(581), 1, + anon_sym_RBRACE, + STATE(50), 1, + sym_prose_block, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(139), 2, + sym_field, + aux_sym_template_repeat2, + STATE(175), 2, + sym_schedule_block, + aux_sym_schedule_repeat1, + [4721] = 9, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(499), 1, + sym_identifier, + ACTIONS(507), 1, + anon_sym_state, + ACTIONS(583), 1, + anon_sym_RBRACE, + STATE(50), 1, + sym_prose_block, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(46), 2, + sym_field, + aux_sym_template_repeat2, + STATE(191), 2, + sym_arc_state, + aux_sym_life_arc_repeat1, + [4752] = 9, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(499), 1, + sym_identifier, + ACTIONS(517), 1, + anon_sym_include, + ACTIONS(585), 1, + anon_sym_RBRACE, + STATE(50), 1, + sym_prose_block, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(124), 2, + sym_include, + aux_sym_template_repeat1, + STATE(156), 2, + sym_field, + aux_sym_template_repeat2, + [4783] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(589), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(587), 8, + anon_sym_DOT, + anon_sym_DASH_GT, + anon_sym_RPAREN, + anon_sym_is, + anon_sym_or, + anon_sym_and, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [4802] = 9, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(499), 1, + sym_identifier, + ACTIONS(517), 1, + anon_sym_include, + ACTIONS(585), 1, + anon_sym_RBRACE, + STATE(50), 1, + sym_prose_block, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(156), 2, + sym_field, + aux_sym_template_repeat2, + STATE(162), 2, + sym_include, + aux_sym_template_repeat1, + [4833] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(593), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(591), 8, + anon_sym_DOT, + anon_sym_DASH_GT, + anon_sym_RPAREN, + anon_sym_is, + anon_sym_or, + anon_sym_and, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [4852] = 7, + ACTIONS(553), 1, + anon_sym_DOT, + ACTIONS(567), 1, + anon_sym_and, + ACTIONS(595), 1, + anon_sym_RPAREN, + ACTIONS(597), 1, + anon_sym_or, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(559), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(557), 3, + anon_sym_is, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [4878] = 7, + ACTIONS(553), 1, + anon_sym_DOT, + ACTIONS(567), 1, + anon_sym_and, + ACTIONS(597), 1, + anon_sym_or, + ACTIONS(599), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(559), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(557), 3, + anon_sym_is, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [4904] = 7, + ACTIONS(52), 1, + anon_sym_COLON_COLON, + ACTIONS(601), 1, + anon_sym_COLON, + ACTIONS(603), 1, + anon_sym_DOT, + STATE(5), 1, aux_sym_path_segments_repeat1, - STATE(190), 1, + STATE(179), 1, aux_sym_dotted_path_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(44), 4, + ACTIONS(58), 4, anon_sym_LBRACE, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_as, - [4348] = 7, - ACTIONS(394), 1, + [4930] = 7, + ACTIONS(553), 1, anon_sym_DOT, - ACTIONS(460), 1, + ACTIONS(567), 1, anon_sym_and, - ACTIONS(478), 1, - anon_sym_RPAREN, - ACTIONS(480), 1, + ACTIONS(597), 1, anon_sym_or, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(400), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(398), 3, - anon_sym_is, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [4374] = 7, - ACTIONS(394), 1, - anon_sym_DOT, - ACTIONS(460), 1, - anon_sym_and, - ACTIONS(480), 1, - anon_sym_or, - ACTIONS(482), 1, + ACTIONS(605), 1, anon_sym_DASH_GT, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(400), 2, + ACTIONS(559), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(398), 3, + ACTIONS(557), 3, anon_sym_is, anon_sym_GT_EQ, anon_sym_LT_EQ, - [4400] = 7, - ACTIONS(394), 1, - anon_sym_DOT, - ACTIONS(460), 1, - anon_sym_and, - ACTIONS(480), 1, - anon_sym_or, - ACTIONS(484), 1, - anon_sym_RPAREN, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(400), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(398), 3, - anon_sym_is, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [4426] = 7, - ACTIONS(66), 1, + [4956] = 7, + ACTIONS(118), 1, sym_prose_marker, - ACTIONS(442), 1, - sym_identifier, - ACTIONS(486), 1, - anon_sym_RBRACE, - STATE(52), 1, - sym_prose_block, - STATE(233), 1, - sym_dotted_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(46), 2, - sym_field, - aux_sym_template_repeat2, - [4450] = 6, - ACTIONS(488), 1, - sym_identifier, - STATE(8), 1, - sym_path_segments, - STATE(185), 1, - sym_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(491), 2, - anon_sym_RBRACE, - sym_prose_marker, - STATE(138), 2, - sym_participant, - aux_sym_relationship_repeat1, - [4472] = 7, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(442), 1, - sym_identifier, - ACTIONS(493), 1, - anon_sym_RBRACE, - STATE(52), 1, - sym_prose_block, - STATE(233), 1, - sym_dotted_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(46), 2, - sym_field, - aux_sym_template_repeat2, - [4496] = 7, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(442), 1, - sym_identifier, - ACTIONS(470), 1, - anon_sym_RBRACE, - STATE(52), 1, - sym_prose_block, - STATE(233), 1, - sym_dotted_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(46), 2, - sym_field, - aux_sym_template_repeat2, - [4520] = 7, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(402), 1, - anon_sym_RBRACE, - ACTIONS(442), 1, - sym_identifier, - STATE(52), 1, - sym_prose_block, - STATE(233), 1, - sym_dotted_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(46), 2, - sym_field, - aux_sym_template_repeat2, - [4544] = 7, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(442), 1, - sym_identifier, - ACTIONS(495), 1, - anon_sym_RBRACE, - STATE(52), 1, - sym_prose_block, - STATE(233), 1, - sym_dotted_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(145), 2, - sym_field, - aux_sym_template_repeat2, - [4568] = 7, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(442), 1, - sym_identifier, - ACTIONS(497), 1, - anon_sym_RBRACE, - STATE(52), 1, - sym_prose_block, - STATE(233), 1, - sym_dotted_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(46), 2, - sym_field, - aux_sym_template_repeat2, - [4592] = 7, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(424), 1, - anon_sym_RBRACE, - ACTIONS(442), 1, - sym_identifier, - STATE(52), 1, - sym_prose_block, - STATE(233), 1, - sym_dotted_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(46), 2, - sym_field, - aux_sym_template_repeat2, - [4616] = 7, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(442), 1, - sym_identifier, - ACTIONS(499), 1, - anon_sym_RBRACE, - STATE(52), 1, - sym_prose_block, - STATE(233), 1, - sym_dotted_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(46), 2, - sym_field, - aux_sym_template_repeat2, - [4640] = 5, - ACTIONS(501), 1, - sym_identifier, - ACTIONS(505), 1, - anon_sym_include, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(503), 2, - anon_sym_RBRACE, - sym_prose_marker, - STATE(146), 2, - sym_include, - aux_sym_template_repeat1, - [4659] = 5, - ACTIONS(508), 1, - sym_identifier, - STATE(8), 1, - sym_path_segments, - STATE(185), 1, - sym_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(109), 2, - sym_participant, - aux_sym_relationship_repeat1, - [4677] = 6, - ACTIONS(254), 1, - anon_sym_RBRACE, - ACTIONS(256), 1, - anon_sym_LPAREN, - ACTIONS(476), 1, - anon_sym_DOT, - ACTIONS(510), 1, - anon_sym_COLON, - STATE(190), 1, - aux_sym_dotted_path_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [4697] = 6, - ACTIONS(80), 1, - anon_sym_LBRACE, - ACTIONS(512), 1, - anon_sym_COLON, - ACTIONS(514), 1, - anon_sym_from, - STATE(102), 1, - sym_block, - STATE(223), 1, - sym_template_clause, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [4717] = 6, - ACTIONS(66), 1, - sym_prose_marker, - ACTIONS(442), 1, - sym_identifier, - STATE(52), 1, - sym_prose_block, - STATE(152), 1, - sym_field, - STATE(233), 1, - sym_dotted_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [4737] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(518), 2, - anon_sym_RBRACE, - sym_prose_marker, - ACTIONS(516), 3, - anon_sym_remove, - anon_sym_append, - sym_identifier, - [4751] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(522), 2, - anon_sym_RBRACE, - sym_prose_marker, - ACTIONS(520), 3, - anon_sym_remove, - anon_sym_append, - sym_identifier, - [4765] = 4, - ACTIONS(444), 1, - anon_sym_RBRACE, - ACTIONS(446), 1, - sym_time, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(164), 2, - sym_schedule_block, - aux_sym_schedule_repeat1, - [4780] = 4, - ACTIONS(456), 1, - anon_sym_RBRACE, - ACTIONS(524), 1, - anon_sym_on, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(157), 2, - sym_transition, - aux_sym_arc_state_repeat1, - [4795] = 4, - ACTIONS(524), 1, - anon_sym_on, - ACTIONS(526), 1, - anon_sym_RBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(157), 2, - sym_transition, - aux_sym_arc_state_repeat1, - [4810] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(528), 2, - anon_sym_on, - sym_identifier, - ACTIONS(530), 2, - anon_sym_RBRACE, - sym_prose_marker, - [4823] = 4, - ACTIONS(532), 1, - anon_sym_RBRACE, - ACTIONS(534), 1, - anon_sym_on, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(157), 2, - sym_transition, - aux_sym_arc_state_repeat1, - [4838] = 4, - ACTIONS(406), 1, - anon_sym_RBRACE, - ACTIONS(524), 1, - anon_sym_on, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(157), 2, - sym_transition, - aux_sym_arc_state_repeat1, - [4853] = 5, - ACTIONS(80), 1, - anon_sym_LBRACE, - ACTIONS(514), 1, - anon_sym_from, - STATE(101), 1, - sym_block, - STATE(207), 1, - sym_template_clause, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [4870] = 4, - ACTIONS(539), 1, - anon_sym_COMMA, - STATE(160), 1, - aux_sym_use_declaration_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(537), 2, - anon_sym_LBRACE, - anon_sym_RBRACE, - [4885] = 4, - ACTIONS(438), 1, - anon_sym_RBRACE, - ACTIONS(542), 1, - anon_sym_state, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(163), 2, - sym_arc_state, - aux_sym_life_arc_repeat1, - [4900] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(544), 2, - anon_sym_include, - sym_identifier, - ACTIONS(546), 2, - anon_sym_RBRACE, - sym_prose_marker, - [4913] = 4, - ACTIONS(548), 1, - anon_sym_RBRACE, - ACTIONS(550), 1, - anon_sym_state, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(163), 2, - sym_arc_state, - aux_sym_life_arc_repeat1, - [4928] = 4, - ACTIONS(553), 1, - anon_sym_RBRACE, - ACTIONS(555), 1, - sym_time, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(164), 2, - sym_schedule_block, - aux_sym_schedule_repeat1, - [4943] = 4, - ACTIONS(542), 1, - anon_sym_state, - ACTIONS(558), 1, - anon_sym_RBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(163), 2, - sym_arc_state, - aux_sym_life_arc_repeat1, - [4958] = 4, - ACTIONS(446), 1, - sym_time, - ACTIONS(560), 1, - anon_sym_RBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - STATE(164), 2, - sym_schedule_block, - aux_sym_schedule_repeat1, - [4973] = 4, - ACTIONS(508), 1, - sym_identifier, - STATE(8), 1, - sym_path_segments, - STATE(65), 1, - sym_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [4987] = 4, - ACTIONS(562), 1, - anon_sym_COMMA, - ACTIONS(564), 1, - anon_sym_RBRACK, - STATE(179), 1, - aux_sym_list_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5001] = 4, - ACTIONS(566), 1, - anon_sym_COMMA, - ACTIONS(568), 1, - anon_sym_RBRACE, - STATE(160), 1, - aux_sym_use_declaration_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5015] = 4, - ACTIONS(570), 1, - anon_sym_COLON, - ACTIONS(572), 1, - anon_sym_DOT, - STATE(170), 1, - aux_sym_dotted_path_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5029] = 4, - ACTIONS(508), 1, - sym_identifier, - STATE(8), 1, - sym_path_segments, - STATE(267), 1, - sym_path, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5043] = 4, - ACTIONS(44), 1, - anon_sym_SEMI, ACTIONS(575), 1, - anon_sym_COLON_COLON, - STATE(177), 1, - aux_sym_path_segments_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5057] = 4, - ACTIONS(578), 1, - anon_sym_LBRACE, - ACTIONS(580), 1, - anon_sym_COMMA, - STATE(187), 1, - aux_sym_use_declaration_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5071] = 4, - ACTIONS(582), 1, - anon_sym_COMMA, - ACTIONS(585), 1, - anon_sym_RBRACK, - STATE(174), 1, - aux_sym_list_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5085] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(587), 3, - anon_sym_RBRACE, - sym_prose_marker, sym_identifier, - [5095] = 4, - ACTIONS(589), 1, - anon_sym_COMMA, - ACTIONS(592), 1, - anon_sym_RPAREN, - STATE(176), 1, - aux_sym_action_node_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5109] = 4, - ACTIONS(40), 1, - anon_sym_SEMI, - ACTIONS(594), 1, - anon_sym_COLON_COLON, - STATE(2), 1, - aux_sym_path_segments_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5123] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(537), 3, - anon_sym_LBRACE, - anon_sym_COMMA, - anon_sym_RBRACE, - [5133] = 4, - ACTIONS(206), 1, - anon_sym_RBRACK, - ACTIONS(597), 1, - anon_sym_COMMA, - STATE(174), 1, - aux_sym_list_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5147] = 4, - ACTIONS(476), 1, - anon_sym_DOT, - ACTIONS(510), 1, - anon_sym_COLON, - STATE(190), 1, - aux_sym_dotted_path_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5161] = 4, - ACTIONS(599), 1, - anon_sym_COMMA, - ACTIONS(601), 1, - anon_sym_RBRACE, - STATE(160), 1, - aux_sym_use_declaration_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5175] = 4, - ACTIONS(135), 1, - anon_sym_RPAREN, - ACTIONS(603), 1, - anon_sym_COMMA, - STATE(176), 1, - aux_sym_action_node_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5189] = 4, - ACTIONS(605), 1, - anon_sym_COMMA, ACTIONS(607), 1, anon_sym_RBRACE, - STATE(181), 1, - aux_sym_use_declaration_repeat1, + STATE(50), 1, + sym_prose_block, + STATE(284), 1, + sym_dotted_path, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [5203] = 4, + STATE(154), 2, + sym_field, + aux_sym_template_repeat2, + [4980] = 6, ACTIONS(609), 1, - anon_sym_COMMA, - ACTIONS(611), 1, - anon_sym_RPAREN, - STATE(182), 1, - aux_sym_action_node_repeat1, + sym_identifier, + STATE(8), 1, + sym_path_segments, + STATE(219), 1, + sym_path, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [5217] = 4, - ACTIONS(80), 1, - anon_sym_LBRACE, - ACTIONS(613), 1, - anon_sym_as, - STATE(175), 1, - sym_block, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5231] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(615), 3, + ACTIONS(612), 2, anon_sym_RBRACE, sym_prose_marker, + STATE(151), 2, + sym_participant, + aux_sym_relationship_repeat1, + [5002] = 7, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(575), 1, sym_identifier, - [5241] = 4, - ACTIONS(617), 1, - anon_sym_LBRACE, - ACTIONS(619), 1, - anon_sym_COMMA, - STATE(160), 1, - aux_sym_use_declaration_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5255] = 4, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(623), 1, - anon_sym_LPAREN, - STATE(249), 1, - sym_decorator_params, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5269] = 4, - ACTIONS(625), 1, - anon_sym_COMMA, - ACTIONS(627), 1, + ACTIONS(585), 1, anon_sym_RBRACE, - STATE(169), 1, - aux_sym_use_declaration_repeat1, + STATE(50), 1, + sym_prose_block, + STATE(284), 1, + sym_dotted_path, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [5283] = 4, - ACTIONS(476), 1, + STATE(46), 2, + sym_field, + aux_sym_template_repeat2, + [5026] = 7, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(575), 1, + sym_identifier, + ACTIONS(614), 1, + anon_sym_RBRACE, + STATE(50), 1, + sym_prose_block, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(46), 2, + sym_field, + aux_sym_template_repeat2, + [5050] = 7, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(575), 1, + sym_identifier, + ACTIONS(616), 1, + anon_sym_RBRACE, + STATE(50), 1, + sym_prose_block, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(46), 2, + sym_field, + aux_sym_template_repeat2, + [5074] = 7, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(575), 1, + sym_identifier, + ACTIONS(618), 1, + anon_sym_RBRACE, + STATE(50), 1, + sym_prose_block, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(46), 2, + sym_field, + aux_sym_template_repeat2, + [5098] = 7, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(535), 1, + anon_sym_RBRACE, + ACTIONS(575), 1, + sym_identifier, + STATE(50), 1, + sym_prose_block, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(46), 2, + sym_field, + aux_sym_template_repeat2, + [5122] = 7, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(551), 1, + anon_sym_RBRACE, + ACTIONS(575), 1, + sym_identifier, + STATE(50), 1, + sym_prose_block, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(46), 2, + sym_field, + aux_sym_template_repeat2, + [5146] = 7, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(575), 1, + sym_identifier, + ACTIONS(620), 1, + anon_sym_RBRACE, + STATE(50), 1, + sym_prose_block, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(46), 2, + sym_field, + aux_sym_template_repeat2, + [5170] = 7, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(545), 1, + anon_sym_RBRACE, + ACTIONS(575), 1, + sym_identifier, + STATE(50), 1, + sym_prose_block, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(46), 2, + sym_field, + aux_sym_template_repeat2, + [5194] = 7, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(541), 1, + anon_sym_RBRACE, + ACTIONS(575), 1, + sym_identifier, + STATE(50), 1, + sym_prose_block, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(46), 2, + sym_field, + aux_sym_template_repeat2, + [5218] = 7, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(575), 1, + sym_identifier, + ACTIONS(622), 1, + anon_sym_RBRACE, + STATE(50), 1, + sym_prose_block, + STATE(284), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(46), 2, + sym_field, + aux_sym_template_repeat2, + [5242] = 5, + ACTIONS(624), 1, + sym_identifier, + ACTIONS(628), 1, + anon_sym_include, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(626), 2, + anon_sym_RBRACE, + sym_prose_marker, + STATE(162), 2, + sym_include, + aux_sym_template_repeat1, + [5261] = 6, + ACTIONS(279), 1, + anon_sym_RBRACE, + ACTIONS(281), 1, + anon_sym_LPAREN, + ACTIONS(603), 1, anon_sym_DOT, - ACTIONS(629), 1, + ACTIONS(631), 1, anon_sym_COLON, - STATE(170), 1, + STATE(179), 1, aux_sym_dotted_path_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [5297] = 3, - ACTIONS(80), 1, - anon_sym_LBRACE, - STATE(95), 1, - sym_block, + [5281] = 6, + ACTIONS(118), 1, + sym_prose_marker, + ACTIONS(575), 1, + sym_identifier, + STATE(50), 1, + sym_prose_block, + STATE(166), 1, + sym_field, + STATE(284), 1, + sym_dotted_path, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [5308] = 3, - ACTIONS(80), 1, - anon_sym_LBRACE, - STATE(156), 1, - sym_block, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5319] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(631), 2, - anon_sym_RBRACE, - anon_sym_state, - [5328] = 3, + [5301] = 5, ACTIONS(633), 1, - anon_sym_DOT_DOT, - ACTIONS(635), 1, - anon_sym_RPAREN, + sym_identifier, + STATE(8), 1, + sym_path_segments, + STATE(219), 1, + sym_path, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [5339] = 2, + STATE(117), 2, + sym_participant, + aux_sym_relationship_repeat1, + [5319] = 3, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(637), 2, anon_sym_RBRACE, - anon_sym_on, - [5348] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(639), 2, - anon_sym_RBRACE, - sym_time, - [5357] = 3, - ACTIONS(80), 1, + sym_prose_marker, + ACTIONS(635), 3, + anon_sym_remove, + anon_sym_append, + sym_identifier, + [5333] = 6, + ACTIONS(132), 1, anon_sym_LBRACE, - STATE(186), 1, + ACTIONS(639), 1, + anon_sym_COLON, + ACTIONS(641), 1, + anon_sym_from, + STATE(84), 1, sym_block, + STATE(272), 1, + sym_template_clause, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [5368] = 2, + [5353] = 3, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(641), 2, + ACTIONS(645), 2, anon_sym_RBRACE, - anon_sym_state, - [5377] = 3, - ACTIONS(643), 1, + sym_prose_marker, + ACTIONS(643), 3, + anon_sym_remove, + anon_sym_append, sym_identifier, - ACTIONS(645), 1, - anon_sym_RBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5388] = 3, - ACTIONS(568), 1, - anon_sym_RBRACE, - ACTIONS(643), 1, - sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5399] = 3, - ACTIONS(643), 1, + [5367] = 6, + ACTIONS(499), 1, sym_identifier, ACTIONS(647), 1, - anon_sym_RBRACE, + sym_any_type, + STATE(255), 1, + sym_is_condition, + STATE(257), 1, + sym_condition_expr, + STATE(340), 1, + sym_dotted_path, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [5410] = 3, - ACTIONS(601), 1, - anon_sym_RBRACE, - ACTIONS(643), 1, - sym_identifier, + [5387] = 5, + ACTIONS(132), 1, + anon_sym_LBRACE, + ACTIONS(641), 1, + anon_sym_from, + STATE(90), 1, + sym_block, + STATE(247), 1, + sym_template_clause, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [5421] = 3, - ACTIONS(649), 1, - anon_sym_COLON_COLON, + [5404] = 4, ACTIONS(651), 1, - anon_sym_SEMI, + anon_sym_DOT, + STATE(171), 1, + aux_sym_dotted_path_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [5432] = 3, - ACTIONS(617), 1, - anon_sym_LBRACE, - ACTIONS(643), 1, + ACTIONS(649), 2, + anon_sym_COLON, + anon_sym_is, + [5419] = 4, + ACTIONS(603), 1, + anon_sym_DOT, + STATE(179), 1, + aux_sym_dotted_path_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(631), 2, + anon_sym_COLON, + anon_sym_is, + [5434] = 4, + ACTIONS(654), 1, sym_identifier, + STATE(225), 1, + sym_sub_concept_field, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [5443] = 3, - ACTIONS(653), 1, - anon_sym_LBRACE, - ACTIONS(655), 1, - anon_sym_strict, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5454] = 3, - ACTIONS(657), 1, - sym_identifier, - STATE(203), 1, - sym_path_segments, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5465] = 3, - ACTIONS(80), 1, - anon_sym_LBRACE, - STATE(94), 1, - sym_block, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5476] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(659), 2, + STATE(339), 2, + sym_sub_concept_enum_body, + sym_sub_concept_record_body, + [5449] = 4, + ACTIONS(583), 1, anon_sym_RBRACE, + ACTIONS(656), 1, anon_sym_state, - [5485] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(585), 2, + STATE(186), 2, + sym_arc_state, + aux_sym_life_arc_repeat1, + [5464] = 4, + ACTIONS(577), 1, + anon_sym_RBRACE, + ACTIONS(579), 1, + sym_time, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(184), 2, + sym_schedule_block, + aux_sym_schedule_repeat1, + [5479] = 4, + ACTIONS(660), 1, + anon_sym_or, + STATE(176), 1, + aux_sym_is_condition_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(658), 2, anon_sym_COMMA, - anon_sym_RBRACK, - [5494] = 3, + anon_sym_RBRACE, + [5494] = 5, + ACTIONS(575), 1, + sym_identifier, ACTIONS(663), 1, - aux_sym_prose_block_token1, + anon_sym_RBRACE, + STATE(264), 1, + sym_field_condition, + STATE(299), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [5511] = 4, + ACTIONS(543), 1, + anon_sym_RBRACE, ACTIONS(665), 1, - sym_prose_content, - ACTIONS(661), 2, - sym_line_comment, - sym_block_comment, - [5505] = 2, + anon_sym_on, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(592), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [5514] = 3, - ACTIONS(80), 1, - anon_sym_LBRACE, - STATE(76), 1, - sym_block, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5525] = 2, + STATE(190), 2, + sym_transition, + aux_sym_arc_state_repeat1, + [5526] = 4, + ACTIONS(603), 1, + anon_sym_DOT, + STATE(171), 1, + aux_sym_dotted_path_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(667), 2, - anon_sym_LBRACE, - anon_sym_LPAREN, - [5534] = 2, + anon_sym_COLON, + anon_sym_is, + [5541] = 4, + ACTIONS(671), 1, + anon_sym_COMMA, + STATE(180), 1, + aux_sym_use_declaration_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(669), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [5543] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(671), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [5552] = 3, - ACTIONS(673), 1, anon_sym_LBRACE, - ACTIONS(675), 1, - anon_sym_STAR, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5563] = 3, - ACTIONS(677), 1, - sym_identifier, - ACTIONS(679), 1, - anon_sym_LBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5574] = 3, - ACTIONS(681), 1, - sym_identifier, - ACTIONS(683), 1, - anon_sym_LBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5585] = 3, - ACTIONS(80), 1, - anon_sym_LBRACE, - STATE(196), 1, - sym_block, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5596] = 3, - ACTIONS(685), 1, - sym_integer, - ACTIONS(687), 1, - sym_duration, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5607] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(570), 2, - anon_sym_COLON, - anon_sym_DOT, - [5616] = 3, - ACTIONS(643), 1, - sym_identifier, - ACTIONS(689), 1, - anon_sym_LBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5627] = 3, - ACTIONS(80), 1, - anon_sym_LBRACE, - STATE(99), 1, - sym_block, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5638] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(691), 2, anon_sym_RBRACE, - anon_sym_state, - [5647] = 2, - ACTIONS(693), 1, - anon_sym_LPAREN, + [5556] = 4, + ACTIONS(537), 1, + anon_sym_RBRACE, + ACTIONS(665), 1, + anon_sym_on, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [5655] = 2, - ACTIONS(695), 1, - anon_sym_LBRACE, + STATE(190), 2, + sym_transition, + aux_sym_arc_state_repeat1, + [5571] = 3, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [5663] = 2, - ACTIONS(697), 1, - anon_sym_LBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5671] = 2, - ACTIONS(699), 1, - anon_sym_LPAREN, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5679] = 2, - ACTIONS(701), 1, + ACTIONS(674), 2, + anon_sym_on, + sym_identifier, + ACTIONS(676), 2, + anon_sym_RBRACE, sym_prose_marker, + [5584] = 3, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [5687] = 2, - ACTIONS(703), 1, - anon_sym_COLON, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5695] = 2, - ACTIONS(705), 1, + ACTIONS(678), 2, + anon_sym_include, sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5703] = 2, - ACTIONS(707), 1, - anon_sym_SEMI, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5711] = 2, - ACTIONS(709), 1, - anon_sym_COLON, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5719] = 2, - ACTIONS(711), 1, - anon_sym_LBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5727] = 2, - ACTIONS(713), 1, - sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5735] = 2, - ACTIONS(715), 1, - anon_sym_SEMI, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5743] = 2, - ACTIONS(717), 1, - anon_sym_LBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5751] = 2, - ACTIONS(719), 1, - sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5759] = 2, - ACTIONS(721), 1, - sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5767] = 2, - ACTIONS(723), 1, + ACTIONS(680), 2, anon_sym_RBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5775] = 2, - ACTIONS(725), 1, - anon_sym_LBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5783] = 2, - ACTIONS(727), 1, - sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5791] = 2, - ACTIONS(729), 1, - anon_sym_COLON, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5799] = 2, - ACTIONS(731), 1, - sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5807] = 2, - ACTIONS(733), 1, - anon_sym_DASH_GT, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5815] = 2, - ACTIONS(735), 1, - sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5823] = 2, - ACTIONS(737), 1, - sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5831] = 2, - ACTIONS(739), 1, sym_prose_marker, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5839] = 2, - ACTIONS(741), 1, - anon_sym_LBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5847] = 2, - ACTIONS(743), 1, - sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5855] = 2, - ACTIONS(745), 1, - anon_sym_LBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5863] = 2, - ACTIONS(747), 1, - anon_sym_LBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5871] = 2, - ACTIONS(749), 1, + [5597] = 4, + ACTIONS(682), 1, anon_sym_RBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5879] = 2, - ACTIONS(751), 1, - sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5887] = 2, - ACTIONS(753), 1, - anon_sym_RBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5895] = 2, - ACTIONS(755), 1, - sym_integer, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5903] = 2, - ACTIONS(757), 1, - anon_sym_RBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5911] = 2, - ACTIONS(759), 1, - anon_sym_RPAREN, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5919] = 2, - ACTIONS(761), 1, - sym_prose_content, - ACTIONS(661), 2, - sym_line_comment, - sym_block_comment, - [5927] = 2, - ACTIONS(763), 1, - anon_sym_LBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5935] = 2, - ACTIONS(765), 1, - anon_sym_LBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5943] = 2, - ACTIONS(767), 1, - sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5951] = 2, - ACTIONS(769), 1, - anon_sym_LBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5959] = 2, - ACTIONS(771), 1, - sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5967] = 2, - ACTIONS(643), 1, - sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5975] = 2, - ACTIONS(773), 1, - sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5983] = 2, - ACTIONS(775), 1, - anon_sym_LBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5991] = 2, - ACTIONS(777), 1, - sym_float, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [5999] = 2, - ACTIONS(779), 1, - ts_builtin_sym_end, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [6007] = 2, - ACTIONS(777), 1, - sym_integer, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [6015] = 2, - ACTIONS(781), 1, - sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [6023] = 2, - ACTIONS(783), 1, - anon_sym_SEMI, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [6031] = 2, - ACTIONS(785), 1, - anon_sym_SEMI, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [6039] = 2, - ACTIONS(787), 1, - anon_sym_LBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [6047] = 2, - ACTIONS(789), 1, - anon_sym_RBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [6055] = 2, - ACTIONS(791), 1, - sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [6063] = 2, - ACTIONS(793), 1, - sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [6071] = 2, - ACTIONS(795), 1, - anon_sym_LBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [6079] = 2, - ACTIONS(797), 1, - sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [6087] = 2, - ACTIONS(799), 1, - sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [6095] = 2, - ACTIONS(801), 1, - sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [6103] = 2, - ACTIONS(803), 1, - sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [6111] = 2, - ACTIONS(805), 1, - sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [6119] = 2, - ACTIONS(807), 1, + ACTIONS(684), 1, sym_time, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [6127] = 2, - ACTIONS(635), 1, + STATE(184), 2, + sym_schedule_block, + aux_sym_schedule_repeat1, + [5612] = 4, + ACTIONS(579), 1, + sym_time, + ACTIONS(687), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(184), 2, + sym_schedule_block, + aux_sym_schedule_repeat1, + [5627] = 4, + ACTIONS(689), 1, + anon_sym_RBRACE, + ACTIONS(691), 1, + anon_sym_state, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(186), 2, + sym_arc_state, + aux_sym_life_arc_repeat1, + [5642] = 4, + ACTIONS(665), 1, + anon_sym_on, + ACTIONS(694), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(190), 2, + sym_transition, + aux_sym_arc_state_repeat1, + [5657] = 5, + ACTIONS(575), 1, + sym_identifier, + ACTIONS(696), 1, + anon_sym_RBRACE, + STATE(264), 1, + sym_field_condition, + STATE(299), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [5674] = 5, + ACTIONS(698), 1, + anon_sym_COMMA, + ACTIONS(700), 1, + anon_sym_RBRACE, + ACTIONS(702), 1, + anon_sym_COLON, + STATE(207), 1, + aux_sym_use_declaration_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [5691] = 4, + ACTIONS(704), 1, + anon_sym_RBRACE, + ACTIONS(706), 1, + anon_sym_on, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(190), 2, + sym_transition, + aux_sym_arc_state_repeat1, + [5706] = 4, + ACTIONS(656), 1, + anon_sym_state, + ACTIONS(709), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + STATE(186), 2, + sym_arc_state, + aux_sym_life_arc_repeat1, + [5721] = 4, + ACTIONS(713), 1, + anon_sym_or, + STATE(193), 1, + aux_sym_is_condition_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(711), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [5736] = 4, + ACTIONS(713), 1, + anon_sym_or, + STATE(176), 1, + aux_sym_is_condition_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(715), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [5751] = 4, + ACTIONS(717), 1, + anon_sym_COMMA, + ACTIONS(719), 1, + anon_sym_RBRACE, + STATE(230), 1, + aux_sym_variant_pattern_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [5765] = 4, + ACTIONS(721), 1, + anon_sym_LBRACE, + ACTIONS(723), 1, + anon_sym_COLON, + ACTIONS(725), 1, + anon_sym_strict, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [5779] = 4, + ACTIONS(727), 1, + anon_sym_LBRACE, + ACTIONS(729), 1, + anon_sym_COMMA, + STATE(227), 1, + aux_sym_use_declaration_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [5793] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(731), 3, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_or, + [5803] = 4, + ACTIONS(227), 1, + anon_sym_RBRACK, + ACTIONS(733), 1, + anon_sym_COMMA, + STATE(231), 1, + aux_sym_list_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [5817] = 4, + ACTIONS(575), 1, + sym_identifier, + STATE(264), 1, + sym_field_condition, + STATE(299), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [5831] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + anon_sym_RBRACE, + sym_prose_marker, + sym_identifier, + [5841] = 4, + ACTIONS(633), 1, + sym_identifier, + STATE(8), 1, + sym_path_segments, + STATE(115), 1, + sym_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [5855] = 4, + ACTIONS(737), 1, + anon_sym_COMMA, + ACTIONS(739), 1, + anon_sym_RBRACE, + STATE(180), 1, + aux_sym_use_declaration_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [5869] = 4, + ACTIONS(741), 1, + anon_sym_COMMA, + ACTIONS(743), 1, + anon_sym_RBRACE, + STATE(224), 1, + aux_sym_sub_concept_record_body_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [5883] = 4, + ACTIONS(745), 1, + sym_identifier, + ACTIONS(747), 1, + anon_sym_RBRACE, + STATE(248), 1, + sym_variant_pattern, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [5897] = 4, + ACTIONS(747), 1, + anon_sym_RBRACE, + ACTIONS(749), 1, + anon_sym_COMMA, + STATE(229), 1, + aux_sym_concept_comparison_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [5911] = 4, + ACTIONS(743), 1, + anon_sym_RBRACE, + ACTIONS(751), 1, + sym_identifier, + STATE(253), 1, + sym_sub_concept_field, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [5925] = 4, + ACTIONS(753), 1, + anon_sym_COMMA, + ACTIONS(755), 1, + anon_sym_RBRACE, + STATE(180), 1, + aux_sym_use_declaration_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [5939] = 4, + ACTIONS(757), 1, + anon_sym_COMMA, + ACTIONS(759), 1, + anon_sym_RBRACE, + STATE(180), 1, + aux_sym_use_declaration_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [5953] = 4, + ACTIONS(54), 1, + anon_sym_SEMI, + ACTIONS(761), 1, + anon_sym_COLON_COLON, + STATE(4), 1, + aux_sym_path_segments_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [5967] = 4, + ACTIONS(764), 1, + anon_sym_COMMA, + ACTIONS(767), 1, + anon_sym_RBRACE, + STATE(210), 1, + aux_sym_variant_pattern_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [5981] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(649), 3, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_is, + [5991] = 4, + ACTIONS(633), 1, + sym_identifier, + STATE(8), 1, + sym_path_segments, + STATE(283), 1, + sym_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6005] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(669), 3, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RBRACE, + [6015] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(769), 3, + anon_sym_RBRACE, + sym_prose_marker, + sym_identifier, + [6025] = 4, + ACTIONS(771), 1, + anon_sym_COMMA, + ACTIONS(774), 1, + anon_sym_RPAREN, + STATE(215), 1, + aux_sym_action_node_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6039] = 4, + ACTIONS(148), 1, + anon_sym_RPAREN, + ACTIONS(776), 1, + anon_sym_COMMA, + STATE(215), 1, + aux_sym_action_node_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6053] = 4, + ACTIONS(778), 1, + anon_sym_LBRACE, + ACTIONS(780), 1, + anon_sym_LPAREN, + STATE(288), 1, + sym_decorator_params, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6067] = 4, + ACTIONS(782), 1, + anon_sym_COMMA, + ACTIONS(784), 1, + anon_sym_RPAREN, + STATE(216), 1, + aux_sym_action_node_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6081] = 4, + ACTIONS(132), 1, + anon_sym_LBRACE, + ACTIONS(786), 1, + anon_sym_as, + STATE(200), 1, + sym_block, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6095] = 4, + ACTIONS(788), 1, + anon_sym_COMMA, + ACTIONS(790), 1, + anon_sym_RBRACE, + STATE(202), 1, + aux_sym_use_declaration_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6109] = 4, + ACTIONS(792), 1, + anon_sym_COMMA, + ACTIONS(794), 1, + anon_sym_RBRACE, + STATE(205), 1, + aux_sym_concept_comparison_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6123] = 4, + ACTIONS(796), 1, + anon_sym_COMMA, + ACTIONS(798), 1, + anon_sym_RBRACE, + STATE(208), 1, + aux_sym_use_declaration_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6137] = 4, + ACTIONS(751), 1, + sym_identifier, + ACTIONS(800), 1, + anon_sym_RBRACE, + STATE(253), 1, + sym_sub_concept_field, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6151] = 4, + ACTIONS(802), 1, + anon_sym_COMMA, + ACTIONS(805), 1, + anon_sym_RBRACE, + STATE(224), 1, + aux_sym_sub_concept_record_body_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6165] = 4, + ACTIONS(807), 1, + anon_sym_COMMA, + ACTIONS(809), 1, + anon_sym_RBRACE, + STATE(203), 1, + aux_sym_sub_concept_record_body_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6179] = 4, + ACTIONS(575), 1, + sym_identifier, + STATE(194), 1, + sym_field_condition, + STATE(299), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6193] = 4, + ACTIONS(811), 1, + anon_sym_LBRACE, + ACTIONS(813), 1, + anon_sym_COMMA, + STATE(180), 1, + aux_sym_use_declaration_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6207] = 4, + ACTIONS(745), 1, + sym_identifier, + ACTIONS(815), 1, + anon_sym_RBRACE, + STATE(248), 1, + sym_variant_pattern, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6221] = 4, + ACTIONS(817), 1, + anon_sym_COMMA, + ACTIONS(820), 1, + anon_sym_RBRACE, + STATE(229), 1, + aux_sym_concept_comparison_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6235] = 4, + ACTIONS(663), 1, + anon_sym_RBRACE, + ACTIONS(822), 1, + anon_sym_COMMA, + STATE(210), 1, + aux_sym_variant_pattern_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6249] = 4, + ACTIONS(824), 1, + anon_sym_COMMA, + ACTIONS(827), 1, + anon_sym_RBRACK, + STATE(231), 1, + aux_sym_list_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6263] = 4, + ACTIONS(58), 1, + anon_sym_SEMI, + ACTIONS(829), 1, + anon_sym_COLON_COLON, + STATE(209), 1, + aux_sym_path_segments_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6277] = 4, + ACTIONS(832), 1, + anon_sym_COMMA, + ACTIONS(834), 1, + anon_sym_RBRACK, + STATE(198), 1, + aux_sym_list_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6291] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(836), 2, + anon_sym_RBRACE, + anon_sym_state, + [6300] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(838), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [6309] = 3, + ACTIONS(840), 1, + anon_sym_COLON_COLON, + ACTIONS(842), 1, + anon_sym_SEMI, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6320] = 3, + ACTIONS(132), 1, + anon_sym_LBRACE, + STATE(75), 1, + sym_block, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6331] = 3, + ACTIONS(132), 1, + anon_sym_LBRACE, + STATE(182), 1, + sym_block, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6342] = 3, + ACTIONS(844), 1, + sym_integer, + ACTIONS(846), 1, + sym_duration, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6353] = 3, + ACTIONS(848), 1, + sym_identifier, + STATE(236), 1, + sym_path_segments, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6364] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(827), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [6373] = 3, + ACTIONS(132), 1, + anon_sym_LBRACE, + STATE(74), 1, + sym_block, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6384] = 3, + ACTIONS(850), 1, + sym_identifier, + ACTIONS(852), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6395] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(854), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [6404] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(856), 2, + anon_sym_RBRACE, + sym_time, + [6413] = 3, + ACTIONS(811), 1, + anon_sym_LBRACE, + ACTIONS(850), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6424] = 3, + ACTIONS(132), 1, + anon_sym_LBRACE, + STATE(97), 1, + sym_block, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6435] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(820), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [6444] = 3, + ACTIONS(860), 1, + aux_sym_prose_block_token1, + ACTIONS(862), 1, + sym_prose_content, + ACTIONS(858), 2, + sym_line_comment, + sym_block_comment, + [6455] = 3, + ACTIONS(751), 1, + sym_identifier, + STATE(253), 1, + sym_sub_concept_field, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6466] = 3, + ACTIONS(850), 1, + sym_identifier, + ACTIONS(864), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6477] = 3, + ACTIONS(132), 1, + anon_sym_LBRACE, + STATE(214), 1, + sym_block, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6488] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(805), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [6497] = 3, + ACTIONS(850), 1, + sym_identifier, + ACTIONS(866), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6508] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(868), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [6517] = 3, + ACTIONS(870), 1, + anon_sym_DOT_DOT, + ACTIONS(872), 1, anon_sym_RPAREN, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [6135] = 2, - ACTIONS(809), 1, + [6528] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(874), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [6537] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(876), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [6546] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(878), 2, + anon_sym_RBRACE, + anon_sym_state, + [6555] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(880), 2, + anon_sym_LBRACE, + anon_sym_LPAREN, + [6564] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(882), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [6573] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(774), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [6582] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(884), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [6591] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(767), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [6600] = 3, + ACTIONS(850), 1, + sym_identifier, + ACTIONS(886), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6611] = 3, + ACTIONS(755), 1, + anon_sym_RBRACE, + ACTIONS(850), 1, sym_identifier, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [6143] = 2, - ACTIONS(811), 1, + [6622] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(888), 2, + sym_any_type, + sym_identifier, + [6631] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(890), 2, + anon_sym_RBRACE, + anon_sym_on, + [6640] = 3, + ACTIONS(892), 1, + anon_sym_LBRACE, + ACTIONS(894), 1, + anon_sym_STAR, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6651] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(896), 2, + anon_sym_RBRACE, + anon_sym_state, + [6660] = 3, + ACTIONS(759), 1, + anon_sym_RBRACE, + ACTIONS(850), 1, sym_identifier, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [6151] = 2, - ACTIONS(813), 1, + [6671] = 3, + ACTIONS(132), 1, + anon_sym_LBRACE, + STATE(70), 1, + sym_block, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6682] = 3, + ACTIONS(898), 1, + sym_identifier, + ACTIONS(900), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6693] = 3, + ACTIONS(902), 1, + sym_identifier, + ACTIONS(904), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6704] = 3, + ACTIONS(745), 1, + sym_identifier, + STATE(248), 1, + sym_variant_pattern, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6715] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(906), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [6724] = 3, + ACTIONS(132), 1, + anon_sym_LBRACE, + STATE(245), 1, + sym_block, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6735] = 3, + ACTIONS(745), 1, + sym_identifier, + STATE(221), 1, + sym_variant_pattern, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6746] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(908), 2, + anon_sym_RBRACE, + anon_sym_state, + [6755] = 3, + ACTIONS(910), 1, + anon_sym_LBRACE, + ACTIONS(912), 1, + anon_sym_strict, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6766] = 3, + ACTIONS(739), 1, + anon_sym_RBRACE, + ACTIONS(850), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6777] = 3, + ACTIONS(575), 1, + sym_identifier, + STATE(360), 1, + sym_dotted_path, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6788] = 2, + ACTIONS(914), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6796] = 2, + ACTIONS(916), 1, + anon_sym_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6804] = 2, + ACTIONS(918), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6812] = 2, + ACTIONS(920), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6820] = 2, + ACTIONS(922), 1, + anon_sym_SEMI, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6828] = 2, + ACTIONS(924), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6836] = 2, + ACTIONS(926), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6844] = 2, + ACTIONS(928), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6852] = 2, + ACTIONS(930), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6860] = 2, + ACTIONS(932), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6868] = 2, + ACTIONS(934), 1, + anon_sym_DASH_GT, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6876] = 2, + ACTIONS(936), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6884] = 2, + ACTIONS(938), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6892] = 2, + ACTIONS(940), 1, + anon_sym_SEMI, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6900] = 2, + ACTIONS(942), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6908] = 2, + ACTIONS(944), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6916] = 2, + ACTIONS(946), 1, + anon_sym_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6924] = 2, + ACTIONS(948), 1, + anon_sym_LPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6932] = 2, + ACTIONS(950), 1, + anon_sym_LPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6940] = 2, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6948] = 2, + ACTIONS(954), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6956] = 2, + ACTIONS(956), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6964] = 2, + ACTIONS(958), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6972] = 2, + ACTIONS(960), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6980] = 2, + ACTIONS(962), 1, + anon_sym_DOT, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6988] = 2, + ACTIONS(964), 1, + sym_integer, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [6996] = 2, + ACTIONS(966), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7004] = 2, + ACTIONS(702), 1, + anon_sym_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7012] = 2, + ACTIONS(968), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7020] = 2, + ACTIONS(970), 1, + anon_sym_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7028] = 2, + ACTIONS(972), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7036] = 2, + ACTIONS(974), 1, + anon_sym_SEMI, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7044] = 2, + ACTIONS(976), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7052] = 2, + ACTIONS(978), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7060] = 2, + ACTIONS(980), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7068] = 2, + ACTIONS(982), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7076] = 2, + ACTIONS(984), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7084] = 2, + ACTIONS(986), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7092] = 2, + ACTIONS(988), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7100] = 2, + ACTIONS(990), 1, + sym_time, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7108] = 2, + ACTIONS(992), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7116] = 2, + ACTIONS(994), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7124] = 2, + ACTIONS(996), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7132] = 2, + ACTIONS(998), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7140] = 2, + ACTIONS(1000), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7148] = 2, + ACTIONS(850), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7156] = 2, + ACTIONS(1002), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7164] = 2, + ACTIONS(1004), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7172] = 2, + ACTIONS(1006), 1, + sym_float, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7180] = 2, + ACTIONS(1006), 1, + sym_integer, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7188] = 2, + ACTIONS(1008), 1, + sym_prose_marker, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7196] = 2, + ACTIONS(1010), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7204] = 2, + ACTIONS(1012), 1, + ts_builtin_sym_end, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7212] = 2, + ACTIONS(1014), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7220] = 2, + ACTIONS(1016), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7228] = 2, + ACTIONS(1018), 1, + anon_sym_SEMI, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7236] = 2, + ACTIONS(1020), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7244] = 2, + ACTIONS(1022), 1, + anon_sym_is, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7252] = 2, + ACTIONS(872), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7260] = 2, + ACTIONS(1024), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7268] = 2, + ACTIONS(1026), 1, + anon_sym_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7276] = 2, + ACTIONS(1028), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7284] = 2, + ACTIONS(1030), 1, + anon_sym_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7292] = 2, + ACTIONS(1032), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7300] = 2, + ACTIONS(1034), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7308] = 2, + ACTIONS(1036), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7316] = 2, + ACTIONS(1038), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7324] = 2, + ACTIONS(1040), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7332] = 2, + ACTIONS(1042), 1, + sym_prose_marker, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7340] = 2, + ACTIONS(1044), 1, + sym_prose_content, + ACTIONS(858), 2, + sym_line_comment, + sym_block_comment, + [7348] = 2, + ACTIONS(1046), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7356] = 2, + ACTIONS(1048), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7364] = 2, + ACTIONS(1050), 1, + anon_sym_SEMI, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7372] = 2, + ACTIONS(1052), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7380] = 2, + ACTIONS(1054), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7388] = 2, + ACTIONS(1056), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7396] = 2, + ACTIONS(1058), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7404] = 2, + ACTIONS(1060), 1, + anon_sym_is, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7412] = 2, + ACTIONS(1062), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7420] = 2, + ACTIONS(1064), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7428] = 2, + ACTIONS(1066), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7436] = 2, + ACTIONS(1068), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [7444] = 2, + ACTIONS(1070), 1, sym_identifier, ACTIONS(3), 2, sym_line_comment, @@ -7787,292 +9173,369 @@ static const uint16_t ts_small_parse_table[] = { static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 50, - [SMALL_STATE(4)] = 99, - [SMALL_STATE(5)] = 148, + [SMALL_STATE(3)] = 47, + [SMALL_STATE(4)] = 94, + [SMALL_STATE(5)] = 144, [SMALL_STATE(6)] = 193, - [SMALL_STATE(7)] = 237, - [SMALL_STATE(8)] = 281, - [SMALL_STATE(9)] = 324, - [SMALL_STATE(10)] = 365, - [SMALL_STATE(11)] = 425, - [SMALL_STATE(12)] = 485, - [SMALL_STATE(13)] = 547, - [SMALL_STATE(14)] = 605, - [SMALL_STATE(15)] = 667, - [SMALL_STATE(16)] = 725, - [SMALL_STATE(17)] = 787, - [SMALL_STATE(18)] = 822, - [SMALL_STATE(19)] = 873, - [SMALL_STATE(20)] = 924, - [SMALL_STATE(21)] = 975, - [SMALL_STATE(22)] = 1026, - [SMALL_STATE(23)] = 1085, - [SMALL_STATE(24)] = 1120, - [SMALL_STATE(25)] = 1171, - [SMALL_STATE(26)] = 1203, - [SMALL_STATE(27)] = 1251, - [SMALL_STATE(28)] = 1283, - [SMALL_STATE(29)] = 1339, - [SMALL_STATE(30)] = 1371, - [SMALL_STATE(31)] = 1403, - [SMALL_STATE(32)] = 1435, - [SMALL_STATE(33)] = 1483, - [SMALL_STATE(34)] = 1531, - [SMALL_STATE(35)] = 1563, - [SMALL_STATE(36)] = 1595, - [SMALL_STATE(37)] = 1651, - [SMALL_STATE(38)] = 1683, - [SMALL_STATE(39)] = 1715, - [SMALL_STATE(40)] = 1763, - [SMALL_STATE(41)] = 1795, - [SMALL_STATE(42)] = 1827, - [SMALL_STATE(43)] = 1883, - [SMALL_STATE(44)] = 1930, - [SMALL_STATE(45)] = 1983, - [SMALL_STATE(46)] = 2036, - [SMALL_STATE(47)] = 2077, - [SMALL_STATE(48)] = 2130, - [SMALL_STATE(49)] = 2177, - [SMALL_STATE(50)] = 2224, - [SMALL_STATE(51)] = 2253, - [SMALL_STATE(52)] = 2298, - [SMALL_STATE(53)] = 2327, - [SMALL_STATE(54)] = 2369, - [SMALL_STATE(55)] = 2411, - [SMALL_STATE(56)] = 2453, - [SMALL_STATE(57)] = 2495, - [SMALL_STATE(58)] = 2537, - [SMALL_STATE(59)] = 2579, - [SMALL_STATE(60)] = 2621, - [SMALL_STATE(61)] = 2647, - [SMALL_STATE(62)] = 2673, - [SMALL_STATE(63)] = 2696, - [SMALL_STATE(64)] = 2719, - [SMALL_STATE(65)] = 2742, - [SMALL_STATE(66)] = 2765, - [SMALL_STATE(67)] = 2788, - [SMALL_STATE(68)] = 2811, - [SMALL_STATE(69)] = 2834, - [SMALL_STATE(70)] = 2857, - [SMALL_STATE(71)] = 2880, - [SMALL_STATE(72)] = 2903, - [SMALL_STATE(73)] = 2926, - [SMALL_STATE(74)] = 2949, - [SMALL_STATE(75)] = 2972, - [SMALL_STATE(76)] = 2995, - [SMALL_STATE(77)] = 3014, - [SMALL_STATE(78)] = 3033, - [SMALL_STATE(79)] = 3052, - [SMALL_STATE(80)] = 3071, - [SMALL_STATE(81)] = 3090, - [SMALL_STATE(82)] = 3109, - [SMALL_STATE(83)] = 3128, - [SMALL_STATE(84)] = 3147, - [SMALL_STATE(85)] = 3166, - [SMALL_STATE(86)] = 3185, - [SMALL_STATE(87)] = 3204, - [SMALL_STATE(88)] = 3223, - [SMALL_STATE(89)] = 3242, - [SMALL_STATE(90)] = 3261, - [SMALL_STATE(91)] = 3280, - [SMALL_STATE(92)] = 3299, - [SMALL_STATE(93)] = 3318, - [SMALL_STATE(94)] = 3337, - [SMALL_STATE(95)] = 3356, - [SMALL_STATE(96)] = 3375, - [SMALL_STATE(97)] = 3394, - [SMALL_STATE(98)] = 3413, - [SMALL_STATE(99)] = 3432, - [SMALL_STATE(100)] = 3451, - [SMALL_STATE(101)] = 3470, - [SMALL_STATE(102)] = 3489, - [SMALL_STATE(103)] = 3508, - [SMALL_STATE(104)] = 3527, - [SMALL_STATE(105)] = 3546, - [SMALL_STATE(106)] = 3565, - [SMALL_STATE(107)] = 3584, - [SMALL_STATE(108)] = 3603, - [SMALL_STATE(109)] = 3637, - [SMALL_STATE(110)] = 3671, - [SMALL_STATE(111)] = 3690, - [SMALL_STATE(112)] = 3713, - [SMALL_STATE(113)] = 3744, - [SMALL_STATE(114)] = 3775, - [SMALL_STATE(115)] = 3808, - [SMALL_STATE(116)] = 3839, - [SMALL_STATE(117)] = 3872, - [SMALL_STATE(118)] = 3903, - [SMALL_STATE(119)] = 3934, - [SMALL_STATE(120)] = 3953, - [SMALL_STATE(121)] = 3984, - [SMALL_STATE(122)] = 4015, - [SMALL_STATE(123)] = 4046, - [SMALL_STATE(124)] = 4077, - [SMALL_STATE(125)] = 4096, - [SMALL_STATE(126)] = 4127, - [SMALL_STATE(127)] = 4152, - [SMALL_STATE(128)] = 4175, - [SMALL_STATE(129)] = 4206, - [SMALL_STATE(130)] = 4227, - [SMALL_STATE(131)] = 4260, - [SMALL_STATE(132)] = 4291, - [SMALL_STATE(133)] = 4322, - [SMALL_STATE(134)] = 4348, - [SMALL_STATE(135)] = 4374, - [SMALL_STATE(136)] = 4400, - [SMALL_STATE(137)] = 4426, - [SMALL_STATE(138)] = 4450, - [SMALL_STATE(139)] = 4472, - [SMALL_STATE(140)] = 4496, - [SMALL_STATE(141)] = 4520, - [SMALL_STATE(142)] = 4544, - [SMALL_STATE(143)] = 4568, - [SMALL_STATE(144)] = 4592, - [SMALL_STATE(145)] = 4616, - [SMALL_STATE(146)] = 4640, - [SMALL_STATE(147)] = 4659, - [SMALL_STATE(148)] = 4677, - [SMALL_STATE(149)] = 4697, - [SMALL_STATE(150)] = 4717, - [SMALL_STATE(151)] = 4737, - [SMALL_STATE(152)] = 4751, - [SMALL_STATE(153)] = 4765, - [SMALL_STATE(154)] = 4780, - [SMALL_STATE(155)] = 4795, - [SMALL_STATE(156)] = 4810, - [SMALL_STATE(157)] = 4823, - [SMALL_STATE(158)] = 4838, - [SMALL_STATE(159)] = 4853, - [SMALL_STATE(160)] = 4870, - [SMALL_STATE(161)] = 4885, - [SMALL_STATE(162)] = 4900, - [SMALL_STATE(163)] = 4913, - [SMALL_STATE(164)] = 4928, - [SMALL_STATE(165)] = 4943, - [SMALL_STATE(166)] = 4958, - [SMALL_STATE(167)] = 4973, - [SMALL_STATE(168)] = 4987, - [SMALL_STATE(169)] = 5001, - [SMALL_STATE(170)] = 5015, - [SMALL_STATE(171)] = 5029, - [SMALL_STATE(172)] = 5043, - [SMALL_STATE(173)] = 5057, - [SMALL_STATE(174)] = 5071, - [SMALL_STATE(175)] = 5085, - [SMALL_STATE(176)] = 5095, - [SMALL_STATE(177)] = 5109, - [SMALL_STATE(178)] = 5123, - [SMALL_STATE(179)] = 5133, - [SMALL_STATE(180)] = 5147, - [SMALL_STATE(181)] = 5161, - [SMALL_STATE(182)] = 5175, - [SMALL_STATE(183)] = 5189, - [SMALL_STATE(184)] = 5203, - [SMALL_STATE(185)] = 5217, - [SMALL_STATE(186)] = 5231, - [SMALL_STATE(187)] = 5241, - [SMALL_STATE(188)] = 5255, - [SMALL_STATE(189)] = 5269, - [SMALL_STATE(190)] = 5283, - [SMALL_STATE(191)] = 5297, - [SMALL_STATE(192)] = 5308, - [SMALL_STATE(193)] = 5319, - [SMALL_STATE(194)] = 5328, - [SMALL_STATE(195)] = 5339, - [SMALL_STATE(196)] = 5348, - [SMALL_STATE(197)] = 5357, - [SMALL_STATE(198)] = 5368, - [SMALL_STATE(199)] = 5377, - [SMALL_STATE(200)] = 5388, - [SMALL_STATE(201)] = 5399, - [SMALL_STATE(202)] = 5410, - [SMALL_STATE(203)] = 5421, - [SMALL_STATE(204)] = 5432, - [SMALL_STATE(205)] = 5443, - [SMALL_STATE(206)] = 5454, - [SMALL_STATE(207)] = 5465, - [SMALL_STATE(208)] = 5476, - [SMALL_STATE(209)] = 5485, - [SMALL_STATE(210)] = 5494, - [SMALL_STATE(211)] = 5505, - [SMALL_STATE(212)] = 5514, - [SMALL_STATE(213)] = 5525, - [SMALL_STATE(214)] = 5534, - [SMALL_STATE(215)] = 5543, - [SMALL_STATE(216)] = 5552, - [SMALL_STATE(217)] = 5563, - [SMALL_STATE(218)] = 5574, - [SMALL_STATE(219)] = 5585, - [SMALL_STATE(220)] = 5596, - [SMALL_STATE(221)] = 5607, - [SMALL_STATE(222)] = 5616, - [SMALL_STATE(223)] = 5627, - [SMALL_STATE(224)] = 5638, - [SMALL_STATE(225)] = 5647, - [SMALL_STATE(226)] = 5655, - [SMALL_STATE(227)] = 5663, - [SMALL_STATE(228)] = 5671, - [SMALL_STATE(229)] = 5679, - [SMALL_STATE(230)] = 5687, - [SMALL_STATE(231)] = 5695, - [SMALL_STATE(232)] = 5703, - [SMALL_STATE(233)] = 5711, - [SMALL_STATE(234)] = 5719, - [SMALL_STATE(235)] = 5727, - [SMALL_STATE(236)] = 5735, - [SMALL_STATE(237)] = 5743, - [SMALL_STATE(238)] = 5751, - [SMALL_STATE(239)] = 5759, - [SMALL_STATE(240)] = 5767, - [SMALL_STATE(241)] = 5775, - [SMALL_STATE(242)] = 5783, - [SMALL_STATE(243)] = 5791, - [SMALL_STATE(244)] = 5799, - [SMALL_STATE(245)] = 5807, - [SMALL_STATE(246)] = 5815, - [SMALL_STATE(247)] = 5823, - [SMALL_STATE(248)] = 5831, - [SMALL_STATE(249)] = 5839, - [SMALL_STATE(250)] = 5847, - [SMALL_STATE(251)] = 5855, - [SMALL_STATE(252)] = 5863, - [SMALL_STATE(253)] = 5871, - [SMALL_STATE(254)] = 5879, - [SMALL_STATE(255)] = 5887, - [SMALL_STATE(256)] = 5895, - [SMALL_STATE(257)] = 5903, - [SMALL_STATE(258)] = 5911, - [SMALL_STATE(259)] = 5919, - [SMALL_STATE(260)] = 5927, - [SMALL_STATE(261)] = 5935, - [SMALL_STATE(262)] = 5943, - [SMALL_STATE(263)] = 5951, - [SMALL_STATE(264)] = 5959, - [SMALL_STATE(265)] = 5967, - [SMALL_STATE(266)] = 5975, - [SMALL_STATE(267)] = 5983, - [SMALL_STATE(268)] = 5991, - [SMALL_STATE(269)] = 5999, - [SMALL_STATE(270)] = 6007, - [SMALL_STATE(271)] = 6015, - [SMALL_STATE(272)] = 6023, - [SMALL_STATE(273)] = 6031, - [SMALL_STATE(274)] = 6039, - [SMALL_STATE(275)] = 6047, - [SMALL_STATE(276)] = 6055, - [SMALL_STATE(277)] = 6063, - [SMALL_STATE(278)] = 6071, - [SMALL_STATE(279)] = 6079, - [SMALL_STATE(280)] = 6087, - [SMALL_STATE(281)] = 6095, - [SMALL_STATE(282)] = 6103, - [SMALL_STATE(283)] = 6111, - [SMALL_STATE(284)] = 6119, - [SMALL_STATE(285)] = 6127, - [SMALL_STATE(286)] = 6135, - [SMALL_STATE(287)] = 6143, - [SMALL_STATE(288)] = 6151, + [SMALL_STATE(7)] = 242, + [SMALL_STATE(8)] = 287, + [SMALL_STATE(9)] = 330, + [SMALL_STATE(10)] = 371, + [SMALL_STATE(11)] = 441, + [SMALL_STATE(12)] = 511, + [SMALL_STATE(13)] = 571, + [SMALL_STATE(14)] = 631, + [SMALL_STATE(15)] = 693, + [SMALL_STATE(16)] = 755, + [SMALL_STATE(17)] = 817, + [SMALL_STATE(18)] = 868, + [SMALL_STATE(19)] = 927, + [SMALL_STATE(20)] = 962, + [SMALL_STATE(21)] = 1013, + [SMALL_STATE(22)] = 1048, + [SMALL_STATE(23)] = 1099, + [SMALL_STATE(24)] = 1150, + [SMALL_STATE(25)] = 1201, + [SMALL_STATE(26)] = 1233, + [SMALL_STATE(27)] = 1281, + [SMALL_STATE(28)] = 1337, + [SMALL_STATE(29)] = 1369, + [SMALL_STATE(30)] = 1417, + [SMALL_STATE(31)] = 1449, + [SMALL_STATE(32)] = 1481, + [SMALL_STATE(33)] = 1529, + [SMALL_STATE(34)] = 1577, + [SMALL_STATE(35)] = 1609, + [SMALL_STATE(36)] = 1665, + [SMALL_STATE(37)] = 1697, + [SMALL_STATE(38)] = 1729, + [SMALL_STATE(39)] = 1761, + [SMALL_STATE(40)] = 1817, + [SMALL_STATE(41)] = 1849, + [SMALL_STATE(42)] = 1881, + [SMALL_STATE(43)] = 1913, + [SMALL_STATE(44)] = 1966, + [SMALL_STATE(45)] = 2019, + [SMALL_STATE(46)] = 2066, + [SMALL_STATE(47)] = 2107, + [SMALL_STATE(48)] = 2154, + [SMALL_STATE(49)] = 2201, + [SMALL_STATE(50)] = 2254, + [SMALL_STATE(51)] = 2283, + [SMALL_STATE(52)] = 2312, + [SMALL_STATE(53)] = 2357, + [SMALL_STATE(54)] = 2399, + [SMALL_STATE(55)] = 2441, + [SMALL_STATE(56)] = 2483, + [SMALL_STATE(57)] = 2525, + [SMALL_STATE(58)] = 2567, + [SMALL_STATE(59)] = 2609, + [SMALL_STATE(60)] = 2651, + [SMALL_STATE(61)] = 2675, + [SMALL_STATE(62)] = 2701, + [SMALL_STATE(63)] = 2727, + [SMALL_STATE(64)] = 2751, + [SMALL_STATE(65)] = 2775, + [SMALL_STATE(66)] = 2799, + [SMALL_STATE(67)] = 2823, + [SMALL_STATE(68)] = 2847, + [SMALL_STATE(69)] = 2871, + [SMALL_STATE(70)] = 2895, + [SMALL_STATE(71)] = 2919, + [SMALL_STATE(72)] = 2943, + [SMALL_STATE(73)] = 2967, + [SMALL_STATE(74)] = 2991, + [SMALL_STATE(75)] = 3015, + [SMALL_STATE(76)] = 3039, + [SMALL_STATE(77)] = 3063, + [SMALL_STATE(78)] = 3087, + [SMALL_STATE(79)] = 3111, + [SMALL_STATE(80)] = 3135, + [SMALL_STATE(81)] = 3159, + [SMALL_STATE(82)] = 3183, + [SMALL_STATE(83)] = 3207, + [SMALL_STATE(84)] = 3231, + [SMALL_STATE(85)] = 3255, + [SMALL_STATE(86)] = 3279, + [SMALL_STATE(87)] = 3303, + [SMALL_STATE(88)] = 3327, + [SMALL_STATE(89)] = 3351, + [SMALL_STATE(90)] = 3375, + [SMALL_STATE(91)] = 3399, + [SMALL_STATE(92)] = 3423, + [SMALL_STATE(93)] = 3447, + [SMALL_STATE(94)] = 3471, + [SMALL_STATE(95)] = 3495, + [SMALL_STATE(96)] = 3519, + [SMALL_STATE(97)] = 3543, + [SMALL_STATE(98)] = 3567, + [SMALL_STATE(99)] = 3591, + [SMALL_STATE(100)] = 3615, + [SMALL_STATE(101)] = 3639, + [SMALL_STATE(102)] = 3663, + [SMALL_STATE(103)] = 3687, + [SMALL_STATE(104)] = 3710, + [SMALL_STATE(105)] = 3733, + [SMALL_STATE(106)] = 3756, + [SMALL_STATE(107)] = 3779, + [SMALL_STATE(108)] = 3802, + [SMALL_STATE(109)] = 3825, + [SMALL_STATE(110)] = 3848, + [SMALL_STATE(111)] = 3871, + [SMALL_STATE(112)] = 3894, + [SMALL_STATE(113)] = 3917, + [SMALL_STATE(114)] = 3940, + [SMALL_STATE(115)] = 3963, + [SMALL_STATE(116)] = 3986, + [SMALL_STATE(117)] = 4009, + [SMALL_STATE(118)] = 4043, + [SMALL_STATE(119)] = 4077, + [SMALL_STATE(120)] = 4108, + [SMALL_STATE(121)] = 4141, + [SMALL_STATE(122)] = 4172, + [SMALL_STATE(123)] = 4203, + [SMALL_STATE(124)] = 4236, + [SMALL_STATE(125)] = 4267, + [SMALL_STATE(126)] = 4298, + [SMALL_STATE(127)] = 4329, + [SMALL_STATE(128)] = 4360, + [SMALL_STATE(129)] = 4391, + [SMALL_STATE(130)] = 4422, + [SMALL_STATE(131)] = 4441, + [SMALL_STATE(132)] = 4472, + [SMALL_STATE(133)] = 4503, + [SMALL_STATE(134)] = 4526, + [SMALL_STATE(135)] = 4559, + [SMALL_STATE(136)] = 4582, + [SMALL_STATE(137)] = 4607, + [SMALL_STATE(138)] = 4638, + [SMALL_STATE(139)] = 4659, + [SMALL_STATE(140)] = 4690, + [SMALL_STATE(141)] = 4721, + [SMALL_STATE(142)] = 4752, + [SMALL_STATE(143)] = 4783, + [SMALL_STATE(144)] = 4802, + [SMALL_STATE(145)] = 4833, + [SMALL_STATE(146)] = 4852, + [SMALL_STATE(147)] = 4878, + [SMALL_STATE(148)] = 4904, + [SMALL_STATE(149)] = 4930, + [SMALL_STATE(150)] = 4956, + [SMALL_STATE(151)] = 4980, + [SMALL_STATE(152)] = 5002, + [SMALL_STATE(153)] = 5026, + [SMALL_STATE(154)] = 5050, + [SMALL_STATE(155)] = 5074, + [SMALL_STATE(156)] = 5098, + [SMALL_STATE(157)] = 5122, + [SMALL_STATE(158)] = 5146, + [SMALL_STATE(159)] = 5170, + [SMALL_STATE(160)] = 5194, + [SMALL_STATE(161)] = 5218, + [SMALL_STATE(162)] = 5242, + [SMALL_STATE(163)] = 5261, + [SMALL_STATE(164)] = 5281, + [SMALL_STATE(165)] = 5301, + [SMALL_STATE(166)] = 5319, + [SMALL_STATE(167)] = 5333, + [SMALL_STATE(168)] = 5353, + [SMALL_STATE(169)] = 5367, + [SMALL_STATE(170)] = 5387, + [SMALL_STATE(171)] = 5404, + [SMALL_STATE(172)] = 5419, + [SMALL_STATE(173)] = 5434, + [SMALL_STATE(174)] = 5449, + [SMALL_STATE(175)] = 5464, + [SMALL_STATE(176)] = 5479, + [SMALL_STATE(177)] = 5494, + [SMALL_STATE(178)] = 5511, + [SMALL_STATE(179)] = 5526, + [SMALL_STATE(180)] = 5541, + [SMALL_STATE(181)] = 5556, + [SMALL_STATE(182)] = 5571, + [SMALL_STATE(183)] = 5584, + [SMALL_STATE(184)] = 5597, + [SMALL_STATE(185)] = 5612, + [SMALL_STATE(186)] = 5627, + [SMALL_STATE(187)] = 5642, + [SMALL_STATE(188)] = 5657, + [SMALL_STATE(189)] = 5674, + [SMALL_STATE(190)] = 5691, + [SMALL_STATE(191)] = 5706, + [SMALL_STATE(192)] = 5721, + [SMALL_STATE(193)] = 5736, + [SMALL_STATE(194)] = 5751, + [SMALL_STATE(195)] = 5765, + [SMALL_STATE(196)] = 5779, + [SMALL_STATE(197)] = 5793, + [SMALL_STATE(198)] = 5803, + [SMALL_STATE(199)] = 5817, + [SMALL_STATE(200)] = 5831, + [SMALL_STATE(201)] = 5841, + [SMALL_STATE(202)] = 5855, + [SMALL_STATE(203)] = 5869, + [SMALL_STATE(204)] = 5883, + [SMALL_STATE(205)] = 5897, + [SMALL_STATE(206)] = 5911, + [SMALL_STATE(207)] = 5925, + [SMALL_STATE(208)] = 5939, + [SMALL_STATE(209)] = 5953, + [SMALL_STATE(210)] = 5967, + [SMALL_STATE(211)] = 5981, + [SMALL_STATE(212)] = 5991, + [SMALL_STATE(213)] = 6005, + [SMALL_STATE(214)] = 6015, + [SMALL_STATE(215)] = 6025, + [SMALL_STATE(216)] = 6039, + [SMALL_STATE(217)] = 6053, + [SMALL_STATE(218)] = 6067, + [SMALL_STATE(219)] = 6081, + [SMALL_STATE(220)] = 6095, + [SMALL_STATE(221)] = 6109, + [SMALL_STATE(222)] = 6123, + [SMALL_STATE(223)] = 6137, + [SMALL_STATE(224)] = 6151, + [SMALL_STATE(225)] = 6165, + [SMALL_STATE(226)] = 6179, + [SMALL_STATE(227)] = 6193, + [SMALL_STATE(228)] = 6207, + [SMALL_STATE(229)] = 6221, + [SMALL_STATE(230)] = 6235, + [SMALL_STATE(231)] = 6249, + [SMALL_STATE(232)] = 6263, + [SMALL_STATE(233)] = 6277, + [SMALL_STATE(234)] = 6291, + [SMALL_STATE(235)] = 6300, + [SMALL_STATE(236)] = 6309, + [SMALL_STATE(237)] = 6320, + [SMALL_STATE(238)] = 6331, + [SMALL_STATE(239)] = 6342, + [SMALL_STATE(240)] = 6353, + [SMALL_STATE(241)] = 6364, + [SMALL_STATE(242)] = 6373, + [SMALL_STATE(243)] = 6384, + [SMALL_STATE(244)] = 6395, + [SMALL_STATE(245)] = 6404, + [SMALL_STATE(246)] = 6413, + [SMALL_STATE(247)] = 6424, + [SMALL_STATE(248)] = 6435, + [SMALL_STATE(249)] = 6444, + [SMALL_STATE(250)] = 6455, + [SMALL_STATE(251)] = 6466, + [SMALL_STATE(252)] = 6477, + [SMALL_STATE(253)] = 6488, + [SMALL_STATE(254)] = 6497, + [SMALL_STATE(255)] = 6508, + [SMALL_STATE(256)] = 6517, + [SMALL_STATE(257)] = 6528, + [SMALL_STATE(258)] = 6537, + [SMALL_STATE(259)] = 6546, + [SMALL_STATE(260)] = 6555, + [SMALL_STATE(261)] = 6564, + [SMALL_STATE(262)] = 6573, + [SMALL_STATE(263)] = 6582, + [SMALL_STATE(264)] = 6591, + [SMALL_STATE(265)] = 6600, + [SMALL_STATE(266)] = 6611, + [SMALL_STATE(267)] = 6622, + [SMALL_STATE(268)] = 6631, + [SMALL_STATE(269)] = 6640, + [SMALL_STATE(270)] = 6651, + [SMALL_STATE(271)] = 6660, + [SMALL_STATE(272)] = 6671, + [SMALL_STATE(273)] = 6682, + [SMALL_STATE(274)] = 6693, + [SMALL_STATE(275)] = 6704, + [SMALL_STATE(276)] = 6715, + [SMALL_STATE(277)] = 6724, + [SMALL_STATE(278)] = 6735, + [SMALL_STATE(279)] = 6746, + [SMALL_STATE(280)] = 6755, + [SMALL_STATE(281)] = 6766, + [SMALL_STATE(282)] = 6777, + [SMALL_STATE(283)] = 6788, + [SMALL_STATE(284)] = 6796, + [SMALL_STATE(285)] = 6804, + [SMALL_STATE(286)] = 6812, + [SMALL_STATE(287)] = 6820, + [SMALL_STATE(288)] = 6828, + [SMALL_STATE(289)] = 6836, + [SMALL_STATE(290)] = 6844, + [SMALL_STATE(291)] = 6852, + [SMALL_STATE(292)] = 6860, + [SMALL_STATE(293)] = 6868, + [SMALL_STATE(294)] = 6876, + [SMALL_STATE(295)] = 6884, + [SMALL_STATE(296)] = 6892, + [SMALL_STATE(297)] = 6900, + [SMALL_STATE(298)] = 6908, + [SMALL_STATE(299)] = 6916, + [SMALL_STATE(300)] = 6924, + [SMALL_STATE(301)] = 6932, + [SMALL_STATE(302)] = 6940, + [SMALL_STATE(303)] = 6948, + [SMALL_STATE(304)] = 6956, + [SMALL_STATE(305)] = 6964, + [SMALL_STATE(306)] = 6972, + [SMALL_STATE(307)] = 6980, + [SMALL_STATE(308)] = 6988, + [SMALL_STATE(309)] = 6996, + [SMALL_STATE(310)] = 7004, + [SMALL_STATE(311)] = 7012, + [SMALL_STATE(312)] = 7020, + [SMALL_STATE(313)] = 7028, + [SMALL_STATE(314)] = 7036, + [SMALL_STATE(315)] = 7044, + [SMALL_STATE(316)] = 7052, + [SMALL_STATE(317)] = 7060, + [SMALL_STATE(318)] = 7068, + [SMALL_STATE(319)] = 7076, + [SMALL_STATE(320)] = 7084, + [SMALL_STATE(321)] = 7092, + [SMALL_STATE(322)] = 7100, + [SMALL_STATE(323)] = 7108, + [SMALL_STATE(324)] = 7116, + [SMALL_STATE(325)] = 7124, + [SMALL_STATE(326)] = 7132, + [SMALL_STATE(327)] = 7140, + [SMALL_STATE(328)] = 7148, + [SMALL_STATE(329)] = 7156, + [SMALL_STATE(330)] = 7164, + [SMALL_STATE(331)] = 7172, + [SMALL_STATE(332)] = 7180, + [SMALL_STATE(333)] = 7188, + [SMALL_STATE(334)] = 7196, + [SMALL_STATE(335)] = 7204, + [SMALL_STATE(336)] = 7212, + [SMALL_STATE(337)] = 7220, + [SMALL_STATE(338)] = 7228, + [SMALL_STATE(339)] = 7236, + [SMALL_STATE(340)] = 7244, + [SMALL_STATE(341)] = 7252, + [SMALL_STATE(342)] = 7260, + [SMALL_STATE(343)] = 7268, + [SMALL_STATE(344)] = 7276, + [SMALL_STATE(345)] = 7284, + [SMALL_STATE(346)] = 7292, + [SMALL_STATE(347)] = 7300, + [SMALL_STATE(348)] = 7308, + [SMALL_STATE(349)] = 7316, + [SMALL_STATE(350)] = 7324, + [SMALL_STATE(351)] = 7332, + [SMALL_STATE(352)] = 7340, + [SMALL_STATE(353)] = 7348, + [SMALL_STATE(354)] = 7356, + [SMALL_STATE(355)] = 7364, + [SMALL_STATE(356)] = 7372, + [SMALL_STATE(357)] = 7380, + [SMALL_STATE(358)] = 7388, + [SMALL_STATE(359)] = 7396, + [SMALL_STATE(360)] = 7404, + [SMALL_STATE(361)] = 7412, + [SMALL_STATE(362)] = 7420, + [SMALL_STATE(363)] = 7428, + [SMALL_STATE(364)] = 7436, + [SMALL_STATE(365)] = 7444, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -8080,392 +9543,517 @@ 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 = true}}, SHIFT(206), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), - [29] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_path_segments_repeat1, 2), - [31] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_path_segments_repeat1, 2), SHIFT_REPEAT(250), - [34] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_path_segments_repeat1, 2), - [36] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_path_segments, 2), - [38] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), - [40] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_path_segments, 2), - [42] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_path_segments, 1), - [44] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_path_segments, 1), - [46] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3), - [48] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3), - [50] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2), - [52] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2), - [54] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_path, 1), - [56] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_path, 1), - [58] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1), - [60] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1), - [62] = {.entry = {.count = 1, .reusable = false}}, SHIFT(148), - [64] = {.entry = {.count = 1, .reusable = false}}, SHIFT(167), - [66] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), - [68] = {.entry = {.count = 1, .reusable = false}}, SHIFT(218), - [70] = {.entry = {.count = 1, .reusable = false}}, SHIFT(217), - [72] = {.entry = {.count = 1, .reusable = false}}, SHIFT(228), - [74] = {.entry = {.count = 1, .reusable = false}}, SHIFT(225), - [76] = {.entry = {.count = 1, .reusable = false}}, SHIFT(213), - [78] = {.entry = {.count = 1, .reusable = false}}, SHIFT(133), - [80] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [82] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), - [84] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [86] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [88] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9), - [90] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [92] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), - [94] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), - [98] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(206), - [101] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(288), - [104] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(287), - [107] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(286), - [110] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(283), - [113] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(282), - [116] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(281), - [119] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(280), - [122] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(279), - [125] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(277), - [128] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(276), - [131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [137] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1), - [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1), - [141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), - [143] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), - [145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [151] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_selector_node_repeat1, 2), SHIFT_REPEAT(60), - [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_selector_node_repeat1, 2), - [156] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_selector_node_repeat1, 2), SHIFT_REPEAT(167), - [159] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_selector_node_repeat1, 2), SHIFT_REPEAT(218), - [162] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_selector_node_repeat1, 2), SHIFT_REPEAT(217), - [165] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_selector_node_repeat1, 2), SHIFT_REPEAT(228), - [168] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_selector_node_repeat1, 2), SHIFT_REPEAT(225), - [171] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_selector_node_repeat1, 2), SHIFT_REPEAT(213), - [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), - [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prose_block, 5, .production_id = 12), - [180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prose_block, 5, .production_id = 12), - [182] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3), - [184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3), - [186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), - [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 1), - [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 1), - [194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_override, 5), - [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_override, 5), - [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range, 3), - [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range, 3), - [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prose_block, 4, .production_id = 9), - [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prose_block, 4, .production_id = 9), - [206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [208] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 2), - [210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 2), - [212] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_override, 4), - [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_override, 4), - [216] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 5), - [218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 5), - [220] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 4), - [222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 4), - [224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [226] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_template_repeat2, 2), SHIFT_REPEAT(180), - [229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_template_repeat2, 2), - [231] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_template_repeat2, 2), - [233] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_repeat2, 2), SHIFT_REPEAT(235), - [236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field, 3, .production_id = 6), - [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 3, .production_id = 6), - [240] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), - [242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [244] = {.entry = {.count = 1, .reusable = false}}, SHIFT(192), - [246] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58), - [248] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field, 1), - [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 1), - [252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_action_node, 1), - [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_action_node, 1), - [256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_condition_node, 4, .production_id = 10), - [260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_condition_node, 4, .production_id = 10), - [264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_action_node, 3), - [266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_action_node, 3), - [268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_action_node, 6), - [270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_action_node, 6), - [272] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subtree_node, 2), - [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subtree_node, 2), - [276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_decorator_node, 4, .production_id = 11), - [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decorator_node, 4, .production_id = 11), - [280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_selector_node, 5, .production_id = 13), - [282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_selector_node, 5, .production_id = 13), - [284] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_node, 5, .production_id = 13), - [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_node, 5, .production_id = 13), - [288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_action_node, 4), - [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_action_node, 4), - [292] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_selector_node, 4), - [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_selector_node, 4), - [296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_action_node, 5), - [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_action_node, 5), - [300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_decorator_node, 5, .production_id = 15), - [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decorator_node, 5, .production_id = 15), - [304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_behavior_node, 1), - [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_behavior_node, 1), - [308] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_decorator_node, 7, .production_id = 18), - [310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_decorator_node, 7, .production_id = 18), - [312] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_node, 4), - [314] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_node, 4), - [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_location, 3, .production_id = 2), - [318] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_declaration, 5), - [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_schedule, 4, .production_id = 2), - [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_schedule, 6, .production_id = 2), - [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 5, .production_id = 2), - [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_declaration, 9), - [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 7, .production_id = 2), - [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_species, 5, .production_id = 2), - [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_relationship, 5, .production_id = 2), - [334] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_behavior, 6, .production_id = 8), - [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_life_arc, 4, .production_id = 2), - [338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_relationship, 6, .production_id = 2), - [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_species, 4, .production_id = 2), - [342] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_life_arc, 5, .production_id = 2), - [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_declaration, 8), - [346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 1), - [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_behavior, 5, .production_id = 5), - [350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_life_arc, 6, .production_id = 2), - [352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character, 6, .production_id = 7), - [354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_institution, 3, .production_id = 2), - [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template, 7, .production_id = 2), - [358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_declaration, 3), - [360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template, 4, .production_id = 2), - [362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character, 4, .production_id = 3), - [364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template, 6, .production_id = 2), - [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character, 5, .production_id = 4), - [368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character, 3, .production_id = 1), - [370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_declaration, 7), - [372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 6, .production_id = 2), - [374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template, 5, .production_id = 2), - [376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_schedule, 5, .production_id = 2), - [378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_species, 6, .production_id = 2), - [380] = {.entry = {.count = 1, .reusable = false}}, SHIFT(180), - [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), - [384] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51), - [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primary_expression, 1), - [392] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primary_expression, 1), - [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), - [396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_not_expression, 2), - [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [400] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59), - [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [404] = {.entry = {.count = 1, .reusable = false}}, SHIFT(242), - [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), - [408] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), - [410] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_override_repeat1, 2), SHIFT_REPEAT(180), - [413] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_override_repeat1, 2), - [415] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_override_repeat1, 2), SHIFT_REPEAT(266), - [418] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_override_repeat1, 2), SHIFT_REPEAT(150), - [421] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_override_repeat1, 2), SHIFT_REPEAT(235), - [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), - [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [428] = {.entry = {.count = 1, .reusable = false}}, SHIFT(266), - [430] = {.entry = {.count = 1, .reusable = false}}, SHIFT(150), - [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [434] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), - [436] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), - [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [440] = {.entry = {.count = 1, .reusable = false}}, SHIFT(244), - [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), - [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), - [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [452] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_access, 3), - [454] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_access, 3), - [456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), - [458] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_or_expression, 3), - [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [462] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_and_expression, 3), - [464] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comparison, 3, .production_id = 14), - [466] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comparison, 3, .production_id = 14), - [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [474] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dotted_path, 1), - [476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), - [478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), - [484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [488] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_relationship_repeat1, 2), SHIFT_REPEAT(4), - [491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_relationship_repeat1, 2), - [493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [501] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_template_repeat1, 2), - [503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_template_repeat1, 2), - [505] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_template_repeat1, 2), SHIFT_REPEAT(242), - [508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dotted_path, 1), - [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), - [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), - [516] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_override_op, 1), - [518] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_override_op, 1), - [520] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_override_op, 2), - [522] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_override_op, 2), - [524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), - [528] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_on_enter, 3), - [530] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_on_enter, 3), - [532] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_arc_state_repeat1, 2), - [534] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_arc_state_repeat1, 2), SHIFT_REPEAT(53), - [537] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_declaration_repeat1, 2), - [539] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_use_declaration_repeat1, 2), SHIFT_REPEAT(265), - [542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), - [544] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_include, 2), - [546] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include, 2), - [548] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_life_arc_repeat1, 2), - [550] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_life_arc_repeat1, 2), SHIFT_REPEAT(244), - [553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_schedule_repeat1, 2), - [555] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_schedule_repeat1, 2), SHIFT_REPEAT(245), - [558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [560] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), - [568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), - [570] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_dotted_path_repeat1, 2), - [572] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dotted_path_repeat1, 2), SHIFT_REPEAT(264), - [575] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_path_segments, 1), SHIFT(250), - [578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_clause, 2), - [580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), - [582] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(44), - [585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), - [587] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_participant, 2), - [589] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_action_node_repeat1, 2), SHIFT_REPEAT(22), - [592] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_action_node_repeat1, 2), - [594] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_path_segments, 2), SHIFT(250), - [597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), - [601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), - [607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [609] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), - [615] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_participant, 4), - [617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_clause, 3), - [619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), - [621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), - [625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), - [627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), - [629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dotted_path, 2), - [631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arc_state, 7, .production_id = 2), - [633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), - [635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), - [637] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_transition, 4, .production_id = 17), - [639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_schedule_block, 6, .production_id = 16), - [641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arc_state, 6, .production_id = 2), - [643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), - [645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), - [649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), - [651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), - [657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), - [659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arc_state, 4, .production_id = 2), - [661] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), - [663] = {.entry = {.count = 1, .reusable = false}}, SHIFT(259), - [665] = {.entry = {.count = 1, .reusable = false}}, SHIFT(248), - [667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decorator_keyword, 1), - [669] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_action_param, 3), - [671] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_action_param, 1), - [673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), - [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), - [677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), - [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [681] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), - [683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [685] = {.entry = {.count = 1, .reusable = false}}, SHIFT(194), - [687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), - [689] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_clause, 4), - [691] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arc_state, 5, .production_id = 2), - [693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), - [697] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decorator_params, 3), - [699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), - [707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), - [715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), - [721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), - [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), - [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), - [729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), - [731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), - [733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), - [735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), - [737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239), - [747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), - [757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), - [761] = {.entry = {.count = 1, .reusable = false}}, SHIFT(229), - [763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), - [769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), - [773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [779] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), - [783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), - [793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), - [795] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decorator_params, 5), - [797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), - [799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), - [801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), - [803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), - [805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), - [807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), - [809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), - [811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), - [813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(346), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(344), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336), + [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3), + [37] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3), + [39] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2), + [41] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2), + [43] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_path_segments_repeat1, 2), + [45] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_path_segments_repeat1, 2), SHIFT_REPEAT(302), + [48] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_path_segments_repeat1, 2), + [50] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_path_segments, 2), + [52] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), + [54] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_path_segments, 2), + [56] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_path_segments, 1), + [58] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_path_segments, 1), + [60] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_path, 1), + [62] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_path, 1), + [64] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1), + [66] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1), + [68] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), + [70] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), + [72] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(240), + [75] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(365), + [78] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(364), + [81] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(361), + [84] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(359), + [87] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(357), + [90] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(353), + [93] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(350), + [96] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(349), + [99] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(348), + [102] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(347), + [105] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(346), + [108] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(344), + [111] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(336), + [114] = {.entry = {.count = 1, .reusable = false}}, SHIFT(163), + [116] = {.entry = {.count = 1, .reusable = false}}, SHIFT(201), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), + [120] = {.entry = {.count = 1, .reusable = false}}, SHIFT(274), + [122] = {.entry = {.count = 1, .reusable = false}}, SHIFT(273), + [124] = {.entry = {.count = 1, .reusable = false}}, SHIFT(300), + [126] = {.entry = {.count = 1, .reusable = false}}, SHIFT(301), + [128] = {.entry = {.count = 1, .reusable = false}}, SHIFT(260), + [130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(148), + [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [134] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19), + [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [140] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9), + [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), + [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), + [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1), + [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1), + [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332), + [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331), + [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [170] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_selector_node_repeat1, 2), SHIFT_REPEAT(62), + [173] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_selector_node_repeat1, 2), + [175] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_selector_node_repeat1, 2), SHIFT_REPEAT(201), + [178] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_selector_node_repeat1, 2), SHIFT_REPEAT(274), + [181] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_selector_node_repeat1, 2), SHIFT_REPEAT(273), + [184] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_selector_node_repeat1, 2), SHIFT_REPEAT(300), + [187] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_selector_node_repeat1, 2), SHIFT_REPEAT(301), + [190] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_selector_node_repeat1, 2), SHIFT_REPEAT(260), + [193] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prose_block, 5, .production_id = 14), + [195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prose_block, 5, .production_id = 14), + [197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6), + [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 4), + [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 4), + [205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_override, 5), + [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_override, 5), + [209] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3), + [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3), + [213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 1), + [215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 1), + [217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [219] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 2), + [221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 2), + [223] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prose_block, 4, .production_id = 10), + [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prose_block, 4, .production_id = 10), + [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range, 3), + [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range, 3), + [233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 5), + [235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 5), + [237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_override, 4), + [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_override, 4), + [241] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_template_repeat2, 2), SHIFT_REPEAT(172), + [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_template_repeat2, 2), + [246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_template_repeat2, 2), + [248] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_repeat2, 2), SHIFT_REPEAT(285), + [251] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field, 1), + [253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 1), + [255] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field, 3, .production_id = 6), + [257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 3, .production_id = 6), + [259] = {.entry = {.count = 1, .reusable = false}}, SHIFT(143), + [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [263] = {.entry = {.count = 1, .reusable = false}}, SHIFT(238), + [265] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56), + [267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_declaration, 9), + [269] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_use_declaration, 9), + [271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_condition_node, 4, .production_id = 11), + [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_condition_node, 4, .production_id = 11), + [277] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_action_node, 1), + [279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_action_node, 1), + [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template, 8, .production_id = 8), + [285] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template, 8, .production_id = 8), + [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 5, .production_id = 2), + [289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 5, .production_id = 2), + [291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_schedule, 5, .production_id = 2), + [293] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_schedule, 5, .production_id = 2), + [295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_concept_comparison, 5, .production_id = 2), + [297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_concept_comparison, 5, .production_id = 2), + [299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_species, 5, .production_id = 2), + [301] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_species, 5, .production_id = 2), + [303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_relationship, 5, .production_id = 2), + [305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_relationship, 5, .production_id = 2), + [307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_concept_comparison, 6, .production_id = 2), + [309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_concept_comparison, 6, .production_id = 2), + [311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character, 4, .production_id = 3), + [313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character, 4, .production_id = 3), + [315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template, 4, .production_id = 2), + [317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template, 4, .production_id = 2), + [319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_concept_declaration, 3, .production_id = 2), + [321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_concept_declaration, 3, .production_id = 2), + [323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template, 7, .production_id = 2), + [325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template, 7, .production_id = 2), + [327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_location, 3, .production_id = 2), + [329] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_location, 3, .production_id = 2), + [331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_institution, 3, .production_id = 2), + [333] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_institution, 3, .production_id = 2), + [335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_behavior, 5, .production_id = 5), + [337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_behavior, 5, .production_id = 5), + [339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_life_arc, 4, .production_id = 2), + [341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_life_arc, 4, .production_id = 2), + [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_behavior, 6, .production_id = 9), + [345] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_behavior, 6, .production_id = 9), + [347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template, 7, .production_id = 8), + [349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template, 7, .production_id = 8), + [351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_life_arc, 5, .production_id = 2), + [353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_life_arc, 5, .production_id = 2), + [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_schedule, 4, .production_id = 2), + [357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_schedule, 4, .production_id = 2), + [359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_declaration, 8), + [361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_use_declaration, 8), + [363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_relationship, 6, .production_id = 2), + [365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_relationship, 6, .production_id = 2), + [367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character, 3, .production_id = 1), + [369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character, 3, .production_id = 1), + [371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_concept_comparison, 7, .production_id = 2), + [373] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_concept_comparison, 7, .production_id = 2), + [375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template, 5, .production_id = 2), + [377] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template, 5, .production_id = 2), + [379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sub_concept, 7, .production_id = 13), + [381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sub_concept, 7, .production_id = 13), + [383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 7, .production_id = 2), + [385] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 7, .production_id = 2), + [387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_schedule, 6, .production_id = 2), + [389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_schedule, 6, .production_id = 2), + [391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character, 5, .production_id = 4), + [393] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character, 5, .production_id = 4), + [395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_declaration, 3), + [397] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_use_declaration, 3), + [399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_life_arc, 6, .production_id = 2), + [401] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_life_arc, 6, .production_id = 2), + [403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template, 6, .production_id = 8), + [405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template, 6, .production_id = 8), + [407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 1), + [409] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 1), + [411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_species, 6, .production_id = 2), + [413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_species, 6, .production_id = 2), + [415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_declaration, 5), + [417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_use_declaration, 5), + [419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character, 6, .production_id = 7), + [421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character, 6, .production_id = 7), + [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_declaration, 7), + [425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_use_declaration, 7), + [427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_species, 4, .production_id = 2), + [429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_species, 4, .production_id = 2), + [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 6, .production_id = 2), + [433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 6, .production_id = 2), + [435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template, 9, .production_id = 8), + [437] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template, 9, .production_id = 8), + [439] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template, 6, .production_id = 2), + [441] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template, 6, .production_id = 2), + [443] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_decorator_node, 5, .production_id = 17), + [445] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decorator_node, 5, .production_id = 17), + [447] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_node, 4), + [449] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_node, 4), + [451] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_behavior_node, 1), + [453] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_behavior_node, 1), + [455] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_action_node, 6), + [457] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_action_node, 6), + [459] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_action_node, 5), + [461] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_action_node, 5), + [463] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_action_node, 4), + [465] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_action_node, 4), + [467] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_decorator_node, 4, .production_id = 12), + [469] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decorator_node, 4, .production_id = 12), + [471] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_selector_node, 4), + [473] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_selector_node, 4), + [475] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_node, 5, .production_id = 15), + [477] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_node, 5, .production_id = 15), + [479] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_selector_node, 5, .production_id = 15), + [481] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_selector_node, 5, .production_id = 15), + [483] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_action_node, 3), + [485] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_action_node, 3), + [487] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subtree_node, 2), + [489] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subtree_node, 2), + [491] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_decorator_node, 7, .production_id = 23), + [493] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_decorator_node, 7, .production_id = 23), + [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [499] = {.entry = {.count = 1, .reusable = false}}, SHIFT(172), + [501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [503] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), + [505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [507] = {.entry = {.count = 1, .reusable = false}}, SHIFT(290), + [509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [511] = {.entry = {.count = 1, .reusable = false}}, SHIFT(324), + [513] = {.entry = {.count = 1, .reusable = false}}, SHIFT(164), + [515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [517] = {.entry = {.count = 1, .reusable = false}}, SHIFT(286), + [519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [521] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_override_repeat1, 2), SHIFT_REPEAT(172), + [524] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_override_repeat1, 2), + [526] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_override_repeat1, 2), SHIFT_REPEAT(324), + [529] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_override_repeat1, 2), SHIFT_REPEAT(164), + [532] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_override_repeat1, 2), SHIFT_REPEAT(285), + [535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), + [539] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59), + [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), + [545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_access, 3), + [549] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_access, 3), + [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), + [555] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_not_expression, 2), + [557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [559] = {.entry = {.count = 1, .reusable = false}}, SHIFT(55), + [561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_and_expression, 3), + [565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_or_expression, 3), + [567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [571] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comparison, 3, .production_id = 16), + [573] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comparison, 3, .production_id = 16), + [575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), + [577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), + [581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [587] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primary_expression, 1), + [589] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primary_expression, 1), + [591] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), + [593] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), + [595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [601] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dotted_path, 1), + [603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316), + [605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), + [607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [609] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_relationship_repeat1, 2), SHIFT_REPEAT(6), + [612] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_relationship_repeat1, 2), + [614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [624] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_template_repeat1, 2), + [626] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_template_repeat1, 2), + [628] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_template_repeat1, 2), SHIFT_REPEAT(286), + [631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dotted_path, 1), + [633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [635] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_override_op, 2), + [637] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_override_op, 2), + [639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), + [641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297), + [643] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_override_op, 1), + [645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_override_op, 1), + [647] = {.entry = {.count = 1, .reusable = false}}, SHIFT(255), + [649] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_dotted_path_repeat1, 2), + [651] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dotted_path_repeat1, 2), SHIFT_REPEAT(316), + [654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), + [656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), + [658] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_is_condition_repeat1, 2), + [660] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_is_condition_repeat1, 2), SHIFT_REPEAT(282), + [663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), + [665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dotted_path, 2), + [669] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_declaration_repeat1, 2), + [671] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_use_declaration_repeat1, 2), SHIFT_REPEAT(328), + [674] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_on_enter, 3), + [676] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_on_enter, 3), + [678] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_include, 2), + [680] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include, 2), + [682] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_schedule_repeat1, 2), + [684] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_schedule_repeat1, 2), SHIFT_REPEAT(293), + [687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [689] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_life_arc_repeat1, 2), + [691] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_life_arc_repeat1, 2), SHIFT_REPEAT(290), + [694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), + [696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), + [698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), + [700] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sub_concept_enum_body, 1), + [702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), + [704] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_arc_state_repeat1, 2), + [706] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_arc_state_repeat1, 2), SHIFT_REPEAT(59), + [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [711] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_is_condition, 3), + [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), + [715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_is_condition, 4), + [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), + [719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), + [721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), + [727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_clause, 2), + [729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), + [731] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_is_condition_repeat1, 4), + [733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [735] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_participant, 2), + [737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), + [739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), + [743] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sub_concept_record_body, 2), + [745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), + [747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), + [751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310), + [753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), + [755] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sub_concept_enum_body, 2), + [757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), + [759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(338), + [761] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_path_segments, 2), SHIFT(302), + [764] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_variant_pattern_repeat1, 2), SHIFT_REPEAT(199), + [767] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_variant_pattern_repeat1, 2), + [769] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_participant, 4), + [771] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_action_node_repeat1, 2), SHIFT_REPEAT(18), + [774] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_action_node_repeat1, 2), + [776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239), + [782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358), + [788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), + [790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), + [794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), + [798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355), + [800] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sub_concept_record_body, 3), + [802] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_sub_concept_record_body_repeat1, 2), SHIFT_REPEAT(250), + [805] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_sub_concept_record_body_repeat1, 2), + [807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), + [809] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sub_concept_record_body, 1), + [811] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_clause, 3), + [813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), + [815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [817] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concept_comparison_repeat1, 2), SHIFT_REPEAT(275), + [820] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_concept_comparison_repeat1, 2), + [822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [824] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(44), + [827] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), + [829] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_path_segments, 1), SHIFT(302), + [832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [836] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arc_state, 4, .production_id = 2), + [838] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_action_param, 1), + [840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), + [842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [844] = {.entry = {.count = 1, .reusable = false}}, SHIFT(256), + [846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), + [848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), + [850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), + [852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), + [854] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variant_pattern, 5, .production_id = 19), + [856] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_schedule_block, 6, .production_id = 20), + [858] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), + [860] = {.entry = {.count = 1, .reusable = false}}, SHIFT(352), + [862] = {.entry = {.count = 1, .reusable = false}}, SHIFT(351), + [864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [866] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sub_concept_enum_body, 3), + [868] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_condition_expr, 1), + [870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), + [872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305), + [874] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_condition, 3, .production_id = 21), + [876] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sub_concept_field, 3, .production_id = 18), + [878] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arc_state, 6, .production_id = 2), + [880] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decorator_keyword, 1), + [882] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variant_pattern, 6, .production_id = 19), + [884] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_action_param, 3), + [886] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_clause, 4), + [888] = {.entry = {.count = 1, .reusable = false}}, SHIFT(258), + [890] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_transition, 4, .production_id = 22), + [892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289), + [894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287), + [896] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arc_state, 7, .production_id = 2), + [898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329), + [900] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323), + [904] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [906] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variant_pattern, 7, .production_id = 19), + [908] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arc_state, 5, .production_id = 2), + [910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [912] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317), + [914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), + [920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [926] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), + [928] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), + [930] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311), + [932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), + [934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), + [936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), + [940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), + [946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [958] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decorator_params, 3), + [960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), + [962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), + [964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), + [966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(356), + [972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), + [978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), + [980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), + [986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(345), + [992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [1000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [1002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [1004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), + [1006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [1008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [1010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [1012] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [1014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), + [1016] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decorator_params, 5), + [1018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [1020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [1022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354), + [1024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [1026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [1028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), + [1030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), + [1032] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), + [1034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), + [1036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), + [1038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [1040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), + [1042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [1044] = {.entry = {.count = 1, .reusable = false}}, SHIFT(333), + [1046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [1048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [1050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [1052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), + [1054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), + [1056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), + [1058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(326), + [1060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362), + [1062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327), + [1064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [1066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [1068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), + [1070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), }; #ifdef __cplusplus diff --git a/tree-sitter-storybook/test/corpus/type_system.txt b/tree-sitter-storybook/test/corpus/type_system.txt new file mode 100644 index 0000000..15202a6 --- /dev/null +++ b/tree-sitter-storybook/test/corpus/type_system.txt @@ -0,0 +1,360 @@ +================== +Concept declaration +================== + +concept Cup; + +--- + +(source_file + (declaration + (concept_declaration + name: (identifier)))) + +================== +Multiple concept declarations +================== + +concept Cup; +concept Customer; +concept Vendor; + +--- + +(source_file + (declaration + (concept_declaration + name: (identifier))) + (declaration + (concept_declaration + name: (identifier))) + (declaration + (concept_declaration + name: (identifier)))) + +================== +Sub-concept - enum form +================== + +sub_concept Cup.Size { + Small, + Medium, + Large +} + +--- + +(source_file + (declaration + (sub_concept + parent: (identifier) + name: (identifier) + body: (sub_concept_enum_body + (identifier) + (identifier) + (identifier))))) + +================== +Sub-concept - record form with any +================== + +sub_concept Vendor.Inventory { + Bread: any, + Pastries: any, + Cakes: any, + Cup: any +} + +--- + +(source_file + (declaration + (sub_concept + parent: (identifier) + name: (identifier) + body: (sub_concept_record_body + (sub_concept_field + name: (identifier) + type: (any_type)) + (sub_concept_field + name: (identifier) + type: (any_type)) + (sub_concept_field + name: (identifier) + type: (any_type)) + (sub_concept_field + name: (identifier) + type: (any_type)))))) + +================== +Sub-concept - record form with typed fields +================== + +sub_concept Vendor.Inventory { + Bread: any, + Pastries: Number +} + +--- + +(source_file + (declaration + (sub_concept + parent: (identifier) + name: (identifier) + body: (sub_concept_record_body + (sub_concept_field + name: (identifier) + type: (any_type)) + (sub_concept_field + name: (identifier) + type: (identifier)))))) + +================== +Concept comparison with any conditions +================== + +concept_comparison NotInterested { + NotInterested: { + Cup.Size: any, + Cup.Type: any, + Cup.Color: any + } +} + +--- + +(source_file + (declaration + (concept_comparison + name: (identifier) + (variant_pattern + name: (identifier) + (field_condition + sub_concept: (dotted_path + (identifier) + (identifier)) + condition: (condition_expr + (any_type))) + (field_condition + sub_concept: (dotted_path + (identifier) + (identifier)) + condition: (condition_expr + (any_type))) + (field_condition + sub_concept: (dotted_path + (identifier) + (identifier)) + condition: (condition_expr + (any_type))))))) + +================== +Concept comparison with is conditions +================== + +concept_comparison Interest { + Interested: { + Cup.Type: Cup.Type is Glass or Cup.Type is Plastic, + Cup.Color: Cup.Color is Red + } +} + +--- + +(source_file + (declaration + (concept_comparison + name: (identifier) + (variant_pattern + name: (identifier) + (field_condition + sub_concept: (dotted_path + (identifier) + (identifier)) + condition: (condition_expr + (is_condition + (dotted_path + (identifier) + (identifier)) + (identifier) + (dotted_path + (identifier) + (identifier)) + (identifier)))) + (field_condition + sub_concept: (dotted_path + (identifier) + (identifier)) + condition: (condition_expr + (is_condition + (dotted_path + (identifier) + (identifier)) + (identifier)))))))) + +================== +Concept comparison with multiple variants +================== + +concept_comparison FoodQuality { + Excellent: { + Food.Freshness: Food.Freshness is Fresh + }, + Poor: { + Food.Freshness: Food.Freshness is Stale or Food.Freshness is Spoiled + } +} + +--- + +(source_file + (declaration + (concept_comparison + name: (identifier) + (variant_pattern + name: (identifier) + (field_condition + sub_concept: (dotted_path + (identifier) + (identifier)) + condition: (condition_expr + (is_condition + (dotted_path + (identifier) + (identifier)) + (identifier))))) + (variant_pattern + name: (identifier) + (field_condition + sub_concept: (dotted_path + (identifier) + (identifier)) + condition: (condition_expr + (is_condition + (dotted_path + (identifier) + (identifier)) + (identifier) + (dotted_path + (identifier) + (identifier)) + (identifier)))))))) + +================== +Template with species extension +================== + +template Person: Human { + age: 0..100 + name: "" +} + +--- + +(source_file + (declaration + (template + name: (identifier) + species: (identifier) + (field + name: (dotted_path (identifier)) + value: (value (range (integer) (integer)))) + (field + name: (dotted_path (identifier)) + value: (value (string)))))) + +================== +Full type system example +================== + +concept Cup; + +sub_concept Cup.Size { + Small, + Medium, + Large +} + +sub_concept Cup.Type { + Ceramic, + Glass, + Plastic +} + +concept_comparison CupPreference { + Preferred: { + Cup.Size: any, + Cup.Type: Cup.Type is Glass or Cup.Type is Ceramic + }, + Avoided: { + Cup.Size: any, + Cup.Type: Cup.Type is Plastic + } +} + +--- + +(source_file + (declaration + (concept_declaration + name: (identifier))) + (declaration + (sub_concept + parent: (identifier) + name: (identifier) + body: (sub_concept_enum_body + (identifier) + (identifier) + (identifier)))) + (declaration + (sub_concept + parent: (identifier) + name: (identifier) + body: (sub_concept_enum_body + (identifier) + (identifier) + (identifier)))) + (declaration + (concept_comparison + name: (identifier) + (variant_pattern + name: (identifier) + (field_condition + sub_concept: (dotted_path + (identifier) + (identifier)) + condition: (condition_expr + (any_type))) + (field_condition + sub_concept: (dotted_path + (identifier) + (identifier)) + condition: (condition_expr + (is_condition + (dotted_path + (identifier) + (identifier)) + (identifier) + (dotted_path + (identifier) + (identifier)) + (identifier))))) + (variant_pattern + name: (identifier) + (field_condition + sub_concept: (dotted_path + (identifier) + (identifier)) + condition: (condition_expr + (any_type))) + (field_condition + sub_concept: (dotted_path + (identifier) + (identifier)) + condition: (condition_expr + (is_condition + (dotted_path + (identifier) + (identifier)) + (identifier))))))))