ML/I

From Seo Wiki - Search Engine Optimization and Programming Languages

Jump to: navigation, search
ML/I (Macro Language One) is a general purpose macro processor. It appears to be more flexible than m4. It was developed in 1966 by Peter J. Brown, but is still available and is still used.

ML/I accepts input in completely free form, treating data as a stream of bytes rather than a series of lines or records. It does not require any particular flagging of macro calls, which makes it particularly useful for processing arbitrary text. Replacements of text can be simple (e.g. PIG is to be replaced by DOG) or complex (e.g. replace the item between the third and fourth commas after the last full stop, by the contents of some counter).

ML/I was used to implement several items of portable software, including itself. It was originally written in a special descriptive language, then mapped into a suitable language for each target system. This mapping was done using ML/I itself. There were two different forms of this descriptive language; high level and low level.

After this mapping ML/I was often used to implement SIL's (system implementation languages, like C) for the new generation of 16 bit architecture minicomputers.

ML/I was mapped (by hand) to BCPL in 1981, and later to C in 1984, by Bob Eager. That version has since been enhanced, and is now available for multiple platforms via the ML/I web site, http://www.ml1.org.uk . The same web site provides further information about ML/I, as well as documentation (including a tutorial, simple introductory guide, and full user manual).

External links

Personal tools

Served in 0.082 secs.