几个学期回来我有一堂课,我们写了一个非常基本的方案解析器,最终是一个解释器。课后,我将解析器转换为C++解析器,只要我没有对预处理器或宏执行任何操作,就可以很好地解析C++。我可以用它来读取我的类和函数,并做一些简洁的事情,例如自动生成类读取器或编写器,或者从文本文件中设置函数回调。有没有免费的工具来帮助自动生成代码?
但是,我的程序非常有限。我相信我可以花一些时间让它变得更加健壮,做更多漂亮的事情,但是如果已经有更强大的工具可以做同样的事情,我不想花费时间和精力。我认为必须有这样的东西,因为解析器是编译器的重要组成部分,但是我没有看到专门用于自动代码生成的工具,可以轻松地处理代表类,函数和特定于C++的变量。有没有工具可以做到这一点?
编辑:
希望这会澄清什么我正在寻找一点点。我在Visual Studio中作为预建步骤运行该程序。它读取我的源文件,创建一个类的列表,它们的成员,它们的函数等等,然后用它来生成新的代码。目前我只是用它来简化读写我的数据结构到纯文本文件,但我也可以做其他事情。文件读取器和编写器会输出到纯文本格式的.cpp和.h文件中,这些文件包含在我的项目的其余部分中,就像其他文件一样。我在寻找的是能够做类似事情的工具,所以我可以决定是否应该继续使用我自己的产品或切换到更好的解决方案。我没有寻找任何能够生成机器码或编辑我写的代码的东西。
我想这取决于水平。你可以说编译器执行自动机器代码生成。 :-) – xpda 2009-09-21 19:28:57
为了扩大xpda的评论,你想要生成什么? UI代码(平台?),ORM绑定,数据库模式,业务逻辑验证等。 – 2009-09-21 19:32:05
听起来像他想要一个解析器甚至编译器生成器,为他提供了一个框架来改变C++的行为。 – 2009-09-21 19:37:32