1 #ifndef MACHINES_H_INCLUDED_ 2 #define MACHINES_H_INCLUDED_ 4 #include "interpolate.h" 6 #include "kblib/kblib.h" 19 std::pair<std::string, const state*> step(char32_t c)
const;
20 const std::string& suf()
const {
return end; }
27 vmap<char32_t, action_t, 16> cmap;
29 small_vector<char32_t, 64> matches;
32 std::vector<set_action_t>
set;
34 small_vector<char32_t, 64> in_set;
35 small_vector<char32_t, 64> out_set;
38 std::vector<map_action_t> map;
39 struct match_action_t {
40 small_vector<char32_t, 64> matches;
43 std::vector<match_action_t> match;
44 std::optional<action_t> def;
49 std::string_view name;
51 friend std::optional<state> toState(
const YAML::Node&);
52 friend bool set_dests(std::map<std::string, state>& states, std::string name,
53 const YAML::Node& data);
58 enum dir_override :
unsigned char {
66 word_data_t operator()(
Word, channelID)
const;
70 std::map<std::string, state> states;
73 friend struct YAML::convert<state_machine>;
81 struct convert<
fsm::state_machine> {
86 struct convert<
fsm::state> {
92 #endif // MACHINES_H_INCLUDED_ Definition: interpolate.h:167
Definition: machines.h:17
Definition: machines.h:56
Definition: loader.cpp:367
Definition: interpolate.h:139
Definition: loader.cpp:602