OSDN Git Service

css: paddingまで出来たー!
authorMyun2 <myun2@nwhite.info>
Sat, 25 Dec 2010 06:59:57 +0000 (15:59 +0900)
committerMyun2 <myun2@nwhite.info>
Sat, 25 Dec 2010 07:00:22 +0000 (16:00 +0900)
roast/include/roast/web/css_attributes.hpp
roast/include/roast/web/css_rule.hpp
roast/test/lexical_test/css_test.cpp

index 22ba45f..1505818 100644 (file)
@@ -60,7 +60,7 @@ namespace roast
                                typename _Right=empty_type,
                                typename _Bottom=empty_type,
                                typename _Left=empty_type>
-                       struct padding_ : lexical::declaration_<_attrname_str::padding,
+                       struct padding_ : declaration_<_attrname_str::padding,
                                seq<_Top, space, _Right, space, _Bottom, space, _Left> >
                        {};
                        
@@ -86,6 +86,8 @@ namespace roast
                                typename _LRTB>
                        struct padding_<_LRTB,empty_type,empty_type,empty_type> : declaration_<_attrname_str::padding, _LRTB>
                        {};
+
+                       //      padding_px_
                }
        }
 #undef ROAST_CSS_DECL_ATTR
index b8bd860..ec2dcfe 100644 (file)
@@ -53,7 +53,7 @@ namespace roast
                        //      comment_whitespace
                        typedef seq<
                                lcnrqws,
-                               opt_repeat<seq<comment, lcnrqws > >
+                               optional_repeat_nogen<seq<comment, lcnrqws > >
                        > comment_whitespace;
 
                        ////////////////////////////////////////////
index 2b29083..75f6922 100644 (file)
@@ -8,23 +8,26 @@ class printer
 public:
        void operator << (char c){ putc(c,stdout); }
        void operator << (const char* s){ printf(s); }
+
+       int pop_string(){ return 0; };
 };
 
 int main()
 {
        using namespace roast::css;
        using namespace roast::css::attributes;
+       using namespace roast::css::attributes::unit;
        using namespace roast::lexical::rule;
 
 //     ::roast::css::lexical::parser_rule cssa;
 //     cssa.analyze("/*ZZZ*//*ZZZ*/ /*ZZZ*//*ZZZ*/  /*ZZZ*/ hoge/*ZZZ*/ {aa /*ZZZ*/ :/*ZZZ*/ bb/*ZZZ*/; /*ZZZ*/ee:ss /*ZZZ*/}\n"
 //             "/*ZZZ*/hoge2,2#dd{cc:dd; aa  : bb ;  aa  : bb}",printer());
 
-       //padding_<>;
+       padding_<px_<10>, px_<10>, px_<10>, px_<10> > a;
        //float_string<132,58,2> a;
        //num_string<592116> a;
-       unit::px_<10> a;
-       a.generate(printer(),a);
+       //unit::px_<10> a;
+       a.generate(printer(),printer());
        printf("\n");
        
        return 0;