• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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/spirit/include/phoenix_core.hpp>
16 #include <boost/spirit/include/phoenix_operator.hpp>
17 #include <string>
18 
main()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