You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "alessandro rossi (JIRA)" <ji...@apache.org> on 2011/06/03 10:00:48 UTC
[jira] [Commented] (THRIFT-1173) Using template system (for
example: ctemplate) for code generation
[ https://issues.apache.org/jira/browse/THRIFT-1173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13043246#comment-13043246 ]
alessandro rossi commented on THRIFT-1173:
------------------------------------------
an update:
-I used ctemplate, but this template engine is very poor (no "for"/"if")
-I switched to (modificated) cpptempl (https://bitbucket.org/ginstrom/cpptemplate/overview).
PRO:
-for / if
-easy parameter passing
-only two file (cpptempl.cpp,cpptempl.h)
-MIT license (is really good?)
CONS:
-no else/elif
-no include
-I'm investigating in order to use flex/bison (I used them about 15 years ago :P ) for a new simple-but-powerful template engine without lib dependancies (thrift already use flex/bison for its grammar).
the new template engine MUST have:
-for/if/else/elif/switch-case
-function
-include
PS: I'm working to python generator using cpptempl and the code lines now are 2240 (original 2390). It's heavy to pass for embedded-code to template-code.
> Using template system (for example: ctemplate) for code generation
> ------------------------------------------------------------------
>
> Key: THRIFT-1173
> URL: https://issues.apache.org/jira/browse/THRIFT-1173
> Project: Thrift
> Issue Type: Improvement
> Components: Compiler (General)
> Affects Versions: 0.6.1
> Reporter: alessandro rossi
> Priority: Minor
> Labels: generation, template
>
> IMHO, the code generation embedded into generator's code is not a good solution.
> With ctemplate (http://code.google.com/p/google-ctemplate/), for example, we can separate logic with generation code.
> If you want I can implement an example for cpp generator.
> Best Regards,
> Alessandro
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira