DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(flex.info.gz) M4 Dependency

Info Catalog (flex.info.gz) Bison Bridge (flex.info.gz) Appendices (flex.info.gz) Common Patterns
 
 A.3 M4 Dependency
 =================
 
 The macro processor `m4'(1) must be installed wherever flex is
 installed.  `flex' invokes `m4', found by searching the directories in
 the `PATH' environment variable. Any code you place in section 1 or in
 the actions will be sent through m4. Please follow these rules to
 protect your code from unwanted `m4' processing.
 
    * Do not use symbols that begin with, `m4_', such as, `m4_define',
      or `m4_include', since those are reserved for `m4' macro names. If
      for some reason you need m4_ as a prefix, use a preprocessor
      #define to get your symbol past m4 unmangled.
 
    * Do not use the strings `[[' or `]]' anywhere in your code. The
      former is not valid in C, except within comments and strings, but
      the latter is valid in code such as `x[y[z]]'. The solution is
      simple. To get the literal string `"]]"', use `"]""]"'. To get the
      array notation `x[y[z]]', use `x[y[z] ]'. Flex will attempt to
      detect these sequences in user code, and escape them. However,
      it's best to avoid this complexity where possible, by removing
      such sequences from your code.
 
 
    `m4' is only required at the time you run `flex'. The generated
 scanner is ordinary C or C++, and does _not_ require `m4'.
 
    ---------- Footnotes ----------
 
    (1) The use of m4 is subject to change in future revisions of flex.
 It is not part of the public API of flex. Do not depend on it.
 
Info Catalog (flex.info.gz) Bison Bridge (flex.info.gz) Appendices (flex.info.gz) Common Patterns
automatically generated byinfo2html