
Larry Evans wrote:
On 10/23/2005 12:12 PM, Korcan Hussein wrote: [snip]
I'll get back to you on that one, for the time being i have uploaded the example i have been writing about, it is in the vault here: http://www.boost-consulting.com/vault/index.php?action=downloadfile&filename=expr_test.cpp&directory=Template%20Metaprogramming&
In the example program you should see something similar, take note however
I ran it and tried to understand it. AFAICT, the key part of the code is:
HTH any other reviewers of expr_test.cpp.
I didn't run it but I think I understand what's going on. It simply encodes the recursive expression-type in the recursive variant. There's a significant flaw with this approach: all nodes must be known in advance. There is no possibility of user defined leaves; nor is there a possibility for having nodes that are from a different library; e.g. phoenix. Hence, AFAICT, semantic actions cannot be made to work. And, the system will be closed to extension --for example, in Spirit, we cannot write our own user defined primitives or composites, *after* the library has been written. Cheers, -- Joel de Guzman http://www.boost-consulting.com http://spirit.sf.net