cprover
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 <cstdlib>
12 #include <cstring>
13 #include <fstream>
14 
16 
17 // 'do it all' function
18 bool parse_xml(
19  std::istream &in,
20  const std::string &filename,
21  message_handlert &message_handler,
22  xmlt &dest)
23 {
24  xml_parser.clear();
25  xml_parser.set_file(filename);
26  xml_parser.in=&in;
27  xml_parser.set_message_handler(message_handler);
28 
29  bool result=yyxmlparse()!=0;
30 
31  // save result
33 
34  // save some memory
35  xml_parser.clear();
36 
37  return result;
38 }
39 
40 // 'do it all' function
41 bool parse_xml(
42  const std::string &filename,
43  message_handlert &message_handler,
44  xmlt &dest)
45 {
46  std::ifstream in(filename);
47 
48  if(!in)
49  return true;
50 
51  return parse_xml(in, filename, message_handler, dest);
52 }
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:15
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:28
parse_xml
bool parse_xml(std::istream &in, const std::string &filename, message_handlert &message_handler, xmlt &dest)
Definition: xml_parser.cpp:18
xmlt
Definition: xml.h:21
xmlt::swap
void swap(xmlt &xml)
Definition: xml.cpp:25
xml_parsert
Definition: xml_parser.h:20
parsert::set_file
void set_file(const irep_idt &file)
Definition: parser.h:85
xml_parser.h