Zilly - A silly ZIL-to-Python translation project ================================================= This is the beginnings of a ZIL compiler which uses Python as its target language. ZIL is Zork Implementation Language, the language in which Infocom wrote their interactive fiction. Details of this language were long thought to be lost, but recently a manual for it has come to light: http://www.mv.com/ipusers/xlisper/zil.pdf This event, combined with my penchant for language hackery, has resulted in the inception of this impulsive, ill-considered, time-wasting and quite probably never-to-be-finished project. You'll need a Python interpreter installed on your system to use this. If you're using Linux, you probably already have one. Otherwise, visit www.python.org to get one for your platform. What's done so far? ------------------- Not much. You can declare routines, call them, pass them parameters, do arithmetic in them. You can use the built-in operations PRINT and CRLF. You should be able to set and use local variables, although I haven't tested it yet. See demos/*.zil for some examples. Usage ----- To compile a program: zilly sourcefile.zil This will create a file sourcefile.py containing the compiled code, which you can run with python sourcefile.py Note: The file ZilRuntime.py (or a link to it) must be in the same directory as sourcefile.py or on your Python import path at run time. (The demos directory already contains a link to it.) Example: zilly demos/routine1.zil python demos/routine1.py You can also give the compiler a list of file names, in which case they will all be compiled and combined into a single output file, whose name is taken from the *last* source file, e.g. zilly mylib1.zil mylib2.zil mygame.zil which would produce an output file called mygame.py. Contacting Me ------------- Questions, suggestions, bug reports, etc. are welcome. Greg Ewing