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

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

Shedskin: http : //code.google.com/p/shedskin/

提升Python: http : //www.boost.org/doc/libs/1_42_0/libs/python/doc/index.html

PyCXX: http ://cxx.sourceforge.net/

Cython: http ://www.cython.org/

从http://wiki.python.org/moin/compile%20Python%20to%20C ,有一个相关项目的列表。

Pyrex: http : //www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/

psyco: http : //psyco.sourceforge.net/

RPython: http : //code.google.com/p/rpython/

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

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

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

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

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