20.3. Fundamentals of M4 Processing

When properly understood, M4 seems like child's play. It is common to learn M4 in a piecemeal fashion, however, and to have an incomplete or inaccurate understanding of certain concepts. Ultimately, this leads to hours of furious debugging. It is important to understand the fundamentals well before progressing to the details.

20.3.1. Token Scanning

m4 scans its input stream, generating (often, just copying) text to the output stream. The first step that m4 performs in processing is to recognize tokens. There are three kinds of tokens:

NamesA name is a sequence of characters that starts with a letter or an underscore and may be followed by additional letters, characters, and underscores. The end of a name ...

Get GNU Autoconf, Automake, and Libtool now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.