#include "tree_sitter/parser.h"
#if defined(__GNUC__) || defined(__clang__)
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
#endif
#define LANGUAGE_VERSION 15
#define STATE_COUNT 134
#define LARGE_STATE_COUNT 2
#define SYMBOL_COUNT 63
#define ALIAS_COUNT 0
#define TOKEN_COUNT 32
#define EXTERNAL_TOKEN_COUNT 0
#define FIELD_COUNT 0
#define MAX_ALIAS_SEQUENCE_LENGTH 5
#define MAX_RESERVED_WORD_SET_SIZE 0
#define PRODUCTION_ID_COUNT 1
#define SUPERTYPE_COUNT 0
enum ts_symbol_identifiers {
sym_identifier = 1,
sym_doc_comment = 2,
sym_line_comment = 3,
sym_refinement_identifier = 4,
sym_keyword_type = 5,
sym_keyword_opt = 6,
sym_keyword_arg = 7,
sym_keyword_cmd = 8,
sym_keyword_env = 9,
sym_keyword_requires = 10,
sym_keyword_excludes = 11,
sym_keyword_ensures = 12,
sym_keyword_subcommands = 13,
sym_operator_and = 14,
sym_operator_or = 15,
sym_open_paren = 16,
sym_closed_paren = 17,
sym_open_bracket = 18,
sym_closed_bracket = 19,
sym_open_square = 20,
sym_closed_square = 21,
sym_open_chevron = 22,
sym_closed_chevron = 23,
sym_comma = 24,
sym_range = 25,
sym_named_identifier = 26,
sym_int_literal = 27,
sym_float_literal = 28,
sym_string_literal = 29,
sym_bool_literal = 30,
sym_fat_arrow = 31,
sym_source_file = 32,
sym__declaration = 33,
sym_declaration_block = 34,
sym__constraint_declaration = 35,
sym_constraint_block = 36,
sym_refinement_clause = 37,
sym_type_expression = 38,
sym_nested_type = 39,
sym__literals = 40,
sym_anonymous_enum_expression = 41,
sym_anonymous_list_expression = 42,
sym_identifier_with_list = 43,
sym_type_declaration = 44,
sym_requires_clause = 45,
sym_excludes_clause = 46,
sym_ensures_clause = 47,
sym_subcommands_clause = 48,
sym_and_expression = 49,
sym_or_expression = 50,
sym_paren_expression = 51,
sym__boolean_expression = 52,
sym_opt_declaration = 53,
sym_env_declaration = 54,
sym_arg_declaration = 55,
sym_arg_unit = 56,
sym_range_unit = 57,
sym_cmd_declaration = 58,
aux_sym_source_file_repeat1 = 59,
aux_sym_constraint_block_repeat1 = 60,
aux_sym_anonymous_enum_expression_repeat1 = 61,
aux_sym_anonymous_list_expression_repeat1 = 62,
};
static const char * const ts_symbol_names[] = {
[ts_builtin_sym_end] = "end",
[sym_identifier] = "identifier",
[sym_doc_comment] = "doc_comment",
[sym_line_comment] = "line_comment",
[sym_refinement_identifier] = "refinement_identifier",
[sym_keyword_type] = "keyword_type",
[sym_keyword_opt] = "keyword_opt",
[sym_keyword_arg] = "keyword_arg",
[sym_keyword_cmd] = "keyword_cmd",
[sym_keyword_env] = "keyword_env",
[sym_keyword_requires] = "keyword_requires",
[sym_keyword_excludes] = "keyword_excludes",
[sym_keyword_ensures] = "keyword_ensures",
[sym_keyword_subcommands] = "keyword_subcommands",
[sym_operator_and] = "operator_and",
[sym_operator_or] = "operator_or",
[sym_open_paren] = "open_paren",
[sym_closed_paren] = "closed_paren",
[sym_open_bracket] = "open_bracket",
[sym_closed_bracket] = "closed_bracket",
[sym_open_square] = "open_square",
[sym_closed_square] = "closed_square",
[sym_open_chevron] = "open_chevron",
[sym_closed_chevron] = "closed_chevron",
[sym_comma] = "comma",
[sym_range] = "range",
[sym_named_identifier] = "named_identifier",
[sym_int_literal] = "int_literal",
[sym_float_literal] = "float_literal",
[sym_string_literal] = "string_literal",
[sym_bool_literal] = "bool_literal",
[sym_fat_arrow] = "fat_arrow",
[sym_source_file] = "source_file",
[sym__declaration] = "_declaration",
[sym_declaration_block] = "declaration_block",
[sym__constraint_declaration] = "_constraint_declaration",
[sym_constraint_block] = "constraint_block",
[sym_refinement_clause] = "refinement_clause",
[sym_type_expression] = "type_expression",
[sym_nested_type] = "nested_type",
[sym__literals] = "_literals",
[sym_anonymous_enum_expression] = "anonymous_enum_expression",
[sym_anonymous_list_expression] = "anonymous_list_expression",
[sym_identifier_with_list] = "identifier_with_list",
[sym_type_declaration] = "type_declaration",
[sym_requires_clause] = "requires_clause",
[sym_excludes_clause] = "excludes_clause",
[sym_ensures_clause] = "ensures_clause",
[sym_subcommands_clause] = "subcommands_clause",
[sym_and_expression] = "and_expression",
[sym_or_expression] = "or_expression",
[sym_paren_expression] = "paren_expression",
[sym__boolean_expression] = "_boolean_expression",
[sym_opt_declaration] = "opt_declaration",
[sym_env_declaration] = "env_declaration",
[sym_arg_declaration] = "arg_declaration",
[sym_arg_unit] = "arg_unit",
[sym_range_unit] = "range_unit",
[sym_cmd_declaration] = "cmd_declaration",
[aux_sym_source_file_repeat1] = "source_file_repeat1",
[aux_sym_constraint_block_repeat1] = "constraint_block_repeat1",
[aux_sym_anonymous_enum_expression_repeat1] = "anonymous_enum_expression_repeat1",
[aux_sym_anonymous_list_expression_repeat1] = "anonymous_list_expression_repeat1",
};
static const TSSymbol ts_symbol_map[] = {
[ts_builtin_sym_end] = ts_builtin_sym_end,
[sym_identifier] = sym_identifier,
[sym_doc_comment] = sym_doc_comment,
[sym_line_comment] = sym_line_comment,
[sym_refinement_identifier] = sym_refinement_identifier,
[sym_keyword_type] = sym_keyword_type,
[sym_keyword_opt] = sym_keyword_opt,
[sym_keyword_arg] = sym_keyword_arg,
[sym_keyword_cmd] = sym_keyword_cmd,
[sym_keyword_env] = sym_keyword_env,
[sym_keyword_requires] = sym_keyword_requires,
[sym_keyword_excludes] = sym_keyword_excludes,
[sym_keyword_ensures] = sym_keyword_ensures,
[sym_keyword_subcommands] = sym_keyword_subcommands,
[sym_operator_and] = sym_operator_and,
[sym_operator_or] = sym_operator_or,
[sym_open_paren] = sym_open_paren,
[sym_closed_paren] = sym_closed_paren,
[sym_open_bracket] = sym_open_bracket,
[sym_closed_bracket] = sym_closed_bracket,
[sym_open_square] = sym_open_square,
[sym_closed_square] = sym_closed_square,
[sym_open_chevron] = sym_open_chevron,
[sym_closed_chevron] = sym_closed_chevron,
[sym_comma] = sym_comma,
[sym_range] = sym_range,
[sym_named_identifier] = sym_named_identifier,
[sym_int_literal] = sym_int_literal,
[sym_float_literal] = sym_float_literal,
[sym_string_literal] = sym_string_literal,
[sym_bool_literal] = sym_bool_literal,
[sym_fat_arrow] = sym_fat_arrow,
[sym_source_file] = sym_source_file,
[sym__declaration] = sym__declaration,
[sym_declaration_block] = sym_declaration_block,
[sym__constraint_declaration] = sym__constraint_declaration,
[sym_constraint_block] = sym_constraint_block,
[sym_refinement_clause] = sym_refinement_clause,
[sym_type_expression] = sym_type_expression,
[sym_nested_type] = sym_nested_type,
[sym__literals] = sym__literals,
[sym_anonymous_enum_expression] = sym_anonymous_enum_expression,
[sym_anonymous_list_expression] = sym_anonymous_list_expression,
[sym_identifier_with_list] = sym_identifier_with_list,
[sym_type_declaration] = sym_type_declaration,
[sym_requires_clause] = sym_requires_clause,
[sym_excludes_clause] = sym_excludes_clause,
[sym_ensures_clause] = sym_ensures_clause,
[sym_subcommands_clause] = sym_subcommands_clause,
[sym_and_expression] = sym_and_expression,
[sym_or_expression] = sym_or_expression,
[sym_paren_expression] = sym_paren_expression,
[sym__boolean_expression] = sym__boolean_expression,
[sym_opt_declaration] = sym_opt_declaration,
[sym_env_declaration] = sym_env_declaration,
[sym_arg_declaration] = sym_arg_declaration,
[sym_arg_unit] = sym_arg_unit,
[sym_range_unit] = sym_range_unit,
[sym_cmd_declaration] = sym_cmd_declaration,
[aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1,
[aux_sym_constraint_block_repeat1] = aux_sym_constraint_block_repeat1,
[aux_sym_anonymous_enum_expression_repeat1] = aux_sym_anonymous_enum_expression_repeat1,
[aux_sym_anonymous_list_expression_repeat1] = aux_sym_anonymous_list_expression_repeat1,
};
static const TSSymbolMetadata ts_symbol_metadata[] = {
[ts_builtin_sym_end] = {
.visible = false,
.named = true,
},
[sym_identifier] = {
.visible = true,
.named = true,
},
[sym_doc_comment] = {
.visible = true,
.named = true,
},
[sym_line_comment] = {
.visible = true,
.named = true,
},
[sym_refinement_identifier] = {
.visible = true,
.named = true,
},
[sym_keyword_type] = {
.visible = true,
.named = true,
},
[sym_keyword_opt] = {
.visible = true,
.named = true,
},
[sym_keyword_arg] = {
.visible = true,
.named = true,
},
[sym_keyword_cmd] = {
.visible = true,
.named = true,
},
[sym_keyword_env] = {
.visible = true,
.named = true,
},
[sym_keyword_requires] = {
.visible = true,
.named = true,
},
[sym_keyword_excludes] = {
.visible = true,
.named = true,
},
[sym_keyword_ensures] = {
.visible = true,
.named = true,
},
[sym_keyword_subcommands] = {
.visible = true,
.named = true,
},
[sym_operator_and] = {
.visible = true,
.named = true,
},
[sym_operator_or] = {
.visible = true,
.named = true,
},
[sym_open_paren] = {
.visible = true,
.named = true,
},
[sym_closed_paren] = {
.visible = true,
.named = true,
},
[sym_open_bracket] = {
.visible = true,
.named = true,
},
[sym_closed_bracket] = {
.visible = true,
.named = true,
},
[sym_open_square] = {
.visible = true,
.named = true,
},
[sym_closed_square] = {
.visible = true,
.named = true,
},
[sym_open_chevron] = {
.visible = true,
.named = true,
},
[sym_closed_chevron] = {
.visible = true,
.named = true,
},
[sym_comma] = {
.visible = true,
.named = true,
},
[sym_range] = {
.visible = true,
.named = true,
},
[sym_named_identifier] = {
.visible = true,
.named = true,
},
[sym_int_literal] = {
.visible = true,
.named = true,
},
[sym_float_literal] = {
.visible = true,
.named = true,
},
[sym_string_literal] = {
.visible = true,
.named = true,
},
[sym_bool_literal] = {
.visible = true,
.named = true,
},
[sym_fat_arrow] = {
.visible = true,
.named = true,
},
[sym_source_file] = {
.visible = true,
.named = true,
},
[sym__declaration] = {
.visible = false,
.named = true,
},
[sym_declaration_block] = {
.visible = true,
.named = true,
},
[sym__constraint_declaration] = {
.visible = false,
.named = true,
},
[sym_constraint_block] = {
.visible = true,
.named = true,
},
[sym_refinement_clause] = {
.visible = true,
.named = true,
},
[sym_type_expression] = {
.visible = true,
.named = true,
},
[sym_nested_type] = {
.visible = true,
.named = true,
},
[sym__literals] = {
.visible = false,
.named = true,
},
[sym_anonymous_enum_expression] = {
.visible = true,
.named = true,
},
[sym_anonymous_list_expression] = {
.visible = true,
.named = true,
},
[sym_identifier_with_list] = {
.visible = true,
.named = true,
},
[sym_type_declaration] = {
.visible = true,
.named = true,
},
[sym_requires_clause] = {
.visible = true,
.named = true,
},
[sym_excludes_clause] = {
.visible = true,
.named = true,
},
[sym_ensures_clause] = {
.visible = true,
.named = true,
},
[sym_subcommands_clause] = {
.visible = true,
.named = true,
},
[sym_and_expression] = {
.visible = true,
.named = true,
},
[sym_or_expression] = {
.visible = true,
.named = true,
},
[sym_paren_expression] = {
.visible = true,
.named = true,
},
[sym__boolean_expression] = {
.visible = false,
.named = true,
},
[sym_opt_declaration] = {
.visible = true,
.named = true,
},
[sym_env_declaration] = {
.visible = true,
.named = true,
},
[sym_arg_declaration] = {
.visible = true,
.named = true,
},
[sym_arg_unit] = {
.visible = true,
.named = true,
},
[sym_range_unit] = {
.visible = true,
.named = true,
},
[sym_cmd_declaration] = {
.visible = true,
.named = true,
},
[aux_sym_source_file_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_constraint_block_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_anonymous_enum_expression_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_anonymous_list_expression_repeat1] = {
.visible = false,
.named = false,
},
};
static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = {
[0] = {0},
};
static const uint16_t ts_non_terminal_alias_map[] = {
0,
};
static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[0] = 0,
[1] = 1,
[2] = 2,
[3] = 3,
[4] = 4,
[5] = 4,
[6] = 6,
[7] = 6,
[8] = 3,
[9] = 9,
[10] = 10,
[11] = 11,
[12] = 11,
[13] = 9,
[14] = 14,
[15] = 15,
[16] = 16,
[17] = 17,
[18] = 17,
[19] = 19,
[20] = 20,
[21] = 21,
[22] = 19,
[23] = 15,
[24] = 16,
[25] = 14,
[26] = 26,
[27] = 27,
[28] = 28,
[29] = 29,
[30] = 28,
[31] = 31,
[32] = 26,
[33] = 27,
[34] = 34,
[35] = 21,
[36] = 31,
[37] = 20,
[38] = 38,
[39] = 34,
[40] = 40,
[41] = 41,
[42] = 42,
[43] = 43,
[44] = 44,
[45] = 45,
[46] = 38,
[47] = 47,
[48] = 47,
[49] = 49,
[50] = 50,
[51] = 29,
[52] = 52,
[53] = 44,
[54] = 50,
[55] = 52,
[56] = 49,
[57] = 43,
[58] = 45,
[59] = 59,
[60] = 60,
[61] = 61,
[62] = 62,
[63] = 63,
[64] = 64,
[65] = 65,
[66] = 66,
[67] = 66,
[68] = 68,
[69] = 69,
[70] = 70,
[71] = 71,
[72] = 72,
[73] = 60,
[74] = 68,
[75] = 64,
[76] = 69,
[77] = 65,
[78] = 71,
[79] = 72,
[80] = 80,
[81] = 81,
[82] = 82,
[83] = 81,
[84] = 84,
[85] = 85,
[86] = 86,
[87] = 87,
[88] = 88,
[89] = 89,
[90] = 90,
[91] = 91,
[92] = 92,
[93] = 93,
[94] = 94,
[95] = 91,
[96] = 96,
[97] = 97,
[98] = 98,
[99] = 99,
[100] = 100,
[101] = 101,
[102] = 102,
[103] = 103,
[104] = 104,
[105] = 101,
[106] = 102,
[107] = 104,
[108] = 100,
[109] = 109,
[110] = 110,
[111] = 111,
[112] = 112,
[113] = 113,
[114] = 114,
[115] = 115,
[116] = 116,
[117] = 109,
[118] = 118,
[119] = 112,
[120] = 120,
[121] = 121,
[122] = 122,
[123] = 114,
[124] = 121,
[125] = 118,
[126] = 110,
[127] = 127,
[128] = 128,
[129] = 129,
[130] = 130,
[131] = 131,
[132] = 129,
[133] = 122,
};
static bool ts_lex(TSLexer *lexer, TSStateId state) {
START_LEXER();
eof = lexer->eof(lexer);
switch (state) {
case 0:
if (eof) ADVANCE(11);
ADVANCE_MAP(
'"', 2,
'&', 23,
'(', 25,
')', 26,
',', 33,
'-', 6,
'.', 3,
'/', 4,
'<', 31,
'=', 5,
'>', 32,
'@', 8,
'[', 29,
']', 30,
'f', 15,
't', 18,
'{', 27,
'|', 24,
'}', 28,
);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') SKIP(0);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(42);
if (('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(21);
END_STATE();
case 1:
if (lookahead == '"') ADVANCE(2);
if (lookahead == '(') ADVANCE(25);
if (lookahead == ')') ADVANCE(26);
if (lookahead == '-') ADVANCE(6);
if (lookahead == '.') ADVANCE(3);
if (lookahead == 'f') ADVANCE(35);
if (lookahead == 't') ADVANCE(38);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') SKIP(1);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(42);
if (('A' <= lookahead && lookahead <= 'Z') ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(41);
END_STATE();
case 2:
if (lookahead == '"') ADVANCE(44);
if (lookahead == '\\') ADVANCE(9);
if (lookahead != 0) ADVANCE(2);
END_STATE();
case 3:
if (lookahead == '.') ADVANCE(34);
END_STATE();
case 4:
if (lookahead == '/') ADVANCE(13);
END_STATE();
case 5:
if (lookahead == '>') ADVANCE(45);
END_STATE();
case 6:
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(42);
END_STATE();
case 7:
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(43);
END_STATE();
case 8:
if (('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(22);
END_STATE();
case 9:
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(2);
END_STATE();
case 10:
if (eof) ADVANCE(11);
ADVANCE_MAP(
'&', 23,
')', 26,
'/', 4,
'<', 31,
'=', 5,
'>', 32,
'@', 8,
'[', 29,
']', 30,
'{', 27,
'|', 24,
'}', 28,
);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') SKIP(10);
if (('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(21);
END_STATE();
case 11:
ACCEPT_TOKEN(ts_builtin_sym_end);
END_STATE();
case 12:
ACCEPT_TOKEN(sym_doc_comment);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(12);
END_STATE();
case 13:
ACCEPT_TOKEN(sym_line_comment);
if (lookahead == '/') ADVANCE(12);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(14);
END_STATE();
case 14:
ACCEPT_TOKEN(sym_line_comment);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(14);
END_STATE();
case 15:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 'a') ADVANCE(17);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('b' <= lookahead && lookahead <= 'z')) ADVANCE(21);
END_STATE();
case 16:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 'e') ADVANCE(21);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(21);
END_STATE();
case 17:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 'l') ADVANCE(19);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(21);
END_STATE();
case 18:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 'r') ADVANCE(20);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(21);
END_STATE();
case 19:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 's') ADVANCE(16);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(21);
END_STATE();
case 20:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 'u') ADVANCE(16);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(21);
END_STATE();
case 21:
ACCEPT_TOKEN(sym_identifier);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(21);
END_STATE();
case 22:
ACCEPT_TOKEN(sym_refinement_identifier);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(22);
END_STATE();
case 23:
ACCEPT_TOKEN(sym_operator_and);
END_STATE();
case 24:
ACCEPT_TOKEN(sym_operator_or);
END_STATE();
case 25:
ACCEPT_TOKEN(sym_open_paren);
END_STATE();
case 26:
ACCEPT_TOKEN(sym_closed_paren);
END_STATE();
case 27:
ACCEPT_TOKEN(sym_open_bracket);
END_STATE();
case 28:
ACCEPT_TOKEN(sym_closed_bracket);
END_STATE();
case 29:
ACCEPT_TOKEN(sym_open_square);
END_STATE();
case 30:
ACCEPT_TOKEN(sym_closed_square);
END_STATE();
case 31:
ACCEPT_TOKEN(sym_open_chevron);
END_STATE();
case 32:
ACCEPT_TOKEN(sym_closed_chevron);
END_STATE();
case 33:
ACCEPT_TOKEN(sym_comma);
END_STATE();
case 34:
ACCEPT_TOKEN(sym_range);
END_STATE();
case 35:
ACCEPT_TOKEN(sym_named_identifier);
if (lookahead == 'a') ADVANCE(37);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('b' <= lookahead && lookahead <= 'z')) ADVANCE(41);
END_STATE();
case 36:
ACCEPT_TOKEN(sym_named_identifier);
if (lookahead == 'e') ADVANCE(41);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(41);
END_STATE();
case 37:
ACCEPT_TOKEN(sym_named_identifier);
if (lookahead == 'l') ADVANCE(39);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(41);
END_STATE();
case 38:
ACCEPT_TOKEN(sym_named_identifier);
if (lookahead == 'r') ADVANCE(40);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(41);
END_STATE();
case 39:
ACCEPT_TOKEN(sym_named_identifier);
if (lookahead == 's') ADVANCE(36);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(41);
END_STATE();
case 40:
ACCEPT_TOKEN(sym_named_identifier);
if (lookahead == 'u') ADVANCE(36);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(41);
END_STATE();
case 41:
ACCEPT_TOKEN(sym_named_identifier);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(41);
END_STATE();
case 42:
ACCEPT_TOKEN(sym_int_literal);
if (lookahead == '.') ADVANCE(7);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(42);
END_STATE();
case 43:
ACCEPT_TOKEN(sym_float_literal);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(43);
END_STATE();
case 44:
ACCEPT_TOKEN(sym_string_literal);
END_STATE();
case 45:
ACCEPT_TOKEN(sym_fat_arrow);
END_STATE();
default:
return false;
}
}
static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) {
START_LEXER();
eof = lexer->eof(lexer);
switch (state) {
case 0:
if (lookahead == 'a') ADVANCE(1);
if (lookahead == 'c') ADVANCE(2);
if (lookahead == 'e') ADVANCE(3);
if (lookahead == 'o') ADVANCE(4);
if (lookahead == 'r') ADVANCE(5);
if (lookahead == 's') ADVANCE(6);
if (lookahead == 't') ADVANCE(7);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') SKIP(0);
END_STATE();
case 1:
if (lookahead == 'r') ADVANCE(8);
END_STATE();
case 2:
if (lookahead == 'm') ADVANCE(9);
END_STATE();
case 3:
if (lookahead == 'n') ADVANCE(10);
if (lookahead == 'x') ADVANCE(11);
END_STATE();
case 4:
if (lookahead == 'p') ADVANCE(12);
END_STATE();
case 5:
if (lookahead == 'e') ADVANCE(13);
END_STATE();
case 6:
if (lookahead == 'u') ADVANCE(14);
END_STATE();
case 7:
if (lookahead == 'y') ADVANCE(15);
END_STATE();
case 8:
if (lookahead == 'g') ADVANCE(16);
END_STATE();
case 9:
if (lookahead == 'd') ADVANCE(17);
END_STATE();
case 10:
if (lookahead == 's') ADVANCE(18);
if (lookahead == 'v') ADVANCE(19);
END_STATE();
case 11:
if (lookahead == 'c') ADVANCE(20);
END_STATE();
case 12:
if (lookahead == 't') ADVANCE(21);
END_STATE();
case 13:
if (lookahead == 'q') ADVANCE(22);
END_STATE();
case 14:
if (lookahead == 'b') ADVANCE(23);
END_STATE();
case 15:
if (lookahead == 'p') ADVANCE(24);
END_STATE();
case 16:
ACCEPT_TOKEN(sym_keyword_arg);
END_STATE();
case 17:
ACCEPT_TOKEN(sym_keyword_cmd);
END_STATE();
case 18:
if (lookahead == 'u') ADVANCE(25);
END_STATE();
case 19:
ACCEPT_TOKEN(sym_keyword_env);
END_STATE();
case 20:
if (lookahead == 'l') ADVANCE(26);
END_STATE();
case 21:
ACCEPT_TOKEN(sym_keyword_opt);
END_STATE();
case 22:
if (lookahead == 'u') ADVANCE(27);
END_STATE();
case 23:
if (lookahead == 'c') ADVANCE(28);
END_STATE();
case 24:
if (lookahead == 'e') ADVANCE(29);
END_STATE();
case 25:
if (lookahead == 'r') ADVANCE(30);
END_STATE();
case 26:
if (lookahead == 'u') ADVANCE(31);
END_STATE();
case 27:
if (lookahead == 'i') ADVANCE(32);
END_STATE();
case 28:
if (lookahead == 'o') ADVANCE(33);
END_STATE();
case 29:
ACCEPT_TOKEN(sym_keyword_type);
END_STATE();
case 30:
if (lookahead == 'e') ADVANCE(34);
END_STATE();
case 31:
if (lookahead == 'd') ADVANCE(35);
END_STATE();
case 32:
if (lookahead == 'r') ADVANCE(36);
END_STATE();
case 33:
if (lookahead == 'm') ADVANCE(37);
END_STATE();
case 34:
if (lookahead == 's') ADVANCE(38);
END_STATE();
case 35:
if (lookahead == 'e') ADVANCE(39);
END_STATE();
case 36:
if (lookahead == 'e') ADVANCE(40);
END_STATE();
case 37:
if (lookahead == 'm') ADVANCE(41);
END_STATE();
case 38:
ACCEPT_TOKEN(sym_keyword_ensures);
END_STATE();
case 39:
if (lookahead == 's') ADVANCE(42);
END_STATE();
case 40:
if (lookahead == 's') ADVANCE(43);
END_STATE();
case 41:
if (lookahead == 'a') ADVANCE(44);
END_STATE();
case 42:
ACCEPT_TOKEN(sym_keyword_excludes);
END_STATE();
case 43:
ACCEPT_TOKEN(sym_keyword_requires);
END_STATE();
case 44:
if (lookahead == 'n') ADVANCE(45);
END_STATE();
case 45:
if (lookahead == 'd') ADVANCE(46);
END_STATE();
case 46:
if (lookahead == 's') ADVANCE(47);
END_STATE();
case 47:
ACCEPT_TOKEN(sym_keyword_subcommands);
END_STATE();
default:
return false;
}
}
static const TSLexerMode ts_lex_modes[STATE_COUNT] = {
[0] = {.lex_state = 0},
[1] = {.lex_state = 10},
[2] = {.lex_state = 10},
[3] = {.lex_state = 10},
[4] = {.lex_state = 10},
[5] = {.lex_state = 10},
[6] = {.lex_state = 10},
[7] = {.lex_state = 10},
[8] = {.lex_state = 10},
[9] = {.lex_state = 10},
[10] = {.lex_state = 10},
[11] = {.lex_state = 10},
[12] = {.lex_state = 10},
[13] = {.lex_state = 10},
[14] = {.lex_state = 10},
[15] = {.lex_state = 10},
[16] = {.lex_state = 10},
[17] = {.lex_state = 10},
[18] = {.lex_state = 10},
[19] = {.lex_state = 10},
[20] = {.lex_state = 10},
[21] = {.lex_state = 10},
[22] = {.lex_state = 10},
[23] = {.lex_state = 10},
[24] = {.lex_state = 10},
[25] = {.lex_state = 10},
[26] = {.lex_state = 10},
[27] = {.lex_state = 10},
[28] = {.lex_state = 10},
[29] = {.lex_state = 10},
[30] = {.lex_state = 10},
[31] = {.lex_state = 10},
[32] = {.lex_state = 10},
[33] = {.lex_state = 10},
[34] = {.lex_state = 10},
[35] = {.lex_state = 10},
[36] = {.lex_state = 10},
[37] = {.lex_state = 10},
[38] = {.lex_state = 10},
[39] = {.lex_state = 10},
[40] = {.lex_state = 10},
[41] = {.lex_state = 10},
[42] = {.lex_state = 10},
[43] = {.lex_state = 1},
[44] = {.lex_state = 1},
[45] = {.lex_state = 1},
[46] = {.lex_state = 10},
[47] = {.lex_state = 10},
[48] = {.lex_state = 10},
[49] = {.lex_state = 10},
[50] = {.lex_state = 1},
[51] = {.lex_state = 10},
[52] = {.lex_state = 1},
[53] = {.lex_state = 1},
[54] = {.lex_state = 1},
[55] = {.lex_state = 1},
[56] = {.lex_state = 10},
[57] = {.lex_state = 1},
[58] = {.lex_state = 1},
[59] = {.lex_state = 10},
[60] = {.lex_state = 10},
[61] = {.lex_state = 10},
[62] = {.lex_state = 10},
[63] = {.lex_state = 10},
[64] = {.lex_state = 10},
[65] = {.lex_state = 10},
[66] = {.lex_state = 10},
[67] = {.lex_state = 10},
[68] = {.lex_state = 10},
[69] = {.lex_state = 10},
[70] = {.lex_state = 1},
[71] = {.lex_state = 10},
[72] = {.lex_state = 10},
[73] = {.lex_state = 10},
[74] = {.lex_state = 10},
[75] = {.lex_state = 10},
[76] = {.lex_state = 10},
[77] = {.lex_state = 10},
[78] = {.lex_state = 10},
[79] = {.lex_state = 10},
[80] = {.lex_state = 1},
[81] = {.lex_state = 1},
[82] = {.lex_state = 1},
[83] = {.lex_state = 1},
[84] = {.lex_state = 1},
[85] = {.lex_state = 1},
[86] = {.lex_state = 10},
[87] = {.lex_state = 1},
[88] = {.lex_state = 1},
[89] = {.lex_state = 1},
[90] = {.lex_state = 1},
[91] = {.lex_state = 1},
[92] = {.lex_state = 1},
[93] = {.lex_state = 1},
[94] = {.lex_state = 1},
[95] = {.lex_state = 1},
[96] = {.lex_state = 0},
[97] = {.lex_state = 0},
[98] = {.lex_state = 0},
[99] = {.lex_state = 0},
[100] = {.lex_state = 1},
[101] = {.lex_state = 1},
[102] = {.lex_state = 1},
[103] = {.lex_state = 0},
[104] = {.lex_state = 1},
[105] = {.lex_state = 1},
[106] = {.lex_state = 1},
[107] = {.lex_state = 1},
[108] = {.lex_state = 1},
[109] = {.lex_state = 0},
[110] = {.lex_state = 0},
[111] = {.lex_state = 0},
[112] = {.lex_state = 0},
[113] = {.lex_state = 0},
[114] = {.lex_state = 0},
[115] = {.lex_state = 0},
[116] = {.lex_state = 0},
[117] = {.lex_state = 0},
[118] = {.lex_state = 0},
[119] = {.lex_state = 0},
[120] = {.lex_state = 0},
[121] = {.lex_state = 0},
[122] = {.lex_state = 0},
[123] = {.lex_state = 0},
[124] = {.lex_state = 0},
[125] = {.lex_state = 0},
[126] = {.lex_state = 0},
[127] = {.lex_state = 0},
[128] = {.lex_state = 0},
[129] = {.lex_state = 1},
[130] = {.lex_state = 0},
[131] = {.lex_state = 0},
[132] = {.lex_state = 1},
[133] = {.lex_state = 0},
};
static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
[STATE(0)] = {
[ts_builtin_sym_end] = ACTIONS(1),
[sym_identifier] = ACTIONS(1),
[sym_doc_comment] = ACTIONS(1),
[sym_line_comment] = ACTIONS(1),
[sym_refinement_identifier] = ACTIONS(1),
[sym_keyword_type] = ACTIONS(1),
[sym_keyword_opt] = ACTIONS(1),
[sym_keyword_arg] = ACTIONS(1),
[sym_keyword_cmd] = ACTIONS(1),
[sym_keyword_env] = ACTIONS(1),
[sym_keyword_requires] = ACTIONS(1),
[sym_keyword_excludes] = ACTIONS(1),
[sym_keyword_ensures] = ACTIONS(1),
[sym_keyword_subcommands] = ACTIONS(1),
[sym_operator_and] = ACTIONS(1),
[sym_operator_or] = ACTIONS(1),
[sym_open_paren] = ACTIONS(1),
[sym_closed_paren] = ACTIONS(1),
[sym_open_bracket] = ACTIONS(1),
[sym_closed_bracket] = ACTIONS(1),
[sym_open_square] = ACTIONS(1),
[sym_closed_square] = ACTIONS(1),
[sym_open_chevron] = ACTIONS(1),
[sym_closed_chevron] = ACTIONS(1),
[sym_comma] = ACTIONS(1),
[sym_range] = ACTIONS(1),
[sym_int_literal] = ACTIONS(1),
[sym_float_literal] = ACTIONS(1),
[sym_string_literal] = ACTIONS(1),
[sym_bool_literal] = ACTIONS(1),
[sym_fat_arrow] = ACTIONS(1),
},
[STATE(1)] = {
[sym_source_file] = STATE(131),
[sym__declaration] = STATE(2),
[sym_type_declaration] = STATE(2),
[sym_opt_declaration] = STATE(2),
[sym_env_declaration] = STATE(2),
[sym_arg_declaration] = STATE(2),
[sym_cmd_declaration] = STATE(2),
[aux_sym_source_file_repeat1] = STATE(2),
[ts_builtin_sym_end] = ACTIONS(3),
[sym_doc_comment] = ACTIONS(5),
[sym_line_comment] = ACTIONS(7),
[sym_keyword_type] = ACTIONS(9),
[sym_keyword_opt] = ACTIONS(11),
[sym_keyword_arg] = ACTIONS(13),
[sym_keyword_cmd] = ACTIONS(15),
[sym_keyword_env] = ACTIONS(17),
},
};
static const uint16_t ts_small_parse_table[] = {
[0] = 9,
ACTIONS(9), 1,
sym_keyword_type,
ACTIONS(11), 1,
sym_keyword_opt,
ACTIONS(13), 1,
sym_keyword_arg,
ACTIONS(15), 1,
sym_keyword_cmd,
ACTIONS(17), 1,
sym_keyword_env,
ACTIONS(19), 1,
ts_builtin_sym_end,
ACTIONS(21), 1,
sym_doc_comment,
ACTIONS(23), 1,
sym_line_comment,
STATE(3), 7,
sym__declaration,
sym_type_declaration,
sym_opt_declaration,
sym_env_declaration,
sym_arg_declaration,
sym_cmd_declaration,
aux_sym_source_file_repeat1,
[34] = 9,
ACTIONS(25), 1,
ts_builtin_sym_end,
ACTIONS(27), 1,
sym_doc_comment,
ACTIONS(30), 1,
sym_line_comment,
ACTIONS(33), 1,
sym_keyword_type,
ACTIONS(36), 1,
sym_keyword_opt,
ACTIONS(39), 1,
sym_keyword_arg,
ACTIONS(42), 1,
sym_keyword_cmd,
ACTIONS(45), 1,
sym_keyword_env,
STATE(3), 7,
sym__declaration,
sym_type_declaration,
sym_opt_declaration,
sym_env_declaration,
sym_arg_declaration,
sym_cmd_declaration,
aux_sym_source_file_repeat1,
[68] = 9,
ACTIONS(48), 1,
sym_doc_comment,
ACTIONS(50), 1,
sym_line_comment,
ACTIONS(52), 1,
sym_keyword_type,
ACTIONS(54), 1,
sym_keyword_opt,
ACTIONS(56), 1,
sym_keyword_arg,
ACTIONS(58), 1,
sym_keyword_cmd,
ACTIONS(60), 1,
sym_keyword_env,
ACTIONS(62), 1,
sym_closed_bracket,
STATE(7), 7,
sym__declaration,
sym_type_declaration,
sym_opt_declaration,
sym_env_declaration,
sym_arg_declaration,
sym_cmd_declaration,
aux_sym_source_file_repeat1,
[102] = 9,
ACTIONS(52), 1,
sym_keyword_type,
ACTIONS(54), 1,
sym_keyword_opt,
ACTIONS(56), 1,
sym_keyword_arg,
ACTIONS(58), 1,
sym_keyword_cmd,
ACTIONS(60), 1,
sym_keyword_env,
ACTIONS(64), 1,
sym_doc_comment,
ACTIONS(66), 1,
sym_line_comment,
ACTIONS(68), 1,
sym_closed_bracket,
STATE(6), 7,
sym__declaration,
sym_type_declaration,
sym_opt_declaration,
sym_env_declaration,
sym_arg_declaration,
sym_cmd_declaration,
aux_sym_source_file_repeat1,
[136] = 9,
ACTIONS(52), 1,
sym_keyword_type,
ACTIONS(54), 1,
sym_keyword_opt,
ACTIONS(56), 1,
sym_keyword_arg,
ACTIONS(58), 1,
sym_keyword_cmd,
ACTIONS(60), 1,
sym_keyword_env,
ACTIONS(70), 1,
sym_doc_comment,
ACTIONS(72), 1,
sym_line_comment,
ACTIONS(74), 1,
sym_closed_bracket,
STATE(8), 7,
sym__declaration,
sym_type_declaration,
sym_opt_declaration,
sym_env_declaration,
sym_arg_declaration,
sym_cmd_declaration,
aux_sym_source_file_repeat1,
[170] = 9,
ACTIONS(52), 1,
sym_keyword_type,
ACTIONS(54), 1,
sym_keyword_opt,
ACTIONS(56), 1,
sym_keyword_arg,
ACTIONS(58), 1,
sym_keyword_cmd,
ACTIONS(60), 1,
sym_keyword_env,
ACTIONS(70), 1,
sym_doc_comment,
ACTIONS(72), 1,
sym_line_comment,
ACTIONS(76), 1,
sym_closed_bracket,
STATE(8), 7,
sym__declaration,
sym_type_declaration,
sym_opt_declaration,
sym_env_declaration,
sym_arg_declaration,
sym_cmd_declaration,
aux_sym_source_file_repeat1,
[204] = 9,
ACTIONS(25), 1,
sym_closed_bracket,
ACTIONS(78), 1,
sym_doc_comment,
ACTIONS(81), 1,
sym_line_comment,
ACTIONS(84), 1,
sym_keyword_type,
ACTIONS(87), 1,
sym_keyword_opt,
ACTIONS(90), 1,
sym_keyword_arg,
ACTIONS(93), 1,
sym_keyword_cmd,
ACTIONS(96), 1,
sym_keyword_env,
STATE(8), 7,
sym__declaration,
sym_type_declaration,
sym_opt_declaration,
sym_env_declaration,
sym_arg_declaration,
sym_cmd_declaration,
aux_sym_source_file_repeat1,
[238] = 7,
ACTIONS(99), 1,
sym_refinement_identifier,
ACTIONS(101), 1,
sym_keyword_requires,
ACTIONS(103), 1,
sym_keyword_excludes,
ACTIONS(105), 1,
sym_keyword_ensures,
ACTIONS(107), 1,
sym_keyword_subcommands,
ACTIONS(109), 1,
sym_closed_square,
STATE(10), 7,
sym__constraint_declaration,
sym_refinement_clause,
sym_requires_clause,
sym_excludes_clause,
sym_ensures_clause,
sym_subcommands_clause,
aux_sym_constraint_block_repeat1,
[266] = 7,
ACTIONS(111), 1,
sym_refinement_identifier,
ACTIONS(114), 1,
sym_keyword_requires,
ACTIONS(117), 1,
sym_keyword_excludes,
ACTIONS(120), 1,
sym_keyword_ensures,
ACTIONS(123), 1,
sym_keyword_subcommands,
ACTIONS(126), 1,
sym_closed_square,
STATE(10), 7,
sym__constraint_declaration,
sym_refinement_clause,
sym_requires_clause,
sym_excludes_clause,
sym_ensures_clause,
sym_subcommands_clause,
aux_sym_constraint_block_repeat1,
[294] = 7,
ACTIONS(99), 1,
sym_refinement_identifier,
ACTIONS(101), 1,
sym_keyword_requires,
ACTIONS(103), 1,
sym_keyword_excludes,
ACTIONS(105), 1,
sym_keyword_ensures,
ACTIONS(107), 1,
sym_keyword_subcommands,
ACTIONS(128), 1,
sym_closed_square,
STATE(9), 7,
sym__constraint_declaration,
sym_refinement_clause,
sym_requires_clause,
sym_excludes_clause,
sym_ensures_clause,
sym_subcommands_clause,
aux_sym_constraint_block_repeat1,
[322] = 7,
ACTIONS(99), 1,
sym_refinement_identifier,
ACTIONS(101), 1,
sym_keyword_requires,
ACTIONS(103), 1,
sym_keyword_excludes,
ACTIONS(105), 1,
sym_keyword_ensures,
ACTIONS(107), 1,
sym_keyword_subcommands,
ACTIONS(130), 1,
sym_closed_square,
STATE(13), 7,
sym__constraint_declaration,
sym_refinement_clause,
sym_requires_clause,
sym_excludes_clause,
sym_ensures_clause,
sym_subcommands_clause,
aux_sym_constraint_block_repeat1,
[350] = 7,
ACTIONS(99), 1,
sym_refinement_identifier,
ACTIONS(101), 1,
sym_keyword_requires,
ACTIONS(103), 1,
sym_keyword_excludes,
ACTIONS(105), 1,
sym_keyword_ensures,
ACTIONS(107), 1,
sym_keyword_subcommands,
ACTIONS(132), 1,
sym_closed_square,
STATE(10), 7,
sym__constraint_declaration,
sym_refinement_clause,
sym_requires_clause,
sym_excludes_clause,
sym_ensures_clause,
sym_subcommands_clause,
aux_sym_constraint_block_repeat1,
[378] = 4,
ACTIONS(136), 1,
sym_line_comment,
ACTIONS(138), 1,
sym_operator_or,
STATE(14), 1,
aux_sym_anonymous_enum_expression_repeat1,
ACTIONS(134), 9,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_open_square,
sym_closed_chevron,
[399] = 4,
ACTIONS(143), 1,
sym_line_comment,
ACTIONS(145), 1,
sym_operator_or,
STATE(16), 1,
aux_sym_anonymous_enum_expression_repeat1,
ACTIONS(141), 9,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_open_square,
sym_closed_chevron,
[420] = 4,
ACTIONS(145), 1,
sym_operator_or,
ACTIONS(149), 1,
sym_line_comment,
STATE(14), 1,
aux_sym_anonymous_enum_expression_repeat1,
ACTIONS(147), 9,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_open_square,
sym_closed_chevron,
[441] = 6,
ACTIONS(153), 1,
sym_line_comment,
ACTIONS(155), 1,
sym_open_bracket,
ACTIONS(157), 1,
sym_open_square,
STATE(30), 1,
sym_constraint_block,
STATE(65), 1,
sym_declaration_block,
ACTIONS(151), 7,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_closed_bracket,
[466] = 6,
ACTIONS(153), 1,
sym_line_comment,
ACTIONS(159), 1,
sym_open_bracket,
ACTIONS(161), 1,
sym_open_square,
STATE(28), 1,
sym_constraint_block,
STATE(77), 1,
sym_declaration_block,
ACTIONS(151), 7,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
[491] = 4,
ACTIONS(165), 1,
sym_line_comment,
ACTIONS(167), 1,
sym_operator_or,
ACTIONS(169), 1,
sym_open_chevron,
ACTIONS(163), 9,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_open_square,
sym_closed_chevron,
[512] = 2,
ACTIONS(136), 1,
sym_line_comment,
ACTIONS(134), 10,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_operator_or,
sym_open_square,
sym_closed_chevron,
[528] = 2,
ACTIONS(173), 1,
sym_line_comment,
ACTIONS(171), 10,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_open_bracket,
sym_open_square,
sym_fat_arrow,
[544] = 4,
ACTIONS(165), 1,
sym_line_comment,
ACTIONS(167), 1,
sym_operator_or,
ACTIONS(175), 1,
sym_open_chevron,
ACTIONS(163), 8,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_closed_bracket,
sym_open_square,
[564] = 4,
ACTIONS(143), 1,
sym_line_comment,
ACTIONS(177), 1,
sym_operator_or,
STATE(24), 1,
aux_sym_anonymous_enum_expression_repeat1,
ACTIONS(141), 8,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_closed_bracket,
sym_open_square,
[584] = 4,
ACTIONS(149), 1,
sym_line_comment,
ACTIONS(177), 1,
sym_operator_or,
STATE(25), 1,
aux_sym_anonymous_enum_expression_repeat1,
ACTIONS(147), 8,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_closed_bracket,
sym_open_square,
[604] = 4,
ACTIONS(136), 1,
sym_line_comment,
ACTIONS(179), 1,
sym_operator_or,
STATE(25), 1,
aux_sym_anonymous_enum_expression_repeat1,
ACTIONS(134), 8,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_closed_bracket,
sym_open_square,
[624] = 4,
ACTIONS(161), 1,
sym_open_square,
ACTIONS(184), 1,
sym_line_comment,
STATE(78), 1,
sym_constraint_block,
ACTIONS(182), 7,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
[643] = 4,
ACTIONS(161), 1,
sym_open_square,
ACTIONS(188), 1,
sym_line_comment,
STATE(79), 1,
sym_constraint_block,
ACTIONS(186), 7,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
[662] = 4,
ACTIONS(159), 1,
sym_open_bracket,
ACTIONS(192), 1,
sym_line_comment,
STATE(74), 1,
sym_declaration_block,
ACTIONS(190), 7,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
[681] = 2,
ACTIONS(196), 1,
sym_line_comment,
ACTIONS(194), 9,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_open_square,
sym_closed_chevron,
[696] = 4,
ACTIONS(155), 1,
sym_open_bracket,
ACTIONS(192), 1,
sym_line_comment,
STATE(68), 1,
sym_declaration_block,
ACTIONS(190), 7,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_closed_bracket,
[715] = 4,
ACTIONS(157), 1,
sym_open_square,
ACTIONS(200), 1,
sym_line_comment,
STATE(69), 1,
sym_constraint_block,
ACTIONS(198), 7,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_closed_bracket,
[734] = 4,
ACTIONS(157), 1,
sym_open_square,
ACTIONS(184), 1,
sym_line_comment,
STATE(71), 1,
sym_constraint_block,
ACTIONS(182), 7,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_closed_bracket,
[753] = 4,
ACTIONS(157), 1,
sym_open_square,
ACTIONS(188), 1,
sym_line_comment,
STATE(72), 1,
sym_constraint_block,
ACTIONS(186), 7,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_closed_bracket,
[772] = 4,
ACTIONS(157), 1,
sym_open_square,
ACTIONS(204), 1,
sym_line_comment,
STATE(75), 1,
sym_constraint_block,
ACTIONS(202), 7,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_closed_bracket,
[791] = 2,
ACTIONS(173), 1,
sym_line_comment,
ACTIONS(171), 9,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_open_bracket,
sym_closed_bracket,
sym_open_square,
[806] = 4,
ACTIONS(161), 1,
sym_open_square,
ACTIONS(200), 1,
sym_line_comment,
STATE(76), 1,
sym_constraint_block,
ACTIONS(198), 7,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
[825] = 2,
ACTIONS(136), 1,
sym_line_comment,
ACTIONS(134), 9,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_operator_or,
sym_closed_bracket,
sym_open_square,
[840] = 2,
ACTIONS(165), 1,
sym_line_comment,
ACTIONS(163), 9,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_open_square,
sym_closed_chevron,
[855] = 4,
ACTIONS(161), 1,
sym_open_square,
ACTIONS(204), 1,
sym_line_comment,
STATE(64), 1,
sym_constraint_block,
ACTIONS(202), 7,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
[874] = 2,
ACTIONS(208), 1,
sym_operator_and,
ACTIONS(206), 8,
sym_refinement_identifier,
sym_keyword_requires,
sym_keyword_excludes,
sym_keyword_ensures,
sym_keyword_subcommands,
sym_operator_or,
sym_closed_paren,
sym_closed_square,
[888] = 1,
ACTIONS(210), 9,
sym_refinement_identifier,
sym_keyword_requires,
sym_keyword_excludes,
sym_keyword_ensures,
sym_keyword_subcommands,
sym_operator_and,
sym_operator_or,
sym_closed_paren,
sym_closed_square,
[900] = 1,
ACTIONS(212), 9,
sym_refinement_identifier,
sym_keyword_requires,
sym_keyword_excludes,
sym_keyword_ensures,
sym_keyword_subcommands,
sym_operator_and,
sym_operator_or,
sym_closed_paren,
sym_closed_square,
[912] = 6,
ACTIONS(214), 1,
sym_named_identifier,
STATE(15), 1,
sym__literals,
STATE(39), 1,
sym_type_expression,
ACTIONS(216), 2,
sym_int_literal,
sym_bool_literal,
ACTIONS(218), 2,
sym_float_literal,
sym_string_literal,
STATE(38), 2,
sym_nested_type,
sym_anonymous_enum_expression,
[934] = 6,
ACTIONS(214), 1,
sym_named_identifier,
STATE(15), 1,
sym__literals,
STATE(26), 1,
sym_type_expression,
ACTIONS(216), 2,
sym_int_literal,
sym_bool_literal,
ACTIONS(218), 2,
sym_float_literal,
sym_string_literal,
STATE(38), 2,
sym_nested_type,
sym_anonymous_enum_expression,
[956] = 6,
ACTIONS(214), 1,
sym_named_identifier,
STATE(15), 1,
sym__literals,
STATE(117), 1,
sym_type_expression,
ACTIONS(216), 2,
sym_int_literal,
sym_bool_literal,
ACTIONS(218), 2,
sym_float_literal,
sym_string_literal,
STATE(38), 2,
sym_nested_type,
sym_anonymous_enum_expression,
[978] = 2,
ACTIONS(165), 1,
sym_line_comment,
ACTIONS(163), 8,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_closed_bracket,
sym_open_square,
[992] = 2,
ACTIONS(222), 1,
sym_line_comment,
ACTIONS(220), 8,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_open_bracket,
[1006] = 2,
ACTIONS(222), 1,
sym_line_comment,
ACTIONS(220), 8,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_open_bracket,
sym_closed_bracket,
[1020] = 2,
ACTIONS(226), 1,
sym_line_comment,
ACTIONS(224), 8,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_open_bracket,
sym_closed_bracket,
[1034] = 6,
ACTIONS(214), 1,
sym_named_identifier,
STATE(15), 1,
sym__literals,
STATE(27), 1,
sym_type_expression,
ACTIONS(216), 2,
sym_int_literal,
sym_bool_literal,
ACTIONS(218), 2,
sym_float_literal,
sym_string_literal,
STATE(38), 2,
sym_nested_type,
sym_anonymous_enum_expression,
[1056] = 2,
ACTIONS(196), 1,
sym_line_comment,
ACTIONS(194), 8,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_closed_bracket,
sym_open_square,
[1070] = 6,
ACTIONS(228), 1,
sym_named_identifier,
STATE(23), 1,
sym__literals,
STATE(31), 1,
sym_type_expression,
ACTIONS(230), 2,
sym_int_literal,
sym_bool_literal,
ACTIONS(232), 2,
sym_float_literal,
sym_string_literal,
STATE(46), 2,
sym_nested_type,
sym_anonymous_enum_expression,
[1092] = 6,
ACTIONS(228), 1,
sym_named_identifier,
STATE(23), 1,
sym__literals,
STATE(32), 1,
sym_type_expression,
ACTIONS(230), 2,
sym_int_literal,
sym_bool_literal,
ACTIONS(232), 2,
sym_float_literal,
sym_string_literal,
STATE(46), 2,
sym_nested_type,
sym_anonymous_enum_expression,
[1114] = 6,
ACTIONS(228), 1,
sym_named_identifier,
STATE(23), 1,
sym__literals,
STATE(33), 1,
sym_type_expression,
ACTIONS(230), 2,
sym_int_literal,
sym_bool_literal,
ACTIONS(232), 2,
sym_float_literal,
sym_string_literal,
STATE(46), 2,
sym_nested_type,
sym_anonymous_enum_expression,
[1136] = 6,
ACTIONS(214), 1,
sym_named_identifier,
STATE(15), 1,
sym__literals,
STATE(36), 1,
sym_type_expression,
ACTIONS(216), 2,
sym_int_literal,
sym_bool_literal,
ACTIONS(218), 2,
sym_float_literal,
sym_string_literal,
STATE(38), 2,
sym_nested_type,
sym_anonymous_enum_expression,
[1158] = 2,
ACTIONS(226), 1,
sym_line_comment,
ACTIONS(224), 8,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_open_bracket,
[1172] = 6,
ACTIONS(228), 1,
sym_named_identifier,
STATE(23), 1,
sym__literals,
STATE(34), 1,
sym_type_expression,
ACTIONS(230), 2,
sym_int_literal,
sym_bool_literal,
ACTIONS(232), 2,
sym_float_literal,
sym_string_literal,
STATE(46), 2,
sym_nested_type,
sym_anonymous_enum_expression,
[1194] = 6,
ACTIONS(214), 1,
sym_named_identifier,
STATE(15), 1,
sym__literals,
STATE(109), 1,
sym_type_expression,
ACTIONS(216), 2,
sym_int_literal,
sym_bool_literal,
ACTIONS(218), 2,
sym_float_literal,
sym_string_literal,
STATE(38), 2,
sym_nested_type,
sym_anonymous_enum_expression,
[1216] = 3,
ACTIONS(208), 1,
sym_operator_and,
ACTIONS(236), 1,
sym_operator_or,
ACTIONS(234), 6,
sym_refinement_identifier,
sym_keyword_requires,
sym_keyword_excludes,
sym_keyword_ensures,
sym_keyword_subcommands,
sym_closed_square,
[1231] = 2,
ACTIONS(240), 1,
sym_line_comment,
ACTIONS(238), 7,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
[1244] = 3,
ACTIONS(208), 1,
sym_operator_and,
ACTIONS(236), 1,
sym_operator_or,
ACTIONS(242), 6,
sym_refinement_identifier,
sym_keyword_requires,
sym_keyword_excludes,
sym_keyword_ensures,
sym_keyword_subcommands,
sym_closed_square,
[1259] = 3,
ACTIONS(208), 1,
sym_operator_and,
ACTIONS(236), 1,
sym_operator_or,
ACTIONS(244), 6,
sym_refinement_identifier,
sym_keyword_requires,
sym_keyword_excludes,
sym_keyword_ensures,
sym_keyword_subcommands,
sym_closed_square,
[1274] = 3,
ACTIONS(208), 1,
sym_operator_and,
ACTIONS(236), 1,
sym_operator_or,
ACTIONS(246), 6,
sym_refinement_identifier,
sym_keyword_requires,
sym_keyword_excludes,
sym_keyword_ensures,
sym_keyword_subcommands,
sym_closed_square,
[1289] = 2,
ACTIONS(250), 1,
sym_line_comment,
ACTIONS(248), 7,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
[1302] = 2,
ACTIONS(192), 1,
sym_line_comment,
ACTIONS(190), 7,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_closed_bracket,
[1315] = 2,
ACTIONS(254), 1,
sym_line_comment,
ACTIONS(252), 7,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
[1328] = 2,
ACTIONS(254), 1,
sym_line_comment,
ACTIONS(252), 7,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_closed_bracket,
[1341] = 2,
ACTIONS(258), 1,
sym_line_comment,
ACTIONS(256), 7,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_closed_bracket,
[1354] = 2,
ACTIONS(262), 1,
sym_line_comment,
ACTIONS(260), 7,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_closed_bracket,
[1367] = 5,
ACTIONS(264), 1,
sym_range,
STATE(115), 1,
sym_range_unit,
STATE(116), 1,
sym__literals,
ACTIONS(268), 2,
sym_int_literal,
sym_bool_literal,
ACTIONS(266), 3,
sym_named_identifier,
sym_float_literal,
sym_string_literal,
[1386] = 2,
ACTIONS(272), 1,
sym_line_comment,
ACTIONS(270), 7,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_closed_bracket,
[1399] = 2,
ACTIONS(276), 1,
sym_line_comment,
ACTIONS(274), 7,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_closed_bracket,
[1412] = 2,
ACTIONS(240), 1,
sym_line_comment,
ACTIONS(238), 7,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_closed_bracket,
[1425] = 2,
ACTIONS(258), 1,
sym_line_comment,
ACTIONS(256), 7,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
[1438] = 2,
ACTIONS(250), 1,
sym_line_comment,
ACTIONS(248), 7,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
sym_closed_bracket,
[1451] = 2,
ACTIONS(262), 1,
sym_line_comment,
ACTIONS(260), 7,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
[1464] = 2,
ACTIONS(192), 1,
sym_line_comment,
ACTIONS(190), 7,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
[1477] = 2,
ACTIONS(272), 1,
sym_line_comment,
ACTIONS(270), 7,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
[1490] = 2,
ACTIONS(276), 1,
sym_line_comment,
ACTIONS(274), 7,
ts_builtin_sym_end,
sym_doc_comment,
sym_keyword_type,
sym_keyword_opt,
sym_keyword_arg,
sym_keyword_cmd,
sym_keyword_env,
[1503] = 4,
STATE(96), 1,
sym__literals,
STATE(111), 1,
sym_anonymous_list_expression,
ACTIONS(280), 2,
sym_int_literal,
sym_bool_literal,
ACTIONS(278), 3,
sym_named_identifier,
sym_float_literal,
sym_string_literal,
[1519] = 4,
STATE(96), 1,
sym__literals,
STATE(112), 1,
sym_anonymous_list_expression,
ACTIONS(280), 2,
sym_int_literal,
sym_bool_literal,
ACTIONS(278), 3,
sym_named_identifier,
sym_float_literal,
sym_string_literal,
[1535] = 4,
ACTIONS(282), 1,
sym_closed_paren,
STATE(120), 1,
sym__literals,
ACTIONS(286), 2,
sym_int_literal,
sym_bool_literal,
ACTIONS(284), 3,
sym_named_identifier,
sym_float_literal,
sym_string_literal,
[1551] = 4,
STATE(96), 1,
sym__literals,
STATE(119), 1,
sym_anonymous_list_expression,
ACTIONS(280), 2,
sym_int_literal,
sym_bool_literal,
ACTIONS(278), 3,
sym_named_identifier,
sym_float_literal,
sym_string_literal,
[1567] = 4,
ACTIONS(288), 1,
sym_closed_paren,
STATE(130), 1,
sym__literals,
ACTIONS(292), 2,
sym_int_literal,
sym_bool_literal,
ACTIONS(290), 3,
sym_named_identifier,
sym_float_literal,
sym_string_literal,
[1583] = 3,
ACTIONS(294), 1,
sym_open_paren,
ACTIONS(296), 1,
sym_named_identifier,
STATE(61), 4,
sym_and_expression,
sym_or_expression,
sym_paren_expression,
sym__boolean_expression,
[1596] = 1,
ACTIONS(298), 6,
sym_refinement_identifier,
sym_keyword_requires,
sym_keyword_excludes,
sym_keyword_ensures,
sym_keyword_subcommands,
sym_closed_square,
[1605] = 3,
ACTIONS(294), 1,
sym_open_paren,
ACTIONS(300), 1,
sym_named_identifier,
STATE(99), 4,
sym_and_expression,
sym_or_expression,
sym_paren_expression,
sym__boolean_expression,
[1618] = 3,
ACTIONS(294), 1,
sym_open_paren,
ACTIONS(302), 1,
sym_named_identifier,
STATE(59), 4,
sym_and_expression,
sym_or_expression,
sym_paren_expression,
sym__boolean_expression,
[1631] = 3,
ACTIONS(294), 1,
sym_open_paren,
ACTIONS(304), 1,
sym_named_identifier,
STATE(62), 4,
sym_and_expression,
sym_or_expression,
sym_paren_expression,
sym__boolean_expression,
[1644] = 3,
ACTIONS(294), 1,
sym_open_paren,
ACTIONS(306), 1,
sym_named_identifier,
STATE(63), 4,
sym_and_expression,
sym_or_expression,
sym_paren_expression,
sym__boolean_expression,
[1657] = 3,
STATE(37), 1,
sym__literals,
ACTIONS(310), 2,
sym_int_literal,
sym_bool_literal,
ACTIONS(308), 3,
sym_named_identifier,
sym_float_literal,
sym_string_literal,
[1670] = 3,
ACTIONS(294), 1,
sym_open_paren,
ACTIONS(312), 1,
sym_named_identifier,
STATE(42), 4,
sym_and_expression,
sym_or_expression,
sym_paren_expression,
sym__boolean_expression,
[1683] = 3,
STATE(103), 1,
sym__literals,
ACTIONS(316), 2,
sym_int_literal,
sym_bool_literal,
ACTIONS(314), 3,
sym_named_identifier,
sym_float_literal,
sym_string_literal,
[1696] = 3,
ACTIONS(294), 1,
sym_open_paren,
ACTIONS(318), 1,
sym_named_identifier,
STATE(40), 4,
sym_and_expression,
sym_or_expression,
sym_paren_expression,
sym__boolean_expression,
[1709] = 3,
STATE(20), 1,
sym__literals,
ACTIONS(322), 2,
sym_int_literal,
sym_bool_literal,
ACTIONS(320), 3,
sym_named_identifier,
sym_float_literal,
sym_string_literal,
[1722] = 3,
ACTIONS(324), 1,
sym_closed_paren,
ACTIONS(326), 1,
sym_comma,
STATE(98), 1,
aux_sym_anonymous_list_expression_repeat1,
[1732] = 3,
ACTIONS(328), 1,
sym_closed_paren,
ACTIONS(330), 1,
sym_comma,
STATE(97), 1,
aux_sym_anonymous_list_expression_repeat1,
[1742] = 3,
ACTIONS(326), 1,
sym_comma,
ACTIONS(333), 1,
sym_closed_paren,
STATE(97), 1,
aux_sym_anonymous_list_expression_repeat1,
[1752] = 3,
ACTIONS(208), 1,
sym_operator_and,
ACTIONS(236), 1,
sym_operator_or,
ACTIONS(335), 1,
sym_closed_paren,
[1762] = 2,
ACTIONS(337), 1,
sym_named_identifier,
STATE(118), 1,
sym_arg_unit,
[1769] = 2,
ACTIONS(339), 1,
sym_named_identifier,
STATE(18), 1,
sym_identifier_with_list,
[1776] = 2,
ACTIONS(339), 1,
sym_named_identifier,
STATE(126), 1,
sym_identifier_with_list,
[1783] = 1,
ACTIONS(328), 2,
sym_closed_paren,
sym_comma,
[1788] = 2,
ACTIONS(339), 1,
sym_named_identifier,
STATE(121), 1,
sym_identifier_with_list,
[1795] = 2,
ACTIONS(341), 1,
sym_named_identifier,
STATE(17), 1,
sym_identifier_with_list,
[1802] = 2,
ACTIONS(339), 1,
sym_named_identifier,
STATE(110), 1,
sym_identifier_with_list,
[1809] = 2,
ACTIONS(339), 1,
sym_named_identifier,
STATE(124), 1,
sym_identifier_with_list,
[1816] = 2,
ACTIONS(337), 1,
sym_named_identifier,
STATE(125), 1,
sym_arg_unit,
[1823] = 1,
ACTIONS(343), 1,
sym_closed_chevron,
[1827] = 1,
ACTIONS(345), 1,
sym_fat_arrow,
[1831] = 1,
ACTIONS(347), 1,
sym_closed_paren,
[1835] = 1,
ACTIONS(349), 1,
sym_closed_paren,
[1839] = 1,
ACTIONS(351), 1,
sym_open_paren,
[1843] = 1,
ACTIONS(353), 1,
sym_fat_arrow,
[1847] = 1,
ACTIONS(355), 1,
sym_closed_paren,
[1851] = 1,
ACTIONS(357), 1,
sym_range,
[1855] = 1,
ACTIONS(359), 1,
sym_closed_chevron,
[1859] = 1,
ACTIONS(361), 1,
sym_fat_arrow,
[1863] = 1,
ACTIONS(363), 1,
sym_closed_paren,
[1867] = 1,
ACTIONS(288), 1,
sym_closed_paren,
[1871] = 1,
ACTIONS(365), 1,
sym_fat_arrow,
[1875] = 1,
ACTIONS(367), 1,
sym_open_paren,
[1879] = 1,
ACTIONS(369), 1,
sym_fat_arrow,
[1883] = 1,
ACTIONS(371), 1,
sym_fat_arrow,
[1887] = 1,
ACTIONS(373), 1,
sym_fat_arrow,
[1891] = 1,
ACTIONS(375), 1,
sym_fat_arrow,
[1895] = 1,
ACTIONS(377), 1,
sym_open_paren,
[1899] = 1,
ACTIONS(379), 1,
sym_fat_arrow,
[1903] = 1,
ACTIONS(381), 1,
sym_named_identifier,
[1907] = 1,
ACTIONS(383), 1,
sym_closed_paren,
[1911] = 1,
ACTIONS(385), 1,
ts_builtin_sym_end,
[1915] = 1,
ACTIONS(387), 1,
sym_named_identifier,
[1919] = 1,
ACTIONS(389), 1,
sym_open_paren,
};
static const uint32_t ts_small_parse_table_map[] = {
[SMALL_STATE(2)] = 0,
[SMALL_STATE(3)] = 34,
[SMALL_STATE(4)] = 68,
[SMALL_STATE(5)] = 102,
[SMALL_STATE(6)] = 136,
[SMALL_STATE(7)] = 170,
[SMALL_STATE(8)] = 204,
[SMALL_STATE(9)] = 238,
[SMALL_STATE(10)] = 266,
[SMALL_STATE(11)] = 294,
[SMALL_STATE(12)] = 322,
[SMALL_STATE(13)] = 350,
[SMALL_STATE(14)] = 378,
[SMALL_STATE(15)] = 399,
[SMALL_STATE(16)] = 420,
[SMALL_STATE(17)] = 441,
[SMALL_STATE(18)] = 466,
[SMALL_STATE(19)] = 491,
[SMALL_STATE(20)] = 512,
[SMALL_STATE(21)] = 528,
[SMALL_STATE(22)] = 544,
[SMALL_STATE(23)] = 564,
[SMALL_STATE(24)] = 584,
[SMALL_STATE(25)] = 604,
[SMALL_STATE(26)] = 624,
[SMALL_STATE(27)] = 643,
[SMALL_STATE(28)] = 662,
[SMALL_STATE(29)] = 681,
[SMALL_STATE(30)] = 696,
[SMALL_STATE(31)] = 715,
[SMALL_STATE(32)] = 734,
[SMALL_STATE(33)] = 753,
[SMALL_STATE(34)] = 772,
[SMALL_STATE(35)] = 791,
[SMALL_STATE(36)] = 806,
[SMALL_STATE(37)] = 825,
[SMALL_STATE(38)] = 840,
[SMALL_STATE(39)] = 855,
[SMALL_STATE(40)] = 874,
[SMALL_STATE(41)] = 888,
[SMALL_STATE(42)] = 900,
[SMALL_STATE(43)] = 912,
[SMALL_STATE(44)] = 934,
[SMALL_STATE(45)] = 956,
[SMALL_STATE(46)] = 978,
[SMALL_STATE(47)] = 992,
[SMALL_STATE(48)] = 1006,
[SMALL_STATE(49)] = 1020,
[SMALL_STATE(50)] = 1034,
[SMALL_STATE(51)] = 1056,
[SMALL_STATE(52)] = 1070,
[SMALL_STATE(53)] = 1092,
[SMALL_STATE(54)] = 1114,
[SMALL_STATE(55)] = 1136,
[SMALL_STATE(56)] = 1158,
[SMALL_STATE(57)] = 1172,
[SMALL_STATE(58)] = 1194,
[SMALL_STATE(59)] = 1216,
[SMALL_STATE(60)] = 1231,
[SMALL_STATE(61)] = 1244,
[SMALL_STATE(62)] = 1259,
[SMALL_STATE(63)] = 1274,
[SMALL_STATE(64)] = 1289,
[SMALL_STATE(65)] = 1302,
[SMALL_STATE(66)] = 1315,
[SMALL_STATE(67)] = 1328,
[SMALL_STATE(68)] = 1341,
[SMALL_STATE(69)] = 1354,
[SMALL_STATE(70)] = 1367,
[SMALL_STATE(71)] = 1386,
[SMALL_STATE(72)] = 1399,
[SMALL_STATE(73)] = 1412,
[SMALL_STATE(74)] = 1425,
[SMALL_STATE(75)] = 1438,
[SMALL_STATE(76)] = 1451,
[SMALL_STATE(77)] = 1464,
[SMALL_STATE(78)] = 1477,
[SMALL_STATE(79)] = 1490,
[SMALL_STATE(80)] = 1503,
[SMALL_STATE(81)] = 1519,
[SMALL_STATE(82)] = 1535,
[SMALL_STATE(83)] = 1551,
[SMALL_STATE(84)] = 1567,
[SMALL_STATE(85)] = 1583,
[SMALL_STATE(86)] = 1596,
[SMALL_STATE(87)] = 1605,
[SMALL_STATE(88)] = 1618,
[SMALL_STATE(89)] = 1631,
[SMALL_STATE(90)] = 1644,
[SMALL_STATE(91)] = 1657,
[SMALL_STATE(92)] = 1670,
[SMALL_STATE(93)] = 1683,
[SMALL_STATE(94)] = 1696,
[SMALL_STATE(95)] = 1709,
[SMALL_STATE(96)] = 1722,
[SMALL_STATE(97)] = 1732,
[SMALL_STATE(98)] = 1742,
[SMALL_STATE(99)] = 1752,
[SMALL_STATE(100)] = 1762,
[SMALL_STATE(101)] = 1769,
[SMALL_STATE(102)] = 1776,
[SMALL_STATE(103)] = 1783,
[SMALL_STATE(104)] = 1788,
[SMALL_STATE(105)] = 1795,
[SMALL_STATE(106)] = 1802,
[SMALL_STATE(107)] = 1809,
[SMALL_STATE(108)] = 1816,
[SMALL_STATE(109)] = 1823,
[SMALL_STATE(110)] = 1827,
[SMALL_STATE(111)] = 1831,
[SMALL_STATE(112)] = 1835,
[SMALL_STATE(113)] = 1839,
[SMALL_STATE(114)] = 1843,
[SMALL_STATE(115)] = 1847,
[SMALL_STATE(116)] = 1851,
[SMALL_STATE(117)] = 1855,
[SMALL_STATE(118)] = 1859,
[SMALL_STATE(119)] = 1863,
[SMALL_STATE(120)] = 1867,
[SMALL_STATE(121)] = 1871,
[SMALL_STATE(122)] = 1875,
[SMALL_STATE(123)] = 1879,
[SMALL_STATE(124)] = 1883,
[SMALL_STATE(125)] = 1887,
[SMALL_STATE(126)] = 1891,
[SMALL_STATE(127)] = 1895,
[SMALL_STATE(128)] = 1899,
[SMALL_STATE(129)] = 1903,
[SMALL_STATE(130)] = 1907,
[SMALL_STATE(131)] = 1911,
[SMALL_STATE(132)] = 1915,
[SMALL_STATE(133)] = 1919,
};
static const TSParseActionEntry ts_parse_actions[] = {
[0] = {.entry = {.count = 0, .reusable = false}},
[1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(),
[3] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0, 0, 0),
[5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2),
[7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2),
[9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132),
[11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104),
[13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100),
[15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101),
[17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106),
[19] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0),
[21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3),
[23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3),
[25] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0),
[27] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(3),
[30] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(3),
[33] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(132),
[36] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(104),
[39] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(100),
[42] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(101),
[45] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(106),
[48] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
[50] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7),
[52] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129),
[54] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107),
[56] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108),
[58] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105),
[60] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102),
[62] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66),
[64] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
[66] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6),
[68] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67),
[70] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
[72] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8),
[74] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73),
[76] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60),
[78] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(8),
[81] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(8),
[84] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(129),
[87] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(107),
[90] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(108),
[93] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(105),
[96] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(102),
[99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113),
[101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88),
[103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85),
[105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89),
[107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90),
[109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56),
[111] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_constraint_block_repeat1, 2, 0, 0), SHIFT_REPEAT(113),
[114] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_constraint_block_repeat1, 2, 0, 0), SHIFT_REPEAT(88),
[117] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_constraint_block_repeat1, 2, 0, 0), SHIFT_REPEAT(85),
[120] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_constraint_block_repeat1, 2, 0, 0), SHIFT_REPEAT(89),
[123] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_constraint_block_repeat1, 2, 0, 0), SHIFT_REPEAT(90),
[126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_constraint_block_repeat1, 2, 0, 0),
[128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47),
[130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48),
[132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49),
[134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_anonymous_enum_expression_repeat1, 2, 0, 0),
[136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_anonymous_enum_expression_repeat1, 2, 0, 0),
[138] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_anonymous_enum_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(95),
[141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_enum_expression, 1, 0, 0),
[143] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_enum_expression, 1, 0, 0),
[145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95),
[147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_enum_expression, 2, 0, 0),
[149] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_enum_expression, 2, 0, 0),
[151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cmd_declaration, 2, 0, 0),
[153] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cmd_declaration, 2, 0, 0),
[155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5),
[157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12),
[159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
[161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
[163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_expression, 1, 0, 0),
[165] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_expression, 1, 0, 0),
[167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__literals, 1, 0, 0),
[169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45),
[171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier_with_list, 4, 0, 0),
[173] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier_with_list, 4, 0, 0),
[175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58),
[177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91),
[179] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_anonymous_enum_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(91),
[182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_opt_declaration, 4, 0, 0),
[184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_opt_declaration, 4, 0, 0),
[186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arg_declaration, 4, 0, 0),
[188] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arg_declaration, 4, 0, 0),
[190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cmd_declaration, 3, 0, 0),
[192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cmd_declaration, 3, 0, 0),
[194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nested_type, 4, 0, 0),
[196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_nested_type, 4, 0, 0),
[198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 4, 0, 0),
[200] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_declaration, 4, 0, 0),
[202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_env_declaration, 4, 0, 0),
[204] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_env_declaration, 4, 0, 0),
[206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_or_expression, 3, 0, 0),
[208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92),
[210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_paren_expression, 3, 0, 0),
[212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_and_expression, 3, 0, 0),
[214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19),
[216] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15),
[218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15),
[220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constraint_block, 2, 0, 0),
[222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constraint_block, 2, 0, 0),
[224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constraint_block, 3, 0, 0),
[226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constraint_block, 3, 0, 0),
[228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22),
[230] = {.entry = {.count = 1, .reusable = false}}, SHIFT(23),
[232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23),
[234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_requires_clause, 2, 0, 0),
[236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94),
[238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_block, 3, 0, 0),
[240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration_block, 3, 0, 0),
[242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_excludes_clause, 2, 0, 0),
[244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ensures_clause, 2, 0, 0),
[246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subcommands_clause, 2, 0, 0),
[248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_env_declaration, 5, 0, 0),
[250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_env_declaration, 5, 0, 0),
[252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_block, 2, 0, 0),
[254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration_block, 2, 0, 0),
[256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cmd_declaration, 4, 0, 0),
[258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cmd_declaration, 4, 0, 0),
[260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 5, 0, 0),
[262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_declaration, 5, 0, 0),
[264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82),
[266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116),
[268] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116),
[270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_opt_declaration, 5, 0, 0),
[272] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_opt_declaration, 5, 0, 0),
[274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arg_declaration, 5, 0, 0),
[276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arg_declaration, 5, 0, 0),
[278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96),
[280] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96),
[282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_unit, 1, 0, 0),
[284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120),
[286] = {.entry = {.count = 1, .reusable = false}}, SHIFT(120),
[288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_unit, 2, 0, 0),
[290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130),
[292] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130),
[294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87),
[296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61),
[298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_refinement_clause, 4, 0, 0),
[300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99),
[302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59),
[304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62),
[306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63),
[308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37),
[310] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37),
[312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
[314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103),
[316] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103),
[318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40),
[320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20),
[322] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20),
[324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_list_expression, 1, 0, 0),
[326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93),
[328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_anonymous_list_expression_repeat1, 2, 0, 0),
[330] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_anonymous_list_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(93),
[333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_list_expression, 2, 0, 0),
[335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41),
[337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127),
[339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122),
[341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133),
[343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51),
[345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43),
[347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86),
[349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21),
[351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80),
[353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55),
[355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128),
[357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84),
[359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29),
[361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50),
[363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35),
[365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44),
[367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81),
[369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52),
[371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53),
[373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54),
[375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57),
[377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70),
[379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arg_unit, 4, 0, 0),
[381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123),
[383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_unit, 3, 0, 0),
[385] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
[387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114),
[389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83),
};
#ifdef __cplusplus
extern "C" {
#endif
#ifdef TREE_SITTER_HIDE_SYMBOLS
#define TS_PUBLIC
#elif defined(_WIN32)
#define TS_PUBLIC __declspec(dllexport)
#else
#define TS_PUBLIC __attribute__((visibility("default")))
#endif
TS_PUBLIC const TSLanguage *tree_sitter_clispec(void) {
static const TSLanguage language = {
.abi_version = LANGUAGE_VERSION,
.symbol_count = SYMBOL_COUNT,
.alias_count = ALIAS_COUNT,
.token_count = TOKEN_COUNT,
.external_token_count = EXTERNAL_TOKEN_COUNT,
.state_count = STATE_COUNT,
.large_state_count = LARGE_STATE_COUNT,
.production_id_count = PRODUCTION_ID_COUNT,
.supertype_count = SUPERTYPE_COUNT,
.field_count = FIELD_COUNT,
.max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH,
.parse_table = &ts_parse_table[0][0],
.small_parse_table = ts_small_parse_table,
.small_parse_table_map = ts_small_parse_table_map,
.parse_actions = ts_parse_actions,
.symbol_names = ts_symbol_names,
.symbol_metadata = ts_symbol_metadata,
.public_symbol_map = ts_symbol_map,
.alias_map = ts_non_terminal_alias_map,
.alias_sequences = &ts_alias_sequences[0][0],
.lex_modes = (const void*)ts_lex_modes,
.lex_fn = ts_lex,
.keyword_lex_fn = ts_lex_keywords,
.keyword_capture_token = sym_identifier,
.primary_state_ids = ts_primary_state_ids,
.name = "clispec",
.max_reserved_word_set_size = 0,
.metadata = {
.major_version = 0,
.minor_version = 1,
.patch_version = 13,
},
};
return &language;
}
#ifdef __cplusplus
}
#endif