CBMC
xml_parser.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module:
4
5
Author: Daniel Kroening, kroening@kroening.com
6
7
\*******************************************************************/
8
9
10
#ifndef CPROVER_XMLLANG_XML_PARSER_H
11
#define CPROVER_XMLLANG_XML_PARSER_H
12
13
#include <
util/parser.h
>
14
15
#include "
xml_parse_tree.h
"
16
17
int
yyxmlparse
();
18
19
class
xml_parsert
:
public
parsert
20
{
21
public
:
22
xml_parse_treet
parse_tree
;
23
24
std::list<xmlt *>
stack
;
25
26
xmlt
&
current
()
27
{
28
return
*
stack
.back();
29
}
30
31
virtual
bool
parse
()
32
{
33
return
yyxmlparse
()!=0;
34
}
35
36
void
new_level
()
37
{
38
current
().
elements
.push_back(
xmlt
());
39
stack
.push_back(&
current
().elements.back());
40
}
41
42
virtual
void
clear
()
43
{
44
parse_tree
.
clear
();
45
// set up stack
46
stack
.clear();
47
stack
.push_back(&
parse_tree
.
element
);
48
}
49
};
50
51
extern
xml_parsert
xml_parser
;
52
53
int
yyxmlerror
(
const
std::string &error);
54
55
// 'do it all' functions
56
bool
parse_xml
(
57
std::istream &in,
58
const
std::string &filename,
59
message_handlert
&message_handler,
60
xmlt
&dest);
61
62
bool
parse_xml
(
63
const
std::string &filename,
64
message_handlert
&message_handler,
65
xmlt
&dest);
66
67
#endif // CPROVER_XMLLANG_XML_PARSER_H
xmlt::elements
elementst elements
Definition:
xml.h:42
yyxmlerror
int yyxmlerror(const std::string &error)
xml_parse_treet::element
xmlt element
Definition:
xml_parse_tree.h:19
xml_parse_tree.h
xml_parsert::parse_tree
xml_parse_treet parse_tree
Definition:
xml_parser.h:22
parse_xml
bool parse_xml(std::istream &in, const std::string &filename, message_handlert &message_handler, xmlt &dest)
Definition:
xml_parser.cpp:16
xml_parsert::current
xmlt & current()
Definition:
xml_parser.h:26
xml_parsert::clear
virtual void clear()
Definition:
xml_parser.h:42
xml_parser
xml_parsert xml_parser
Definition:
xml_parser.cpp:13
xml_parse_treet
Definition:
xml_parse_tree.h:15
yyxmlparse
int yyxmlparse()
xml_parse_treet::clear
void clear()
Definition:
xml_parse_tree.cpp:17
message_handlert
Definition:
message.h:27
parsert
Definition:
parser.h:23
xmlt
Definition:
xml.h:20
xml_parsert::new_level
void new_level()
Definition:
xml_parser.h:36
parser.h
xml_parsert::stack
std::list< xmlt * > stack
Definition:
xml_parser.h:24
xml_parsert
Definition:
xml_parser.h:19
xml_parsert::parse
virtual bool parse()
Definition:
xml_parser.h:31
src
xmllang
xml_parser.h
Generated by
1.8.17