Next: , Previous: , Up: GNU M4   [Contents][Index]


3 Lexical and syntactic conventions

As m4 reads its input, it separates it into tokens. A token is either a name, a quoted string, or any single character, that is not a part of either a name or a string. Input to m4 can also contain comments. GNU m4 does not yet understand multibyte locales; all operations are byte-oriented rather than character-oriented (although if your locale uses a single byte encoding, such as ISO-8859-1, you will not notice a difference). However, m4 is eight-bit clean, so you can use non-ASCII characters in quoted strings (see Changing the quote characters), comments (see Changing the comment delimiters), and macro names (see Indirect call of macros), with the exception of the NUL character (the zero byte ‘'\0'’).