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:
|Names||A 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 ...|