*** Welcome to piglix ***

GNU m4

m4
Paradigm macro
Designed by Brian Kernighan, Dennis Ritchie.
First appeared 1977
Major implementations
GNU m4

m4 is a general-purpose macro processor included in all UNIX-like operating systems, and is a component of the POSIX standard.

The language was designed by Brian Kernighan and Dennis Ritchie for the original versions of UNIX. It is an extension of an earlier macro processor m3, written by Ritchie for the AP-3 minicomputer.

The macro preprocessor operates as a text-replacement tool. It is employed to re-use text templates, typically in computer programming applications, but also in text editing and text-processing applications. Most users require m4 as a dependency of GNU .

Macro processors became popular when programmers commonly used assembly language. In those early days of programming, programmers noted that much of their programs consisted of repeated text, and they invented simple means for reusing this text. Programmers soon discovered the advantages not only of reusing entire blocks of text, but also of substituting different values for similar parameters. This defined the usage range of macro processors.

Kernighan and Ritchie developed m4 in 1977, basing it on the ideas of Christopher Strachey. The distinguishing features of this style of macro preprocessing included:

The implementation of Rational Fortran used m4 as its macro engine from the beginning; and most Unix variants ship with it.

As of 2016 many applications continue to use m4 as part of the GNU Project's . It also appears in the configuration process of sendmail (a widespread mail transfer agent) and for generating footprints in the gEDA toolsuite. The SELinux Reference Policy relies heavily on the m4 macro processor.


...
Wikipedia

...