GNU Info

Info Node: (m4.info)Intro

(m4.info)Intro


Next: History Prev: Preliminaries Up: Preliminaries
Enter node , (file) or (file)node

Introduction to `m4'
====================

   `m4' is a macro processor, in the sense that it copies its input to
the output, expanding macros as it goes.  Macros are either builtin or
user-defined, and can take any number of arguments.  Besides just doing
macro expansion, `m4' has builtin functions for including named files,
running UNIX commands, doing integer arithmetic, manipulating text in
various ways, recursion, etc...  `m4' can be used either as a front-end
to a compiler, or as a macro processor in its own right.

   The `m4' macro processor is widely available on all UNIXes.
Usually, only a small percentage of users are aware of its existence.
However, those who do often become commited users.  The growing
popularity of GNU Autoconf, which prerequires GNU `m4' for _generating_
the `configure' scripts, is an incentive for many to install it, while
these people will not themselves program in `m4'.  GNU `m4' is mostly
compatible with the System V, Release 3 version, except for some minor
differences.  Note: Compatibility for more details.

   Some people found `m4' to be fairly addictive.  They first use `m4'
for simple problems, then take bigger and bigger challenges, learning
how to write complex `m4' sets of macros along the way.  Once really
addicted, users pursue writing of sophisticated `m4' applications even
to solve simple problems, devoting more time debugging their `m4'
scripts than doing real work.  Beware that `m4' may be dangerous for
the health of compulsive programmers.


automatically generated by info2www version 1.2.2.9