编写从Python到C的代码转换器?

时间:2010-03-26 17:50:58

标签: python c code-translation

我被要求编写一个代码转换器,它将采用Python程序并生成一个C程序。你有什么想法我怎么能解决这个问题,或者甚至可能吗?

4 个答案:

答案 0 :(得分:24)

答案 1 :(得分:6)

这里有一个基本问题:是否打算基本上创建一个使用C作为后端的Python编译器,或者将程序转换为C并在之后维护C?

编写一个产生(非常难看)C作为其输出的编译器可能并不简单 - 编译器很少,并且为Python生成代码将比许多其他语言更难(动态类型,特别是,很难编译,至少对非常有效的输出)。 OTOH,至少解析器比某些语言容易得多。

如果通过“翻译”,你的意思是将Python转换为可读和可维护的C,那就是一个完全不同的问题 - 说实话基本更加困难,温和地说。实际上,我怀疑任何机器翻译都是值得的 - 在Python和C中通常处理问题的方式上存在太大的差异,因为机器翻译有很多希望。

答案 2 :(得分:2)

看看Shedskin。它确实如此(对于C ++和Python及其模块的子集)。但它应该能够提供有价值的见解,如何处理这个特定的问题(虽然写你自己肯定是一项微不足道的任务。)

答案 3 :(得分:2)

我很难相信没有人提到过Cython--在我看来,这几乎是这类工作的事实上的标准:http://www.cython.org/