#include #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