HOPS
HOPS class reference
MHO_ControlElementParser.hh
Go to the documentation of this file.
1 #ifndef MHO_ControlElementParser_HH__
2 #define MHO_ControlElementParser_HH__
3 
4 #include <list>
5 #include <sstream>
6 #include <stack>
7 #include <string>
8 #include <vector>
9 
11 #include "MHO_JSONHeaderWrapper.hh"
12 #include "MHO_Message.hh"
13 #include "MHO_Tokenizer.hh"
14 
17 
18 namespace hops
19 {
20 
33 {
34  public:
36  virtual ~MHO_ControlElementParser();
37 
44  mho_json ParseControlStatement(const MHO_ControlStatement& control_statement);
45 
46  private:
55  mho_json ParseTokens(const std::string& element_name, mho_json& format, const std::vector< MHO_Token >& tokens);
64  mho_json ProcessCompound(const std::string& element_name, mho_json& format, const std::vector< MHO_Token >& tokens);
65 
66  mho_json fElementFormats;
67 
68  MHO_ControlTokenProcessor fTokenProcessor;
69 };
70 
71 } // namespace hops
72 
73 #endif
nlohmann::json mho_json
Definition: MHO_JSONHeaderWrapper.hh:5
Class MHO_ControlElementParser.
Definition: MHO_ControlElementParser.hh:33
virtual ~MHO_ControlElementParser()
Definition: MHO_ControlElementParser.cc:12
MHO_ControlElementParser()
Definition: MHO_ControlElementParser.cc:7
mho_json ParseControlStatement(const MHO_ControlStatement &control_statement)
Parses a control statement into a JSON object, handling different formats and providing warnings for ...
Definition: MHO_ControlElementParser.cc:14
Class MHO_ControlTokenProcessor.
Definition: MHO_ControlTokenProcessor.hh:28
Definition: MHO_ChannelLabeler.hh:17
Class MHO_ControlStatement.
Definition: MHO_ControlDefinitions.hh:44
struct token_struct * tokens
Definition: parse_control_file.c:26