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