diff options
Diffstat (limited to '')
-rw-r--r-- | sys/nixpkgs/pkgs/tree-sitter-yts/src/parser.c | 1245 | ||||
-rw-r--r-- | sys/nixpkgs/pkgs/tree-sitter-yts/src/tree_sitter/parser.h | 385 |
2 files changed, 897 insertions, 733 deletions
diff --git a/sys/nixpkgs/pkgs/tree-sitter-yts/src/parser.c b/sys/nixpkgs/pkgs/tree-sitter-yts/src/parser.c index 5b02c3d0..ded5c342 100644 --- a/sys/nixpkgs/pkgs/tree-sitter-yts/src/parser.c +++ b/sys/nixpkgs/pkgs/tree-sitter-yts/src/parser.c @@ -16,7 +16,8 @@ #define MAX_ALIAS_SEQUENCE_LENGTH 8 #define PRODUCTION_ID_COUNT 1 -enum { +enum +{ anon_sym_LF = 1, anon_sym_pick = 2, anon_sym_p = 3, @@ -48,7 +49,7 @@ enum { aux_sym_source_file_repeat1 = 29, }; -static const char * const ts_symbol_names[] = { +static const char *const ts_symbol_names[] = { [ts_builtin_sym_end] = "end", [anon_sym_LF] = "\n", [anon_sym_pick] = "pick", @@ -237,409 +238,474 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { }, }; -static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { - [0] = {0}, -}; +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, + [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) { +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(); + 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(); + if (lookahead == '\n') + SKIP (14) + END_STATE (); case 2: - if (lookahead == '\n') SKIP(14) - if (lookahead == '\r') SKIP(1) - END_STATE(); + if (lookahead == '\n') + SKIP (14) + if (lookahead == '\r') + SKIP (1) + END_STATE (); case 3: - if (lookahead == '\n') SKIP(16) - END_STATE(); + if (lookahead == '\n') + SKIP (16) + END_STATE (); case 4: - if (lookahead == '\n') SKIP(16) - if (lookahead == '\r') SKIP(3) - END_STATE(); + if (lookahead == '\n') + SKIP (16) + if (lookahead == '\r') + SKIP (3) + END_STATE (); case 5: - if (lookahead == '\n') SKIP(7) - END_STATE(); + if (lookahead == '\n') + SKIP (7) + END_STATE (); case 6: - if (lookahead == '\n') SKIP(7) - if (lookahead == '\r') SKIP(5) - END_STATE(); + 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(); + 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(); + if (lookahead == ' ') + ADVANCE (13); + END_STATE (); case 9: - if (lookahead == ' ') ADVANCE(39); - END_STATE(); + if (lookahead == ' ') + ADVANCE (39); + END_STATE (); case 10: - if (lookahead == ' ') ADVANCE(40); - END_STATE(); + 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(); + 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(); + if (lookahead == '-') + ADVANCE (44); + END_STATE (); case 13: - if (lookahead == 'D') ADVANCE(38); - END_STATE(); + 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(); + 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(); + 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(); + 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(); + if (lookahead == 'a') + ADVANCE (36); + END_STATE (); case 18: - if (lookahead == 'c') ADVANCE(26); - END_STATE(); + if (lookahead == 'c') + ADVANCE (26); + END_STATE (); case 19: - if (lookahead == 'c') ADVANCE(20); - END_STATE(); + if (lookahead == 'c') + ADVANCE (20); + END_STATE (); case 20: - if (lookahead == 'h') ADVANCE(51); - END_STATE(); + 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(); + 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(); + 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(); + 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(); + 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(); + if (lookahead == 'i') + ADVANCE (32); + END_STATE (); case 26: - if (lookahead == 'k') ADVANCE(49); - END_STATE(); + if (lookahead == 'k') + ADVANCE (49); + END_STATE (); case 27: - if (lookahead == 'l') ADVANCE(55); - END_STATE(); + if (lookahead == 'l') + ADVANCE (55); + END_STATE (); case 28: - if (lookahead == 'm') ADVANCE(71); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(28); - END_STATE(); + if (lookahead == 'm') + ADVANCE (71); + if (('0' <= lookahead && lookahead <= '9')) + ADVANCE (28); + END_STATE (); case 29: - if (lookahead == 'n') ADVANCE(69); - END_STATE(); + if (lookahead == 'n') + ADVANCE (69); + END_STATE (); case 30: - if (lookahead == 'o') ADVANCE(8); - END_STATE(); + if (lookahead == 'o') + ADVANCE (8); + END_STATE (); case 31: - if (lookahead == 'o') ADVANCE(33); - END_STATE(); + if (lookahead == 'o') + ADVANCE (33); + END_STATE (); case 32: - if (lookahead == 'o') ADVANCE(29); - END_STATE(); + if (lookahead == 'o') + ADVANCE (29); + END_STATE (); case 33: - if (lookahead == 'p') ADVANCE(53); - END_STATE(); + if (lookahead == 'p') + ADVANCE (53); + END_STATE (); case 34: - if (lookahead == 'r') ADVANCE(17); - END_STATE(); + if (lookahead == 'r') + ADVANCE (17); + END_STATE (); case 35: - if (lookahead == 's') ADVANCE(70); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(35); - END_STATE(); + if (lookahead == 's') + ADVANCE (70); + if (('0' <= lookahead && lookahead <= '9')) + ADVANCE (35); + END_STATE (); case 36: - if (lookahead == 't') ADVANCE(25); - END_STATE(); + if (lookahead == 't') + ADVANCE (25); + END_STATE (); case 37: - if (lookahead == 't') ADVANCE(19); - END_STATE(); + if (lookahead == 't') + ADVANCE (19); + END_STATE (); case 38: - if (lookahead == 'u') ADVANCE(34); - END_STATE(); + if (lookahead == 'u') + ADVANCE (34); + END_STATE (); case 39: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(28); - END_STATE(); + if (('0' <= lookahead && lookahead <= '9')) + ADVANCE (28); + END_STATE (); case 40: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(35); - END_STATE(); + if (('0' <= lookahead && lookahead <= '9')) + ADVANCE (35); + END_STATE (); case 41: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(12); - END_STATE(); + if (('0' <= lookahead && lookahead <= '9')) + ADVANCE (12); + END_STATE (); case 42: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(67); - END_STATE(); + if (('0' <= lookahead && lookahead <= '9')) + ADVANCE (67); + END_STATE (); case 43: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(41); - END_STATE(); + if (('0' <= lookahead && lookahead <= '9')) + ADVANCE (41); + END_STATE (); case 44: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(42); - END_STATE(); + if (('0' <= lookahead && lookahead <= '9')) + ADVANCE (42); + END_STATE (); case 45: - if (eof) ADVANCE(47); - if (lookahead == '\n') SKIP(0) - END_STATE(); + 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(); + 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(); + ACCEPT_TOKEN (ts_builtin_sym_end); + END_STATE (); case 48: - ACCEPT_TOKEN(anon_sym_LF); - if (lookahead == '\n') ADVANCE(48); - END_STATE(); + ACCEPT_TOKEN (anon_sym_LF); + if (lookahead == '\n') + ADVANCE (48); + END_STATE (); case 49: - ACCEPT_TOKEN(anon_sym_pick); - END_STATE(); + ACCEPT_TOKEN (anon_sym_pick); + END_STATE (); case 50: - ACCEPT_TOKEN(anon_sym_p); - if (lookahead == 'i') ADVANCE(18); - END_STATE(); + ACCEPT_TOKEN (anon_sym_p); + if (lookahead == 'i') + ADVANCE (18); + END_STATE (); case 51: - ACCEPT_TOKEN(anon_sym_watch); - END_STATE(); + ACCEPT_TOKEN (anon_sym_watch); + END_STATE (); case 52: - ACCEPT_TOKEN(anon_sym_w); - if (lookahead == 'a') ADVANCE(37); - END_STATE(); + ACCEPT_TOKEN (anon_sym_w); + if (lookahead == 'a') + ADVANCE (37); + END_STATE (); case 53: - ACCEPT_TOKEN(anon_sym_drop); - END_STATE(); + ACCEPT_TOKEN (anon_sym_drop); + END_STATE (); case 54: - ACCEPT_TOKEN(anon_sym_d); - if (lookahead == 'r') ADVANCE(31); - END_STATE(); + ACCEPT_TOKEN (anon_sym_d); + if (lookahead == 'r') + ADVANCE (31); + END_STATE (); case 55: - ACCEPT_TOKEN(anon_sym_url); - END_STATE(); + ACCEPT_TOKEN (anon_sym_url); + END_STATE (); case 56: - ACCEPT_TOKEN(anon_sym_u); - if (lookahead == 'r') ADVANCE(27); - END_STATE(); + 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(); + 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(); + 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(); + 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(); + 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(); + 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(); + 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(); + 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(); + 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(); + 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(); + ACCEPT_TOKEN (aux_sym_title_token1); + if (lookahead != 0 && lookahead != '"') + ADVANCE (66); + END_STATE (); case 67: - ACCEPT_TOKEN(aux_sym_date_token1); - END_STATE(); + ACCEPT_TOKEN (aux_sym_date_token1); + END_STATE (); case 68: - ACCEPT_TOKEN(anon_sym_LBRACK); - END_STATE(); + ACCEPT_TOKEN (anon_sym_LBRACK); + END_STATE (); case 69: - ACCEPT_TOKEN(anon_sym_NoDuration); - END_STATE(); + ACCEPT_TOKEN (anon_sym_NoDuration); + END_STATE (); case 70: - ACCEPT_TOKEN(aux_sym_duration_token1); - END_STATE(); + ACCEPT_TOKEN (aux_sym_duration_token1); + END_STATE (); case 71: - ACCEPT_TOKEN(aux_sym_duration_token2); - END_STATE(); + ACCEPT_TOKEN (aux_sym_duration_token2); + END_STATE (); case 72: - ACCEPT_TOKEN(anon_sym_RBRACK); - END_STATE(); + ACCEPT_TOKEN (anon_sym_RBRACK); + END_STATE (); case 73: - ACCEPT_TOKEN(sym_comment); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(73); - END_STATE(); + ACCEPT_TOKEN (sym_comment); + if (lookahead != 0 && lookahead != '\n') + ADVANCE (73); + END_STATE (); case 74: - ACCEPT_TOKEN(sym_quote); - END_STATE(); + 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}, + [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] = { @@ -683,279 +749,360 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + ACTIONS (42), + 1, + sym_quote, + STATE (30), + 1, + sym__q, [130] = 2, - ACTIONS(44), 1, - sym_quote, - STATE(28), 1, - sym__q, + ACTIONS (44), + 1, + sym_quote, + STATE (28), + 1, + sym__q, [137] = 2, - ACTIONS(46), 1, - sym_quote, - STATE(24), 1, - sym__q, + ACTIONS (46), + 1, + sym_quote, + STATE (24), + 1, + sym__q, [144] = 2, - ACTIONS(48), 1, - sym_quote, - STATE(17), 1, - sym__q, + ACTIONS (48), + 1, + sym_quote, + STATE (17), + 1, + sym__q, [151] = 2, - ACTIONS(50), 1, - sym_quote, - STATE(20), 1, - sym__q, + ACTIONS (50), + 1, + sym_quote, + STATE (20), + 1, + sym__q, [158] = 1, - ACTIONS(52), 1, - aux_sym_title_token1, + ACTIONS (52), + 1, + aux_sym_title_token1, [162] = 1, - ACTIONS(54), 1, - sym_quote, + ACTIONS (54), + 1, + sym_quote, [166] = 1, - ACTIONS(56), 1, - anon_sym_LBRACK, + ACTIONS (56), + 1, + anon_sym_LBRACK, [170] = 1, - ACTIONS(58), 1, - sym_id, + ACTIONS (58), + 1, + sym_id, [174] = 1, - ACTIONS(60), 1, - sym_quote, + ACTIONS (60), + 1, + sym_quote, [178] = 1, - ACTIONS(62), 1, - anon_sym_LF, + ACTIONS (62), + 1, + anon_sym_LF, [182] = 1, - ACTIONS(64), 1, - aux_sym_title_token1, + ACTIONS (64), + 1, + aux_sym_title_token1, [186] = 1, - ACTIONS(66), 1, - aux_sym_date_token1, + ACTIONS (66), + 1, + aux_sym_date_token1, [190] = 1, - ACTIONS(68), 1, - sym_quote, + ACTIONS (68), + 1, + sym_quote, [194] = 1, - ACTIONS(70), 1, - aux_sym_title_token1, + ACTIONS (70), + 1, + aux_sym_title_token1, [198] = 1, - ACTIONS(72), 1, - sym_id, + ACTIONS (72), + 1, + sym_id, [202] = 1, - ACTIONS(74), 1, - anon_sym_RBRACK, + ACTIONS (74), + 1, + anon_sym_RBRACK, [206] = 1, - ACTIONS(76), 1, - anon_sym_LF, + ACTIONS (76), + 1, + anon_sym_LF, [210] = 1, - ACTIONS(78), 1, - ts_builtin_sym_end, + ACTIONS (78), + 1, + ts_builtin_sym_end, [214] = 1, - ACTIONS(80), 1, - sym_quote, + 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, + [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), + [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" { +extern "C" +{ #endif #ifdef _WIN32 -#define extern __declspec(dllexport) +#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; -} + 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 diff --git a/sys/nixpkgs/pkgs/tree-sitter-yts/src/tree_sitter/parser.h b/sys/nixpkgs/pkgs/tree-sitter-yts/src/tree_sitter/parser.h index 2b14ac10..972913cf 100644 --- a/sys/nixpkgs/pkgs/tree-sitter-yts/src/tree_sitter/parser.h +++ b/sys/nixpkgs/pkgs/tree-sitter-yts/src/tree_sitter/parser.h @@ -2,7 +2,8 @@ #define TREE_SITTER_PARSER_H_ #ifdef __cplusplus -extern "C" { +extern "C" +{ #endif #include <stdbool.h> @@ -13,158 +14,171 @@ extern "C" { #define ts_builtin_sym_end 0 #define TREE_SITTER_SERIALIZATION_BUFFER_SIZE 1024 -typedef uint16_t TSStateId; + typedef uint16_t TSStateId; #ifndef TREE_SITTER_API_H_ -typedef uint16_t TSSymbol; -typedef uint16_t TSFieldId; -typedef struct TSLanguage TSLanguage; + typedef uint16_t TSSymbol; + typedef uint16_t TSFieldId; + typedef struct TSLanguage TSLanguage; #endif -typedef struct { - TSFieldId field_id; - uint8_t child_index; - bool inherited; -} TSFieldMapEntry; - -typedef struct { - uint16_t index; - uint16_t length; -} TSFieldMapSlice; - -typedef struct { - bool visible; - bool named; - bool supertype; -} TSSymbolMetadata; - -typedef struct TSLexer TSLexer; - -struct TSLexer { - int32_t lookahead; - TSSymbol result_symbol; - void (*advance)(TSLexer *, bool); - void (*mark_end)(TSLexer *); - uint32_t (*get_column)(TSLexer *); - bool (*is_at_included_range_start)(const TSLexer *); - bool (*eof)(const TSLexer *); -}; - -typedef enum { - TSParseActionTypeShift, - TSParseActionTypeReduce, - TSParseActionTypeAccept, - TSParseActionTypeRecover, -} TSParseActionType; - -typedef union { - struct { + typedef struct + { + TSFieldId field_id; + uint8_t child_index; + bool inherited; + } TSFieldMapEntry; + + typedef struct + { + uint16_t index; + uint16_t length; + } TSFieldMapSlice; + + typedef struct + { + bool visible; + bool named; + bool supertype; + } TSSymbolMetadata; + + typedef struct TSLexer TSLexer; + + struct TSLexer + { + int32_t lookahead; + TSSymbol result_symbol; + void (*advance) (TSLexer *, bool); + void (*mark_end) (TSLexer *); + uint32_t (*get_column) (TSLexer *); + bool (*is_at_included_range_start) (const TSLexer *); + bool (*eof) (const TSLexer *); + }; + + typedef enum + { + TSParseActionTypeShift, + TSParseActionTypeReduce, + TSParseActionTypeAccept, + TSParseActionTypeRecover, + } TSParseActionType; + + typedef union + { + struct + { + uint8_t type; + TSStateId state; + bool extra; + bool repetition; + } shift; + struct + { + uint8_t type; + uint8_t child_count; + TSSymbol symbol; + int16_t dynamic_precedence; + uint16_t production_id; + } reduce; uint8_t type; - TSStateId state; - bool extra; - bool repetition; - } shift; - struct { - uint8_t type; - uint8_t child_count; - TSSymbol symbol; - int16_t dynamic_precedence; - uint16_t production_id; - } reduce; - uint8_t type; -} TSParseAction; - -typedef struct { - uint16_t lex_state; - uint16_t external_lex_state; -} TSLexMode; - -typedef union { - TSParseAction action; - struct { - uint8_t count; - bool reusable; - } entry; -} TSParseActionEntry; - -struct TSLanguage { - uint32_t version; - uint32_t symbol_count; - uint32_t alias_count; - uint32_t token_count; - uint32_t external_token_count; - uint32_t state_count; - uint32_t large_state_count; - uint32_t production_id_count; - uint32_t field_count; - uint16_t max_alias_sequence_length; - const uint16_t *parse_table; - const uint16_t *small_parse_table; - const uint32_t *small_parse_table_map; - const TSParseActionEntry *parse_actions; - const char * const *symbol_names; - const char * const *field_names; - const TSFieldMapSlice *field_map_slices; - const TSFieldMapEntry *field_map_entries; - const TSSymbolMetadata *symbol_metadata; - const TSSymbol *public_symbol_map; - const uint16_t *alias_map; - const TSSymbol *alias_sequences; - const TSLexMode *lex_modes; - bool (*lex_fn)(TSLexer *, TSStateId); - bool (*keyword_lex_fn)(TSLexer *, TSStateId); - TSSymbol keyword_capture_token; - struct { - const bool *states; - const TSSymbol *symbol_map; - void *(*create)(void); - void (*destroy)(void *); - bool (*scan)(void *, TSLexer *, const bool *symbol_whitelist); - unsigned (*serialize)(void *, char *); - void (*deserialize)(void *, const char *, unsigned); - } external_scanner; - const TSStateId *primary_state_ids; -}; - -/* - * Lexer Macros - */ - -#define START_LEXER() \ - bool result = false; \ - bool skip = false; \ - bool eof = false; \ - int32_t lookahead; \ - goto start; \ - next_state: \ - lexer->advance(lexer, skip); \ - start: \ - skip = false; \ + } TSParseAction; + + typedef struct + { + uint16_t lex_state; + uint16_t external_lex_state; + } TSLexMode; + + typedef union + { + TSParseAction action; + struct + { + uint8_t count; + bool reusable; + } entry; + } TSParseActionEntry; + + struct TSLanguage + { + uint32_t version; + uint32_t symbol_count; + uint32_t alias_count; + uint32_t token_count; + uint32_t external_token_count; + uint32_t state_count; + uint32_t large_state_count; + uint32_t production_id_count; + uint32_t field_count; + uint16_t max_alias_sequence_length; + const uint16_t *parse_table; + const uint16_t *small_parse_table; + const uint32_t *small_parse_table_map; + const TSParseActionEntry *parse_actions; + const char *const *symbol_names; + const char *const *field_names; + const TSFieldMapSlice *field_map_slices; + const TSFieldMapEntry *field_map_entries; + const TSSymbolMetadata *symbol_metadata; + const TSSymbol *public_symbol_map; + const uint16_t *alias_map; + const TSSymbol *alias_sequences; + const TSLexMode *lex_modes; + bool (*lex_fn) (TSLexer *, TSStateId); + bool (*keyword_lex_fn) (TSLexer *, TSStateId); + TSSymbol keyword_capture_token; + struct + { + const bool *states; + const TSSymbol *symbol_map; + void *(*create) (void); + void (*destroy) (void *); + bool (*scan) (void *, TSLexer *, const bool *symbol_whitelist); + unsigned (*serialize) (void *, char *); + void (*deserialize) (void *, const char *, unsigned); + } external_scanner; + const TSStateId *primary_state_ids; + }; + + /* + * Lexer Macros + */ + +#define START_LEXER() \ + bool result = false; \ + bool skip = false; \ + bool eof = false; \ + int32_t lookahead; \ + goto start; \ + next_state: \ + lexer->advance (lexer, skip); \ + start: \ + skip = false; \ lookahead = lexer->lookahead; -#define ADVANCE(state_value) \ - { \ - state = state_value; \ - goto next_state; \ +#define ADVANCE(state_value) \ + { \ + state = state_value; \ + goto next_state; \ } -#define SKIP(state_value) \ - { \ - skip = true; \ - state = state_value; \ - goto next_state; \ +#define SKIP(state_value) \ + { \ + skip = true; \ + state = state_value; \ + goto next_state; \ } -#define ACCEPT_TOKEN(symbol_value) \ - result = true; \ - lexer->result_symbol = symbol_value; \ - lexer->mark_end(lexer); +#define ACCEPT_TOKEN(symbol_value) \ + result = true; \ + lexer->result_symbol = symbol_value; \ + lexer->mark_end (lexer); #define END_STATE() return result; -/* - * Parse Table Macros - */ + /* + * Parse Table Macros + */ #define SMALL_STATE(id) id - LARGE_STATE_COUNT @@ -172,53 +186,56 @@ struct TSLanguage { #define ACTIONS(id) id -#define SHIFT(state_value) \ - {{ \ - .shift = { \ - .type = TSParseActionTypeShift, \ - .state = state_value \ - } \ - }} - -#define SHIFT_REPEAT(state_value) \ - {{ \ - .shift = { \ - .type = TSParseActionTypeShift, \ - .state = state_value, \ - .repetition = true \ - } \ - }} - -#define SHIFT_EXTRA() \ - {{ \ - .shift = { \ - .type = TSParseActionTypeShift, \ - .extra = true \ - } \ - }} - -#define REDUCE(symbol_val, child_count_val, ...) \ - {{ \ - .reduce = { \ - .type = TSParseActionTypeReduce, \ - .symbol = symbol_val, \ - .child_count = child_count_val, \ - __VA_ARGS__ \ - }, \ - }} - -#define RECOVER() \ - {{ \ - .type = TSParseActionTypeRecover \ - }} - -#define ACCEPT_INPUT() \ - {{ \ - .type = TSParseActionTypeAccept \ - }} +#define SHIFT(state_value) \ + { \ + { \ + .shift = {.type = TSParseActionTypeShift, .state = state_value } \ + } \ + } + +#define SHIFT_REPEAT(state_value) \ + { \ + { \ + .shift \ + = {.type = TSParseActionTypeShift, \ + .state = state_value, \ + .repetition = true } \ + } \ + } + +#define SHIFT_EXTRA() \ + { \ + { \ + .shift = {.type = TSParseActionTypeShift, .extra = true } \ + } \ + } + +#define REDUCE(symbol_val, child_count_val, ...) \ + { \ + { \ + .reduce = { .type = TSParseActionTypeReduce, \ + .symbol = symbol_val, \ + .child_count = child_count_val, \ + __VA_ARGS__ }, \ + } \ + } + +#define RECOVER() \ + { \ + { \ + .type = TSParseActionTypeRecover \ + } \ + } + +#define ACCEPT_INPUT() \ + { \ + { \ + .type = TSParseActionTypeAccept \ + } \ + } #ifdef __cplusplus } #endif -#endif // TREE_SITTER_PARSER_H_ +#endif // TREE_SITTER_PARSER_H_ |