1 #ifndef _RE2C_CONSTANTS_ 2 #define _RE2C_CONSTANTS_ 3 4 #include "src/util/c99_stdint.h" 5 6 7 namespace re2c { 8 9 enum target_t { 10 TARGET_CODE, 11 TARGET_DOT, 12 TARGET_SKELETON 13 }; 14 15 enum lang_t { 16 LANG_C, 17 LANG_GO 18 }; 19 20 enum input_api_t { 21 INPUT_DEFAULT, 22 INPUT_CUSTOM 23 }; 24 25 enum api_style_t { 26 API_FUNCTIONS, 27 API_FREEFORM 28 }; 29 30 enum fixed_tags_t { 31 FIXTAG_NONE, 32 FIXTAG_TOPLEVEL, 33 FIXTAG_ALL 34 }; 35 36 enum parse_opts_t { 37 OK, 38 EXIT_OK, 39 EXIT_FAIL 40 }; 41 42 enum InputBlockKind { 43 INPUT_END, 44 INPUT_GLOBAL, 45 INPUT_LOCAL, 46 INPUT_USE, 47 INPUT_RULES, 48 INPUT_ERROR 49 }; 50 51 enum empty_class_policy_t { 52 EMPTY_CLASS_MATCH_EMPTY, // match on empty input 53 EMPTY_CLASS_MATCH_NONE, // fail to match on any input 54 EMPTY_CLASS_ERROR // compilation error 55 }; 56 57 enum dfa_minimization_t { 58 DFA_MINIMIZATION_TABLE, 59 DFA_MINIMIZATION_MOORE 60 }; 61 62 enum posix_closure_t { 63 POSIX_CLOSURE_GOR1, 64 POSIX_CLOSURE_GTOP 65 }; 66 67 enum posix_prectable_alg_t { 68 POSIX_PRECTABLE_NAIVE, 69 POSIX_PRECTABLE_COMPLEX 70 }; 71 72 enum CodeKind { 73 CODE_EMPTY, 74 CODE_IF_THEN_ELSE, 75 CODE_SWITCH, 76 CODE_BLOCK, 77 CODE_FUNC, 78 CODE_SKIP, 79 CODE_PEEK, 80 CODE_BACKUP, 81 CODE_PEEK_SKIP, 82 CODE_SKIP_PEEK, 83 CODE_SKIP_BACKUP, 84 CODE_BACKUP_SKIP, 85 CODE_BACKUP_PEEK, 86 CODE_BACKUP_PEEK_SKIP, 87 CODE_SKIP_BACKUP_PEEK, 88 CODE_LINE_INFO_INPUT, 89 CODE_LINE_INFO_OUTPUT, 90 CODE_COND_ENUM, 91 CODE_COND_GOTO, 92 CODE_COND_TABLE, 93 CODE_STATE_GOTO, 94 CODE_STAGS, 95 CODE_MTAGS, 96 CODE_MAXFILL, 97 CODE_MAXNMATCH, 98 CODE_YYCH, 99 CODE_YYACCEPT, 100 CODE_VAR, 101 CODE_STMT, 102 CODE_TEXT, 103 CODE_TEXT_RAW, 104 CODE_RAW, 105 CODE_LABEL 106 }; 107 108 // Bit flags for configurations used in directives. 109 enum DirConf { 110 DCONF_FORMAT = 1u, 111 DCONF_SEPARATOR = 2u 112 }; 113 114 const uint32_t NOEOF = ~0u - 1; 115 116 } // namespace re2c 117 118 #endif // _RE2C_CONSTANTS_ 119