meta_tables.c (55951B)
1 /* Generated by gramgen from meta.ebnf. */ 2 #include "meta_tables.h" 3 #include <kit/support/gram_parse_tables.h> 4 #include <kit/support/gram_lex_tables.h> 5 6 static const KitGramTokenKind g_sets[] = { 7 KIT_GRAM_META_TOK_TOKEN_DECL, KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_PRATT_DECL, KIT_GRAM_META_TOK_LEX_DECL, KIT_GRAM_META_TOK_MACHINE_DECL, KIT_GRAM_META_TOK_PIPE, KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_STRING, KIT_GRAM_META_TOK_LPAREN, KIT_GRAM_META_TOK_QUESTION, KIT_GRAM_META_TOK_STAR, KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_STRING, KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_SKIP_DECL, KIT_GRAM_META_TOK_DEF_DECL, KIT_GRAM_META_TOK_KEYWORDS_DECL, KIT_GRAM_META_TOK_EQ, KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_STRING, KIT_GRAM_META_TOK_LPAREN, KIT_GRAM_META_TOK_CHAR_CLASS, KIT_GRAM_META_TOK_UNICODE_PROP, KIT_GRAM_META_TOK_SHORTHAND, KIT_GRAM_META_TOK_DOT, KIT_GRAM_META_TOK_ANCHOR, KIT_GRAM_META_TOK_QUESTION, KIT_GRAM_META_TOK_STAR, KIT_GRAM_META_TOK_PLUS, KIT_GRAM_META_TOK_REPEAT 8 }; 9 static const uint16_t g_set_off[] = { 0, 5, 6, 9, 11, 12, 14, 18, 19, 27, 31 }; 10 11 static const KitGramSym sub_0[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_item) }; 12 static const KitGramSym sub_1[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_alt_tail) }; 13 static const KitGramSym sub_2[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_factor) }; 14 static const KitGramSym sub_3[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_quant) }; 15 static const KitGramSym sub_4[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_pratt_line) }; 16 static const KitGramSym sub_5[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_pratt_atom) }; 17 static const KitGramSym sub_6[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_lex_line) }; 18 static const KitGramSym sub_7[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_lex_line) }; 19 static const KitGramSym sub_8[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_kw_entry) }; 20 static const KitGramSym sub_9[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_kw_value) }; 21 static const KitGramSym sub_10[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_lex_alt_tail) }; 22 static const KitGramSym sub_11[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_lex_factor) }; 23 static const KitGramSym sub_12[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_lex_quant) }; 24 25 static const KitGramSym p_r0_0[] = { { .kind = KIT_GRAM_S_REP, .first = 0, .sub = sub_0, .nsub = 1 } }; 26 static const KitGramSym p_r1_0[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_decl) }; 27 static const KitGramSym p_r1_1[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_rule) }; 28 static const KitGramSym p_r1_2[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_pratt_rule) }; 29 static const KitGramSym p_r1_3[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_lex_block) }; 30 static const KitGramSym p_r1_4[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_machine_block) }; 31 static const KitGramSym p_r2_0[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_token_decl) }; 32 static const KitGramSym p_r3_0[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_TOKEN_DECL), KIT_GRAM_TERM(KIT_GRAM_META_TOK_NAME), KIT_GRAM_TERM(KIT_GRAM_META_TOK_EQ), KIT_GRAM_TERM(KIT_GRAM_META_TOK_STRING), KIT_GRAM_TERM(KIT_GRAM_META_TOK_SEMI) }; 33 static const KitGramSym p_r4_0[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_NAME), KIT_GRAM_TERM(KIT_GRAM_META_TOK_EQ), KIT_GRAM_RULE(KIT_GRAM_META_R_alt), KIT_GRAM_TERM(KIT_GRAM_META_TOK_SEMI) }; 34 static const KitGramSym p_r5_0[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_seq), { .kind = KIT_GRAM_S_REP, .first = 1, .sub = sub_1, .nsub = 1 } }; 35 static const KitGramSym p_r6_0[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_PIPE), KIT_GRAM_RULE(KIT_GRAM_META_R_seq) }; 36 static const KitGramSym p_r7_0[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_EMPTY_DECL) }; 37 static const KitGramSym p_r7_1[] = { { .kind = KIT_GRAM_S_REP, .first = 2, .sub = sub_2, .nsub = 1 } }; 38 static const KitGramSym p_r8_0[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_primary), { .kind = KIT_GRAM_S_OPT, .first = 3, .sub = sub_3, .nsub = 1 } }; 39 static const KitGramSym p_r9_0[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_NAME) }; 40 static const KitGramSym p_r9_1[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_STRING) }; 41 static const KitGramSym p_r9_2[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_LPAREN), KIT_GRAM_RULE(KIT_GRAM_META_R_alt), KIT_GRAM_TERM(KIT_GRAM_META_TOK_RPAREN) }; 42 static const KitGramSym p_r10_0[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_QUESTION) }; 43 static const KitGramSym p_r10_1[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_STAR) }; 44 static const KitGramSym p_r11_0[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_PRATT_DECL), KIT_GRAM_TERM(KIT_GRAM_META_TOK_NAME), KIT_GRAM_TERM(KIT_GRAM_META_TOK_LBRACE), { .kind = KIT_GRAM_S_REP, .first = 4, .sub = sub_4, .nsub = 1 }, KIT_GRAM_TERM(KIT_GRAM_META_TOK_RBRACE) }; 45 static const KitGramSym p_r12_0[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_NAME), KIT_GRAM_RULE(KIT_GRAM_META_R_pratt_atom), { .kind = KIT_GRAM_S_REP, .first = 5, .sub = sub_5, .nsub = 1 }, KIT_GRAM_TERM(KIT_GRAM_META_TOK_SEMI) }; 46 static const KitGramSym p_r13_0[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_NAME) }; 47 static const KitGramSym p_r13_1[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_STRING) }; 48 static const KitGramSym p_r14_0[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_LEX_DECL), KIT_GRAM_RULE(KIT_GRAM_META_R_lex_name), KIT_GRAM_RULE(KIT_GRAM_META_R_lex_mode), KIT_GRAM_TERM(KIT_GRAM_META_TOK_LBRACE), { .kind = KIT_GRAM_S_REP, .first = 6, .sub = sub_6, .nsub = 1 }, KIT_GRAM_TERM(KIT_GRAM_META_TOK_RBRACE) }; 49 static const KitGramSym p_r15_0[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_MACHINE_DECL), KIT_GRAM_TERM(KIT_GRAM_META_TOK_NAME), KIT_GRAM_TERM(KIT_GRAM_META_TOK_LBRACE), { .kind = KIT_GRAM_S_REP, .first = 6, .sub = sub_7, .nsub = 1 }, KIT_GRAM_TERM(KIT_GRAM_META_TOK_RBRACE) }; 50 static const KitGramSym p_r16_0[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_NAME) }; 51 static const KitGramSym p_r17_0[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_COLON), KIT_GRAM_TERM(KIT_GRAM_META_TOK_NAME) }; 52 static const KitGramSym p_r18_0[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_lex_rule) }; 53 static const KitGramSym p_r18_1[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_skip_rule) }; 54 static const KitGramSym p_r18_2[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_def_rule) }; 55 static const KitGramSym p_r18_3[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_keywords_block) }; 56 static const KitGramSym p_r19_0[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_NAME), KIT_GRAM_TERM(KIT_GRAM_META_TOK_EQ), KIT_GRAM_RULE(KIT_GRAM_META_R_lex_alt), KIT_GRAM_TERM(KIT_GRAM_META_TOK_SEMI) }; 57 static const KitGramSym p_r20_0[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_SKIP_DECL), KIT_GRAM_TERM(KIT_GRAM_META_TOK_NAME), KIT_GRAM_TERM(KIT_GRAM_META_TOK_EQ), KIT_GRAM_RULE(KIT_GRAM_META_R_lex_alt), KIT_GRAM_TERM(KIT_GRAM_META_TOK_SEMI) }; 58 static const KitGramSym p_r21_0[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_DEF_DECL), KIT_GRAM_TERM(KIT_GRAM_META_TOK_NAME), KIT_GRAM_TERM(KIT_GRAM_META_TOK_EQ), KIT_GRAM_RULE(KIT_GRAM_META_R_lex_alt), KIT_GRAM_TERM(KIT_GRAM_META_TOK_SEMI) }; 59 static const KitGramSym p_r22_0[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_KEYWORDS_DECL), KIT_GRAM_TERM(KIT_GRAM_META_TOK_NAME), KIT_GRAM_TERM(KIT_GRAM_META_TOK_LBRACE), { .kind = KIT_GRAM_S_REP, .first = 5, .sub = sub_8, .nsub = 1 }, KIT_GRAM_TERM(KIT_GRAM_META_TOK_RBRACE) }; 60 static const KitGramSym p_r23_0[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_NAME), { .kind = KIT_GRAM_S_OPT, .first = 7, .sub = sub_9, .nsub = 1 }, KIT_GRAM_TERM(KIT_GRAM_META_TOK_SEMI) }; 61 static const KitGramSym p_r23_1[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_STRING), KIT_GRAM_TERM(KIT_GRAM_META_TOK_SEMI) }; 62 static const KitGramSym p_r24_0[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_EQ), KIT_GRAM_TERM(KIT_GRAM_META_TOK_STRING) }; 63 static const KitGramSym p_r25_0[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_lex_seq), { .kind = KIT_GRAM_S_REP, .first = 1, .sub = sub_10, .nsub = 1 } }; 64 static const KitGramSym p_r26_0[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_PIPE), KIT_GRAM_RULE(KIT_GRAM_META_R_lex_seq) }; 65 static const KitGramSym p_r27_0[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_lex_factor), { .kind = KIT_GRAM_S_REP, .first = 8, .sub = sub_11, .nsub = 1 } }; 66 static const KitGramSym p_r28_0[] = { KIT_GRAM_RULE(KIT_GRAM_META_R_lex_primary), { .kind = KIT_GRAM_S_OPT, .first = 9, .sub = sub_12, .nsub = 1 } }; 67 static const KitGramSym p_r29_0[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_QUESTION) }; 68 static const KitGramSym p_r29_1[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_STAR) }; 69 static const KitGramSym p_r29_2[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_PLUS) }; 70 static const KitGramSym p_r29_3[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_REPEAT) }; 71 static const KitGramSym p_r30_0[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_STRING) }; 72 static const KitGramSym p_r30_1[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_CHAR_CLASS) }; 73 static const KitGramSym p_r30_2[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_UNICODE_PROP) }; 74 static const KitGramSym p_r30_3[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_SHORTHAND) }; 75 static const KitGramSym p_r30_4[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_DOT) }; 76 static const KitGramSym p_r30_5[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_NAME) }; 77 static const KitGramSym p_r30_6[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_LPAREN), KIT_GRAM_RULE(KIT_GRAM_META_R_lex_alt), KIT_GRAM_TERM(KIT_GRAM_META_TOK_RPAREN) }; 78 static const KitGramSym p_r30_7[] = { KIT_GRAM_TERM(KIT_GRAM_META_TOK_ANCHOR) }; 79 80 #define PROD(arr) { .syms = (arr), .nsyms = (uint16_t)(sizeof(arr) / sizeof((arr)[0])) } 81 #define PROD_EMPTY { .syms = NULL, .nsyms = 0 } 82 83 static const KitGramProd prods_r0[] = { PROD(p_r0_0) }; 84 static const KitGramProd prods_r1[] = { PROD(p_r1_0), PROD(p_r1_1), PROD(p_r1_2), PROD(p_r1_3), PROD(p_r1_4) }; 85 static const KitGramProd prods_r2[] = { PROD(p_r2_0) }; 86 static const KitGramProd prods_r3[] = { PROD(p_r3_0) }; 87 static const KitGramProd prods_r4[] = { PROD(p_r4_0) }; 88 static const KitGramProd prods_r5[] = { PROD(p_r5_0) }; 89 static const KitGramProd prods_r6[] = { PROD(p_r6_0) }; 90 static const KitGramProd prods_r7[] = { PROD(p_r7_0), PROD(p_r7_1) }; 91 static const KitGramProd prods_r8[] = { PROD(p_r8_0) }; 92 static const KitGramProd prods_r9[] = { PROD(p_r9_0), PROD(p_r9_1), PROD(p_r9_2) }; 93 static const KitGramProd prods_r10[] = { PROD(p_r10_0), PROD(p_r10_1) }; 94 static const KitGramProd prods_r11[] = { PROD(p_r11_0) }; 95 static const KitGramProd prods_r12[] = { PROD(p_r12_0) }; 96 static const KitGramProd prods_r13[] = { PROD(p_r13_0), PROD(p_r13_1) }; 97 static const KitGramProd prods_r14[] = { PROD(p_r14_0) }; 98 static const KitGramProd prods_r15[] = { PROD(p_r15_0) }; 99 static const KitGramProd prods_r16[] = { PROD(p_r16_0), PROD_EMPTY }; 100 static const KitGramProd prods_r17[] = { PROD(p_r17_0), PROD_EMPTY }; 101 static const KitGramProd prods_r18[] = { PROD(p_r18_0), PROD(p_r18_1), PROD(p_r18_2), PROD(p_r18_3) }; 102 static const KitGramProd prods_r19[] = { PROD(p_r19_0) }; 103 static const KitGramProd prods_r20[] = { PROD(p_r20_0) }; 104 static const KitGramProd prods_r21[] = { PROD(p_r21_0) }; 105 static const KitGramProd prods_r22[] = { PROD(p_r22_0) }; 106 static const KitGramProd prods_r23[] = { PROD(p_r23_0), PROD(p_r23_1) }; 107 static const KitGramProd prods_r24[] = { PROD(p_r24_0) }; 108 static const KitGramProd prods_r25[] = { PROD(p_r25_0) }; 109 static const KitGramProd prods_r26[] = { PROD(p_r26_0) }; 110 static const KitGramProd prods_r27[] = { PROD(p_r27_0) }; 111 static const KitGramProd prods_r28[] = { PROD(p_r28_0) }; 112 static const KitGramProd prods_r29[] = { PROD(p_r29_0), PROD(p_r29_1), PROD(p_r29_2), PROD(p_r29_3) }; 113 static const KitGramProd prods_r30[] = { PROD(p_r30_0), PROD(p_r30_1), PROD(p_r30_2), PROD(p_r30_3), PROD(p_r30_4), PROD(p_r30_5), PROD(p_r30_6), PROD(p_r30_7) }; 114 115 static const KitGramTokenKind fst_r0[] = { KIT_GRAM_META_TOK_TOKEN_DECL, KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_PRATT_DECL, KIT_GRAM_META_TOK_LEX_DECL, KIT_GRAM_META_TOK_MACHINE_DECL }; 116 static const uint8_t pp_r0[] = { 0, 0, 0, 0, 0 }; 117 static const KitGramTokenKind flw_r0[] = { KIT_GRAM_META_TOK_EOF }; 118 static const KitGramTokenKind fst_r1[] = { KIT_GRAM_META_TOK_TOKEN_DECL, KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_PRATT_DECL, KIT_GRAM_META_TOK_LEX_DECL, KIT_GRAM_META_TOK_MACHINE_DECL }; 119 static const uint8_t pp_r1[] = { 0, 1, 2, 3, 4 }; 120 static const KitGramTokenKind flw_r1[] = { KIT_GRAM_META_TOK_EOF, KIT_GRAM_META_TOK_TOKEN_DECL, KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_PRATT_DECL, KIT_GRAM_META_TOK_LEX_DECL, KIT_GRAM_META_TOK_MACHINE_DECL }; 121 static const KitGramTokenKind fst_r2[] = { KIT_GRAM_META_TOK_TOKEN_DECL }; 122 static const uint8_t pp_r2[] = { 0 }; 123 static const KitGramTokenKind flw_r2[] = { KIT_GRAM_META_TOK_EOF, KIT_GRAM_META_TOK_TOKEN_DECL, KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_PRATT_DECL, KIT_GRAM_META_TOK_LEX_DECL, KIT_GRAM_META_TOK_MACHINE_DECL }; 124 static const KitGramTokenKind fst_r3[] = { KIT_GRAM_META_TOK_TOKEN_DECL }; 125 static const uint8_t pp_r3[] = { 0 }; 126 static const KitGramTokenKind flw_r3[] = { KIT_GRAM_META_TOK_EOF, KIT_GRAM_META_TOK_TOKEN_DECL, KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_PRATT_DECL, KIT_GRAM_META_TOK_LEX_DECL, KIT_GRAM_META_TOK_MACHINE_DECL }; 127 static const KitGramTokenKind fst_r4[] = { KIT_GRAM_META_TOK_NAME }; 128 static const uint8_t pp_r4[] = { 0 }; 129 static const KitGramTokenKind flw_r4[] = { KIT_GRAM_META_TOK_EOF, KIT_GRAM_META_TOK_TOKEN_DECL, KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_PRATT_DECL, KIT_GRAM_META_TOK_LEX_DECL, KIT_GRAM_META_TOK_MACHINE_DECL }; 130 static const KitGramTokenKind fst_r5[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_STRING, KIT_GRAM_META_TOK_PIPE, KIT_GRAM_META_TOK_EMPTY_DECL, KIT_GRAM_META_TOK_LPAREN }; 131 static const uint8_t pp_r5[] = { 0, 0, 0, 0, 0 }; 132 static const KitGramTokenKind flw_r5[] = { KIT_GRAM_META_TOK_SEMI, KIT_GRAM_META_TOK_RPAREN }; 133 static const KitGramTokenKind fst_r6[] = { KIT_GRAM_META_TOK_PIPE }; 134 static const uint8_t pp_r6[] = { 0 }; 135 static const KitGramTokenKind flw_r6[] = { KIT_GRAM_META_TOK_SEMI, KIT_GRAM_META_TOK_PIPE, KIT_GRAM_META_TOK_RPAREN }; 136 static const KitGramTokenKind fst_r7[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_STRING, KIT_GRAM_META_TOK_EMPTY_DECL, KIT_GRAM_META_TOK_LPAREN }; 137 static const uint8_t pp_r7[] = { 1, 1, 0, 1 }; 138 static const KitGramTokenKind flw_r7[] = { KIT_GRAM_META_TOK_SEMI, KIT_GRAM_META_TOK_PIPE, KIT_GRAM_META_TOK_RPAREN }; 139 static const KitGramTokenKind fst_r8[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_STRING, KIT_GRAM_META_TOK_LPAREN }; 140 static const uint8_t pp_r8[] = { 0, 0, 0 }; 141 static const KitGramTokenKind flw_r8[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_STRING, KIT_GRAM_META_TOK_SEMI, KIT_GRAM_META_TOK_PIPE, KIT_GRAM_META_TOK_LPAREN, KIT_GRAM_META_TOK_RPAREN }; 142 static const KitGramTokenKind fst_r9[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_STRING, KIT_GRAM_META_TOK_LPAREN }; 143 static const uint8_t pp_r9[] = { 0, 1, 2 }; 144 static const KitGramTokenKind flw_r9[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_STRING, KIT_GRAM_META_TOK_SEMI, KIT_GRAM_META_TOK_PIPE, KIT_GRAM_META_TOK_LPAREN, KIT_GRAM_META_TOK_RPAREN, KIT_GRAM_META_TOK_QUESTION, KIT_GRAM_META_TOK_STAR }; 145 static const KitGramTokenKind fst_r10[] = { KIT_GRAM_META_TOK_QUESTION, KIT_GRAM_META_TOK_STAR }; 146 static const uint8_t pp_r10[] = { 0, 1 }; 147 static const KitGramTokenKind flw_r10[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_STRING, KIT_GRAM_META_TOK_SEMI, KIT_GRAM_META_TOK_PIPE, KIT_GRAM_META_TOK_LPAREN, KIT_GRAM_META_TOK_RPAREN }; 148 static const KitGramTokenKind fst_r11[] = { KIT_GRAM_META_TOK_PRATT_DECL }; 149 static const uint8_t pp_r11[] = { 0 }; 150 static const KitGramTokenKind flw_r11[] = { KIT_GRAM_META_TOK_EOF, KIT_GRAM_META_TOK_TOKEN_DECL, KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_PRATT_DECL, KIT_GRAM_META_TOK_LEX_DECL, KIT_GRAM_META_TOK_MACHINE_DECL }; 151 static const KitGramTokenKind fst_r12[] = { KIT_GRAM_META_TOK_NAME }; 152 static const uint8_t pp_r12[] = { 0 }; 153 static const KitGramTokenKind flw_r12[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_RBRACE }; 154 static const KitGramTokenKind fst_r13[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_STRING }; 155 static const uint8_t pp_r13[] = { 0, 1 }; 156 static const KitGramTokenKind flw_r13[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_STRING, KIT_GRAM_META_TOK_SEMI }; 157 static const KitGramTokenKind fst_r14[] = { KIT_GRAM_META_TOK_LEX_DECL }; 158 static const uint8_t pp_r14[] = { 0 }; 159 static const KitGramTokenKind flw_r14[] = { KIT_GRAM_META_TOK_EOF, KIT_GRAM_META_TOK_TOKEN_DECL, KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_PRATT_DECL, KIT_GRAM_META_TOK_LEX_DECL, KIT_GRAM_META_TOK_MACHINE_DECL }; 160 static const KitGramTokenKind fst_r15[] = { KIT_GRAM_META_TOK_MACHINE_DECL }; 161 static const uint8_t pp_r15[] = { 0 }; 162 static const KitGramTokenKind flw_r15[] = { KIT_GRAM_META_TOK_EOF, KIT_GRAM_META_TOK_TOKEN_DECL, KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_PRATT_DECL, KIT_GRAM_META_TOK_LEX_DECL, KIT_GRAM_META_TOK_MACHINE_DECL }; 163 static const KitGramTokenKind fst_r16[] = { KIT_GRAM_META_TOK_NAME }; 164 static const uint8_t pp_r16[] = { 0 }; 165 static const KitGramTokenKind flw_r16[] = { KIT_GRAM_META_TOK_LBRACE, KIT_GRAM_META_TOK_COLON }; 166 static const KitGramTokenKind fst_r17[] = { KIT_GRAM_META_TOK_COLON }; 167 static const uint8_t pp_r17[] = { 0 }; 168 static const KitGramTokenKind flw_r17[] = { KIT_GRAM_META_TOK_LBRACE }; 169 static const KitGramTokenKind fst_r18[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_SKIP_DECL, KIT_GRAM_META_TOK_DEF_DECL, KIT_GRAM_META_TOK_KEYWORDS_DECL }; 170 static const uint8_t pp_r18[] = { 0, 1, 2, 3 }; 171 static const KitGramTokenKind flw_r18[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_RBRACE, KIT_GRAM_META_TOK_SKIP_DECL, KIT_GRAM_META_TOK_DEF_DECL, KIT_GRAM_META_TOK_KEYWORDS_DECL }; 172 static const KitGramTokenKind fst_r19[] = { KIT_GRAM_META_TOK_NAME }; 173 static const uint8_t pp_r19[] = { 0 }; 174 static const KitGramTokenKind flw_r19[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_RBRACE, KIT_GRAM_META_TOK_SKIP_DECL, KIT_GRAM_META_TOK_DEF_DECL, KIT_GRAM_META_TOK_KEYWORDS_DECL }; 175 static const KitGramTokenKind fst_r20[] = { KIT_GRAM_META_TOK_SKIP_DECL }; 176 static const uint8_t pp_r20[] = { 0 }; 177 static const KitGramTokenKind flw_r20[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_RBRACE, KIT_GRAM_META_TOK_SKIP_DECL, KIT_GRAM_META_TOK_DEF_DECL, KIT_GRAM_META_TOK_KEYWORDS_DECL }; 178 static const KitGramTokenKind fst_r21[] = { KIT_GRAM_META_TOK_DEF_DECL }; 179 static const uint8_t pp_r21[] = { 0 }; 180 static const KitGramTokenKind flw_r21[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_RBRACE, KIT_GRAM_META_TOK_SKIP_DECL, KIT_GRAM_META_TOK_DEF_DECL, KIT_GRAM_META_TOK_KEYWORDS_DECL }; 181 static const KitGramTokenKind fst_r22[] = { KIT_GRAM_META_TOK_KEYWORDS_DECL }; 182 static const uint8_t pp_r22[] = { 0 }; 183 static const KitGramTokenKind flw_r22[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_RBRACE, KIT_GRAM_META_TOK_SKIP_DECL, KIT_GRAM_META_TOK_DEF_DECL, KIT_GRAM_META_TOK_KEYWORDS_DECL }; 184 static const KitGramTokenKind fst_r23[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_STRING }; 185 static const uint8_t pp_r23[] = { 0, 1 }; 186 static const KitGramTokenKind flw_r23[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_STRING, KIT_GRAM_META_TOK_RBRACE }; 187 static const KitGramTokenKind fst_r24[] = { KIT_GRAM_META_TOK_EQ }; 188 static const uint8_t pp_r24[] = { 0 }; 189 static const KitGramTokenKind flw_r24[] = { KIT_GRAM_META_TOK_SEMI }; 190 static const KitGramTokenKind fst_r25[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_STRING, KIT_GRAM_META_TOK_LPAREN, KIT_GRAM_META_TOK_CHAR_CLASS, KIT_GRAM_META_TOK_UNICODE_PROP, KIT_GRAM_META_TOK_SHORTHAND, KIT_GRAM_META_TOK_DOT, KIT_GRAM_META_TOK_ANCHOR }; 191 static const uint8_t pp_r25[] = { 0, 0, 0, 0, 0, 0, 0, 0 }; 192 static const KitGramTokenKind flw_r25[] = { KIT_GRAM_META_TOK_SEMI, KIT_GRAM_META_TOK_RPAREN }; 193 static const KitGramTokenKind fst_r26[] = { KIT_GRAM_META_TOK_PIPE }; 194 static const uint8_t pp_r26[] = { 0 }; 195 static const KitGramTokenKind flw_r26[] = { KIT_GRAM_META_TOK_SEMI, KIT_GRAM_META_TOK_PIPE, KIT_GRAM_META_TOK_RPAREN }; 196 static const KitGramTokenKind fst_r27[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_STRING, KIT_GRAM_META_TOK_LPAREN, KIT_GRAM_META_TOK_CHAR_CLASS, KIT_GRAM_META_TOK_UNICODE_PROP, KIT_GRAM_META_TOK_SHORTHAND, KIT_GRAM_META_TOK_DOT, KIT_GRAM_META_TOK_ANCHOR }; 197 static const uint8_t pp_r27[] = { 0, 0, 0, 0, 0, 0, 0, 0 }; 198 static const KitGramTokenKind flw_r27[] = { KIT_GRAM_META_TOK_SEMI, KIT_GRAM_META_TOK_PIPE, KIT_GRAM_META_TOK_RPAREN }; 199 static const KitGramTokenKind fst_r28[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_STRING, KIT_GRAM_META_TOK_LPAREN, KIT_GRAM_META_TOK_CHAR_CLASS, KIT_GRAM_META_TOK_UNICODE_PROP, KIT_GRAM_META_TOK_SHORTHAND, KIT_GRAM_META_TOK_DOT, KIT_GRAM_META_TOK_ANCHOR }; 200 static const uint8_t pp_r28[] = { 0, 0, 0, 0, 0, 0, 0, 0 }; 201 static const KitGramTokenKind flw_r28[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_STRING, KIT_GRAM_META_TOK_SEMI, KIT_GRAM_META_TOK_PIPE, KIT_GRAM_META_TOK_LPAREN, KIT_GRAM_META_TOK_RPAREN, KIT_GRAM_META_TOK_CHAR_CLASS, KIT_GRAM_META_TOK_UNICODE_PROP, KIT_GRAM_META_TOK_SHORTHAND, KIT_GRAM_META_TOK_DOT, KIT_GRAM_META_TOK_ANCHOR }; 202 static const KitGramTokenKind fst_r29[] = { KIT_GRAM_META_TOK_QUESTION, KIT_GRAM_META_TOK_STAR, KIT_GRAM_META_TOK_PLUS, KIT_GRAM_META_TOK_REPEAT }; 203 static const uint8_t pp_r29[] = { 0, 1, 2, 3 }; 204 static const KitGramTokenKind flw_r29[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_STRING, KIT_GRAM_META_TOK_SEMI, KIT_GRAM_META_TOK_PIPE, KIT_GRAM_META_TOK_LPAREN, KIT_GRAM_META_TOK_RPAREN, KIT_GRAM_META_TOK_CHAR_CLASS, KIT_GRAM_META_TOK_UNICODE_PROP, KIT_GRAM_META_TOK_SHORTHAND, KIT_GRAM_META_TOK_DOT, KIT_GRAM_META_TOK_ANCHOR }; 205 static const KitGramTokenKind fst_r30[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_STRING, KIT_GRAM_META_TOK_LPAREN, KIT_GRAM_META_TOK_CHAR_CLASS, KIT_GRAM_META_TOK_UNICODE_PROP, KIT_GRAM_META_TOK_SHORTHAND, KIT_GRAM_META_TOK_DOT, KIT_GRAM_META_TOK_ANCHOR }; 206 static const uint8_t pp_r30[] = { 5, 0, 6, 1, 2, 3, 4, 7 }; 207 static const KitGramTokenKind flw_r30[] = { KIT_GRAM_META_TOK_NAME, KIT_GRAM_META_TOK_STRING, KIT_GRAM_META_TOK_SEMI, KIT_GRAM_META_TOK_PIPE, KIT_GRAM_META_TOK_LPAREN, KIT_GRAM_META_TOK_RPAREN, KIT_GRAM_META_TOK_QUESTION, KIT_GRAM_META_TOK_STAR, KIT_GRAM_META_TOK_PLUS, KIT_GRAM_META_TOK_REPEAT, KIT_GRAM_META_TOK_CHAR_CLASS, KIT_GRAM_META_TOK_UNICODE_PROP, KIT_GRAM_META_TOK_SHORTHAND, KIT_GRAM_META_TOK_DOT, KIT_GRAM_META_TOK_ANCHOR }; 208 209 #define N(arr) (uint16_t)(sizeof(arr) / sizeof((arr)[0])) 210 211 static const KitGramRule g_rules[] = { 212 [KIT_GRAM_META_R_grammar] = { .name = "grammar", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r0, .nprods = N(prods_r0), .predict_tok = fst_r0, .predict_prod = pp_r0, .npredict = N(fst_r0), .nullable = true, .empty_prod = 0, .first = fst_r0, .nfirst = N(fst_r0), .follow = flw_r0, .nfollow = N(flw_r0) }, 213 [KIT_GRAM_META_R_item] = { .name = "item", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r1, .nprods = N(prods_r1), .predict_tok = fst_r1, .predict_prod = pp_r1, .npredict = N(fst_r1), .nullable = false, .empty_prod = 0, .first = fst_r1, .nfirst = N(fst_r1), .follow = flw_r1, .nfollow = N(flw_r1) }, 214 [KIT_GRAM_META_R_decl] = { .name = "decl", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r2, .nprods = N(prods_r2), .predict_tok = fst_r2, .predict_prod = pp_r2, .npredict = N(fst_r2), .nullable = false, .empty_prod = 0, .first = fst_r2, .nfirst = N(fst_r2), .follow = flw_r2, .nfollow = N(flw_r2) }, 215 [KIT_GRAM_META_R_token_decl] = { .name = "token_decl", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r3, .nprods = N(prods_r3), .predict_tok = fst_r3, .predict_prod = pp_r3, .npredict = N(fst_r3), .nullable = false, .empty_prod = 0, .first = fst_r3, .nfirst = N(fst_r3), .follow = flw_r3, .nfollow = N(flw_r3) }, 216 [KIT_GRAM_META_R_rule] = { .name = "rule", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r4, .nprods = N(prods_r4), .predict_tok = fst_r4, .predict_prod = pp_r4, .npredict = N(fst_r4), .nullable = false, .empty_prod = 0, .first = fst_r4, .nfirst = N(fst_r4), .follow = flw_r4, .nfollow = N(flw_r4) }, 217 [KIT_GRAM_META_R_alt] = { .name = "alt", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r5, .nprods = N(prods_r5), .predict_tok = fst_r5, .predict_prod = pp_r5, .npredict = N(fst_r5), .nullable = true, .empty_prod = 0, .first = fst_r5, .nfirst = N(fst_r5), .follow = flw_r5, .nfollow = N(flw_r5) }, 218 [KIT_GRAM_META_R_alt_tail] = { .name = "alt_tail", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r6, .nprods = N(prods_r6), .predict_tok = fst_r6, .predict_prod = pp_r6, .npredict = N(fst_r6), .nullable = false, .empty_prod = 0, .first = fst_r6, .nfirst = N(fst_r6), .follow = flw_r6, .nfollow = N(flw_r6) }, 219 [KIT_GRAM_META_R_seq] = { .name = "seq", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r7, .nprods = N(prods_r7), .predict_tok = fst_r7, .predict_prod = pp_r7, .npredict = N(fst_r7), .nullable = true, .empty_prod = 1, .first = fst_r7, .nfirst = N(fst_r7), .follow = flw_r7, .nfollow = N(flw_r7) }, 220 [KIT_GRAM_META_R_factor] = { .name = "factor", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r8, .nprods = N(prods_r8), .predict_tok = fst_r8, .predict_prod = pp_r8, .npredict = N(fst_r8), .nullable = false, .empty_prod = 0, .first = fst_r8, .nfirst = N(fst_r8), .follow = flw_r8, .nfollow = N(flw_r8) }, 221 [KIT_GRAM_META_R_primary] = { .name = "primary", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r9, .nprods = N(prods_r9), .predict_tok = fst_r9, .predict_prod = pp_r9, .npredict = N(fst_r9), .nullable = false, .empty_prod = 0, .first = fst_r9, .nfirst = N(fst_r9), .follow = flw_r9, .nfollow = N(flw_r9) }, 222 [KIT_GRAM_META_R_quant] = { .name = "quant", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r10, .nprods = N(prods_r10), .predict_tok = fst_r10, .predict_prod = pp_r10, .npredict = N(fst_r10), .nullable = false, .empty_prod = 0, .first = fst_r10, .nfirst = N(fst_r10), .follow = flw_r10, .nfollow = N(flw_r10) }, 223 [KIT_GRAM_META_R_pratt_rule] = { .name = "pratt_rule", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r11, .nprods = N(prods_r11), .predict_tok = fst_r11, .predict_prod = pp_r11, .npredict = N(fst_r11), .nullable = false, .empty_prod = 0, .first = fst_r11, .nfirst = N(fst_r11), .follow = flw_r11, .nfollow = N(flw_r11) }, 224 [KIT_GRAM_META_R_pratt_line] = { .name = "pratt_line", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r12, .nprods = N(prods_r12), .predict_tok = fst_r12, .predict_prod = pp_r12, .npredict = N(fst_r12), .nullable = false, .empty_prod = 0, .first = fst_r12, .nfirst = N(fst_r12), .follow = flw_r12, .nfollow = N(flw_r12) }, 225 [KIT_GRAM_META_R_pratt_atom] = { .name = "pratt_atom", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r13, .nprods = N(prods_r13), .predict_tok = fst_r13, .predict_prod = pp_r13, .npredict = N(fst_r13), .nullable = false, .empty_prod = 0, .first = fst_r13, .nfirst = N(fst_r13), .follow = flw_r13, .nfollow = N(flw_r13) }, 226 [KIT_GRAM_META_R_lex_block] = { .name = "lex_block", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r14, .nprods = N(prods_r14), .predict_tok = fst_r14, .predict_prod = pp_r14, .npredict = N(fst_r14), .nullable = false, .empty_prod = 0, .first = fst_r14, .nfirst = N(fst_r14), .follow = flw_r14, .nfollow = N(flw_r14) }, 227 [KIT_GRAM_META_R_machine_block] = { .name = "machine_block", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r15, .nprods = N(prods_r15), .predict_tok = fst_r15, .predict_prod = pp_r15, .npredict = N(fst_r15), .nullable = false, .empty_prod = 0, .first = fst_r15, .nfirst = N(fst_r15), .follow = flw_r15, .nfollow = N(flw_r15) }, 228 [KIT_GRAM_META_R_lex_name] = { .name = "lex_name", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r16, .nprods = N(prods_r16), .predict_tok = fst_r16, .predict_prod = pp_r16, .npredict = N(fst_r16), .nullable = true, .empty_prod = 1, .first = fst_r16, .nfirst = N(fst_r16), .follow = flw_r16, .nfollow = N(flw_r16) }, 229 [KIT_GRAM_META_R_lex_mode] = { .name = "lex_mode", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r17, .nprods = N(prods_r17), .predict_tok = fst_r17, .predict_prod = pp_r17, .npredict = N(fst_r17), .nullable = true, .empty_prod = 1, .first = fst_r17, .nfirst = N(fst_r17), .follow = flw_r17, .nfollow = N(flw_r17) }, 230 [KIT_GRAM_META_R_lex_line] = { .name = "lex_line", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r18, .nprods = N(prods_r18), .predict_tok = fst_r18, .predict_prod = pp_r18, .npredict = N(fst_r18), .nullable = false, .empty_prod = 0, .first = fst_r18, .nfirst = N(fst_r18), .follow = flw_r18, .nfollow = N(flw_r18) }, 231 [KIT_GRAM_META_R_lex_rule] = { .name = "lex_rule", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r19, .nprods = N(prods_r19), .predict_tok = fst_r19, .predict_prod = pp_r19, .npredict = N(fst_r19), .nullable = false, .empty_prod = 0, .first = fst_r19, .nfirst = N(fst_r19), .follow = flw_r19, .nfollow = N(flw_r19) }, 232 [KIT_GRAM_META_R_skip_rule] = { .name = "skip_rule", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r20, .nprods = N(prods_r20), .predict_tok = fst_r20, .predict_prod = pp_r20, .npredict = N(fst_r20), .nullable = false, .empty_prod = 0, .first = fst_r20, .nfirst = N(fst_r20), .follow = flw_r20, .nfollow = N(flw_r20) }, 233 [KIT_GRAM_META_R_def_rule] = { .name = "def_rule", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r21, .nprods = N(prods_r21), .predict_tok = fst_r21, .predict_prod = pp_r21, .npredict = N(fst_r21), .nullable = false, .empty_prod = 0, .first = fst_r21, .nfirst = N(fst_r21), .follow = flw_r21, .nfollow = N(flw_r21) }, 234 [KIT_GRAM_META_R_keywords_block] = { .name = "keywords_block", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r22, .nprods = N(prods_r22), .predict_tok = fst_r22, .predict_prod = pp_r22, .npredict = N(fst_r22), .nullable = false, .empty_prod = 0, .first = fst_r22, .nfirst = N(fst_r22), .follow = flw_r22, .nfollow = N(flw_r22) }, 235 [KIT_GRAM_META_R_kw_entry] = { .name = "kw_entry", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r23, .nprods = N(prods_r23), .predict_tok = fst_r23, .predict_prod = pp_r23, .npredict = N(fst_r23), .nullable = false, .empty_prod = 0, .first = fst_r23, .nfirst = N(fst_r23), .follow = flw_r23, .nfollow = N(flw_r23) }, 236 [KIT_GRAM_META_R_kw_value] = { .name = "kw_value", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r24, .nprods = N(prods_r24), .predict_tok = fst_r24, .predict_prod = pp_r24, .npredict = N(fst_r24), .nullable = false, .empty_prod = 0, .first = fst_r24, .nfirst = N(fst_r24), .follow = flw_r24, .nfollow = N(flw_r24) }, 237 [KIT_GRAM_META_R_lex_alt] = { .name = "lex_alt", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r25, .nprods = N(prods_r25), .predict_tok = fst_r25, .predict_prod = pp_r25, .npredict = N(fst_r25), .nullable = false, .empty_prod = 0, .first = fst_r25, .nfirst = N(fst_r25), .follow = flw_r25, .nfollow = N(flw_r25) }, 238 [KIT_GRAM_META_R_lex_alt_tail] = { .name = "lex_alt_tail", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r26, .nprods = N(prods_r26), .predict_tok = fst_r26, .predict_prod = pp_r26, .npredict = N(fst_r26), .nullable = false, .empty_prod = 0, .first = fst_r26, .nfirst = N(fst_r26), .follow = flw_r26, .nfollow = N(flw_r26) }, 239 [KIT_GRAM_META_R_lex_seq] = { .name = "lex_seq", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r27, .nprods = N(prods_r27), .predict_tok = fst_r27, .predict_prod = pp_r27, .npredict = N(fst_r27), .nullable = false, .empty_prod = 0, .first = fst_r27, .nfirst = N(fst_r27), .follow = flw_r27, .nfollow = N(flw_r27) }, 240 [KIT_GRAM_META_R_lex_factor] = { .name = "lex_factor", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r28, .nprods = N(prods_r28), .predict_tok = fst_r28, .predict_prod = pp_r28, .npredict = N(fst_r28), .nullable = false, .empty_prod = 0, .first = fst_r28, .nfirst = N(fst_r28), .follow = flw_r28, .nfollow = N(flw_r28) }, 241 [KIT_GRAM_META_R_lex_quant] = { .name = "lex_quant", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r29, .nprods = N(prods_r29), .predict_tok = fst_r29, .predict_prod = pp_r29, .npredict = N(fst_r29), .nullable = false, .empty_prod = 0, .first = fst_r29, .nfirst = N(fst_r29), .follow = flw_r29, .nfollow = N(flw_r29) }, 242 [KIT_GRAM_META_R_lex_primary] = { .name = "lex_primary", .hidden = false, .is_pratt = false, .pratt = NULL, .prods = prods_r30, .nprods = N(prods_r30), .predict_tok = fst_r30, .predict_prod = pp_r30, .npredict = N(fst_r30), .nullable = false, .empty_prod = 0, .first = fst_r30, .nfirst = N(fst_r30), .follow = flw_r30, .nfollow = N(flw_r30) }, 243 }; 244 245 static const char *const g_tok_names[] = { 246 "EOF", "%token", "NAME", "=", "STRING", ";", "|", "%empty", "(", ")", "?", "*", "%pratt", "{", "}", "%lex", "%machine", ":", "%skip", "%def", "%keywords", "+", "REPEAT", "CHAR_CLASS", "UNICODE_PROP", "SHORTHAND", ".", "ANCHOR" 247 }; 248 249 const KitGramGrammar kit_gram_meta_grammar = { 250 .name = "meta", 251 .rules = g_rules, .nrules = KIT_GRAM_META_R__COUNT, 252 .start = KIT_GRAM_META_R_grammar, .eof = KIT_GRAM_META_TOK_EOF, 253 .sets = g_sets, .set_off = g_set_off, .nsets = 10, 254 .tok_names = g_tok_names, .ntoks = KIT_GRAM_META_TOK__COUNT, 255 }; 256 257 void kit_gram_meta_stack_bounds(size_t max_depth, size_t* ctl_cap, size_t* val_cap) { 258 kit_gram_stack_bounds(&kit_gram_meta_grammar, max_depth, ctl_cap, val_cap); 259 } 260 size_t kit_gram_meta_generate_scratch_count(void) { 261 return kit_gram_parser_generate_scratch_count(&kit_gram_meta_grammar); 262 } 263 264 void kit_gram_meta_parser_init(KitGramParser *mem, const KitGramConfig *cfg) { 265 kit_gram_parser_init(mem, &kit_gram_meta_grammar, cfg); 266 } 267 268 enum { 269 A_LEX_0_0, 270 A_LEX_0_1, 271 A_LEX_0_2, 272 A_LEX_0_3, 273 A_LEX_0_4, 274 A_LEX_0_5, 275 A_LEX_0_6, 276 A_LEX_0_7, 277 A_LEX_0_8, 278 A_LEX_0_9, 279 A_LEX_0_10, 280 A_LEX_0_11, 281 A_LEX_0_12, 282 A_LEX_0_13, 283 A_LEX_0_14, 284 A_LEX_0_15, 285 A_LEX_0_16, 286 A_LEX_0_17, 287 A_LEX_0_18, 288 A_LEX_0_19, 289 A_LEX_0_20, 290 A_LEX_0_21, 291 A_LEX_0_22, 292 A_LEX_0_23, 293 A_LEX_0_24, 294 A_LEX_0_25, 295 A_LEX_0_26, 296 A_LEX_0_27, 297 A_LEX_0_28, 298 A_LEX_0_COUNT 299 }; 300 301 static const KitGramLexAccept lex_0_accepts[] = { 302 [A_LEX_0_0] = { .tok = KIT_GRAM_META_TOK_TOKEN_DECL }, 303 [A_LEX_0_1] = { .tok = KIT_GRAM_META_TOK_EMPTY_DECL }, 304 [A_LEX_0_2] = { .tok = KIT_GRAM_META_TOK_PRATT_DECL }, 305 [A_LEX_0_3] = { .tok = KIT_GRAM_META_TOK_LEX_DECL }, 306 [A_LEX_0_4] = { .tok = KIT_GRAM_META_TOK_SKIP_DECL }, 307 [A_LEX_0_5] = { .tok = KIT_GRAM_META_TOK_DEF_DECL }, 308 [A_LEX_0_6] = { .tok = KIT_GRAM_META_TOK_KEYWORDS_DECL }, 309 [A_LEX_0_7] = { .tok = KIT_GRAM_META_TOK_COLON }, 310 [A_LEX_0_8] = { .tok = KIT_GRAM_META_TOK_MACHINE_DECL }, 311 [A_LEX_0_9] = { .skip = true }, 312 [A_LEX_0_10] = { .skip = true }, 313 [A_LEX_0_11] = { .tok = KIT_GRAM_META_TOK_NAME }, 314 [A_LEX_0_12] = { .tok = KIT_GRAM_META_TOK_STRING }, 315 [A_LEX_0_13] = { .tok = KIT_GRAM_META_TOK_UNICODE_PROP }, 316 [A_LEX_0_14] = { .tok = KIT_GRAM_META_TOK_CHAR_CLASS }, 317 [A_LEX_0_15] = { .tok = KIT_GRAM_META_TOK_ANCHOR }, 318 [A_LEX_0_16] = { .tok = KIT_GRAM_META_TOK_SHORTHAND }, 319 [A_LEX_0_17] = { .tok = KIT_GRAM_META_TOK_REPEAT }, 320 [A_LEX_0_18] = { .tok = KIT_GRAM_META_TOK_EQ }, 321 [A_LEX_0_19] = { .tok = KIT_GRAM_META_TOK_SEMI }, 322 [A_LEX_0_20] = { .tok = KIT_GRAM_META_TOK_PIPE }, 323 [A_LEX_0_21] = { .tok = KIT_GRAM_META_TOK_LPAREN }, 324 [A_LEX_0_22] = { .tok = KIT_GRAM_META_TOK_RPAREN }, 325 [A_LEX_0_23] = { .tok = KIT_GRAM_META_TOK_QUESTION }, 326 [A_LEX_0_24] = { .tok = KIT_GRAM_META_TOK_STAR }, 327 [A_LEX_0_25] = { .tok = KIT_GRAM_META_TOK_LBRACE }, 328 [A_LEX_0_26] = { .tok = KIT_GRAM_META_TOK_RBRACE }, 329 [A_LEX_0_27] = { .tok = KIT_GRAM_META_TOK_PLUS }, 330 [A_LEX_0_28] = { .tok = KIT_GRAM_META_TOK_DOT }, 331 }; 332 333 #define LXA KIT_GRAM_LEX_ACCEPT_NONE 334 #define LXD KIT_GRAM_LEX_DEAD 335 336 static const uint16_t lex_0_accept[] = { 337 LXA, A_LEX_0_9, LXA, A_LEX_0_15, LXA, A_LEX_0_21, A_LEX_0_22, A_LEX_0_24, A_LEX_0_27, A_LEX_0_28, LXA, A_LEX_0_7, 338 A_LEX_0_19, A_LEX_0_18, A_LEX_0_23, A_LEX_0_11, LXA, LXA, A_LEX_0_25, A_LEX_0_20, A_LEX_0_26, A_LEX_0_12, LXA, LXA, 339 LXA, LXA, LXA, LXA, LXA, LXA, LXA, A_LEX_0_10, LXA, LXA, A_LEX_0_16, LXA, 340 LXA, LXA, LXA, LXA, LXA, LXA, LXA, LXA, LXA, A_LEX_0_14, LXA, A_LEX_0_17, 341 A_LEX_0_5, LXA, LXA, A_LEX_0_3, LXA, LXA, LXA, LXA, LXA, LXA, LXA, LXA, 342 LXA, A_LEX_0_4, LXA, A_LEX_0_13, A_LEX_0_1, LXA, LXA, A_LEX_0_2, A_LEX_0_0, LXA, LXA, LXA, 343 A_LEX_0_8, A_LEX_0_6, 344 }; 345 346 static const uint16_t lex_0_trans[] = { 347 LXD, 1, 1, 2, 3, 4, 5, 6, 7, 8, LXD, 9, 348 10, LXD, 11, 12, 13, 14, 15, 15, 15, 15, 16, 17, 349 LXD, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 350 15, 15, 15, 15, 15, 15, 15, 15, 18, 19, 20, LXD, 351 1, 1, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 352 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 353 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 354 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 2, 2, 355 LXD, 21, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 356 2, 2, 2, 2, 2, 2, 2, 2, 2, 22, 2, 2, 357 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 358 2, 2, 2, 2, 2, 2, 2, 2, 2, LXD, LXD, LXD, 359 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 360 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 361 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 362 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 363 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 364 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 23, 365 24, LXD, LXD, LXD, 25, 26, 27, LXD, LXD, 28, LXD, 29, 366 30, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 367 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 368 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 369 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 370 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 371 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 372 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 373 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 374 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 375 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 376 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 377 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 378 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 379 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 380 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 381 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 382 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 383 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 384 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 385 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 386 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 387 LXD, LXD, 31, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 388 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 389 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 390 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 391 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 392 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 393 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 394 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 395 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 396 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 397 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 398 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 399 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 400 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 401 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 402 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 403 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 404 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 405 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 406 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 15, LXD, 407 LXD, LXD, LXD, 15, 15, 15, 15, LXD, LXD, LXD, 15, 15, 408 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 409 15, 15, 15, 15, 15, LXD, LXD, LXD, 32, 32, LXD, 32, 410 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 411 32, 32, 32, 32, 32, 32, 32, 33, LXD, 32, 32, 32, 412 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 413 32, 32, 32, 32, 32, 32, 32, LXD, LXD, LXD, LXD, LXD, 414 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 415 LXD, 3, LXD, 34, 35, LXD, LXD, LXD, LXD, LXD, 34, LXD, 416 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 35, LXD, 34, LXD, 417 34, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 418 LXD, LXD, LXD, LXD, 36, LXD, LXD, 36, LXD, LXD, LXD, LXD, 419 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 420 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 421 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 422 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 423 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 424 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 425 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 426 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 427 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 428 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 429 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 430 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 431 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 432 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 433 LXD, LXD, 2, 2, LXD, 2, 2, 2, 2, 2, 2, 2, 434 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 435 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 436 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 437 2, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 438 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 439 LXD, LXD, LXD, LXD, LXD, 37, LXD, LXD, LXD, LXD, LXD, LXD, 440 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 441 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 442 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 443 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 38, LXD, 444 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 445 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 446 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 447 LXD, LXD, LXD, 39, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 448 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 449 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 450 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 451 LXD, LXD, 40, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 452 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 453 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 454 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 41, LXD, 455 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 456 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 457 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 458 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 459 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 42, LXD, 460 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 461 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 462 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 463 LXD, LXD, LXD, 43, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 464 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 465 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 466 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 467 LXD, LXD, LXD, LXD, LXD, LXD, 44, LXD, LXD, LXD, LXD, LXD, 468 LXD, LXD, LXD, LXD, LXD, 31, 31, LXD, 31, 31, 31, 31, 469 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 470 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 471 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 472 31, 31, 31, 31, 32, 32, LXD, 32, 32, 32, 32, 32, 473 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 474 32, 32, 32, 33, 45, 32, 32, 32, 32, 32, 32, 32, 475 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 476 32, 32, 32, 32, 32, LXD, 32, 32, 32, 32, 32, 32, 477 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 478 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 479 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 480 32, 32, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 481 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 482 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 483 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 484 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 485 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 486 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 487 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 46, LXD, LXD, 488 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 36, LXD, 489 LXD, 36, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 490 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 491 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 47, LXD, 492 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 493 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 494 LXD, LXD, LXD, LXD, 48, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 495 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 496 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 497 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 498 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 49, 499 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 500 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 501 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 502 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 503 LXD, LXD, LXD, LXD, 50, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 504 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 505 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 506 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 507 LXD, LXD, 51, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 508 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 509 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 52, LXD, LXD, 510 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 511 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 512 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 513 LXD, LXD, LXD, LXD, LXD, LXD, LXD, 53, LXD, LXD, LXD, LXD, 514 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 515 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 516 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 517 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 518 54, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 519 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 520 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 521 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 522 55, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 523 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 524 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 525 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 526 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 527 LXD, LXD, 56, 56, LXD, 56, 56, 56, 56, 56, 56, 56, 528 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 529 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 530 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 531 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 532 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 533 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 534 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 535 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 536 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 537 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 538 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 539 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 540 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 541 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 542 LXD, LXD, LXD, 57, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 543 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 544 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 545 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 546 LXD, LXD, LXD, 58, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 547 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 548 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 549 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 550 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 551 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 552 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 553 LXD, LXD, 59, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 554 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 555 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 556 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 557 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 60, 558 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 559 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 560 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 561 LXD, LXD, LXD, LXD, LXD, LXD, LXD, 61, LXD, LXD, LXD, LXD, 562 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 563 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 564 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 62, LXD, LXD, 565 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 566 LXD, LXD, LXD, LXD, 56, 56, LXD, 56, 56, 56, 56, 56, 567 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 568 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 569 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 570 56, 56, 63, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 571 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 572 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 573 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 64, LXD, 574 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 575 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 576 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 577 LXD, LXD, 65, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 578 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 579 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 580 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 66, LXD, LXD, LXD, 581 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 582 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 583 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 584 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 585 LXD, LXD, LXD, LXD, 67, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 586 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 587 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 588 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 589 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 590 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 591 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 592 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 68, LXD, LXD, 593 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 594 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 595 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 596 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 597 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 598 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 599 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 600 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 601 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 602 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 603 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 604 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 69, LXD, LXD, 605 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 606 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 607 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 608 LXD, LXD, LXD, LXD, LXD, 70, LXD, LXD, LXD, LXD, LXD, LXD, 609 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 610 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 611 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 612 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 613 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 614 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 615 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 616 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 617 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 618 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 619 LXD, LXD, LXD, LXD, LXD, LXD, 71, LXD, LXD, LXD, LXD, LXD, 620 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 621 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 622 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 623 LXD, LXD, LXD, LXD, LXD, LXD, 72, LXD, LXD, LXD, LXD, LXD, 624 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 625 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 626 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 627 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 628 LXD, LXD, LXD, LXD, 73, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 629 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 630 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 631 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 632 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 633 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 634 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 635 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 636 LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, LXD, 637 }; 638 639 #undef LXA 640 #undef LXD 641 642 const KitGramLexGrammar kit_gram_meta_lex_grammar = { 643 .name = "meta", 644 .input = KIT_GRAM_LEX_INPUT_BYTES, 645 .class_of = { 646 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 648 1, 0, 3, 0, 4, 5, 0, 0, 6, 7, 8, 9, 10, 0, 11, 12, 649 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 15, 0, 16, 0, 17, 650 0, 18, 19, 19, 20, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 651 21, 19, 19, 20, 19, 19, 19, 20, 19, 19, 19, 22, 23, 24, 4, 19, 652 0, 25, 19, 26, 27, 28, 29, 19, 30, 31, 19, 32, 33, 34, 35, 36, 653 37, 19, 38, 39, 40, 19, 19, 41, 42, 43, 18, 44, 45, 46, 0, 0, 654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 662 }, 663 .nclasses = 47, 664 .class_stride = 47, 665 .trans = lex_0_trans, 666 .nstates = 74, 667 .accept = lex_0_accept, 668 .accepts = lex_0_accepts, 669 .naccepts = A_LEX_0_COUNT, 670 }; 671 672 void kit_gram_meta_matcher_init(KitGramMatcher *m) { 673 kit_gram_matcher_bind(m, &kit_gram_meta_lex_grammar); 674 } 675 676 void kit_gram_meta_lexer_init(KitGramLexer *mem, KitGramLexInput *in, const KitGramLexConfig *cfg) { 677 kit_gram_lexer_init(mem, &kit_gram_meta_lex_grammar, in, cfg); 678 }