]> granicus.if.org Git - flex/commitdiff
Documented the m4 dependency.
authorJohn Millaway <john43@users.sourceforge.net>
Thu, 27 Mar 2003 04:02:15 +0000 (04:02 +0000)
committerJohn Millaway <john43@users.sourceforge.net>
Thu, 27 Mar 2003 04:02:15 +0000 (04:02 +0000)
TODO
doc/flex.texi

diff --git a/TODO b/TODO
index ed360eb271679c6651aaac8f1a8a2ea09b482ac6..85df24506d0f3356738186be5f410d2d6c7258f8 100644 (file)
--- a/TODO
+++ b/TODO
@@ -19,8 +19,6 @@
 
 ** pretty up the dvi output; overflows, etc.
 
-** document recent m4 modifications (millaway) %%
-
 ** faq
 
 *** clean up the faqs section. The information is good; the texinfo
index 9824d08e14103bdb02e4fc3b73b9c0aa1c02fb53..f299338efad4960d6e57fbf32aaf22c0ce7a27e8 100644 (file)
@@ -261,6 +261,7 @@ Appendices
 
 * Makefiles and Flex::          
 * Bison Bridge::                
+* M4 Dependency::               
 
 Indices
 
@@ -7987,6 +7988,7 @@ then the problem is that the last rule needs to be "{whitespace}" !
 @menu
 * Makefiles and Flex::          
 * Bison Bridge::                
+* M4 Dependency::               
 @end menu
 
 @node Makefiles and Flex, Bison Bridge, Appendices, Appendices
@@ -8098,7 +8100,7 @@ with your specific implementation of @command{make}.
 For more details on writing Makefiles, see @ref{Top, , , make, The
 GNU Make Manual}.
 
-@node Bison Bridge,  , Makefiles and Flex, Appendices
+@node Bison Bridge, M4 Dependency, Makefiles and Flex, Appendices
 @section C Scanners with Bison Parsers
 
 @cindex bison, bridging with flex
@@ -8200,6 +8202,31 @@ As you can see, there really is no magic here. We just use
 @end verbatim
 @end example
 
+@node M4 Dependency, , Bison Bridge, Appendices
+@section M4 Dependency
+@cindex m4
+
+The macro processor @code{m4}@footnote{The use of m4 is subject to change in
+future revisions of flex.} must be installed wherever flex is installed.
+@code{flex} invokes @samp{m4}, found by searching the directories in the
+@code{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 @code{m4} processing.
+
+@itemize
+
+@item Do not use symbols that begin with, @samp{m4_}, such as, @samp{m4_define},
+or @samp{m4_include}, since those are reserved for @code{m4} macro names.
+
+@item Do not use the strings @samp{[[} or @samp{]]} anywhere in your code. The
+former is not valid in C, except within comments, but the latter is valid in
+code such as @code{x[y[z]]}.
+
+@end itemize
+
+@code{m4} is only required at the time you run @code{flex}. The generated
+scanner is ordinary C or C++, and does @emph{not} require @code{m4}.
+
 
 @node Indices,  , Appendices, Top
 @unnumbered Indices