IDL to Python converter available

I've written a package, i2py, that converts IDL scripts and programs to Python. It started as a project for the compilers class I took this spring, and in the weeks since I've cleaned it up and improved it enough that I think it's ready for an alpha release. Since there was recently a discussion on this list about this sort of thing, I expect some people will be interested in trying it out. The package is implemented in pure Python and requires Python 2.3 or later. Using PLY (which is included in the distribution), it implements a full-fledged parser for procedural IDL (no OO support yet) and can convert most (but not yet all) IDL language constructs to Python. More information on it, including some notes on its current limitations and a brief introductory tutorial, can be found at http://software.pseudogreen.org/i2py/ Source packages are available for download from ftp://pseudogreen.org/pub/i2py/ If you'd like to try it out, I'd definitely appreciate any feedback. (If there's a lot of interest, I may move the project to SourceForge or somewhere similar, but I'll have to see what happens.) Since the scipy-dev thread I mentioned earlier was mainly about the legal issues surrounding this kind of software, I think I should address those a bit. First, I should make it clear that I've developed i2py entirely on my own time, using my own resources. However, since I am a full-time programmer at an astronomical research institute and have, on a few occasions, used IDL as part of my job, I thought it wise to discuss the potential issues with my employers before releasing the package. The conclusion reached in that discuss was that, although IDL's EULA explicitly forbids reverse engineering, implementing a parser and converter for the language does *not* constitute reverse engineering, because it requires only the published, publicly-available description of the language. (Similarly, if I use Visual C++ and then go buy Stroustrup's book and write my own C++ compiler, my actions don't constitute reverse engineering, because anything I might learn about C++ from using VC++ can also be learned from the book.) Hence, I feel quite confident that my development of i2py has neither violated the IDL EULA nor infringed upon RSI's intellectual property rights in any way. Of course, if you think otherwise, then you shouldn't use the package. Anyway, I hope some of you will find i2py useful, and I look forward to the chance to improve it based on your feedback. Thanks, Chris Stawarz
participants (1)
-
Christopher Stawarz