From: Stefan S. <se...@sy...> - 2008-10-19 14:29:21
|
Hi Brendan, Brendan Miller wrote: > I was looking around for some way to be able to do reflection with > template metaprogramming, and was excited to find this tool. > Out of curiosity: what are you aiming to do ? Metaprogramming via templates and via OpenC++ are two radically different approaches. Do you want to mix them ? Or have you ran into limitations of what you can do via template metaprogramming, and now are hoping to find a way using OpenC++ ? > I'm wondering what kind of limitations it imposes though. > Specifically, the website mentions that partial specialization isn't > supported yet. Does that mean that if I make any use of templates with > partial specialization in my code the openc++ compiler will barf, or > does that mean that there is some limitations in how you can operate > on templates with metaobjects? > I have very limited experience with the OpenC++ metaprogramming model myself, but have worked a lot with the C++ parser that is part of OpenC++. The latter is rather limited, and falls over even with modern versions of libstdc++. I haven't dared to try it with boost. I have been making adjustments to a version of the OpenC++ C++ parser that I integrated into Synopsis (http://synopsis.fresco.org) a long time (> 8 years) ago. That version works fine with boost (I use it to generate docs for boost.python, for example). However, in that version I don't support the kind of metaprogramming originally promoted by OpenC++. Instead, I'm suggesting a different approach where the tool's internal code representation (IR) is made accessible (parse tree, AST, etc.) so any further source-to-source transformations can be scripted. That is still a project in progress. Regards, Stefan -- ...ich hab' noch einen Koffer in Berlin... |