regression_one_element_fusion_sequence.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132
  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. // This compilation test fails if proto expressions are not properly
  7. // distinguished from 'normal' Fusion sequences.
  8. #include <boost/spirit/include/qi_operator.hpp>
  9. #include <boost/spirit/include/qi_char.hpp>
  10. #include <boost/spirit/include/qi_symbols.hpp>
  11. #include <boost/spirit/include/qi_nonterminal.hpp>
  12. #include <boost/spirit/include/qi_action.hpp>
  13. #include <boost/spirit/include/phoenix_core.hpp>
  14. #include <boost/spirit/include/phoenix_operator.hpp>
  15. #include <string>
  16. int main()
  17. {
  18. namespace qi = boost::spirit::qi;
  19. typedef std::string::const_iterator iterator;
  20. qi::symbols<char, qi::rule<iterator> > phrase_keyword_rules;
  21. qi::rule<iterator, qi::locals<qi::rule<iterator> > > phrase_markup_impl;
  22. phrase_markup_impl
  23. = (phrase_keyword_rules >> !qi::alnum) [qi::_a = qi::_1]
  24. ;
  25. return 0;
  26. }