On 4/29/2011 5:04 AM, Hossein Haeri wrote:
> Dear all,
> 
> I have an application with the following syntax (with which many of you
> are perhaps already familiar through my previous postings):
> 
> x >> &f >> &g
> 
> I can evaluate the above expression into g(f(5)) say when x == 5. I am
> quite pleased with how Proto manages this for the compile-time
> flexibility that it gives me.
> 
> Now, I'm wondering whether there is any way in which the string "x >> &f
> >> &g" can be parsed into its Proto counterpart. So, I started reading
> through the Xpressive documentation with the hope of finding a piece of
> magic there. I am however not positive at all because, in effect, this
> would mean type construction at runtime. 

Right, you can't do that.

> I would however be so delighted
> if someone here who can contradict me. Any ideas please?

Xpressive isn't doing what you think it's doing. There are two front
ends -- static and dynamic. Both build a DAG representing the FSM from
the same basic components. But in the dynamic case, the nodes in the DAG
are type-erased (polymorphic base pointers and virtual functions) and in
the static case, the nodes are statically typed. Dynamic xpressive
cannot build a statically-bound DAG for exactly the reason you cite.

-- 
Eric Niebler
BoostPro Computing
http://www.boostpro.com
_______________________________________________
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto

Reply via email to