(flex.info)EOF


Next: Misc Macros Prev: Multiple Input Buffers Up: Top
Enter node , (file) or (file)node

12 End-of-File Rules
********************

The special rule '<<EOF>>' indicates actions which are to be taken when
an end-of-file is encountered and 'yywrap()' returns non-zero (i.e.,
indicates no further files to process).  The action must finish by doing
one of the following things:

   * assigning 'yyin' to a new input file (in previous versions of
     'flex', after doing the assignment you had to call the special
     action 'YY_NEW_FILE'.  This is no longer necessary.)

   * executing a 'return' statement;

   * executing the special 'yyterminate()' action.

   * or, switching to a new buffer using 'yy_switch_to_buffer()' as
     shown in the example above.

   <<EOF>> rules may not be used with other patterns; they may only be
qualified with a list of start conditions.  If an unqualified <<EOF>>
rule is given, it applies to _all_ start conditions which do not already
have <<EOF>> actions.  To specify an <<EOF>> rule for only the initial
start condition, use:

         <INITIAL><<EOF>>

   These rules are useful for catching things like unclosed comments.
An example:

         %x quote
         %%
     
         ...other rules for dealing with quotes...
     
         <quote><<EOF>>   {
                  error( "unterminated quote" );
                  yyterminate();
                  }
        <<EOF>>  {
                  if ( *++filelist )
                      yyin = fopen( *filelist, "r" );
                  else
                     yyterminate();
                  }


automatically generated by info2www version 1.2.2.9