File: m4.info, Node: Syntax, Next: Macros, Prev: Invoking m4, Up: Top 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 (*note Changequote::), comments (*note Changecom::), and macro names (*note Indir::), with the exception of the NUL character (the zero byte ‘'\0'’). * Menu: * Names:: Macro names * Quoted strings:: Quoting input to ‘m4’ * Comments:: Comments in ‘m4’ input * Other tokens:: Other kinds of input tokens * Input processing:: How ‘m4’ copies input to output