Perhaps take a look at how https://github.com/albertz/PyCParser does it? I've never touched the project, but it sounds like exactly what you're describing.
On Fri, Jan 6, 2012 at 7:59 AM, Celil <[email protected]> wrote: > I have been thinking about the possibility of creating a C interpreter in > Python. > > Is anybody already working on that? With PyPy this would presumably be quite > easy to do. The interpreter will load the C code, create an AST (presumably > using pyparsing and the EBNF spec of the C-language), and then populate the > Flow Object Space with all the C objects, and create a control flow graph of > the application logic. This graph will containe low level lltype objects, > and can then be directly connected to the RPython flow-graph generated after > the RTyper step. This would allow for seamless interoperability between C > and PyPy, and would also greatly simplify the task of porting existing > CPython extensions such as numpy. Rather than going through the error prone > task of translating the whole code base into RPython, one will be able to > simply load the exiting C source code and integrate it directly into the > RPython flow graph. It will be possible to import *.h and *.c files directly > without any compilation, and they will run nearly as fast thanks to PyPy's > JIT technology. > > This would also allow us to do things like running CPython on top of PyPy. > Right now it is possible to run PyPy on top of CPython, but the reverse is > not. If CPython could be run on top of PyPy by interpreting its C source > code that would be truly amazing. Interpreting C code would greatly help > CPython developers by freeing them from the task of having to repeatedly > compile their code. > > Celil > > _______________________________________________ > pypy-dev mailing list > [email protected] > http://mail.python.org/mailman/listinfo/pypy-dev _______________________________________________ pypy-dev mailing list [email protected] http://mail.python.org/mailman/listinfo/pypy-dev
