1 #ifndef MHO_VexBlockParser_HH__
2 #define MHO_VexBlockParser_HH__
61 void LoadBlockFormat(std::string block_name);
69 std::string GetBlockFormatFileName(std::string block_name);
118 bool ProcessStartTag(
const MHO_VexLine& line, std::stack< std::string >& path, std::stack< mho_json* >& file_node,
119 std::stack< mho_json >& format_node);
130 bool ProcessStopTag(
const MHO_VexLine& line, std::stack< std::string >& path, std::stack< mho_json* >& file_node,
131 std::stack< mho_json >& format_node);
153 bool ProcessReference(
const MHO_VexLine& line, std::stack< std::string >& path,
mho_json* file_node,
164 mho_json ProcessTokens(
const std::string& element_name,
mho_json& format, std::vector< std::string >&
tokens);
173 mho_json ProcessCompound(
const std::string& element_name,
mho_json& format, std::vector< std::string >&
tokens);
182 bool MatchesType(
const std::string& token,
const std::string& type_name);
184 bool fBlockFormatLoaded;
186 std::string fBlockName;
187 std::string fFormatDirectory;
188 const std::vector< MHO_VexLine >* fBlockLines;
189 std::size_t fCurrentLineNumber;
191 std::string fStartTag;
192 std::string fStopTag;
Class MHO_Tokenizer.
Definition: MHO_Tokenizer.hh:24
Class MHO_VexBlockParser.
Definition: MHO_VexBlockParser.hh:34
virtual ~MHO_VexBlockParser()
Definition: MHO_VexBlockParser.cc:19
void SetFormatDirectory(std::string fdir)
Setter for format directory.
Definition: MHO_VexBlockParser.hh:44
mho_json ParseBlockLines(std::string block_name, const std::vector< MHO_VexLine > *block_lines)
Parses block lines and returns a JSON object based on block type.
Definition: MHO_VexBlockParser.cc:56
MHO_VexBlockParser()
Definition: MHO_VexBlockParser.cc:11
Class MHO_VexTokenProcessor.
Definition: MHO_VexTokenProcessor.hh:27
Definition: MHO_ChannelLabeler.hh:17
Class MHO_VexLine.
Definition: MHO_VexLine.hh:21
struct token_struct * tokens
Definition: parse_control_file.c:26