$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r61285 - in trunk/libs/spirit/example/scheme: . qi
From: hartmut.kaiser_at_[hidden]
Date: 2010-04-14 22:58:58
Author: hkaiser
Date: 2010-04-14 22:58:58 EDT (Wed, 14 Apr 2010)
New Revision: 61285
URL: http://svn.boost.org/trac/boost/changeset/61285
Log:
Spirit: Qi parser now almost complete
Text files modified: 
   trunk/libs/spirit/example/scheme/qi/parse_qiexpr_impl.hpp |     4 ++--                                    
   trunk/libs/spirit/example/scheme/qi/qiexpr_parser.hpp     |    12 +++++++-----                            
   trunk/libs/spirit/example/scheme/todo.txt                 |     3 ++-                                     
   3 files changed, 11 insertions(+), 8 deletions(-)
Modified: trunk/libs/spirit/example/scheme/qi/parse_qiexpr_impl.hpp
==============================================================================
--- trunk/libs/spirit/example/scheme/qi/parse_qiexpr_impl.hpp	(original)
+++ trunk/libs/spirit/example/scheme/qi/parse_qiexpr_impl.hpp	2010-04-14 22:58:58 EDT (Wed, 14 Apr 2010)
@@ -21,8 +21,8 @@
     {
         typedef typename String::const_iterator iterator_type;
 
-        scheme::input::qiexpr<iterator_type> p;
-        scheme::input::qiexpr_white_space<iterator_type> ws;
+        scheme::qi::qiexpr_parser<iterator_type> p;
+        scheme::qi::qiexpr_white_space<iterator_type> ws;
 
         iterator_type begin = str.begin();
         iterator_type end = str.end();
Modified: trunk/libs/spirit/example/scheme/qi/qiexpr_parser.hpp
==============================================================================
--- trunk/libs/spirit/example/scheme/qi/qiexpr_parser.hpp	(original)
+++ trunk/libs/spirit/example/scheme/qi/qiexpr_parser.hpp	2010-04-14 22:58:58 EDT (Wed, 14 Apr 2010)
@@ -3,8 +3,8 @@
 //  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)
 
-#if !defined(BOOST_SPIRIT_QIEXPR)
-#define BOOST_SPIRIT_QIEXPR
+#if !defined(BOOST_SPIRIT_QIEXPR_PARSER)
+#define BOOST_SPIRIT_QIEXPR_PARSER
 
 #include <string>
 
@@ -27,9 +27,10 @@
 }}}
 
 ///////////////////////////////////////////////////////////////////////////////
-namespace scheme { namespace input 
+namespace scheme { namespace qi 
 {
     using boost::spirit::ascii::space;
+    using boost::spirit::ascii::char_;
     using boost::spirit::qi::grammar;
     using boost::spirit::qi::rule;
     using boost::spirit::qi::symbols;
@@ -195,12 +196,13 @@
 
     ///////////////////////////////////////////////////////////////////////////
     template <typename Iterator>
-    struct qiexpr : grammar<Iterator, qiexpr_white_space<Iterator>, utree()>
+    struct qiexpr_parser 
+      : grammar<Iterator, qiexpr_white_space<Iterator>, utree()>
     {
         typedef typename boost::detail::iterator_traits<Iterator>::value_type 
             char_type;
 
-        qiexpr() : qiexpr::base_type(start)
+        qiexpr_parser() : qiexpr_parser::base_type(start)
         {
             typedef function<detail::make_list_node> make_list_type;
 
Modified: trunk/libs/spirit/example/scheme/todo.txt
==============================================================================
--- trunk/libs/spirit/example/scheme/todo.txt	(original)
+++ trunk/libs/spirit/example/scheme/todo.txt	2010-04-14 22:58:58 EDT (Wed, 14 Apr 2010)
@@ -1,2 +1,3 @@
 Sexpr:
-- allow sheme-ish #t and #f
\ No newline at end of file
+- allow scheme-ish #t and #f
+- write parser and generator for binary on disk representation of sexpr