|
Boost : |
From: Joel de Guzman (joel_at_[hidden])
Date: 2005-10-23 20:37:05
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
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk