[pypy-dev] How to translate 300000 lines of C
roccomoretti at netscape.net
Tue Jan 21 05:33:25 CET 2003
On another thread Christian Tismer <tismer at tismer.com> wrote:
>I tried to map [frameobject.c] on a 3.5 hour yourney from
>Kiel to Berlin, and I had one fourth done by an hour.
>Nevertheless, I got into trouble, just by comparing its
>implementation differences between 2.2.2 and 2.3a.
>Then I dropped that and decided that this is the wrong way.
I'm interested to know what problems you were encountering.
One issue I recall from frameobject.c is that it has a lot of optimizations regarding object caching and reuse. As a first approximation, we should probably ignore such optimizations. If we do add it in later, it should probably be as an optimization by psyco for *all* objects.
That said, theoretically, I like the idea of of a C->Py converter. (It did get tedious when I was doing it.)
However, I'm concerned if the time invested to make one would be worth it.
Christian Tismer <tismer at tismer.com> wrote:
>There are a number of free-ware C compilers around, and also
>some C interpreters.
But coded in which language? How difficult would it be to get them to "play nice" with Python (which is, I am assuming, where you want to code the conversion logic)? - This question probably boils down to asking what compiler/interpreter you have in mind to co-opt.
One caveat with me evaluating the benefits of this idea is that I don't have a feel how difficult tracking changes in CPython would be. We do have the changelog and Unit tests for CPython, so we wouldn't necessarily need to do a line-by-line comparison. We could approach the changes in more of a top-down level. Isn't Python supposed to be easier to maintain than C?
How does Jython do it?
Just my two atoms of copper-coated zinc.
The NEW Netscape 7.0 browser is now available. Upgrade now! http://channels.netscape.com/ns/browsers/download.jsp
Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/
More information about the Pypy-dev