Boost logo

Boost Users :

Subject: [Boost-users] [Proto] Stuck turning a complex gramamr action to a primitive trasnform
From: joel (joel.falcou_at_[hidden])
Date: 2009-10-28 15:21:46


I tried to turn a complex grammar transform
 :
struct grammar :
 or_< ...

   ,bp::when< bp::nary_expr< bp::_, bp::vararg< grammar > >
                          , bp::_default< grammar >
                            (
                               
_bp::functional::unpack_expr<bp::tag::function>(
                                        push_front( bp::_
                                                  , bp::_make_terminal
                                                    (
                                                       some_type<
bp::tag_of<bp::_> >()
                                                    )
                                                  )
                                       )
                            )
>

into a single primitive transform but I end up stuck cause it seems some
of those transform (make_terminal) don't follow
the classic proto::result_of/proto namespace acces to compute it's
return type and calling it. How should I handle these ?
My intuition was that the transform oeprator() will call the equivalent
function onto its expr parameters while its result
struct compute the result_of by chaining the transform result_of results.

Ultimately, I want this to be a tempalte trasnform that take some_type
as a parameter :

bp::when< bp::nary_expr< bp::_, bp::vararg< grammar > >
                 , traversal<some_type>(bp)
>

Thanks in advance

-- 
___________________________________________
Joel Falcou - Assistant Professor
PARALL Team - LRI - Universite Paris Sud XI
Tel : (+33)1 69 15 66 35

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net