Is it possible to compile c code using python?

独自空忆成欢 提交于 2019-12-04 09:44:26

问题


I want to build a python program that get as input a path to .c file and then it compile its.

The program will output OK to the screen if the compilation is sucessful, and BAD otherwise.

I'm been trying to google it, but could not find anything. I've been also trying to run cmd within python with an argument of the compiling program but it didn't work.

To clarify - I've already got a very specific compiler in my machine which I want to run. I dont want python to act as a compiler. Just get a code, run my compiler over it, and see what's the answer.

  • It should work on Linux server with python 2.4.

Thanks


回答1:


Sure, why not? Of course, you'd need GCC installed (or llvm) so you have something to compile with. You can just use os.system, or any of the other ways for calling an external program.

Of course, you're probably better off looking at something like SCons, which already exists to solve this problem.

Plus, to answer the question actually asked, there's nothing that would prevent you from writing a compiler/assembler/linker in python, they're just programs like anything else. Performance probably wouldn't be very good though.




回答2:


Step 1. Get PLY. Python Lex and Yacc. http://www.dabeaz.com/ply/

Step 2. Find a Yacc/Lex configuration for C. http://www.lysator.liu.se/c/ANSI-C-grammar-y.html

Step 3. Tweak PLY to use the C language rules you found.

Step 4. Run. You're "compiling" C code -- checking the syntax.




回答3:


If I understood you clearly, you just want to run compiler with some arguments from python?

In this case, you can just to use os.system. http://docs.python.org/library/os.html#os.system

Or better way is module "subprocess". http://docs.python.org/library/subprocess.html#module-subprocess



来源:https://stackoverflow.com/questions/9420673/is-it-possible-to-compile-c-code-using-python

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!