CBMC
xml_parser.cpp
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module:
4 
5 Author: Daniel Kroening, kroening@kroening.com
6 
7 \*******************************************************************/
8 
9 #include "xml_parser.h"
10 
11 #include <fstream>
12 
14 
15 // 'do it all' function
16 bool parse_xml(
17  std::istream &in,
18  const std::string &filename,
19  message_handlert &message_handler,
20  xmlt &dest)
21 {
22  xml_parser.clear();
23  xml_parser.set_file(filename);
24  xml_parser.in=&in;
25  xml_parser.set_message_handler(message_handler);
26 
27  bool result=yyxmlparse()!=0;
28 
29  // save result
31 
32  // save some memory
33  xml_parser.clear();
34 
35  return result;
36 }
37 
38 // 'do it all' function
39 bool parse_xml(
40  const std::string &filename,
41  message_handlert &message_handler,
42  xmlt &dest)
43 {
44  std::ifstream in(filename);
45 
46  if(!in)
47  return true;
48 
49  return parse_xml(in, filename, message_handler, dest);
50 }
xml_parse_treet::element
xmlt element
Definition: xml_parse_tree.h:19
xml_parsert::parse_tree
xml_parse_treet parse_tree
Definition: xml_parser.h:22
xml_parsert::clear
virtual void clear()
Definition: xml_parser.h:42
xml_parser
xml_parsert xml_parser
Definition: xml_parser.cpp:13
parsert::in
std::istream * in
Definition: parser.h:26
yyxmlparse
int yyxmlparse()
messaget::set_message_handler
virtual void set_message_handler(message_handlert &_message_handler)
Definition: message.h:179
message_handlert
Definition: message.h:27
parse_xml
bool parse_xml(std::istream &in, const std::string &filename, message_handlert &message_handler, xmlt &dest)
Definition: xml_parser.cpp:16
xmlt
Definition: xml.h:20
xmlt::swap
void swap(xmlt &xml)
Definition: xml.cpp:25
xml_parsert
Definition: xml_parser.h:19
parsert::set_file
void set_file(const irep_idt &file)
Definition: parser.h:85
xml_parser.h