meta_tables.h (2423B)
1 /* Generated by gramgen from meta.ebnf. */ 2 #ifndef META_TABLES_H_ 3 #define META_TABLES_H_ 4 5 #include <kit/gram_parse.h> 6 #include <kit/gram_lex.h> 7 8 enum { 9 KIT_GRAM_META_TOK_EOF = 0, 10 KIT_GRAM_META_TOK_TOKEN_DECL, 11 KIT_GRAM_META_TOK_NAME, 12 KIT_GRAM_META_TOK_EQ, 13 KIT_GRAM_META_TOK_STRING, 14 KIT_GRAM_META_TOK_SEMI, 15 KIT_GRAM_META_TOK_PIPE, 16 KIT_GRAM_META_TOK_EMPTY_DECL, 17 KIT_GRAM_META_TOK_LPAREN, 18 KIT_GRAM_META_TOK_RPAREN, 19 KIT_GRAM_META_TOK_QUESTION, 20 KIT_GRAM_META_TOK_STAR, 21 KIT_GRAM_META_TOK_PRATT_DECL, 22 KIT_GRAM_META_TOK_LBRACE, 23 KIT_GRAM_META_TOK_RBRACE, 24 KIT_GRAM_META_TOK_LEX_DECL, 25 KIT_GRAM_META_TOK_MACHINE_DECL, 26 KIT_GRAM_META_TOK_COLON, 27 KIT_GRAM_META_TOK_SKIP_DECL, 28 KIT_GRAM_META_TOK_DEF_DECL, 29 KIT_GRAM_META_TOK_KEYWORDS_DECL, 30 KIT_GRAM_META_TOK_PLUS, 31 KIT_GRAM_META_TOK_REPEAT, 32 KIT_GRAM_META_TOK_CHAR_CLASS, 33 KIT_GRAM_META_TOK_UNICODE_PROP, 34 KIT_GRAM_META_TOK_SHORTHAND, 35 KIT_GRAM_META_TOK_DOT, 36 KIT_GRAM_META_TOK_ANCHOR, 37 KIT_GRAM_META_TOK__COUNT 38 }; 39 40 enum { 41 KIT_GRAM_META_R_grammar = 0, 42 KIT_GRAM_META_R_item, 43 KIT_GRAM_META_R_decl, 44 KIT_GRAM_META_R_token_decl, 45 KIT_GRAM_META_R_rule, 46 KIT_GRAM_META_R_alt, 47 KIT_GRAM_META_R_alt_tail, 48 KIT_GRAM_META_R_seq, 49 KIT_GRAM_META_R_factor, 50 KIT_GRAM_META_R_primary, 51 KIT_GRAM_META_R_quant, 52 KIT_GRAM_META_R_pratt_rule, 53 KIT_GRAM_META_R_pratt_line, 54 KIT_GRAM_META_R_pratt_atom, 55 KIT_GRAM_META_R_lex_block, 56 KIT_GRAM_META_R_machine_block, 57 KIT_GRAM_META_R_lex_name, 58 KIT_GRAM_META_R_lex_mode, 59 KIT_GRAM_META_R_lex_line, 60 KIT_GRAM_META_R_lex_rule, 61 KIT_GRAM_META_R_skip_rule, 62 KIT_GRAM_META_R_def_rule, 63 KIT_GRAM_META_R_keywords_block, 64 KIT_GRAM_META_R_kw_entry, 65 KIT_GRAM_META_R_kw_value, 66 KIT_GRAM_META_R_lex_alt, 67 KIT_GRAM_META_R_lex_alt_tail, 68 KIT_GRAM_META_R_lex_seq, 69 KIT_GRAM_META_R_lex_factor, 70 KIT_GRAM_META_R_lex_quant, 71 KIT_GRAM_META_R_lex_primary, 72 KIT_GRAM_META_R__COUNT 73 }; 74 75 void kit_gram_meta_stack_bounds(size_t max_depth, size_t* ctl_cap, size_t* val_cap); 76 size_t kit_gram_meta_generate_scratch_count(void); 77 void kit_gram_meta_parser_init(KitGramParser *mem, const KitGramConfig *cfg); 78 79 void kit_gram_meta_matcher_init(KitGramMatcher *m); 80 void kit_gram_meta_lexer_init(KitGramLexer *mem, KitGramLexInput *in, const KitGramLexConfig *cfg); 81 82 #endif /* META_TABLES_H_ */