Update of /cvsroot/boost/boost/boost/xpressive/detail/static
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv30530/detail/static

Modified Files:
        grammar.hpp static.hpp 
Log Message:
grammar tweaks, misc clean-up

Index: grammar.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/detail/static/grammar.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- grammar.hpp 19 Nov 2006 04:50:53 -0000      1.4
+++ grammar.hpp 19 Nov 2006 21:15:17 -0000      1.5
@@ -174,7 +174,17 @@
     struct XpressiveListSet
       : proto::or_<
             proto::meta::comma< XpressiveListSet<Char>, 
proto::meta::terminal<Char> >
+          , proto::meta::comma< XpressiveListSet<Char>, 
proto::meta::terminal<char> >
           , proto::meta::assign<detail::set_initializer_type, 
proto::meta::terminal<Char> >
+          , proto::meta::assign<detail::set_initializer_type, 
proto::meta::terminal<char> >
+        >
+    {};
+
+    template<>
+    struct XpressiveListSet<char>
+      : proto::or_<
+            proto::meta::comma< XpressiveListSet<char>, 
proto::meta::terminal<char> >
+          , proto::meta::assign<detail::set_initializer_type, 
proto::meta::terminal<char> >
         >
     {};
 
@@ -226,15 +236,28 @@
     {};
 
     template<typename Char>
+    struct XpressiveComplementedCharacterLiteral
+      : proto::or_<
+            
proto::meta::complement<proto::meta::terminal<detail::literal_placeholder<Char, 
mpl::_> > >
+          , 
proto::meta::complement<proto::meta::terminal<detail::literal_placeholder<char, 
mpl::_> > >
+        >
+    {};
+
+    template<>
+    struct XpressiveComplementedCharacterLiteral<char>
+      : 
proto::meta::complement<proto::meta::terminal<detail::literal_placeholder<char, 
mpl::_> > >
+    {};
+
+    template<typename Char>
     struct XpressiveTerminal
       : proto::or_<
             proto::and_<
                 proto::meta::terminal<mpl::_>
               , proto::if_<detail::is_xpressive_terminal<Char, 
proto::meta::arg<mpl::_> > >
             >
-          , proto::meta::complement<proto::meta::terminal<Char> >
           , 
proto::meta::complement<proto::meta::terminal<detail::posix_charset_placeholder>
 >
           , 
proto::meta::complement<proto::meta::terminal<detail::logical_newline_placeholder>
 >
+          , XpressiveComplementedCharacterLiteral<Char>
           , proto::or_<
                 XpressiveComplementedSet<Char>
               , XpressiveTaggedSubExpression<Char>

Index: static.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/detail/static/static.hpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- static.hpp  2 Nov 2006 06:56:42 -0000       1.11
+++ static.hpp  19 Nov 2006 21:15:17 -0000      1.12
@@ -31,26 +31,6 @@
 namespace boost { namespace xpressive { namespace detail
 {
 
-#ifdef BOOST_XPR_DEBUG_STACK
-///////////////////////////////////////////////////////////////////////////////
-// top_type
-//
-template<typename Top>
-struct top_type
-{
-    typedef Top type;
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// top_type
-//
-template<typename Top, typename Next>
-struct top_type<stacked_xpression<Top, Next> >
-{
-    typedef Next type;
-};
-#endif
-
 ///////////////////////////////////////////////////////////////////////////////
 // stacked_xpression
 //
@@ -71,9 +51,8 @@
     //   jump back to the xpression on top of the xpression stack,
     //   and keep the xpression on the stack.
     template<typename BidiIter>
-    static bool top_match(state_type<BidiIter> &state, xpression_base const 
*top)
+    static bool top_match(state_type<BidiIter> &state, void const *top)
     {
-        BOOST_XPR_DEBUG_STACK_ASSERT(typeid(*top) == typeid(typename 
top_type<Top>::type));
         return static_cast<Top const *>(top)->
             BOOST_NESTED_TEMPLATE push_match<Top>(state);
     }
@@ -82,9 +61,8 @@
     //   jump back to the xpression on top of the xpression stack,
     //   pop the xpression off the stack.
     template<typename BidiIter>
-    static bool pop_match(state_type<BidiIter> &state, xpression_base const 
*top)
+    static bool pop_match(state_type<BidiIter> &state, void const *top)
     {
-        BOOST_XPR_DEBUG_STACK_ASSERT(typeid(*top) == typeid(typename 
top_type<Top>::type));
         return static_cast<Top const *>(top)->match(state);
     }
 


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs

Reply via email to