// Copyright (c) 2001-2011 Hartmut Kaiser // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #include #include #include #include #include #include #include #include #include #include #include "test.hpp" using namespace spirit_test; using namespace boost::spirit; using namespace boost::spirit::ascii; typedef spirit_test::output_iterator::type outiter_type; struct num_list : karma::grammar { num_list() : num_list::base_type(start) { using boost::spirit::int_; num1 = int_(123); num2 = int_(456); num3 = int_(789); start = num1 << ',' << num2 << ',' << num3; } karma::rule start, num1, num2, num3; }; int main() { { // simple grammar test num_list nlist; BOOST_TEST(test_delimited("123 , 456 , 789 ", nlist, space)); } { // direct access to the rules num_list def; BOOST_TEST(test_delimited("123 ", def.num1, space)); BOOST_TEST(test_delimited("123 , 456 , 789 ", def.start, space)); } return boost::report_errors(); }