Stan
1.0
probability, sampling & optimization
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerator
Friends
Macros
Pages
src
stan
gm
grammars
statement_2_grammar.hpp
Go to the documentation of this file.
1
#ifndef __STAN__GM__PARSER__STATEMENT_2_GRAMMAR__HPP__
2
#define __STAN__GM__PARSER__STATEMENT_2_GRAMMAR__HPP__
3
4
#include <string>
5
#include <sstream>
6
#include <vector>
7
8
#include <boost/spirit/include/qi.hpp>
9
10
#include <
stan/gm/ast.hpp
>
11
#include <
stan/gm/grammars/whitespace_grammar.hpp
>
12
#include <
stan/gm/grammars/expression_grammar.hpp
>
13
#include <
stan/gm/grammars/var_decls_grammar.hpp
>
14
#include <
stan/gm/grammars/statement_grammar.hpp
>
15
16
namespace
stan {
17
18
namespace
gm {
19
20
template
<
typename
Iterator>
21
struct
statement_grammar
;
22
23
template
<
typename
Iterator>
24
struct
statement_2_grammar
25
: boost::spirit::qi::grammar<Iterator,
26
statement(bool,var_origin),
27
whitespace_grammar<Iterator> > {
28
29
30
31
statement_2_grammar
(
variable_map
& var_map,
32
std::stringstream& error_msgs,
33
statement_grammar<Iterator>
& sg);
34
35
36
// global info for parses
37
variable_map
&
var_map_
;
38
std::stringstream&
error_msgs_
;
39
40
// grammars
41
expression_grammar<Iterator>
expression_g
;
42
statement_grammar<Iterator>
&
statement_g
;
43
44
// rules
45
46
boost::spirit::qi::rule<Iterator,
47
conditional_statement
(
bool
,
var_origin
),
48
whitespace_grammar<Iterator>
>
49
conditional_statement_r
;
50
51
52
boost::spirit::qi::rule<Iterator,
53
statement
(
bool
,
var_origin
),
54
whitespace_grammar<Iterator>
>
55
statement_2_r
;
56
57
};
58
59
60
}
61
}
62
63
#endif
[
Stan Home Page
]
© 2011–2012, Stan Development Team.