OSDN Git Service

seqがついに上手く行った、ような気がする
authorMyun2 <myun2@nwhite.info>
Tue, 22 May 2012 10:41:22 +0000 (19:41 +0900)
committerMyun2 <myun2@nwhite.info>
Tue, 22 May 2012 10:41:22 +0000 (19:41 +0900)
roast/include/roast/lexical/exception.hpp
roast/include/roast/lexical/rule/lengthable.hpp
roast/include/roast/lexical/rule/seq.hpp

index afc9c77..29680c7 100644 (file)
@@ -64,16 +64,17 @@ namespace roast
                        template <int _EvtCode> class send_normal_event;
                        template <int _EvtCode> class send_error_event;
 
-                       class Exception_is_send_normal_event;
-                       class Exception_is_send_error_event;
+                       class Exception_is_send_normal_event {};        //      toriaezu..
+                       class Exception_is_send_error_event {};         //      toriaezu..
 
+/*
                        template <typename T, int _EvtCode>
-                       class false_ret_to_exception<T,send_normal_event<_EvtCode> > : public _true_analyze {
+                       class false_ret_to_exception<T,send_normal_event<_EvtCode> > : public rule::_true_analyze {
                                Exception_is_send_normal_event _; };
                        template <typename T, int _EvtCode>
-                       class false_ret_to_exception<T,send_error_event<_EvtCode> > : public _true_analyze{
+                       class false_ret_to_exception<T,send_error_event<_EvtCode> > : public rule::_true_analyze{
                                Exception_is_send_normal_event _; };
-
+*/
                        //////////
 
                        template <typename T, typename _CatchException>
index d4a6621..c1445d9 100644 (file)
@@ -11,6 +11,7 @@ namespace roast
                namespace rule
                {
                        struct lengthable {};
+                       struct not_lengthable {};
                        
                        template <unsigned int LENGTH>
                        struct length_impl {
index 5e060ea..aab7cd3 100644 (file)
@@ -69,7 +69,7 @@ namespace roast
                                typename T31 = _true_analyze,
                                typename T32 = _true_analyze
                                >
-                       struct seq : lengthable_seq, tuple<
+                       struct seq : /*lengthable_seq,*/ tuple<
                                typename _seq::te<T0>::type,
                                typename _seq::te<T1>::type,
                                typename _seq::te<T2>::type,
@@ -485,10 +485,10 @@ namespace roast
                                return false;
                        if ( ::roast::lexical::generate(strm, doc.get<32>()) == false ) 
                                return false;
-                       *//*
+                       */
                                
-                       return true;
-               }*/
+                       //return true;
+               }
                
                /*
                //      generate
@@ -507,9 +507,10 @@ namespace roast
                template <typename _Strm, typename _NestType, typename _NextType>
                bool _seq_generate(_Strm& strm, _NestType& doc, const _NextType& )
                {
-                       if ( ::roast::lexical::generate(strm, doc.get<0>()) == false )  
+                       if ( generate(strm, doc.get<0>()) == false )    
                                return false;
-                       if ( ::roast::lexical::generate(strm, doc.next) == false )      
+
+                       if ( _seq_generate(strm, doc.next, _NextType::_Next()) == false )       
                                return false;
                                
                        return true;