ML/I

ML/I or Macro Processor One is a general purpose macro processor with a history going back all the way to 1966. It best known for its powerful text processing features that lead to it being primarily used on one one hand for processing human readable text for reformatting purposes and on the other as a pre processor for programming code where code needed to be translated between programming languages that had some structural similarity but different syntax. While old and rarely updated it still has some advantages over more modern processors such as M4 or PPWizard or programming languages like AWK as it has better support for nesting and long lines of text.

Charset support
8 Bit ASCII (256 Characters according to current codepage). No support for Unicode or DBCS.

Version

 * 4.9

Links

 * ML/I homepage
 * A short introductin to ML/I on Peter J. Brown's homepage
 * An introduction to ML/I by Parsifal Herzog - Via Archive.org
 * ML/I-LLVM - Allows you to recompile old ML/I versions written in LOWL to LLVM assembly.

Publications

 * Peter J. Brown: The ML/I Macro Processor: ML/I user's manual - 1970 - Of historical interest only. - An even earlier 1967 version of the document is archive.org
 * Peter J. Brown: The ML/I Macro Processor: A simple introductory guide - 1973 - Of historical interest only. - Updated Third edition from 1982 available in HTML form on Peter J. Brown's homepage.
 * François E. Cellier: Macro-handler for simulation packages using ML/I PDF - Originally published in 1976.
 * Peter J. Brown: Software Portability: An Advanced Course:New Edition – Cambridge University Press 1979, ISBN 0521297257
 * Contains a chapter on how macro and text processors can aid in code portability and ML/I in particular.


 * A. J. Cole: Macro Processors - Cambridge University Press 1976, ISBN 0521290244
 * Contains a chapter on ML/I plus general preprocessor usage


 * Jeffrey D. Liotta: ML/I Macro Processor, Implementation in PL/I - University of North Carolina at Chapel Hill 1980

Supermac
Supermac was a macro processor developed by ML/I author Peter J. Brown in the 1970's that got quite a lot of interest when it was originally introduced, however unlike ML/I there has not been a version of it kept up to date and available for modern operating systems.

Other related papers

 * Masataka Sassa: A Pattern Matching Macro Processor - PDF - Originally published in Software-Practice and experience, Vol. 9 - 1979, pages 439-456.
 * Expands on the ML/I concepts, quite a bit

Licence
Closed source freeware

Author

 * Peter J. Brown (original author)
 * Bob Eager (Maintainer since 1973)