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
15
xml_parsert
xml_parser
;
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
=∈
27
xml_parser
.
set_message_handler
(message_handler);
28
29
bool
result=
yyxmlparse
()!=0;
30
31
// save result
32
xml_parser
.
parse_tree
.
element
.
swap
(dest);
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
xmllang
xml_parser.cpp
Generated by
1.8.20