(m4.info)Intro


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

1.1 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 shell commands, doing integer arithmetic, manipulating text in
various ways, performing 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, and has
been standardized by POSIX. Usually, only a small percentage of users
are aware of its existence.  However, those who find it often become
committed users.  The popularity of GNU Autoconf, which requires GNU
'm4' for _generating_ '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 4 version, except
for some minor differences.  Note: Compatibility, for more details.

   Some people find 'm4' to be fairly addictive.  They first use 'm4'
for simple problems, then take bigger and bigger challenges, learning
how to write complex sets of 'm4' 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