flex: EOF

 
 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();
                   }