]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/spirit/test/qi/grammar_fail.cpp
1 /*=============================================================================
2 Copyright (c) 2001-2010 Hartmut Kaiser
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 =============================================================================*/
8 #include <boost/spirit/include/qi_operator.hpp>
9 #include <boost/spirit/include/qi_char.hpp>
10 #include <boost/spirit/include/qi_string.hpp>
11 #include <boost/spirit/include/qi_numeric.hpp>
12 #include <boost/spirit/include/qi_nonterminal.hpp>
13 #include <boost/spirit/include/qi_parse.hpp>
15 namespace qi
= boost::spirit::qi
;
17 struct num_list
: qi::grammar
<char const*, qi::rule
<char const*> >
19 num_list() : base_type(start
)
22 start
= num
>> *(',' >> num
);
25 qi::rule
<char const*, qi::rule
<char const*> > start
, num
;
28 // this test must fail compiling
31 char const* input
= "some input, it doesn't matter";
32 char const* end
= &input
[strlen(input
)];
35 qi::phrase_parse(input
, end
, g
,
36 qi::space
| ('%' >> *~qi::char_('\n') >> '\n'));