| version 1.6, 2000/11/13 01:48:13 | 
version 1.9, 2000/12/05 01:51:35 | 
 | 
 | 
|   * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, | 
  * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, | 
|   * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. | 
  * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. | 
|   * | 
  * | 
|   * $OpenXM: OpenXM_contrib2/asir2000/parse/lex.c,v 1.5 2000/08/22 05:04:27 noro Exp $ | 
  * $OpenXM: OpenXM_contrib2/asir2000/parse/lex.c,v 1.8 2000/12/05 01:24:57 noro Exp $ | 
|  */ | 
 */ | 
|  #include <ctype.h> | 
 #include <ctype.h> | 
|  #include "ca.h" | 
 #include "ca.h" | 
|  #include "al.h" | 
 #include "al.h" | 
|  #include "base.h" | 
 #include "base.h" | 
|  #include "parse.h" | 
 #include "parse.h" | 
|  #if !defined(THINK_C) | 
  | 
|  #include <sys/types.h> | 
 #include <sys/types.h> | 
|  #include <sys/stat.h> | 
 #include <sys/stat.h> | 
|  #endif | 
  | 
|  #include "y.tab.h" | 
 #include "y.tab.h" | 
|   | 
  | 
|  extern IN asir_infile; | 
 extern IN asir_infile; | 
 | 
 | 
|   | 
  | 
|  void purge_stdin() | 
 void purge_stdin() | 
|  { | 
 { | 
|  #if defined(VISUAL) | 
 #if defined(__FreeBSD__) | 
|  #elif defined(__FreeBSD__) | 
  | 
|          fpurge(stdin); | 
         fpurge(stdin); | 
|  #elif defined(linux) | 
 #elif defined(linux) | 
|          stdin->_IO_read_end = stdin->_IO_read_base; | 
         stdin->_IO_read_end = stdin->_IO_read_base; | 
| Line 558  static int Getc() { | 
 
  | 
| Line 555  static int Getc() { | 
 
 
 | 
|                          if ((c = Egetc(asir_infile->fp)) == EOF) | 
                         if ((c = Egetc(asir_infile->fp)) == EOF) | 
|                                  if ( NEXT(asir_infile) ) { | 
                                 if ( NEXT(asir_infile) ) { | 
|                                          closecurrentinput(); | 
                                         closecurrentinput(); | 
|                                          c = Getc(); | 
                                         /* if the input is the top level, generate error */ | 
|   | 
                                         if ( !NEXT(asir_infile) ) | 
|   | 
                                                 error("end-of-file detected during parsing"); | 
|   | 
                                         else | 
|   | 
                                                 c = Getc(); | 
|                                          break; | 
                                         break; | 
|                                  } else if ( read_exec_file || do_file ) | 
                                 } else if ( read_exec_file || do_file ) | 
|                                          asir_terminate(2); | 
                                         asir_terminate(2); |