$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r55011 - in trunk/libs/spirit: doc example/qi test/qi
From: joel_at_[hidden]
Date: 2009-07-18 00:25:56
Author: djowel
Date: 2009-07-18 00:25:54 EDT (Sat, 18 Jul 2009)
New Revision: 55011
URL: http://svn.boost.org/trac/boost/changeset/55011
Log:
loop parsers fixes
Text files modified: 
   trunk/libs/spirit/doc/qi.qbk               |     2 +-                                      
   trunk/libs/spirit/example/qi/reference.cpp |     2 +-                                      
   trunk/libs/spirit/test/qi/kleene.cpp       |     7 +++++++                                 
   trunk/libs/spirit/test/qi/list.cpp         |     5 +++--                                   
   trunk/libs/spirit/test/qi/plus.cpp         |     7 +++++++                                 
   trunk/libs/spirit/test/qi/repeat.cpp       |     7 +++++++                                 
   6 files changed, 26 insertions(+), 4 deletions(-)
Modified: trunk/libs/spirit/doc/qi.qbk
==============================================================================
--- trunk/libs/spirit/doc/qi.qbk	(original)
+++ trunk/libs/spirit/doc/qi.qbk	2009-07-18 00:25:54 EDT (Sat, 18 Jul 2009)
@@ -34,7 +34,7 @@
 [include        qi/action.qbk]
 [include        qi/auxiliary.qbk]
 [include        qi/binary.qbk]
-[include        qi/char.qbk]
+[/ include        qi/char.qbk]
 [include        qi/directive.qbk]
 [include        qi/nonterminal.qbk]
 [include        qi/numeric.qbk]
Modified: trunk/libs/spirit/example/qi/reference.cpp
==============================================================================
--- trunk/libs/spirit/example/qi/reference.cpp	(original)
+++ trunk/libs/spirit/example/qi/reference.cpp	2009-07-18 00:25:54 EDT (Sat, 18 Jul 2009)
@@ -94,7 +94,7 @@
         sym.add
             ("Apple", 1)
             ("Banana", 2)
-            ("orange", 3)
+            ("Orange", 3)
         ;
 
         int i;
Modified: trunk/libs/spirit/test/qi/kleene.cpp
==============================================================================
--- trunk/libs/spirit/test/qi/kleene.cpp	(original)
+++ trunk/libs/spirit/test/qi/kleene.cpp	2009-07-18 00:25:54 EDT (Sat, 18 Jul 2009)
@@ -33,6 +33,7 @@
     using boost::spirit::qi::omit;
     using boost::spirit::qi::uint_;
     using boost::spirit::qi::int_;
+    using boost::spirit::qi::lexeme;
 
     {
         BOOST_TEST(test("aaaaaaaa", *char_));
@@ -83,6 +84,12 @@
         BOOST_TEST(test_attr("123 456 789 10", *int_, v, space) && 4 == v.size() &&
             v[0] == 123 && v[1] == 456 && v[2] == 789 &&  v[3] == 10);
     }
+    
+    {
+        std::vector<std::string> v;
+        BOOST_TEST(test_attr("a b c d", *lexeme[+alpha], v, space) && 4 == v.size() &&
+            v[0] == "a" && v[1] == "b" && v[2] == "c" &&  v[3] == "d");
+    }
 
     {
         std::vector<int> v;
Modified: trunk/libs/spirit/test/qi/list.cpp
==============================================================================
--- trunk/libs/spirit/test/qi/list.cpp	(original)
+++ trunk/libs/spirit/test/qi/list.cpp	2009-07-18 00:25:54 EDT (Sat, 18 Jul 2009)
@@ -67,8 +67,9 @@
     
     {
         std::vector<std::string> v;
-        BOOST_TEST(test_attr("a,b", +alpha % ',', v)); 
-        BOOST_TEST(2 == v.size() && "a" == v[0] && "b" == v[1]);
+        BOOST_TEST(test_attr("a,b,c,d", +alpha % ',', v));
+        BOOST_TEST(4 == v.size() && "a" == v[0] && "b" == v[1]
+            && "c" == v[2] && "d" == v[3]);
     }
 
     { // actions
Modified: trunk/libs/spirit/test/qi/plus.cpp
==============================================================================
--- trunk/libs/spirit/test/qi/plus.cpp	(original)
+++ trunk/libs/spirit/test/qi/plus.cpp	2009-07-18 00:25:54 EDT (Sat, 18 Jul 2009)
@@ -34,6 +34,7 @@
     using boost::spirit::qi::omit;
     using boost::spirit::qi::lit;
     using boost::spirit::qi::_1;
+    using boost::spirit::qi::lexeme;
 
     {
         BOOST_TEST(test("aaaaaaaa", +char_));
@@ -60,6 +61,12 @@
     }
 
     {
+        std::vector<std::string> v;
+        BOOST_TEST(test_attr("a b c d", +lexeme[+alpha], v, space) && 4 == v.size() &&
+            v[0] == "a" && v[1] == "b" && v[2] == "c" &&  v[3] == "d");
+    }
+    
+    {
         BOOST_TEST(test("Kim Kim Kim", +lit("Kim"), space));
     }
 
Modified: trunk/libs/spirit/test/qi/repeat.cpp
==============================================================================
--- trunk/libs/spirit/test/qi/repeat.cpp	(original)
+++ trunk/libs/spirit/test/qi/repeat.cpp	2009-07-18 00:25:54 EDT (Sat, 18 Jul 2009)
@@ -37,6 +37,7 @@
     using boost::spirit::qi::omit;
     using boost::spirit::qi::int_;
     using boost::spirit::qi::_1;
+    using boost::spirit::qi::lexeme;
 
     {
         BOOST_TEST(test("aaaaaaaa", repeat[char_])); // kleene synonym
@@ -107,6 +108,12 @@
     }
 
     {
+        std::vector<std::string> v;
+        BOOST_TEST(test_attr("a b c d", repeat(4)[lexeme[+alpha]], v, space) && 4 == v.size() &&
+            v[0] == "a" && v[1] == "b" && v[2] == "c" &&  v[3] == "d");
+    }
+    
+    {
         std::string s;
         BOOST_TEST(test_attr("bbbb", repeat(4)[char_], s) && s == "bbbb");