1 #ifndef _RE2C_IR_SKELETON_SKELETON_
2 #define _RE2C_IR_SKELETON_SKELETON_
65 typedef std::map<Node *, path_t::arc_t>
arcs_t;
95 void init(
bool b,
RuleOp *r,
const std::vector<std::pair<Node*, uint32_t> > &arcs);
100 template <
typename cunit_t,
typename key_t>
101 void cover (
path_t & prefix, FILE * input, FILE * keys, covers_t &size);
102 void naked_ways (
way_t & prefix, std::vector<way_t> & ways, nakeds_t &size);
122 ,
const std::string &dfa_name
123 ,
const std::string &dfa_cond
151 template <
typename cunit_t,
typename key_t>
152 void generate_paths_cunit_key (FILE * input, FILE * keys);
153 template <
typename cunit_t>
154 void generate_paths_cunit (FILE * input, FILE * keys);
155 void generate_paths (FILE * input, FILE * keys);
163 return std::numeric_limits<key_t>::max();
165 key_t k = std::numeric_limits<key_t>::max();
168 return static_cast<key_t
>(r.
uint32());
174 #endif // _RE2C_IR_SKELETON_SKELETON_
std::vector< uint32_t > charset_t
Skeleton(const dfa_t &dfa, const charset_t &cs, const rules_t &rs, const std::string &dfa_name, const std::string &dfa_cond, uint32_t dfa_line)
static key_t rule2key(rule_rank_t r)
std::map< rule_rank_t, rule_info_t > rules_t
void emit_end(OutputFile &o, bool backup, bool backupctx) const
void cover(path_t &prefix, FILE *input, FILE *keys, covers_t &size)
void emit_start(OutputFile &o, size_t maxfill, bool backup, bool backupctx, bool accept) const
u32lim_t< 1024 > nakeds_t
std::map< Node *, path_t::arc_t > arcs_t
void init(bool b, RuleOp *r, const std::vector< std::pair< Node *, uint32_t > > &arcs)
std::map< Node *, way_arc_t > arcsets_t
std::vector< const way_arc_t * > way_t
static void emit_epilog(OutputFile &o, const std::set< std::string > &names)
std::set< rule_t > reachable
static const uint32_t DIST_ERROR
local_increment_t< uint8_t > local_inc
u32lim_t< 1024 *1024 *1024 > covers_t
void naked_ways(way_t &prefix, std::vector< way_t > &ways, nakeds_t &size)
void emit_action(OutputFile &o, uint32_t ind, rule_rank_t rank) const
void emit_data(const char *fname)
void warn_unreachable_rules()
static const uint32_t DIST_MAX
void warn_undefined_control_flow()
static void emit_prolog(OutputFile &o)