1 /*=============================================================================
2     Boost.Wave: A Standard compliant C++ preprocessor library
3 
4     Sample: prints out the preprocessed tokens returned by the pp iterator
5             Explicit instantiation of the cpp_expression_grammar parsing
6             function
7 
8     http://www.boost.org/
9 
10     Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
11     Software License, Version 1.0. (See accompanying file
12     LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
13 =============================================================================*/
14 
15 #include "cpp_tokens.hpp"          // config data
16 
17 #if BOOST_WAVE_SEPARATE_GRAMMAR_INSTANTIATION != 0
18 
19 #include <string>
20 
21 #include <boost/wave/token_ids.hpp>
22 
23 #include "slex_token.hpp"
24 #include "slex_iterator.hpp"
25 
26 #include <boost/wave/grammars/cpp_expression_grammar.hpp>
27 
28 ///////////////////////////////////////////////////////////////////////////////
29 //
30 //  Explicit instantiation of the expression_grammar_gen template with the
31 //  correct token type. This instantiates the corresponding parse function,
32 //  which in turn instantiates the expression_grammar object (see
33 //  wave/grammars/cpp_expression_grammar.hpp)
34 //
35 ///////////////////////////////////////////////////////////////////////////////
36 
37 typedef boost::wave::cpplexer::slex_token<> token_type;
38 
39 template struct boost::wave::grammars::expression_grammar_gen<token_type>;
40 
41 #endif // #if BOOST_WAVE_SEPARATE_GRAMMAR_INSTANTIATION != 0
42 
43