CUBA
parsers.hh
1 
8 #ifndef DS_PARSERS_HH_
9 #define DS_PARSERS_HH_
10 
11 #include "cpda.hh"
12 #include "fsa.hh"
13 
14 namespace ruba {
19 class parser {
20 public:
22  const string& filename);
23  static concurrent_finite_machine parse_input_cfsm(const string& filename);
24  static explicit_state parse_input_cfg(const string& s);
25 
26  static string create_default_states_in_str(const size_n n);
27 
28 private:
29  static vector<vector<string>> read_input_cpds(const string& filename,
30  set<pda_state>& states);
31  static pushdown_automaton parse_input_pda(const set<pda_state>& states,
32  const vector<string>& sPDA);
33  static finite_machine parse_input_fsm(const vector<string>& sPDA);
34 
35  static pda_alpha parse_input_alpha(const string& alpha);
36 
37  static void remove_comments(istream& in, ostream& out,
38  const string& comment);
39  static void remove_comments(istream& in, const string& filename,
40  const string& comment);
41  static bool getline(istream& in, string& line, const char eol = '\n');
42 
43  static deque<string> split(const string &s, const char delim);
44 
45  static thread_state create_thread_config_from_str(const string& s_ts,
46  const char delim = prop::SHARED_LOCAL_DELIMITER);
47  static explicit_state create_global_config_from_str(const string& s_ts,
48  const char delim = prop::SHARED_LOCAL_DELIMITER);
49 
50  static thread_visible_state create_thread_state_from_str(const string& s_ts,
51  const char delim = prop::SHARED_LOCAL_DELIMITER);
52  static visible_state create_global_state_from_str(const string& s_ts,
53  const char delim = prop::SHARED_LOCAL_DELIMITER);
54 };
55 }
56 /* namespace ruba */
57 
58 #endif /* DS_PARSERS_HH_ */
uint pda_alpha
define the stack symbol of PDSs
Definition: pda.hh:19
static concurrent_finite_machine parse_input_cfsm(const string &filename)
Definition: parser_pds.cc:32
static string create_default_states_in_str(const size_n n)
Definition: parser_pds.cc:374
static explicit_state parse_input_cfg(const string &s)
Definition: parser_pds.cc:233
ushort size_n
the size of threads
Definition: cpda.hh:25
Definition: cpda.cc:10
static concurrent_pushdown_automata parse_input_cpds(const string &filename)
Definition: parser_pds.cc:16
Definition: pda.hh:404
Definition: cpda.hh:139
Definition: pda.hh:497
map< thread_visible_state, deque< transition< thread_visible_state, thread_visible_state > >> finite_machine
Definition: cpda.hh:415
vector< pushdown_automaton > concurrent_pushdown_automata
Definition: cpda.hh:37
Definition: cpda.hh:45
Definition: parsers.hh:19
Definition: pda.hh:158
vector< finite_machine > concurrent_finite_machine
Concurrent finite machine: a vector of finite state machine.
Definition: cpda.hh:418