1 | // Copyright (c) 2001-2011 Hartmut Kaiser |
---|---|
2 | // Copyright (c) 2010 Daniel James |
3 | // |
4 | // Distributed under the Boost Software License, Version 1.0. (See accompanying |
5 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
6 | |
7 | // This compilation test fails if proto expressions are not properly |
8 | // distinguished from 'normal' Fusion sequences. |
9 | |
10 | #include <boost/spirit/include/qi_operator.hpp> |
11 | #include <boost/spirit/include/qi_char.hpp> |
12 | #include <boost/spirit/include/qi_symbols.hpp> |
13 | #include <boost/spirit/include/qi_nonterminal.hpp> |
14 | #include <boost/spirit/include/qi_action.hpp> |
15 | #include <boost/phoenix/core.hpp> |
16 | #include <boost/phoenix/operator.hpp> |
17 | #include <string> |
18 | |
19 | int main() |
20 | { |
21 | namespace qi = boost::spirit::qi; |
22 | typedef std::string::const_iterator iterator; |
23 | |
24 | qi::symbols<char, qi::rule<iterator> > phrase_keyword_rules; |
25 | qi::rule<iterator, qi::locals<qi::rule<iterator> > > phrase_markup_impl; |
26 | |
27 | phrase_markup_impl |
28 | = (phrase_keyword_rules >> !qi::alnum) [qi::_a = qi::_1] |
29 | ; |
30 | |
31 | return 0; |
32 | } |
33 |