[Python-Dev] Java-ing Python (original) (raw)

Greg Ewing greg@cosc.canterbury.ac.nz
Fri, 12 Apr 2002 12:05:22 +1200 (NZST)


what if I replace Python's Grammar file with a Java grammar (for example, the java grammar included in the ANTLR distribution). Hacked appropriately to map java source to the tokens defined in python's Grammar would in theory make python 'understand' java.

If you're planning on feeding the resulting parse tree to the existing Python bytecode compiler, you don't stand a chance. The compiler is absolutely dependent on getting a particular parse tree structure, and that structure is derived directly from the grammar.

The best you could hope for this way would be to get something which is really Python with a few cosmetic alterations to make it look very vaguely Java-like. There's no way it's going to be able to handle arbitrary real-life Java code.

To handle anything like real Java, you'll have to extensively rework the bytecode compiler to match the new grammar. Not to mention deciding what to do about all the semantic differences between Python and Java.

If you really want to tackle this, go ahead, it sounds like an interesting project -- but be aware that it will be a LOT of work. Unless you've got an enormous amount of Java to translate, it's going to be faster and easier to just rewrite it by hand!

Greg Ewing, Computer Science Dept, +--------------------------------------+ University of Canterbury, | A citizen of NewZealandCorp, a | Christchurch, New Zealand | wholly-owned subsidiary of USA Inc. | greg@cosc.canterbury.ac.nz +--------------------------------------+