META/LISP: an interactive translator writing system

META/LISP is a general purpose translator writing system for IBM System/360 currently running on TSS, CP/CMS, and OS/360. The input to the system is a source program which simultaneously describes 1) the syntax of some input data to be translated and 2) algorithms which operate on the input data and a pushdown stack to accomplish a desired translation; the output of the system is a compiled program for translating that input data. In particular when the input data are statements of a higher-level language to be translated into assembly language, META/LISP serves as a compiler-compiler. META/LISP uses the top-down syntax-directed approach which makes the system extremely attractive for the design and implementation of experimental languages; using META/LISP such compilers are easy to write, easy to check out, and - most importantly - easy to modify interactively. The appendices which follow a rather complete description of the system include a self-description of the META/LISP compiler.