#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 31
#define LARGE_STATE_COUNT 2
#define SYMBOL_COUNT 30
#define ALIAS_COUNT 0
#define TOKEN_COUNT 20
#define EXTERNAL_TOKEN_COUNT 0
#define FIELD_COUNT 0
#define MAX_ALIAS_SEQUENCE_LENGTH 8
#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,
sym_id = 10,
aux_sym_title_token1 = 11,
aux_sym_date_token1 = 12,
anon_sym_LBRACK = 13,
anon_sym_NoDuration = 14,
aux_sym_duration_token1 = 15,
aux_sym_duration_token2 = 16,
anon_sym_RBRACK = 17,
sym_comment = 18,
sym_quote = 19,
sym_source_file = 20,
sym_line = 21,
sym_command = 22,
sym_title = 23,
sym_date = 24,
sym_author = 25,
sym_duration = 26,
sym_url = 27,
sym__q = 28,
aux_sym_source_file_repeat1 = 29,
};
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",
[sym_id] = "id",
[aux_sym_title_token1] = "title_token1",
[aux_sym_date_token1] = "date_token1",
[anon_sym_LBRACK] = "[",
[anon_sym_NoDuration] = "No Duration",
[aux_sym_duration_token1] = "duration_token1",
[aux_sym_duration_token2] = "duration_token2",
[anon_sym_RBRACK] = "]",
[sym_comment] = "comment",
[sym_quote] = "quote",
[sym_source_file] = "source_file",
[sym_line] = "line",
[sym_command] = "command",
[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",
};
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,
[sym_id] = sym_id,
[aux_sym_title_token1] = aux_sym_title_token1,
[aux_sym_date_token1] = aux_sym_date_token1,
[anon_sym_LBRACK] = anon_sym_LBRACK,
[anon_sym_NoDuration] = anon_sym_NoDuration,
[aux_sym_duration_token1] = aux_sym_duration_token1,
[aux_sym_duration_token2] = aux_sym_duration_token2,
[anon_sym_RBRACK] = anon_sym_RBRACK,
[sym_comment] = sym_comment,
[sym_quote] = sym_quote,
[sym_source_file] = sym_source_file,
[sym_line] = sym_line,
[sym_command] = sym_command,
[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,
};
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,
},
[sym_id] = {
.visible = true,
.named = true,
},
[aux_sym_title_token1] = {
.visible = false,
.named = false,
},
[aux_sym_date_token1] = {
.visible = false,
.named = false,
},
[anon_sym_LBRACK] = {
.visible = true,
.named = false,
},
[anon_sym_NoDuration] = {
.visible = true,
.named = false,
},
[aux_sym_duration_token1] = {
.visible = false,
.named = false,
},
[aux_sym_duration_token2] = {
.visible = false,
.named = false,
},
[anon_sym_RBRACK] = {
.visible = true,
.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_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,
},
};
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,
};
static bool
ts_lex (TSLexer *lexer, TSStateId state)
{
START_LEXER ();
eof = lexer->eof (lexer);
switch (state)
{
case 0:
if (eof)
ADVANCE (47);
if (lookahead == '"')
ADVANCE (74);
if (lookahead == '#')
ADVANCE (73);
if (lookahead == 'N')
ADVANCE (30);
if (lookahead == '[')
ADVANCE (68);
if (lookahead == '\\')
SKIP (46)
if (lookahead == ']')
ADVANCE (72);
if (lookahead == 'd')
ADVANCE (54);
if (lookahead == 'p')
ADVANCE (50);
if (lookahead == 'u')
ADVANCE (56);
if (lookahead == 'w')
ADVANCE (52);
if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r'
|| lookahead == ' ')
SKIP (0)
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (60);
END_STATE ();
case 1:
if (lookahead == '\n')
SKIP (14)
END_STATE ();
case 2:
if (lookahead == '\n')
SKIP (14)
if (lookahead == '\r')
SKIP (1)
END_STATE ();
case 3:
if (lookahead == '\n')
SKIP (16)
END_STATE ();
case 4:
if (lookahead == '\n')
SKIP (16)
if (lookahead == '\r')
SKIP (3)
END_STATE ();
case 5:
if (lookahead == '\n')
SKIP (7)
END_STATE ();
case 6:
if (lookahead == '\n')
SKIP (7)
if (lookahead == '\r')
SKIP (5)
END_STATE ();
case 7:
if (lookahead == '\n')
ADVANCE (48);
if (lookahead == '\\')
SKIP (6)
if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ')
SKIP (7)
END_STATE ();
case 8:
if (lookahead == ' ')
ADVANCE (13);
END_STATE ();
case 9:
if (lookahead == ' ')
ADVANCE (39);
END_STATE ();
case 10:
if (lookahead == ' ')
ADVANCE (40);
END_STATE ();
case 11:
if (lookahead == '-')
ADVANCE (43);
if (lookahead == 'h')
ADVANCE (9);
if (lookahead == 'm')
ADVANCE (10);
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (24);
END_STATE ();
case 12:
if (lookahead == '-')
ADVANCE (44);
END_STATE ();
case 13:
if (lookahead == 'D')
ADVANCE (38);
END_STATE ();
case 14:
if (lookahead == 'N')
ADVANCE (30);
if (lookahead == '\\')
SKIP (2)
if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r'
|| lookahead == ' ')
SKIP (14)
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (23);
END_STATE ();
case 15:
if (lookahead == '\\')
ADVANCE (63);
if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r'
|| lookahead == ' ')
ADVANCE (65);
if (lookahead != 0 && lookahead != '"')
ADVANCE (66);
END_STATE ();
case 16:
if (lookahead == '\\')
SKIP (4)
if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r'
|| lookahead == ' ')
SKIP (16)
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (62);
END_STATE ();
case 17:
if (lookahead == 'a')
ADVANCE (36);
END_STATE ();
case 18:
if (lookahead == 'c')
ADVANCE (26);
END_STATE ();
case 19:
if (lookahead == 'c')
ADVANCE (20);
END_STATE ();
case 20:
if (lookahead == 'h')
ADVANCE (51);
END_STATE ();
case 21:
if (lookahead == 'h')
ADVANCE (9);
if (lookahead == 'm')
ADVANCE (10);
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (11);
END_STATE ();
case 22:
if (lookahead == 'h')
ADVANCE (9);
if (lookahead == 'm')
ADVANCE (10);
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (21);
END_STATE ();
case 23:
if (lookahead == 'h')
ADVANCE (9);
if (lookahead == 'm')
ADVANCE (10);
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (22);
END_STATE ();
case 24:
if (lookahead == 'h')
ADVANCE (9);
if (lookahead == 'm')
ADVANCE (10);
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (24);
END_STATE ();
case 25:
if (lookahead == 'i')
ADVANCE (32);
END_STATE ();
case 26:
if (lookahead == 'k')
ADVANCE (49);
END_STATE ();
case 27:
if (lookahead == 'l')
ADVANCE (55);
END_STATE ();
case 28:
if (lookahead == 'm')
ADVANCE (71);
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (28);
END_STATE ();
case 29:
if (lookahead == 'n')
ADVANCE (69);
END_STATE ();
case 30:
if (lookahead == 'o')
ADVANCE (8);
END_STATE ();
case 31:
if (lookahead == 'o')
ADVANCE (33);
END_STATE ();
case 32:
if (lookahead == 'o')
ADVANCE (29);
END_STATE ();
case 33:
if (lookahead == 'p')
ADVANCE (53);
END_STATE ();
case 34:
if (lookahead == 'r')
ADVANCE (17);
END_STATE ();
case 35:
if (lookahead == 's')
ADVANCE (70);
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (35);
END_STATE ();
case 36:
if (lookahead == 't')
ADVANCE (25);
END_STATE ();
case 37:
if (lookahead == 't')
ADVANCE (19);
END_STATE ();
case 38:
if (lookahead == 'u')
ADVANCE (34);
END_STATE ();
case 39:
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (28);
END_STATE ();
case 40:
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (35);
END_STATE ();
case 41:
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (12);
END_STATE ();
case 42:
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (67);
END_STATE ();
case 43:
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (41);
END_STATE ();
case 44:
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (42);
END_STATE ();
case 45:
if (eof)
ADVANCE (47);
if (lookahead == '\n')
SKIP (0)
END_STATE ();
case 46:
if (eof)
ADVANCE (47);
if (lookahead == '\n')
SKIP (0)
if (lookahead == '\r')
SKIP (45)
END_STATE ();
case 47:
ACCEPT_TOKEN (ts_builtin_sym_end);
END_STATE ();
case 48:
ACCEPT_TOKEN (anon_sym_LF);
if (lookahead == '\n')
ADVANCE (48);
END_STATE ();
case 49:
ACCEPT_TOKEN (anon_sym_pick);
END_STATE ();
case 50:
ACCEPT_TOKEN (anon_sym_p);
if (lookahead == 'i')
ADVANCE (18);
END_STATE ();
case 51:
ACCEPT_TOKEN (anon_sym_watch);
END_STATE ();
case 52:
ACCEPT_TOKEN (anon_sym_w);
if (lookahead == 'a')
ADVANCE (37);
END_STATE ();
case 53:
ACCEPT_TOKEN (anon_sym_drop);
END_STATE ();
case 54:
ACCEPT_TOKEN (anon_sym_d);
if (lookahead == 'r')
ADVANCE (31);
END_STATE ();
case 55:
ACCEPT_TOKEN (anon_sym_url);
END_STATE ();
case 56:
ACCEPT_TOKEN (anon_sym_u);
if (lookahead == 'r')
ADVANCE (27);
END_STATE ();
case 57:
ACCEPT_TOKEN (sym_id);
if (lookahead == '-')
ADVANCE (43);
if (lookahead == 'h')
ADVANCE (9);
if (lookahead == 'm')
ADVANCE (10);
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (61);
END_STATE ();
case 58:
ACCEPT_TOKEN (sym_id);
if (lookahead == 'h')
ADVANCE (9);
if (lookahead == 'm')
ADVANCE (10);
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (57);
END_STATE ();
case 59:
ACCEPT_TOKEN (sym_id);
if (lookahead == 'h')
ADVANCE (9);
if (lookahead == 'm')
ADVANCE (10);
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (58);
END_STATE ();
case 60:
ACCEPT_TOKEN (sym_id);
if (lookahead == 'h')
ADVANCE (9);
if (lookahead == 'm')
ADVANCE (10);
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (59);
END_STATE ();
case 61:
ACCEPT_TOKEN (sym_id);
if (lookahead == 'h')
ADVANCE (9);
if (lookahead == 'm')
ADVANCE (10);
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (61);
END_STATE ();
case 62:
ACCEPT_TOKEN (sym_id);
if (('0' <= lookahead && lookahead <= '9'))
ADVANCE (62);
END_STATE ();
case 63:
ACCEPT_TOKEN (aux_sym_title_token1);
if (lookahead == '\n')
ADVANCE (65);
if (lookahead == '\r')
ADVANCE (64);
if (lookahead != 0 && lookahead != '"')
ADVANCE (66);
END_STATE ();
case 64:
ACCEPT_TOKEN (aux_sym_title_token1);
if (lookahead == '\n')
ADVANCE (65);
if (lookahead != 0 && lookahead != '"')
ADVANCE (66);
END_STATE ();
case 65:
ACCEPT_TOKEN (aux_sym_title_token1);
if (lookahead == '\\')
ADVANCE (63);
if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r'
|| lookahead == ' ')
ADVANCE (65);
if (lookahead != 0 && lookahead != '"')
ADVANCE (66);
END_STATE ();
case 66:
ACCEPT_TOKEN (aux_sym_title_token1);
if (lookahead != 0 && lookahead != '"')
ADVANCE (66);
END_STATE ();
case 67:
ACCEPT_TOKEN (aux_sym_date_token1);
END_STATE ();
case 68:
ACCEPT_TOKEN (anon_sym_LBRACK);
END_STATE ();
case 69:
ACCEPT_TOKEN (anon_sym_NoDuration);
END_STATE ();
case 70:
ACCEPT_TOKEN (aux_sym_duration_token1);
END_STATE ();
case 71:
ACCEPT_TOKEN (aux_sym_duration_token2);
END_STATE ();
case 72:
ACCEPT_TOKEN (anon_sym_RBRACK);
END_STATE ();
case 73:
ACCEPT_TOKEN (sym_comment);
if (lookahead != 0 && lookahead != '\n')
ADVANCE (73);
END_STATE ();
case 74:
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 = 0 }, [3] = { .lex_state = 0 },
[4] = { .lex_state = 0 }, [5] = { .lex_state = 0 },
[6] = { .lex_state = 0 }, [7] = { .lex_state = 0 },
[8] = { .lex_state = 14 }, [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 = 15 }, [17] = { .lex_state = 0 },
[18] = { .lex_state = 0 }, [19] = { .lex_state = 16 },
[20] = { .lex_state = 0 }, [21] = { .lex_state = 7 },
[22] = { .lex_state = 15 }, [23] = { .lex_state = 14 },
[24] = { .lex_state = 0 }, [25] = { .lex_state = 15 },
[26] = { .lex_state = 16 }, [27] = { .lex_state = 0 },
[28] = { .lex_state = 7 }, [29] = { .lex_state = 0 },
[30] = { .lex_state = 0 },
};
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),
[sym_id] = ACTIONS(1),
[aux_sym_date_token1] = ACTIONS(1),
[anon_sym_LBRACK] = ACTIONS(1),
[anon_sym_NoDuration] = ACTIONS(1),
[aux_sym_duration_token1] = ACTIONS(1),
[aux_sym_duration_token2] = ACTIONS(1),
[anon_sym_RBRACK] = ACTIONS(1),
[sym_comment] = ACTIONS(1),
[sym_quote] = ACTIONS(1),
},
[1] = {
[sym_source_file] = STATE(29),
[sym_line] = STATE(2),
[sym_command] = STATE(26),
[aux_sym_source_file_repeat1] = STATE(2),
[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] = 6,
ACTIONS (11),
1,
ts_builtin_sym_end,
ACTIONS (13),
1,
sym_comment,
STATE (26),
1,
sym_command,
STATE (3),
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,
[26] = 6,
ACTIONS (15),
1,
ts_builtin_sym_end,
ACTIONS (23),
1,
sym_comment,
STATE (26),
1,
sym_command,
STATE (3),
2,
sym_line,
aux_sym_source_file_repeat1,
ACTIONS (17),
4,
anon_sym_pick,
anon_sym_watch,
anon_sym_drop,
anon_sym_url,
ACTIONS (20),
4,
anon_sym_p,
anon_sym_w,
anon_sym_d,
anon_sym_u,
[52] = 2,
ACTIONS (28),
4,
anon_sym_p,
anon_sym_w,
anon_sym_d,
anon_sym_u,
ACTIONS (26),
6,
ts_builtin_sym_end,
anon_sym_pick,
anon_sym_watch,
anon_sym_drop,
anon_sym_url,
sym_comment,
[67] = 3,
ACTIONS (30),
1,
sym_quote,
STATE (21),
1,
sym_url,
STATE (22),
1,
sym__q,
[77] = 3,
ACTIONS (32),
1,
sym_quote,
STATE (7),
1,
sym_title,
STATE (25),
1,
sym__q,
[87] = 3,
ACTIONS (34),
1,
sym_quote,
STATE (9),
1,
sym_date,
STATE (23),
1,
sym__q,
[97] = 1,
ACTIONS (36),
3,
anon_sym_NoDuration,
aux_sym_duration_token1,
aux_sym_duration_token2,
[103] = 3,
ACTIONS (38),
1,
sym_quote,
STATE (10),
1,
sym_author,
STATE (16),
1,
sym__q,
[113] = 3,
ACTIONS (40),
1,
sym_quote,
STATE (5),
1,
sym_duration,
STATE (18),
1,
sym__q,
[123] = 2,
ACTIONS (42),
1,
sym_quote,
STATE (30),
1,
sym__q,
[130] = 2,
ACTIONS (44),
1,
sym_quote,
STATE (28),
1,
sym__q,
[137] = 2,
ACTIONS (46),
1,
sym_quote,
STATE (24),
1,
sym__q,
[144] = 2,
ACTIONS (48),
1,
sym_quote,
STATE (17),
1,
sym__q,
[151] = 2,
ACTIONS (50),
1,
sym_quote,
STATE (20),
1,
sym__q,
[158] = 1,
ACTIONS (52),
1,
aux_sym_title_token1,
[162] = 1,
ACTIONS (54),
1,
sym_quote,
[166] = 1,
ACTIONS (56),
1,
anon_sym_LBRACK,
[170] = 1,
ACTIONS (58),
1,
sym_id,
[174] = 1,
ACTIONS (60),
1,
sym_quote,
[178] = 1,
ACTIONS (62),
1,
anon_sym_LF,
[182] = 1,
ACTIONS (64),
1,
aux_sym_title_token1,
[186] = 1,
ACTIONS (66),
1,
aux_sym_date_token1,
[190] = 1,
ACTIONS (68),
1,
sym_quote,
[194] = 1,
ACTIONS (70),
1,
aux_sym_title_token1,
[198] = 1,
ACTIONS (72),
1,
sym_id,
[202] = 1,
ACTIONS (74),
1,
anon_sym_RBRACK,
[206] = 1,
ACTIONS (76),
1,
anon_sym_LF,
[210] = 1,
ACTIONS (78),
1,
ts_builtin_sym_end,
[214] = 1,
ACTIONS (80),
1,
sym_quote,
};
static const uint32_t ts_small_parse_table_map[] = {
[SMALL_STATE (2)] = 0, [SMALL_STATE (3)] = 26, [SMALL_STATE (4)] = 52,
[SMALL_STATE (5)] = 67, [SMALL_STATE (6)] = 77, [SMALL_STATE (7)] = 87,
[SMALL_STATE (8)] = 97, [SMALL_STATE (9)] = 103, [SMALL_STATE (10)] = 113,
[SMALL_STATE (11)] = 123, [SMALL_STATE (12)] = 130, [SMALL_STATE (13)] = 137,
[SMALL_STATE (14)] = 144, [SMALL_STATE (15)] = 151, [SMALL_STATE (16)] = 158,
[SMALL_STATE (17)] = 162, [SMALL_STATE (18)] = 166, [SMALL_STATE (19)] = 170,
[SMALL_STATE (20)] = 174, [SMALL_STATE (21)] = 178, [SMALL_STATE (22)] = 182,
[SMALL_STATE (23)] = 186, [SMALL_STATE (24)] = 190, [SMALL_STATE (25)] = 194,
[SMALL_STATE (26)] = 198, [SMALL_STATE (27)] = 202, [SMALL_STATE (28)] = 206,
[SMALL_STATE (29)] = 210, [SMALL_STATE (30)] = 214,
};
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 (19),
[7] = { .entry = { .count = 1, .reusable = false } },
SHIFT (19),
[9] = { .entry = { .count = 1, .reusable = true } },
SHIFT (2),
[11] = { .entry = { .count = 1, .reusable = true } },
REDUCE (sym_source_file, 1),
[13] = { .entry = { .count = 1, .reusable = true } },
SHIFT (3),
[15] = { .entry = { .count = 1, .reusable = true } },
REDUCE (aux_sym_source_file_repeat1, 2),
[17] = { .entry = { .count = 2, .reusable = true } },
REDUCE (aux_sym_source_file_repeat1, 2),
SHIFT_REPEAT (19),
[20] = { .entry = { .count = 2, .reusable = false } },
REDUCE (aux_sym_source_file_repeat1, 2),
SHIFT_REPEAT (19),
[23] = { .entry = { .count = 2, .reusable = true } },
REDUCE (aux_sym_source_file_repeat1, 2),
SHIFT_REPEAT (3),
[26] = { .entry = { .count = 1, .reusable = true } },
REDUCE (sym_line, 8),
[28] = { .entry = { .count = 1, .reusable = false } },
REDUCE (sym_line, 8),
[30] = { .entry = { .count = 1, .reusable = true } },
SHIFT (22),
[32] = { .entry = { .count = 1, .reusable = true } },
SHIFT (25),
[34] = { .entry = { .count = 1, .reusable = true } },
SHIFT (23),
[36] = { .entry = { .count = 1, .reusable = true } },
SHIFT (27),
[38] = { .entry = { .count = 1, .reusable = true } },
SHIFT (16),
[40] = { .entry = { .count = 1, .reusable = true } },
SHIFT (18),
[42] = { .entry = { .count = 1, .reusable = true } },
SHIFT (30),
[44] = { .entry = { .count = 1, .reusable = true } },
SHIFT (28),
[46] = { .entry = { .count = 1, .reusable = true } },
SHIFT (24),
[48] = { .entry = { .count = 1, .reusable = true } },
SHIFT (17),
[50] = { .entry = { .count = 1, .reusable = true } },
SHIFT (20),
[52] = { .entry = { .count = 1, .reusable = true } },
SHIFT (13),
[54] = { .entry = { .count = 1, .reusable = true } },
REDUCE (sym_title, 3),
[56] = { .entry = { .count = 1, .reusable = true } },
SHIFT (8),
[58] = { .entry = { .count = 1, .reusable = true } },
REDUCE (sym_command, 1),
[60] = { .entry = { .count = 1, .reusable = true } },
REDUCE (sym_date, 3),
[62] = { .entry = { .count = 1, .reusable = true } },
SHIFT (4),
[64] = { .entry = { .count = 1, .reusable = true } },
SHIFT (12),
[66] = { .entry = { .count = 1, .reusable = true } },
SHIFT (15),
[68] = { .entry = { .count = 1, .reusable = true } },
REDUCE (sym_author, 3),
[70] = { .entry = { .count = 1, .reusable = true } },
SHIFT (14),
[72] = { .entry = { .count = 1, .reusable = true } },
SHIFT (6),
[74] = { .entry = { .count = 1, .reusable = true } },
SHIFT (11),
[76] = { .entry = { .count = 1, .reusable = true } },
REDUCE (sym_url, 3),
[78] = { .entry = { .count = 1, .reusable = true } },
ACCEPT_INPUT (),
[80] = { .entry = { .count = 1, .reusable = true } },
REDUCE (sym_duration, 5),
};
#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