#include <tree_sitter/parser.h>
#if defined(__GNUC__) || defined(__clang__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
#endif
#define LANGUAGE_VERSION 14
#define STATE_COUNT 39
#define LARGE_STATE_COUNT 2
#define SYMBOL_COUNT 42
#define ALIAS_COUNT 0
#define TOKEN_COUNT 30
#define EXTERNAL_TOKEN_COUNT 0
#define FIELD_COUNT 0
#define MAX_ALIAS_SEQUENCE_LENGTH 9
#define PRODUCTION_ID_COUNT 1
enum
{
anon_sym_LF = 1,
anon_sym_pick = 2,
anon_sym_p = 3,
anon_sym_watch = 4,
anon_sym_w = 5,
anon_sym_drop = 6,
anon_sym_d = 7,
anon_sym_url = 8,
anon_sym_u = 9,
aux_sym_flag_token1 = 10,
aux_sym_flag_token2 = 11,
aux_sym_flag_token3 = 12,
aux_sym_flag_token4 = 13,
aux_sym_flag_token5 = 14,
aux_sym_flag_token6 = 15,
aux_sym_flag_token7 = 16,
aux_sym_flag_token8 = 17,
aux_sym_flag_token9 = 18,
aux_sym_flag_token10 = 19,
aux_sym_flag_token11 = 20,
aux_sym_flag_token12 = 21,
sym_id = 22,
aux_sym_title_token1 = 23,
aux_sym_date_token1 = 24,
anon_sym_LBRACKNoDuration_RBRACK = 25,
aux_sym_duration_token1 = 26,
aux_sym_duration_token2 = 27,
sym_comment = 28,
sym_quote = 29,
sym_source_file = 30,
sym_line = 31,
sym_command = 32,
sym_flag = 33,
sym_title = 34,
sym_date = 35,
sym_author = 36,
sym_duration = 37,
sym_url = 38,
sym__q = 39,
aux_sym_source_file_repeat1 = 40,
aux_sym_line_repeat1 = 41,
};
static const char *const ts_symbol_names[] = {
[ts_builtin_sym_end] = "end",
[anon_sym_LF] = "\n",
[anon_sym_pick] = "pick",
[anon_sym_p] = "p",
[anon_sym_watch] = "watch",
[anon_sym_w] = "w",
[anon_sym_drop] = "drop",
[anon_sym_d] = "d",
[anon_sym_url] = "url",
[anon_sym_u] = "u",
[aux_sym_flag_token1] = "flag_token1",
[aux_sym_flag_token2] = "flag_token2",
[aux_sym_flag_token3] = "flag_token3",
[aux_sym_flag_token4] = "flag_token4",
[aux_sym_flag_token5] = "flag_token5",
[aux_sym_flag_token6] = "flag_token6",
[aux_sym_flag_token7] = "flag_token7",
[aux_sym_flag_token8] = "flag_token8",
[aux_sym_flag_token9] = "flag_token9",
[aux_sym_flag_token10] = "flag_token10",
[aux_sym_flag_token11] = "flag_token11",
[aux_sym_flag_token12] = "flag_token12",
[sym_id] = "id",
[aux_sym_title_token1] = "title_token1",
[aux_sym_date_token1] = "date_token1",
[anon_sym_LBRACKNoDuration_RBRACK] = "[No Duration]",
[aux_sym_duration_token1] = "duration_token1",
[aux_sym_duration_token2] = "duration_token2",
[sym_comment] = "comment",
[sym_quote] = "quote",
[sym_source_file] = "source_file",
[sym_line] = "line",
[sym_command] = "command",
[sym_flag] = "flag",
[sym_title] = "title",
[sym_date] = "date",
[sym_author] = "author",
[sym_duration] = "duration",
[sym_url] = "url",
[sym__q] = "_q",
[aux_sym_source_file_repeat1] = "source_file_repeat1",
[aux_sym_line_repeat1] = "line_repeat1",
};
static const TSSymbol ts_symbol_map[] = {
[ts_builtin_sym_end] = ts_builtin_sym_end,
[anon_sym_LF] = anon_sym_LF,
[anon_sym_pick] = anon_sym_pick,
[anon_sym_p] = anon_sym_p,
[anon_sym_watch] = anon_sym_watch,
[anon_sym_w] = anon_sym_w,
[anon_sym_drop] = anon_sym_drop,
[anon_sym_d] = anon_sym_d,
[anon_sym_url] = anon_sym_url,
[anon_sym_u] = anon_sym_u,
[aux_sym_flag_token1] = aux_sym_flag_token1,
[aux_sym_flag_token2] = aux_sym_flag_token2,
[aux_sym_flag_token3] = aux_sym_flag_token3,
[aux_sym_flag_token4] = aux_sym_flag_token4,
[aux_sym_flag_token5] = aux_sym_flag_token5,
[aux_sym_flag_token6] = aux_sym_flag_token6,
[aux_sym_flag_token7] = aux_sym_flag_token7,
[aux_sym_flag_token8] = aux_sym_flag_token8,
[aux_sym_flag_token9] = aux_sym_flag_token9,
[aux_sym_flag_token10] = aux_sym_flag_token10,
[aux_sym_flag_token11] = aux_sym_flag_token11,
[aux_sym_flag_token12] = aux_sym_flag_token12,
[sym_id] = sym_id,
[aux_sym_title_token1] = aux_sym_title_token1,
[aux_sym_date_token1] = aux_sym_date_token1,
[anon_sym_LBRACKNoDuration_RBRACK] = anon_sym_LBRACKNoDuration_RBRACK,
[aux_sym_duration_token1] = aux_sym_duration_token1,
[aux_sym_duration_token2] = aux_sym_duration_token2,
[sym_comment] = sym_comment,
[sym_quote] = sym_quote,
[sym_source_file] = sym_source_file,
[sym_line] = sym_line,
[sym_command] = sym_command,
[sym_flag] = sym_flag,
[sym_title] = sym_title,
[sym_date] = sym_date,
[sym_author] = sym_author,
[sym_duration] = sym_duration,
[sym_url] = sym_url,
[sym__q] = sym__q,
[aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1,
[aux_sym_line_repeat1] = aux_sym_line_repeat1,
};
static const TSSymbolMetadata ts_symbol_metadata[] = {
[ts_builtin_sym_end] = {
.visible = false,
.named = true,
},
[anon_sym_LF] = {
.visible = true,
.named = false,
},
[anon_sym_pick] = {
.visible = true,
.named = false,
},
[anon_sym_p] = {
.visible = true,
.named = false,
},
[anon_sym_watch] = {
.visible = true,
.named = false,
},
[anon_sym_w] = {
.visible = true,
.named = false,
},
[anon_sym_drop] = {
.visible = true,
.named = false,
},
[anon_sym_d] = {
.visible = true,
.named = false,
},
[anon_sym_url] = {
.visible = true,
.named = false,
},
[anon_sym_u] = {
.visible = true,
.named = false,
},
[aux_sym_flag_token1] = {
.visible = false,
.named = false,
},
[aux_sym_flag_token2] = {
.visible = false,
.named = false,
},
[aux_sym_flag_token3] = {
.visible = false,
.named = false,
},
[aux_sym_flag_token4] = {
.visible = false,
.named = false,
},
[aux_sym_flag_token5] = {
.visible = false,
.named = false,
},
[aux_sym_flag_token6] = {
.visible = false,
.named = false,
},
[aux_sym_flag_token7] = {
.visible = false,
.named = false,
},
[aux_sym_flag_token8] = {
.visible = false,
.named = false,
},
[aux_sym_flag_token9] = {
.visible = false,
.named = false,
},
[aux_sym_flag_token10] = {
.visible = false,
.named = false,
},
[aux_sym_flag_token11] = {
.visible = false,
.named = false,
},
[aux_sym_flag_token12] = {
.visible = false,
.named = false,
},
[sym_id] = {
.visible = true,
.named = true,
},
[aux_sym_title_token1] = {
.visible = false,
.named = false,
},
[aux_sym_date_token1] = {
.visible = false,
.named = false,
},
[anon_sym_LBRACKNoDuration_RBRACK] = {
.visible = true,
.named = false,
},
[aux_sym_duration_token1] = {
.visible = false,
.named = false,
},
[aux_sym_duration_token2] = {
.visible = false,
.named = false,
},
[sym_comment] = {
.visible = true,
.named = true,
},
[sym_quote] = {
.visible = true,
.named = true,
},
[sym_source_file] = {
.visible = true,
.named = true,
},
[sym_line] = {
.visible = true,
.named = true,
},
[sym_command] = {
.visible = true,
.named = true,
},
[sym_flag] = {
.visible = true,
.named = true,
},
[sym_title] = {
.visible = true,
.named = true,
},
[sym_date] = {
.visible = true,
.named = true,
},
[sym_author] = {
.visible = true,
.named = true,
},
[sym_duration] = {
.visible = true,
.named = true,
},
[sym_url] = {
.visible = true,
.named = true,
},
[sym__q] = {
.visible = false,
.named = true,
},
[aux_sym_source_file_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_line_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] = 5, [6] = 6,
[7] = 7, [8] = 8, [9] = 9, [10] = 10, [11] = 11, [12] = 12, [13] = 13,
[14] = 14, [15] = 15, [16] = 16, [17] = 17, [18] = 18, [19] = 19, [20] = 20,
[21] = 21, [22] = 22, [23] = 23, [24] = 24, [25] = 25, [26] = 26, [27] = 27,
[28] = 28, [29] = 29, [30] = 30, [31] = 31, [32] = 32, [33] = 33, [34] = 34,
[35] = 35, [36] = 36, [37] = 37, [38] = 38,
};
static bool
ts_lex (TSLexer *lexer, TSStateId state)
{
START_LEXER ();
eof = lexer->eof (lexer);
switch (state)
{
case 0:
if (eof)
ADVANCE (57);
if (lookahead == '"')
ADVANCE (95);
if (lookahead == '#')
ADVANCE (94);
if (lookahead == '-')
ADVANCE (20);
if (lookahead == '[')
ADVANCE (24);
if (lookahead == 'd')
ADVANCE (64);
if (lookahead == 'p')
ADVANCE (60);
if (lookahead == 'u')
ADVANCE (66);
if (lookahead == 'w')
ADVANCE (62);
if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r'
|| lookahead == ' ')
SKIP (0)
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (31);
END_STATE ();
case 1:
if (lookahead == '\n')
ADVANCE (58);
if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ')
SKIP (1)
END_STATE ();
case 2:
if (lookahead == ' ')
ADVANCE (7);
if (lookahead == '=')
ADVANCE (8);
END_STATE ();
case 3:
if (lookahead == ' ')
ADVANCE (49);
END_STATE ();
case 4:
if (lookahead == ' ')
ADVANCE (23);
END_STATE ();
case 5:
if (lookahead == ' ')
ADVANCE (50);
END_STATE ();
case 6:
if (lookahead == ' ')
ADVANCE (9);
if (lookahead == '=')
ADVANCE (10);
if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9')
|| ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_'
|| ('a' <= lookahead && lookahead <= 'z'))
ADVANCE (6);
END_STATE ();
case 7:
if (lookahead == '"')
ADVANCE (67);
if (lookahead == '\'')
ADVANCE (68);
if (lookahead != 0 && lookahead != '\t' && lookahead != '\n'
&& lookahead != '\r' && lookahead != ' ')
ADVANCE (69);
END_STATE ();
case 8:
if (lookahead == '"')
ADVANCE (72);
if (lookahead == '\'')
ADVANCE (73);
if (lookahead != 0 && lookahead != '\t' && lookahead != '\n'
&& lookahead != '\r' && lookahead != ' ')
ADVANCE (74);
END_STATE ();
case 9:
if (lookahead == '"')
ADVANCE (77);
if (lookahead == '\'')
ADVANCE (78);
if (lookahead != 0 && lookahead != '\t' && lookahead != '\n'
&& lookahead != '\r' && lookahead != ' ')
ADVANCE (79);
END_STATE ();
case 10:
if (lookahead == '"')
ADVANCE (82);
if (lookahead == '\'')
ADVANCE (83);
if (lookahead != 0 && lookahead != '\t' && lookahead != '\n'
&& lookahead != '\r' && lookahead != ' ')
ADVANCE (84);
END_STATE ();
case 11:
if (lookahead == '"')
ADVANCE (71);
if (lookahead != 0)
ADVANCE (11);
END_STATE ();
case 12:
if (lookahead == '"')
ADVANCE (76);
if (lookahead != 0)
ADVANCE (12);
END_STATE ();
case 13:
if (lookahead == '"')
ADVANCE (81);
if (lookahead != 0)
ADVANCE (13);
END_STATE ();
case 14:
if (lookahead == '"')
ADVANCE (86);
if (lookahead != 0)
ADVANCE (14);
END_STATE ();
case 15:
if (lookahead == '\'')
ADVANCE (70);
if (lookahead != 0)
ADVANCE (15);
END_STATE ();
case 16:
if (lookahead == '\'')
ADVANCE (75);
if (lookahead != 0)
ADVANCE (16);
END_STATE ();
case 17:
if (lookahead == '\'')
ADVANCE (80);
if (lookahead != 0)
ADVANCE (17);
END_STATE ();
case 18:
if (lookahead == '\'')
ADVANCE (85);
if (lookahead != 0)
ADVANCE (18);
END_STATE ();
case 19:
if (lookahead == '-')
ADVANCE (20);
if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r'
|| lookahead == ' ')
SKIP (19)
if (('0' <= lookahead && lookahead <= '9')
|| ('a' <= lookahead && lookahead <= 'z'))
ADVANCE (87);
END_STATE ();
case 20:
if (lookahead == '-')
ADVANCE (55);
if (('0' <= lookahead && lookahead <= '9')
|| ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_'
|| ('a' <= lookahead && lookahead <= 'z'))
ADVANCE (2);
END_STATE ();
case 21:
if (lookahead == '-')
ADVANCE (53);
if (lookahead == 'h')
ADVANCE (3);
if (lookahead == 'm')
ADVANCE (5);
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (32);
END_STATE ();
case 22:
if (lookahead == '-')
ADVANCE (54);
END_STATE ();
case 23:
if (lookahead == 'D')
ADVANCE (47);
END_STATE ();
case 24:
if (lookahead == 'N')
ADVANCE (41);
END_STATE ();
case 25:
if (lookahead == ']')
ADVANCE (91);
END_STATE ();
case 26:
if (lookahead == 'a')
ADVANCE (45);
END_STATE ();
case 27:
if (lookahead == 'c')
ADVANCE (35);
END_STATE ();
case 28:
if (lookahead == 'c')
ADVANCE (33);
END_STATE ();
case 29:
if (lookahead == 'h')
ADVANCE (3);
if (lookahead == 'm')
ADVANCE (5);
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (21);
END_STATE ();
case 30:
if (lookahead == 'h')
ADVANCE (3);
if (lookahead == 'm')
ADVANCE (5);
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (29);
END_STATE ();
case 31:
if (lookahead == 'h')
ADVANCE (3);
if (lookahead == 'm')
ADVANCE (5);
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (30);
END_STATE ();
case 32:
if (lookahead == 'h')
ADVANCE (3);
if (lookahead == 'm')
ADVANCE (5);
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (32);
END_STATE ();
case 33:
if (lookahead == 'h')
ADVANCE (61);
END_STATE ();
case 34:
if (lookahead == 'i')
ADVANCE (40);
END_STATE ();
case 35:
if (lookahead == 'k')
ADVANCE (59);
END_STATE ();
case 36:
if (lookahead == 'l')
ADVANCE (65);
END_STATE ();
case 37:
if (lookahead == 'm')
ADVANCE (93);
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (37);
END_STATE ();
case 38:
if (lookahead == 'n')
ADVANCE (25);
END_STATE ();
case 39:
if (lookahead == 'o')
ADVANCE (42);
END_STATE ();
case 40:
if (lookahead == 'o')
ADVANCE (38);
END_STATE ();
case 41:
if (lookahead == 'o')
ADVANCE (4);
END_STATE ();
case 42:
if (lookahead == 'p')
ADVANCE (63);
END_STATE ();
case 43:
if (lookahead == 'r')
ADVANCE (26);
END_STATE ();
case 44:
if (lookahead == 's')
ADVANCE (92);
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (44);
END_STATE ();
case 45:
if (lookahead == 't')
ADVANCE (34);
END_STATE ();
case 46:
if (lookahead == 't')
ADVANCE (28);
END_STATE ();
case 47:
if (lookahead == 'u')
ADVANCE (43);
END_STATE ();
case 48:
if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r'
|| lookahead == ' ')
ADVANCE (88);
if (lookahead != 0 && lookahead != '"')
ADVANCE (89);
END_STATE ();
case 49:
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (37);
END_STATE ();
case 50:
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (44);
END_STATE ();
case 51:
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (22);
END_STATE ();
case 52:
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (90);
END_STATE ();
case 53:
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (51);
END_STATE ();
case 54:
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (52);
END_STATE ();
case 55:
if (('0' <= lookahead && lookahead <= '9')
|| ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_'
|| ('a' <= lookahead && lookahead <= 'z'))
ADVANCE (56);
END_STATE ();
case 56:
if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9')
|| ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_'
|| ('a' <= lookahead && lookahead <= 'z'))
ADVANCE (6);
END_STATE ();
case 57:
ACCEPT_TOKEN (ts_builtin_sym_end);
END_STATE ();
case 58:
ACCEPT_TOKEN (anon_sym_LF);
if (lookahead == '\n')
ADVANCE (58);
END_STATE ();
case 59:
ACCEPT_TOKEN (anon_sym_pick);
END_STATE ();
case 60:
ACCEPT_TOKEN (anon_sym_p);
if (lookahead == 'i')
ADVANCE (27);
END_STATE ();
case 61:
ACCEPT_TOKEN (anon_sym_watch);
END_STATE ();
case 62:
ACCEPT_TOKEN (anon_sym_w);
if (lookahead == 'a')
ADVANCE (46);
END_STATE ();
case 63:
ACCEPT_TOKEN (anon_sym_drop);
END_STATE ();
case 64:
ACCEPT_TOKEN (anon_sym_d);
if (lookahead == 'r')
ADVANCE (39);
END_STATE ();
case 65:
ACCEPT_TOKEN (anon_sym_url);
END_STATE ();
case 66:
ACCEPT_TOKEN (anon_sym_u);
if (lookahead == 'r')
ADVANCE (36);
END_STATE ();
case 67:
ACCEPT_TOKEN (aux_sym_flag_token1);
if (lookahead == '"')
ADVANCE (69);
if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r'
|| lookahead == ' ')
ADVANCE (11);
if (lookahead != 0)
ADVANCE (67);
END_STATE ();
case 68:
ACCEPT_TOKEN (aux_sym_flag_token1);
if (lookahead == '\'')
ADVANCE (69);
if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r'
|| lookahead == ' ')
ADVANCE (15);
if (lookahead != 0)
ADVANCE (68);
END_STATE ();
case 69:
ACCEPT_TOKEN (aux_sym_flag_token1);
if (lookahead != 0 && lookahead != '\t' && lookahead != '\n'
&& lookahead != '\r' && lookahead != ' ')
ADVANCE (69);
END_STATE ();
case 70:
ACCEPT_TOKEN (aux_sym_flag_token2);
END_STATE ();
case 71:
ACCEPT_TOKEN (aux_sym_flag_token3);
END_STATE ();
case 72:
ACCEPT_TOKEN (aux_sym_flag_token4);
if (lookahead == '"')
ADVANCE (74);
if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r'
|| lookahead == ' ')
ADVANCE (12);
if (lookahead != 0)
ADVANCE (72);
END_STATE ();
case 73:
ACCEPT_TOKEN (aux_sym_flag_token4);
if (lookahead == '\'')
ADVANCE (74);
if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r'
|| lookahead == ' ')
ADVANCE (16);
if (lookahead != 0)
ADVANCE (73);
END_STATE ();
case 74:
ACCEPT_TOKEN (aux_sym_flag_token4);
if (lookahead != 0 && lookahead != '\t' && lookahead != '\n'
&& lookahead != '\r' && lookahead != ' ')
ADVANCE (74);
END_STATE ();
case 75:
ACCEPT_TOKEN (aux_sym_flag_token5);
END_STATE ();
case 76:
ACCEPT_TOKEN (aux_sym_flag_token6);
END_STATE ();
case 77:
ACCEPT_TOKEN (aux_sym_flag_token7);
if (lookahead == '"')
ADVANCE (79);
if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r'
|| lookahead == ' ')
ADVANCE (13);
if (lookahead != 0)
ADVANCE (77);
END_STATE ();
case 78:
ACCEPT_TOKEN (aux_sym_flag_token7);
if (lookahead == '\'')
ADVANCE (79);
if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r'
|| lookahead == ' ')
ADVANCE (17);
if (lookahead != 0)
ADVANCE (78);
END_STATE ();
case 79:
ACCEPT_TOKEN (aux_sym_flag_token7);
if (lookahead != 0 && lookahead != '\t' && lookahead != '\n'
&& lookahead != '\r' && lookahead != ' ')
ADVANCE (79);
END_STATE ();
case 80:
ACCEPT_TOKEN (aux_sym_flag_token8);
END_STATE ();
case 81:
ACCEPT_TOKEN (aux_sym_flag_token9);
END_STATE ();
case 82:
ACCEPT_TOKEN (aux_sym_flag_token10);
if (lookahead == '"')
ADVANCE (84);
if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r'
|| lookahead == ' ')
ADVANCE (14);
if (lookahead != 0)
ADVANCE (82);
END_STATE ();
case 83:
ACCEPT_TOKEN (aux_sym_flag_token10);
if (lookahead == '\'')
ADVANCE (84);
if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r'
|| lookahead == ' ')
ADVANCE (18);
if (lookahead != 0)
ADVANCE (83);
END_STATE ();
case 84:
ACCEPT_TOKEN (aux_sym_flag_token10);
if (lookahead != 0 && lookahead != '\t' && lookahead != '\n'
&& lookahead != '\r' && lookahead != ' ')
ADVANCE (84);
END_STATE ();
case 85:
ACCEPT_TOKEN (aux_sym_flag_token11);
END_STATE ();
case 86:
ACCEPT_TOKEN (aux_sym_flag_token12);
END_STATE ();
case 87:
ACCEPT_TOKEN (sym_id);
if (('0' <= lookahead && lookahead <= '9')
|| ('a' <= lookahead && lookahead <= 'z'))
ADVANCE (87);
END_STATE ();
case 88:
ACCEPT_TOKEN (aux_sym_title_token1);
if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r'
|| lookahead == ' ')
ADVANCE (88);
if (lookahead != 0 && lookahead != '"')
ADVANCE (89);
END_STATE ();
case 89:
ACCEPT_TOKEN (aux_sym_title_token1);
if (lookahead != 0 && lookahead != '"')
ADVANCE (89);
END_STATE ();
case 90:
ACCEPT_TOKEN (aux_sym_date_token1);
END_STATE ();
case 91:
ACCEPT_TOKEN (anon_sym_LBRACKNoDuration_RBRACK);
END_STATE ();
case 92:
ACCEPT_TOKEN (aux_sym_duration_token1);
END_STATE ();
case 93:
ACCEPT_TOKEN (aux_sym_duration_token2);
END_STATE ();
case 94:
ACCEPT_TOKEN (sym_comment);
if (lookahead != 0 && lookahead != '\n')
ADVANCE (94);
END_STATE ();
case 95:
ACCEPT_TOKEN (sym_quote);
END_STATE ();
default:
return false;
}
}
static const TSLexMode ts_lex_modes[STATE_COUNT] = {
[0] = { .lex_state = 0 }, [1] = { .lex_state = 0 },
[2] = { .lex_state = 19 }, [3] = { .lex_state = 19 },
[4] = { .lex_state = 19 }, [5] = { .lex_state = 19 },
[6] = { .lex_state = 0 }, [7] = { .lex_state = 19 },
[8] = { .lex_state = 0 }, [9] = { .lex_state = 0 },
[10] = { .lex_state = 0 }, [11] = { .lex_state = 0 },
[12] = { .lex_state = 0 }, [13] = { .lex_state = 0 },
[14] = { .lex_state = 0 }, [15] = { .lex_state = 0 },
[16] = { .lex_state = 0 }, [17] = { .lex_state = 0 },
[18] = { .lex_state = 0 }, [19] = { .lex_state = 0 },
[20] = { .lex_state = 0 }, [21] = { .lex_state = 0 },
[22] = { .lex_state = 0 }, [23] = { .lex_state = 0 },
[24] = { .lex_state = 0 }, [25] = { .lex_state = 0 },
[26] = { .lex_state = 0 }, [27] = { .lex_state = 0 },
[28] = { .lex_state = 48 }, [29] = { .lex_state = 0 },
[30] = { .lex_state = 1 }, [31] = { .lex_state = 48 },
[32] = { .lex_state = 0 }, [33] = { .lex_state = 0 },
[34] = { .lex_state = 0 }, [35] = { .lex_state = 0 },
[36] = { .lex_state = 1 }, [37] = { .lex_state = 1 },
[38] = { .lex_state = 48 },
};
static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
[0] = {
[ts_builtin_sym_end] = ACTIONS(1),
[anon_sym_pick] = ACTIONS(1),
[anon_sym_p] = ACTIONS(1),
[anon_sym_watch] = ACTIONS(1),
[anon_sym_w] = ACTIONS(1),
[anon_sym_drop] = ACTIONS(1),
[anon_sym_d] = ACTIONS(1),
[anon_sym_url] = ACTIONS(1),
[anon_sym_u] = ACTIONS(1),
[aux_sym_flag_token1] = ACTIONS(1),
[aux_sym_flag_token2] = ACTIONS(1),
[aux_sym_flag_token3] = ACTIONS(1),
[aux_sym_flag_token4] = ACTIONS(1),
[aux_sym_flag_token5] = ACTIONS(1),
[aux_sym_flag_token6] = ACTIONS(1),
[aux_sym_flag_token7] = ACTIONS(1),
[aux_sym_flag_token8] = ACTIONS(1),
[aux_sym_flag_token9] = ACTIONS(1),
[aux_sym_flag_token10] = ACTIONS(1),
[aux_sym_flag_token11] = ACTIONS(1),
[aux_sym_flag_token12] = ACTIONS(1),
[aux_sym_date_token1] = ACTIONS(1),
[anon_sym_LBRACKNoDuration_RBRACK] = ACTIONS(1),
[aux_sym_duration_token1] = ACTIONS(1),
[aux_sym_duration_token2] = ACTIONS(1),
[sym_comment] = ACTIONS(1),
[sym_quote] = ACTIONS(1),
},
[1] = {
[sym_source_file] = STATE(34),
[sym_line] = STATE(6),
[sym_command] = STATE(3),
[aux_sym_source_file_repeat1] = STATE(6),
[ts_builtin_sym_end] = ACTIONS(3),
[anon_sym_pick] = ACTIONS(5),
[anon_sym_p] = ACTIONS(7),
[anon_sym_watch] = ACTIONS(5),
[anon_sym_w] = ACTIONS(7),
[anon_sym_drop] = ACTIONS(5),
[anon_sym_d] = ACTIONS(7),
[anon_sym_url] = ACTIONS(5),
[anon_sym_u] = ACTIONS(7),
[sym_comment] = ACTIONS(9),
},
};
static const uint16_t ts_small_parse_table[] = {
[0] = 3,
ACTIONS (14),
1,
sym_id,
STATE (2),
2,
sym_flag,
aux_sym_line_repeat1,
ACTIONS (11),
12,
aux_sym_flag_token1,
aux_sym_flag_token2,
aux_sym_flag_token3,
aux_sym_flag_token4,
aux_sym_flag_token5,
aux_sym_flag_token6,
aux_sym_flag_token7,
aux_sym_flag_token8,
aux_sym_flag_token9,
aux_sym_flag_token10,
aux_sym_flag_token11,
aux_sym_flag_token12,
[22] = 3,
ACTIONS (18),
1,
sym_id,
STATE (4),
2,
sym_flag,
aux_sym_line_repeat1,
ACTIONS (16),
12,
aux_sym_flag_token1,
aux_sym_flag_token2,
aux_sym_flag_token3,
aux_sym_flag_token4,
aux_sym_flag_token5,
aux_sym_flag_token6,
aux_sym_flag_token7,
aux_sym_flag_token8,
aux_sym_flag_token9,
aux_sym_flag_token10,
aux_sym_flag_token11,
aux_sym_flag_token12,
[44] = 3,
ACTIONS (20),
1,
sym_id,
STATE (2),
2,
sym_flag,
aux_sym_line_repeat1,
ACTIONS (16),
12,
aux_sym_flag_token1,
aux_sym_flag_token2,
aux_sym_flag_token3,
aux_sym_flag_token4,
aux_sym_flag_token5,
aux_sym_flag_token6,
aux_sym_flag_token7,
aux_sym_flag_token8,
aux_sym_flag_token9,
aux_sym_flag_token10,
aux_sym_flag_token11,
aux_sym_flag_token12,
[66] = 2,
ACTIONS (24),
1,
sym_id,
ACTIONS (22),
12,
aux_sym_flag_token1,
aux_sym_flag_token2,
aux_sym_flag_token3,
aux_sym_flag_token4,
aux_sym_flag_token5,
aux_sym_flag_token6,
aux_sym_flag_token7,
aux_sym_flag_token8,
aux_sym_flag_token9,
aux_sym_flag_token10,
aux_sym_flag_token11,
aux_sym_flag_token12,
[84] = 6,
ACTIONS (26),
1,
ts_builtin_sym_end,
ACTIONS (28),
1,
sym_comment,
STATE (3),
1,
sym_command,
STATE (8),
2,
sym_line,
aux_sym_source_file_repeat1,
ACTIONS (5),
4,
anon_sym_pick,
anon_sym_watch,
anon_sym_drop,
anon_sym_url,
ACTIONS (7),
4,
anon_sym_p,
anon_sym_w,
anon_sym_d,
anon_sym_u,
[110] = 2,
ACTIONS (32),
1,
sym_id,
ACTIONS (30),
12,
aux_sym_flag_token1,
aux_sym_flag_token2,
aux_sym_flag_token3,
aux_sym_flag_token4,
aux_sym_flag_token5,
aux_sym_flag_token6,
aux_sym_flag_token7,
aux_sym_flag_token8,
aux_sym_flag_token9,
aux_sym_flag_token10,
aux_sym_flag_token11,
aux_sym_flag_token12,
[128] = 6,
ACTIONS (34),
1,
ts_builtin_sym_end,
ACTIONS (42),
1,
sym_comment,
STATE (3),
1,
sym_command,
STATE (8),
2,
sym_line,
aux_sym_source_file_repeat1,
ACTIONS (36),
4,
anon_sym_pick,
anon_sym_watch,
anon_sym_drop,
anon_sym_url,
ACTIONS (39),
4,
anon_sym_p,
anon_sym_w,
anon_sym_d,
anon_sym_u,
[154] = 2,
ACTIONS (47),
4,
anon_sym_p,
anon_sym_w,
anon_sym_d,
anon_sym_u,
ACTIONS (45),
6,
ts_builtin_sym_end,
anon_sym_pick,
anon_sym_watch,
anon_sym_drop,
anon_sym_url,
sym_comment,
[169] = 2,
ACTIONS (51),
4,
anon_sym_p,
anon_sym_w,
anon_sym_d,
anon_sym_u,
ACTIONS (49),
6,
ts_builtin_sym_end,
anon_sym_pick,
anon_sym_watch,
anon_sym_drop,
anon_sym_url,
sym_comment,
[184] = 3,
ACTIONS (53),
1,
sym_quote,
STATE (12),
1,
sym__q,
STATE (20),
1,
sym_duration,
[194] = 1,
ACTIONS (55),
3,
anon_sym_LBRACKNoDuration_RBRACK,
aux_sym_duration_token1,
aux_sym_duration_token2,
[200] = 3,
ACTIONS (57),
1,
sym_quote,
STATE (19),
1,
sym_title,
STATE (38),
1,
sym__q,
[210] = 3,
ACTIONS (57),
1,
sym_quote,
STATE (18),
1,
sym_title,
STATE (38),
1,
sym__q,
[220] = 3,
ACTIONS (59),
1,
sym_quote,
STATE (11),
1,
sym_author,
STATE (28),
1,
sym__q,
[230] = 3,
ACTIONS (61),
1,
sym_quote,
STATE (31),
1,
sym__q,
STATE (36),
1,
sym_url,
[240] = 3,
ACTIONS (53),
1,
sym_quote,
STATE (12),
1,
sym__q,
STATE (16),
1,
sym_duration,
[250] = 3,
ACTIONS (63),
1,
sym_quote,
STATE (21),
1,
sym_date,
STATE (33),
1,
sym__q,
[260] = 3,
ACTIONS (63),
1,
sym_quote,
STATE (15),
1,
sym_date,
STATE (33),
1,
sym__q,
[270] = 3,
ACTIONS (61),
1,
sym_quote,
STATE (30),
1,
sym_url,
STATE (31),
1,
sym__q,
[280] = 3,
ACTIONS (59),
1,
sym_quote,
STATE (17),
1,
sym_author,
STATE (28),
1,
sym__q,
[290] = 2,
ACTIONS (65),
1,
sym_quote,
STATE (29),
1,
sym__q,
[297] = 2,
ACTIONS (67),
1,
sym_quote,
STATE (32),
1,
sym__q,
[304] = 2,
ACTIONS (69),
1,
sym_quote,
STATE (27),
1,
sym__q,
[311] = 2,
ACTIONS (71),
1,
sym_quote,
STATE (35),
1,
sym__q,
[318] = 2,
ACTIONS (73),
1,
sym_quote,
STATE (37),
1,
sym__q,
[325] = 1,
ACTIONS (75),
1,
sym_quote,
[329] = 1,
ACTIONS (77),
1,
aux_sym_title_token1,
[333] = 1,
ACTIONS (79),
1,
sym_quote,
[337] = 1,
ACTIONS (81),
1,
anon_sym_LF,
[341] = 1,
ACTIONS (83),
1,
aux_sym_title_token1,
[345] = 1,
ACTIONS (85),
1,
sym_quote,
[349] = 1,
ACTIONS (87),
1,
aux_sym_date_token1,
[353] = 1,
ACTIONS (89),
1,
ts_builtin_sym_end,
[357] = 1,
ACTIONS (91),
1,
sym_quote,
[361] = 1,
ACTIONS (93),
1,
anon_sym_LF,
[365] = 1,
ACTIONS (95),
1,
anon_sym_LF,
[369] = 1,
ACTIONS (97),
1,
aux_sym_title_token1,
};
static const uint32_t ts_small_parse_table_map[] = {
[SMALL_STATE (2)] = 0, [SMALL_STATE (3)] = 22, [SMALL_STATE (4)] = 44,
[SMALL_STATE (5)] = 66, [SMALL_STATE (6)] = 84, [SMALL_STATE (7)] = 110,
[SMALL_STATE (8)] = 128, [SMALL_STATE (9)] = 154, [SMALL_STATE (10)] = 169,
[SMALL_STATE (11)] = 184, [SMALL_STATE (12)] = 194, [SMALL_STATE (13)] = 200,
[SMALL_STATE (14)] = 210, [SMALL_STATE (15)] = 220, [SMALL_STATE (16)] = 230,
[SMALL_STATE (17)] = 240, [SMALL_STATE (18)] = 250, [SMALL_STATE (19)] = 260,
[SMALL_STATE (20)] = 270, [SMALL_STATE (21)] = 280, [SMALL_STATE (22)] = 290,
[SMALL_STATE (23)] = 297, [SMALL_STATE (24)] = 304, [SMALL_STATE (25)] = 311,
[SMALL_STATE (26)] = 318, [SMALL_STATE (27)] = 325, [SMALL_STATE (28)] = 329,
[SMALL_STATE (29)] = 333, [SMALL_STATE (30)] = 337, [SMALL_STATE (31)] = 341,
[SMALL_STATE (32)] = 345, [SMALL_STATE (33)] = 349, [SMALL_STATE (34)] = 353,
[SMALL_STATE (35)] = 357, [SMALL_STATE (36)] = 361, [SMALL_STATE (37)] = 365,
[SMALL_STATE (38)] = 369,
};
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),
[5] = { .entry = { .count = 1, .reusable = true } },
SHIFT (5),
[7] = { .entry = { .count = 1, .reusable = false } },
SHIFT (5),
[9] = { .entry = { .count = 1, .reusable = true } },
SHIFT (6),
[11] = { .entry = { .count = 2, .reusable = false } },
REDUCE (aux_sym_line_repeat1, 2),
SHIFT_REPEAT (7),
[14] = { .entry = { .count = 1, .reusable = true } },
REDUCE (aux_sym_line_repeat1, 2),
[16] = { .entry = { .count = 1, .reusable = false } },
SHIFT (7),
[18] = { .entry = { .count = 1, .reusable = true } },
SHIFT (13),
[20] = { .entry = { .count = 1, .reusable = true } },
SHIFT (14),
[22] = { .entry = { .count = 1, .reusable = false } },
REDUCE (sym_command, 1),
[24] = { .entry = { .count = 1, .reusable = true } },
REDUCE (sym_command, 1),
[26] = { .entry = { .count = 1, .reusable = true } },
REDUCE (sym_source_file, 1),
[28] = { .entry = { .count = 1, .reusable = true } },
SHIFT (8),
[30] = { .entry = { .count = 1, .reusable = false } },
REDUCE (sym_flag, 1),
[32] = { .entry = { .count = 1, .reusable = true } },
REDUCE (sym_flag, 1),
[34] = { .entry = { .count = 1, .reusable = true } },
REDUCE (aux_sym_source_file_repeat1, 2),
[36] = { .entry = { .count = 2, .reusable = true } },
REDUCE (aux_sym_source_file_repeat1, 2),
SHIFT_REPEAT (5),
[39] = { .entry = { .count = 2, .reusable = false } },
REDUCE (aux_sym_source_file_repeat1, 2),
SHIFT_REPEAT (5),
[42] = { .entry = { .count = 2, .reusable = true } },
REDUCE (aux_sym_source_file_repeat1, 2),
SHIFT_REPEAT (8),
[45] = { .entry = { .count = 1, .reusable = true } },
REDUCE (sym_line, 9),
[47] = { .entry = { .count = 1, .reusable = false } },
REDUCE (sym_line, 9),
[49] = { .entry = { .count = 1, .reusable = true } },
REDUCE (sym_line, 8),
[51] = { .entry = { .count = 1, .reusable = false } },
REDUCE (sym_line, 8),
[53] = { .entry = { .count = 1, .reusable = true } },
SHIFT (12),
[55] = { .entry = { .count = 1, .reusable = true } },
SHIFT (25),
[57] = { .entry = { .count = 1, .reusable = true } },
SHIFT (38),
[59] = { .entry = { .count = 1, .reusable = true } },
SHIFT (28),
[61] = { .entry = { .count = 1, .reusable = true } },
SHIFT (31),
[63] = { .entry = { .count = 1, .reusable = true } },
SHIFT (33),
[65] = { .entry = { .count = 1, .reusable = true } },
SHIFT (29),
[67] = { .entry = { .count = 1, .reusable = true } },
SHIFT (32),
[69] = { .entry = { .count = 1, .reusable = true } },
SHIFT (27),
[71] = { .entry = { .count = 1, .reusable = true } },
SHIFT (35),
[73] = { .entry = { .count = 1, .reusable = true } },
SHIFT (37),
[75] = { .entry = { .count = 1, .reusable = true } },
REDUCE (sym_title, 3),
[77] = { .entry = { .count = 1, .reusable = true } },
SHIFT (23),
[79] = { .entry = { .count = 1, .reusable = true } },
REDUCE (sym_date, 3),
[81] = { .entry = { .count = 1, .reusable = true } },
SHIFT (10),
[83] = { .entry = { .count = 1, .reusable = true } },
SHIFT (26),
[85] = { .entry = { .count = 1, .reusable = true } },
REDUCE (sym_author, 3),
[87] = { .entry = { .count = 1, .reusable = true } },
SHIFT (22),
[89] = { .entry = { .count = 1, .reusable = true } },
ACCEPT_INPUT (),
[91] = { .entry = { .count = 1, .reusable = true } },
REDUCE (sym_duration, 3),
[93] = { .entry = { .count = 1, .reusable = true } },
SHIFT (9),
[95] = { .entry = { .count = 1, .reusable = true } },
REDUCE (sym_url, 3),
[97] = { .entry = { .count = 1, .reusable = true } },
SHIFT (24),
};
#ifdef __cplusplus
extern "C"
{
#endif
#ifdef _WIN32
#define extern __declspec (dllexport)
#endif
extern const TSLanguage *
tree_sitter_yts (void)
{
static const TSLanguage language = {
.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,
.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 = ts_lex_modes,
.lex_fn = ts_lex,
.primary_state_ids = ts_primary_state_ids,
};
return &language;
}
#ifdef __cplusplus
}
#endif