1 /*=============================================================================
2     Copyright (c) 2004 Joao Abecasis
3     http://spirit.sourceforge.net/
4 
5     Use, modification and distribution is subject to the Boost Software
6     License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
7     http://www.boost.org/LICENSE_1_0.txt)
8 =============================================================================*/
9 
10 #include <boost/spirit/include/classic_core.hpp>
11 
12 #include <boost/spirit/include/classic_closure.hpp>
13 
14 #include <boost/spirit/include/classic_ast.hpp>
15 #include <boost/spirit/include/classic_parse_tree.hpp>
16 
17 using namespace BOOST_SPIRIT_CLASSIC_NS;
18 
19 struct test_closure : public closure<test_closure, int>
20 {
21     member1 value;
22 };
23 
24 struct test_grammar : public grammar<test_grammar>
25 {
26     template <typename ScannerT>
27     struct definition
28     {
definitiontest_grammar::definition29         definition(const test_grammar&)
30         {
31         }
32 
starttest_grammar::definition33         rule<ScannerT, test_closure::context_t> const & start() const
34         {
35             return first;
36         }
37 
38         rule<ScannerT, test_closure::context_t> first;
39     };
40 };
41 
main()42 int main()
43 {
44     parse("abcd", test_grammar());
45     pt_parse("abcd", test_grammar());
46     ast_parse("abcd", test_grammar());
47 }
48 
49 
50