Ale*_*nor 4 c++ python code-generation
我正在生成C++代码,看起来它会变得非常混乱,即使我的简单生成类已经有很多特殊情况.以下是现在的代码:http://github.com/alex/alex-s-language/tree/local%2Fcpp-generation/alexs_lang/cpp.
请参阅构建测试用例的工具。
不清楚你的问题是什么。
如果您的问题是“我如何处理生成类中的所有特殊情况?” 那么这里有一些建议。如果您的问题是其他问题,请更新您的问题。
使用模板生成器。 例如,Mako将使您的生活更简单。
写一个你的结果的例子。用${thing}
占位符替换零件。由于您从一些有用的东西开始,因此将其转换为模板很容易。
当用另一种语言生成代码时,您需要将所有其他语言的类定义都设计为灵活的汇编。您希望生成尽可能少的新鲜、新代码。您想稍微调整和自定义,但不想从头开始生成很多东西。
特殊情况最好用普通的多态来处理。公共超类的单独子类可以实现各种异常和特殊情况。策略设计模式可以很好地处理真正复杂的情况。
本质上,您拥有代表现实世界对象的 Python 类。这些类具有可以放入 C++ 模板以生成这些对象的 C++ 版本的属性。
归档时间: |
|
查看次数: |
2549 次 |
最近记录: |