
In that case, I think your best bet is to build your own DSEL using Proto.
that is the point, I don't want to build another DSEL (and wouldn't know how to do it with proto), C++ language as a DSEL is enough to experiment with the expressions right know, and that is the reason I ended up using phoenix.
Proto will let you define placeholders and will build expressions for you. It will *also* give you the tools to access, analyze and transform subexpressions in the ways you describe. In essence, you'll need to implement your own mini-Phoenix. That's the bad news.
The good news is: in the (near!) future, Phoenix will be built on top of Proto so that you'll be able to use Proto to access, analyze and transform Phoenix expressions.
well that would be perfect. I don't imagine how (just because I still don't understand proto) but in any case I should be able to do it for the current phoenix, ... in principle. or I'll rather wait for Phoenix3.
Incidentally, your message is very timely. Joel and I have just been discussing off-list the possibilities opened up by giving users access to Phoenix expressions at this level. It's really very exciting.
sure. I am surprised that I am using phoenix in a way that was not intended for. What are expression for if not to take them appart and analyse piece by piece? Thank you, Alfredo