This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Huge compile time regressions


I've found that the most striking compilation time increase was for flex / parse.c, which is a bison parser.
-Os compilation for i686-pc-linux-gnu X sh-elf --disable-checking went from 0.95 to 4.5 seconds.



# 1 "/mnt/scratch/CSiBE/src/./flex-2.5.31/parse.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "/mnt/scratch/CSiBE/src/./flex-2.5.31/parse.c"
# 29 "parse.y"
# 72 "parse.y"
# 1 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h" 1
# 39 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h"
# 1 "/mnt/scratch/CSiBE/src/./flex-2.5.31/config.h" 1
# 40 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h" 2



# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/stdio.h" 1 3
# 29 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/stdio.h" 3
# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/_ansi.h" 1 3
# 15 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/_ansi.h" 3
# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/newlib.h" 1 3
# 16 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/_ansi.h" 2 3
# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/config.h" 1 3



# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/machine/ieeefp.h" 1 3
# 5 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/config.h" 2 3
# 17 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/_ansi.h" 2 3
# 30 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/stdio.h" 2 3




# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/include/stddef.h" 1 3 4
# 214 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/include/stddef.h" 3 4
typedef unsigned int size_t;
# 35 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/stdio.h" 2 3


# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/include/stdarg.h" 1 3 4
# 43 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/include/stdarg.h" 3 4
typedef __builtin_va_list __gnuc_va_list;
# 38 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/stdio.h" 2 3







# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/reent.h" 1 3
# 13 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/reent.h" 3
# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/_ansi.h" 1 3
# 14 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/reent.h" 2 3
# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/_types.h" 1 3
# 12 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/_types.h" 3
# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/lock.h" 1 3





typedef int _LOCK_T;
typedef int _LOCK_RECURSIVE_T;
# 13 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/_types.h" 2 3

typedef long _off_t;
__extension__ typedef long long _off64_t;


typedef int _ssize_t;





# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/include/stddef.h" 1 3 4
# 355 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/include/stddef.h" 3 4
typedef unsigned int wint_t;
# 25 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/_types.h" 2 3


typedef struct
{
  int __count;
  union
  {
    wint_t __wch;
    unsigned char __wchb[4];
  } __value;
} _mbstate_t;

typedef _LOCK_RECURSIVE_T _flock_t;


typedef void *_iconv_t;
# 15 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/reent.h" 2 3




typedef unsigned long __ULong;
# 40 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/reent.h" 3
struct _Bigint
{
  struct _Bigint *_next;
  int _k, _maxwds, _sign, _wds;
  __ULong _x[1];
};


struct __tm
{
  int __tm_sec;
  int __tm_min;
  int __tm_hour;
  int __tm_mday;
  int __tm_mon;
  int __tm_year;
  int __tm_wday;
  int __tm_yday;
  int __tm_isdst;
};







struct _on_exit_args {
 void * _fnargs[32];
 void * _dso_handle[32];

 __ULong _fntypes;


 __ULong _is_cxa;
};
# 85 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/reent.h" 3
struct _atexit {
 struct _atexit *_next;
 int _ind;

 void (*_fns[32])(void);
        struct _on_exit_args _on_exit_args;
};
# 101 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/reent.h" 3
struct __sbuf {
 unsigned char *_base;
 int _size;
};






typedef long _fpos_t;
# 166 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/reent.h" 3
struct __sFILE {
  unsigned char *_p;
  int _r;
  int _w;
  short _flags;
  short _file;
  struct __sbuf _bf;
  int _lbfsize;






  void * _cookie;

  int (*_read) (void * _cookie, char *_buf, int _n);
  int (*_write) (void * _cookie, const char *_buf, int _n);

  _fpos_t (*_seek) (void * _cookie, _fpos_t _offset, int _whence);
  int (*_close) (void * _cookie);


  struct __sbuf _ub;
  unsigned char *_up;
  int _ur;


  unsigned char _ubuf[3];
  unsigned char _nbuf[1];


  struct __sbuf _lb;


  int _blksize;
  int _offset;


  struct _reent *_data;



  _flock_t _lock;

};
# 259 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/reent.h" 3
typedef struct __sFILE __FILE;


struct _glue
{
  struct _glue *_next;
  int _niobs;
  __FILE *_iobs;
};
# 290 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/reent.h" 3
struct _rand48 {
  unsigned short _seed[3];
  unsigned short _mult[3];
  unsigned short _add;




};
# 565 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/reent.h" 3
struct _reent
{
  int _errno;




  __FILE *_stdin, *_stdout, *_stderr;

  int _inc;
  char _emergency[25];

  int _current_category;
  const char *_current_locale;

  int __sdidinit;

  void (*__cleanup) (struct _reent *);


  struct _Bigint *_result;
  int _result_k;
  struct _Bigint *_p5s;
  struct _Bigint **_freelist;


  int _cvtlen;
  char *_cvtbuf;

  union
    {
      struct
        {
          unsigned int _unused_rand;
          char * _strtok_last;
          char _asctime_buf[26];
          struct __tm _localtime_buf;
          int _gamma_signgam;
          __extension__ unsigned long long _rand_next;
          struct _rand48 _r48;
          _mbstate_t _mblen_state;
          _mbstate_t _mbtowc_state;
          _mbstate_t _wctomb_state;
          char _l64a_buf[8];
          char _signal_buf[24];
          int _getdate_err;
          _mbstate_t _mbrlen_state;
          _mbstate_t _mbrtowc_state;
          _mbstate_t _mbsrtowcs_state;
          _mbstate_t _wcrtomb_state;
          _mbstate_t _wcsrtombs_state;
        } _reent;



      struct
        {

          unsigned char * _nextf[30];
          unsigned int _nmalloc[30];
        } _unused;
    } _new;


  struct _atexit *_atexit;
  struct _atexit _atexit0;


  void (**(_sig_func))(int);




  struct _glue __sglue;
  __FILE __sf[3];
};
# 799 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/reent.h" 3
extern struct _reent *_impure_ptr ;
extern struct _reent *const _global_impure_ptr ;

void _reclaim_reent (struct _reent *);
# 46 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/stdio.h" 2 3
# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/types.h" 1 3
# 25 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/types.h" 3
# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/machine/_types.h" 1 3
# 22 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/machine/_types.h" 3
# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/include/limits.h" 1 3 4
# 23 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/machine/_types.h" 2 3



typedef signed char __int8_t ;
typedef unsigned char __uint8_t ;
# 36 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/machine/_types.h" 3
typedef signed short __int16_t;
typedef unsigned short __uint16_t;
# 46 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/machine/_types.h" 3
typedef __int16_t __int_least16_t;
typedef __uint16_t __uint_least16_t;
# 58 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/machine/_types.h" 3
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
# 76 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/machine/_types.h" 3
typedef __int32_t __int_least32_t;
typedef __uint32_t __uint_least32_t;
# 99 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/machine/_types.h" 3
typedef signed long long __int64_t;
typedef unsigned long long __uint64_t;
# 26 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/types.h" 2 3
# 69 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/types.h" 3
# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/include/stddef.h" 1 3 4
# 152 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/include/stddef.h" 3 4
typedef int ptrdiff_t;
# 326 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/include/stddef.h" 3 4
typedef long int wchar_t;
# 70 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/types.h" 2 3
# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/machine/types.h" 1 3
# 19 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/machine/types.h" 3
typedef long int __off_t;
typedef int __pid_t;

__extension__ typedef long long int __loff_t;
# 71 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/types.h" 2 3
# 92 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/types.h" 3
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;



typedef unsigned short ushort;
typedef unsigned int uint;



typedef unsigned long clock_t;




typedef long time_t;




struct timespec {
  time_t tv_sec;
  long tv_nsec;
};

struct itimerspec {
  struct timespec it_interval;
  struct timespec it_value;
};


typedef long daddr_t;
typedef char * caddr_t;
# 135 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/types.h" 3
typedef unsigned short ino_t;
# 169 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/types.h" 3
typedef short dev_t;




typedef long off_t;

typedef unsigned short uid_t;
typedef unsigned short gid_t;


typedef int pid_t;

typedef long key_t;

typedef _ssize_t ssize_t;
# 198 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/types.h" 3
typedef unsigned int mode_t __attribute__ ((__mode__ (__SI__)));




typedef unsigned short nlink_t;
# 225 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/types.h" 3
typedef long fd_mask;







typedef struct _types_fd_set {
 fd_mask fds_bits[(((64)+(((sizeof (fd_mask) * 8))-1))/((sizeof (fd_mask) * 8)))];
} _types_fd_set;
# 256 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/types.h" 3
typedef unsigned long clockid_t;




typedef unsigned long timer_t;



typedef long useconds_t;

# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/features.h" 1 3
# 268 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/types.h" 2 3
# 47 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/stdio.h" 2 3



typedef __FILE FILE;
# 59 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/stdio.h" 3
typedef _fpos_t fpos_t;





# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/stdio.h" 1 3
# 66 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/stdio.h" 2 3
# 170 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/stdio.h" 3
FILE * tmpfile (void);
char * tmpnam (char *);
int fclose (FILE *);
int fflush (FILE *);
FILE * freopen (const char *, const char *, FILE *);
void setbuf (FILE *, char *);
int setvbuf (FILE *, char *, int, size_t);
int fprintf (FILE *, const char *, ...);
int fscanf (FILE *, const char *, ...);
int printf (const char *, ...);
int scanf (const char *, ...);
int sscanf (const char *, const char *, ...);
int vfprintf (FILE *, const char *, __gnuc_va_list);
int vprintf (const char *, __gnuc_va_list);
int vsprintf (char *, const char *, __gnuc_va_list);
int fgetc (FILE *);
char * fgets (char *, int, FILE *);
int fputc (int, FILE *);
int fputs (const char *, FILE *);
int getc (FILE *);
int getchar (void);
char * gets (char *);
int putc (int, FILE *);
int putchar (int);
int puts (const char *);
int ungetc (int, FILE *);
size_t fread (void *, size_t _size, size_t _n, FILE *);
size_t fwrite (const void * , size_t _size, size_t _n, FILE *);



int fgetpos (FILE *, fpos_t *);

int fseek (FILE *, long, int);



int fsetpos (FILE *, const fpos_t *);

long ftell ( FILE *);
void rewind (FILE *);
void clearerr (FILE *);
int feof (FILE *);
int ferror (FILE *);
void perror (const char *);

FILE * fopen (const char *_name, const char *_type);
int sprintf (char *, const char *, ...);
int remove (const char *);
int rename (const char *, const char *);






int fseeko (FILE *, off_t, int);
off_t ftello ( FILE *);


int asiprintf (char **, const char *, ...);
int asprintf (char **, const char *, ...);
int dprintf (int, const char *, ...);
int fcloseall (void);
int fiprintf (FILE *, const char *, ...);
int iprintf (const char *, ...);
int siprintf (char *, const char *, ...);
int snprintf (char *, size_t, const char *, ...);
int sniprintf (char *, size_t, const char *, ...);
char * tempnam (const char *, const char *);
int vasiprintf (char **, const char *, __gnuc_va_list);
int vasprintf (char **, const char *, __gnuc_va_list);
int vdprintf (int, const char *, __gnuc_va_list);
int vsniprintf (char *, size_t, const char *, __gnuc_va_list);
int vsnprintf (char *, size_t, const char *, __gnuc_va_list);
int vfiprintf (FILE *, const char *, __gnuc_va_list);
int vfiscanf (FILE *, const char *, __gnuc_va_list);
int vfscanf (FILE *, const char *, __gnuc_va_list);
int viprintf (const char *, __gnuc_va_list);
int viscanf (const char *, __gnuc_va_list);
int vscanf (const char *, __gnuc_va_list);
int vsiscanf (const char *, const char *, __gnuc_va_list);
int vsscanf (const char *, const char *, __gnuc_va_list);
# 262 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/stdio.h" 3
FILE * fdopen (int, const char *);

int fileno (FILE *);
int getw (FILE *);
int pclose (FILE *);
FILE * popen (const char *, const char *);
int putw (int, FILE *);
void setbuffer (FILE *, char *, int);
int setlinebuf (FILE *);
int getc_unlocked (FILE *);
int getchar_unlocked (void);
void flockfile (FILE *);
int ftrylockfile (FILE *);
void funlockfile (FILE *);
int putc_unlocked (int, FILE *);
int putchar_unlocked (int);






int _asiprintf_r (struct _reent *, char **, const char *, ...);
int _asprintf_r (struct _reent *, char **, const char *, ...);
int _dprintf_r (struct _reent *, int, const char *, ...);
int _fcloseall_r (struct _reent *);
FILE * _fdopen_r (struct _reent *, int, const char *);
FILE * _fopen_r (struct _reent *, const char *, const char *);
int _fclose_r (struct _reent *, FILE *);
int _fiscanf_r (struct _reent *, FILE *, const char *, ...);
int _fscanf_r (struct _reent *, FILE *, const char *, ...);
int _fseek_r (struct _reent *, FILE *, long, int);
long _ftell_r (struct _reent *, FILE *);
int _getchar_r (struct _reent *);
char * _gets_r (struct _reent *, char *);
int _iprintf_r (struct _reent *, const char *, ...);
int _iscanf_r (struct _reent *, const char *, ...);
int _mkstemp_r (struct _reent *, char *);
char * _mktemp_r (struct _reent *, char *);
void _perror_r (struct _reent *, const char *);
int _printf_r (struct _reent *, const char *, ...);
int _putchar_r (struct _reent *, int);
int _puts_r (struct _reent *, const char *);
int _remove_r (struct _reent *, const char *);
int _rename_r (struct _reent *, const char *_old, const char *_new);

int _scanf_r (struct _reent *, const char *, ...);
int _siprintf_r (struct _reent *, char *, const char *, ...);
int _siscanf_r (struct _reent *, const char *, const char *, ...);
int _sniprintf_r (struct _reent *, char *, size_t, const char *, ...);
int _snprintf_r (struct _reent *, char *, size_t, const char *, ...);
int _sprintf_r (struct _reent *, char *, const char *, ...);
int _sscanf_r (struct _reent *, const char *, const char *, ...);
char * _tempnam_r (struct _reent *, const char *, const char *);
FILE * _tmpfile_r (struct _reent *);
char * _tmpnam_r (struct _reent *, char *);
int _ungetc_r (struct _reent *, int, FILE *);
int _vasiprintf_r (struct _reent *, char **, const char *, __gnuc_va_list);
int _vasprintf_r (struct _reent *, char **, const char *, __gnuc_va_list);
int _vdprintf_r (struct _reent *, int, const char *, __gnuc_va_list);
int _vfiprintf_r (struct _reent *, FILE *, const char *, __gnuc_va_list);
int _vfprintf_r (struct _reent *, FILE *, const char *, __gnuc_va_list);
int _viprintf_r (struct _reent *, const char *, __gnuc_va_list);
int _vprintf_r (struct _reent *, const char *, __gnuc_va_list);
int _vsiprintf_r (struct _reent *, char *, const char *, __gnuc_va_list);
int _vsprintf_r (struct _reent *, char *, const char *, __gnuc_va_list);
int _vsniprintf_r (struct _reent *, char *, size_t, const char *, __gnuc_va_list);
int _vsnprintf_r (struct _reent *, char *, size_t, const char *, __gnuc_va_list);
int _vfiscanf_r (struct _reent *, FILE *, const char *, __gnuc_va_list);
int _vfscanf_r (struct _reent *, FILE *, const char *, __gnuc_va_list);
int _viscanf_r (struct _reent *, const char *, __gnuc_va_list);
int _vscanf_r (struct _reent *, const char *, __gnuc_va_list);
int _vsscanf_r (struct _reent *, const char *, const char *, __gnuc_va_list);
int _vsiscanf_r (struct _reent *, const char *, const char *, __gnuc_va_list);

ssize_t __getdelim (char **, size_t *, int, FILE *);
ssize_t __getline (char **, size_t *, FILE *);
# 364 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/stdio.h" 3
int __srget (FILE *);
int __swbuf (int, FILE *);






FILE *funopen (const void * _cookie, int (*readfn)(void * _cookie, char *_buf, int _n), int (*writefn)(void * _cookie, const char *_buf, int _n), fpos_t (*seekfn)(void * _cookie, fpos_t _off, int _whence), int (*closefn)(void * _cookie));
# 471 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/stdio.h" 3

# 44 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h" 2
# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/stdlib.h" 1 3
# 14 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/stdlib.h" 3
# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/include/stddef.h" 1 3 4
# 15 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/stdlib.h" 2 3


# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/machine/stdlib.h" 1 3
# 18 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/stdlib.h" 2 3

# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/alloca.h" 1 3
# 20 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/stdlib.h" 2 3








typedef struct
{
  int quot;
  int rem;
} div_t;

typedef struct
{
  long quot;
  long rem;
} ldiv_t;


typedef struct
{
  long long int quot;
  long long int rem;
} lldiv_t;
# 57 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/stdlib.h" 3
extern int __mb_cur_max;



void abort (void) __attribute__ ((noreturn));
int abs (int);
int atexit (void (*__func)(void));
double atof (const char *__nptr);

float atoff (const char *__nptr);

int atoi (const char *__nptr);
int _atoi_r (struct _reent *, const char *__nptr);
long atol (const char *__nptr);
long _atol_r (struct _reent *, const char *__nptr);
void * bsearch (const void * __key, const void * __base, size_t __nmemb, size_t __size, int (* _compar) (const void *, const void *));




void * calloc (size_t __nmemb, size_t __size);
div_t div (int __numer, int __denom);
void exit (int __status) __attribute__ ((noreturn));
void free (void *);
char * getenv (const char *__string);
char * _getenv_r (struct _reent *, const char *__string);
char * _findenv (const char *, int *);
char * _findenv_r (struct _reent *, const char *, int *);
long labs (long);
ldiv_t ldiv (long __numer, long __denom);
void * malloc (size_t __size);
int mblen (const char *, size_t);
int _mblen_r (struct _reent *, const char *, size_t, _mbstate_t *);
int mbtowc (wchar_t *, const char *, size_t);
int _mbtowc_r (struct _reent *, wchar_t *, const char *, size_t, _mbstate_t *);
int wctomb (char *, wchar_t);
int _wctomb_r (struct _reent *, char *, wchar_t, _mbstate_t *);
size_t mbstowcs (wchar_t *, const char *, size_t);
size_t _mbstowcs_r (struct _reent *, wchar_t *, const char *, size_t, _mbstate_t *);
size_t wcstombs (char *, const wchar_t *, size_t);
size_t _wcstombs_r (struct _reent *, char *, const wchar_t *, size_t, _mbstate_t *);


int mkstemp (char *);
char * mktemp (char *);


void qsort (void * __base, size_t __nmemb, size_t __size, int(*_compar)(const void *, const void *));
int rand (void);
void * realloc (void * __r, size_t __size);
void srand (unsigned __seed);
double strtod (const char *__n, char **__end_PTR);
double _strtod_r (struct _reent *,const char *__n, char **__end_PTR);
float strtof (const char *__n, char **__end_PTR);






long strtol (const char *__n, char **__end_PTR, int __base);
long _strtol_r (struct _reent *,const char *__n, char **__end_PTR, int __base);
unsigned long strtoul (const char *__n, char **__end_PTR, int __base);
unsigned long _strtoul_r (struct _reent *,const char *__n, char **__end_PTR, int __base);

int system (const char *__string);


long a64l (const char *__input);
char * l64a (long __input);
char * _l64a_r (struct _reent *,long __input);
int on_exit (void (*__func)(int, void *),void * __arg);
void _Exit (int __status) __attribute__ ((noreturn));
int putenv (char *__string);
int _putenv_r (struct _reent *, char *__string);
int setenv (const char *__string, const char *__value, int __overwrite);
int _setenv_r (struct _reent *, const char *__string, const char *__value, int __overwrite);

char * gcvt (double,int,char *);
char * gcvtf (float,int,char *);
char * fcvt (double,int,int *,int *);
char * fcvtf (float,int,int *,int *);
char * ecvt (double,int,int *,int *);
char * ecvtbuf (double, int, int*, int*, char *);
char * fcvtbuf (double, int, int*, int*, char *);
char * ecvtf (float,int,int *,int *);
char * dtoa (double, int, int, int *, int*, char**);
int rand_r (unsigned *__seed);

double drand48 (void);
double _drand48_r (struct _reent *);
double erand48 (unsigned short [3]);
double _erand48_r (struct _reent *, unsigned short [3]);
long jrand48 (unsigned short [3]);
long _jrand48_r (struct _reent *, unsigned short [3]);
void lcong48 (unsigned short [7]);
void _lcong48_r (struct _reent *, unsigned short [7]);
long lrand48 (void);
long _lrand48_r (struct _reent *);
long mrand48 (void);
long _mrand48_r (struct _reent *);
long nrand48 (unsigned short [3]);
long _nrand48_r (struct _reent *, unsigned short [3]);
unsigned short *
       seed48 (unsigned short [3]);
unsigned short *
       _seed48_r (struct _reent *, unsigned short [3]);
void srand48 (long);
void _srand48_r (struct _reent *, long);
long long atoll (const char *__nptr);
long long _atoll_r (struct _reent *, const char *__nptr);
long long llabs (long long);
lldiv_t lldiv (long long __numer, long long __denom);
long long strtoll (const char *__n, char **__end_PTR, int __base);
long long _strtoll_r (struct _reent *, const char *__n, char **__end_PTR, int __base);
unsigned long long strtoull (const char *__n, char **__end_PTR, int __base);
unsigned long long _strtoull_r (struct _reent *, const char *__n, char **__end_PTR, int __base);


void cfree (void *);
void unsetenv (const char *__string);
void _unsetenv_r (struct _reent *, const char *__string);




char * _dtoa_r (struct _reent *, double, int, int, int *, int*, char**);

void * _malloc_r (struct _reent *, size_t);
void * _calloc_r (struct _reent *, size_t, size_t);
void _free_r (struct _reent *, void *);
void * _realloc_r (struct _reent *, void *, size_t);
void _mstats_r (struct _reent *, char *);

int _system_r (struct _reent *, const char *);

void __eprintf (const char *, const char *, unsigned int, const char *);


# 45 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h" 2
# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/include/stdarg.h" 1 3 4
# 105 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/include/stdarg.h" 3 4
typedef __gnuc_va_list va_list;
# 46 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h" 2
# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/setjmp.h" 1 3
# 10 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/setjmp.h" 3
# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/machine/setjmp.h" 1 3


# 229 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/machine/setjmp.h" 3
typedef int jmp_buf[20];




# 11 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/setjmp.h" 2 3



void longjmp (jmp_buf __jmpb, int __retval);
int setjmp (jmp_buf __jmpb);


# 47 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h" 2
# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/ctype.h" 1 3







int isalnum (int __c);
int isalpha (int __c);
int iscntrl (int __c);
int isdigit (int __c);
int isgraph (int __c);
int islower (int __c);
int isprint (int __c);
int ispunct (int __c);
int isspace (int __c);
int isupper (int __c);
int isxdigit (int __c);
int tolower (int __c);
int toupper (int __c);


int isblank (int __c);
int isascii (int __c);
int toascii (int __c);
int _tolower (int __c);
int _toupper (int __c);
# 39 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/ctype.h" 3
extern const char *__ctype_ptr;
extern const char _ctype_[];
# 71 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/ctype.h" 3

# 48 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h" 2
# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/string.h" 1 3
# 14 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/string.h" 3
# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/include/stddef.h" 1 3 4
# 15 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/string.h" 2 3







void * memchr (const void *, int, size_t);
int memcmp (const void *, const void *, size_t);
void * memcpy (void *, const void *, size_t);
void * memmove (void *, const void *, size_t);
void * memset (void *, int, size_t);
char *strcat (char *, const char *);
char *strchr (const char *, int);
int strcmp (const char *, const char *);
int strcoll (const char *, const char *);
char *strcpy (char *, const char *);
size_t strcspn (const char *, const char *);
char *strerror (int);
size_t strlen (const char *);
char *strncat (char *, const char *, size_t);
int strncmp (const char *, const char *, size_t);
char *strncpy (char *, const char *, size_t);
char *strpbrk (const char *, const char *);
char *strrchr (const char *, int);
size_t strspn (const char *, const char *);
char *strstr (const char *, const char *);


char *strtok (char *, const char *);


size_t strxfrm (char *, const char *, size_t);


char *strtok_r (char *, const char *, char **);

int bcmp (const void *, const void *, size_t);
void bcopy (const void *, void *, size_t);
void bzero (void *, size_t);
int ffs (int);
char *index (const char *, int);
void * memccpy (void *, const void *, int, size_t);
void * mempcpy (void *, const void *, size_t);



char *rindex (const char *, int);
int strcasecmp (const char *, const char *);
char *strdup (const char *);
char *_strdup_r (struct _reent *, const char *);
char *strndup (const char *, size_t);
char *_strndup_r (struct _reent *, const char *, size_t);
char *strerror_r (int, char *, size_t);
size_t strlcat (char *, const char *, size_t);
size_t strlcpy (char *, const char *, size_t);
int strncasecmp (const char *, const char *, size_t);
size_t strnlen (const char *, size_t);
char *strsep (char **, const char *);
char *strlwr (char *);
char *strupr (char *);
# 99 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/string.h" 3
# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/string.h" 1 3
# 100 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/string.h" 2 3


# 49 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h" 2
# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/math.h" 1 3
# 10 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/math.h" 3


union __dmath
{
  __ULong i[2];
  double d;
};

union __fmath
{
  __ULong i[1];
  float f;
};

union __ldmath
{
  __ULong i[4];
  long double ld;
};
# 75 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/math.h" 3
extern double atan (double);
extern double cos (double);
extern double sin (double);
extern double tan (double);
extern double tanh (double);
extern double frexp (double, int *);
extern double modf (double, double *);
extern double ceil (double);
extern double fabs (double);
extern double floor (double);






extern double acos (double);
extern double asin (double);
extern double atan2 (double, double);
extern double cosh (double);
extern double sinh (double);
extern double exp (double);
extern double ldexp (double, int);
extern double log (double);
extern double log10 (double);
extern double pow (double, double);
extern double sqrt (double);
extern double fmod (double, double);
# 112 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/math.h" 3
typedef float float_t;
typedef double double_t;
# 122 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/math.h" 3
extern int __fpclassifyf (float x);
extern int __fpclassifyd (double x);
extern int __signbitf (float x);
extern int __signbitd (double x);
# 163 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/math.h" 3
extern double infinity (void);
extern double nan (const char *);
extern int isnan (double);
extern int isinf (double);
extern int finite (double);
extern double copysign (double, double);
extern int ilogb (double);

extern double asinh (double);
extern double cbrt (double);
extern double nextafter (double, double);
extern double rint (double);
extern double scalbn (double, int);

extern double exp2 (double);
extern double scalbln (double, long int);
extern double tgamma (double);
extern double nearbyint (double);
extern long int lrint (double);
extern double round (double);
extern long int lround (double);
extern double trunc (double);
extern double remquo (double, double, int *);
extern double copysign (double, double);
extern double fdim (double, double);
extern double fmax (double, double);
extern double fmin (double, double);
extern double fma (double, double, double);
extern void sincos (double, double *, double *);


extern double log1p (double);
extern double expm1 (double);



extern double acosh (double);
extern double atanh (double);
extern double remainder (double, double);
extern double gamma (double);
extern double gamma_r (double, int *);
extern double lgamma (double);
extern double lgamma_r (double, int *);
extern double erf (double);
extern double erfc (double);
extern double y0 (double);
extern double y1 (double);
extern double yn (int, double);
extern double j0 (double);
extern double j1 (double);
extern double jn (int, double);



extern double hypot (double, double);


extern double cabs();
extern double drem (double, double);
# 231 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/math.h" 3
extern float atanf (float);
extern float cosf (float);
extern float sinf (float);
extern float tanf (float);
extern float tanhf (float);
extern float frexpf (float, int *);
extern float modff (float, float *);
extern float ceilf (float);
extern float fabsf (float);
extern float floorf (float);


extern float acosf (float);
extern float asinf (float);
extern float atan2f (float, float);
extern float coshf (float);
extern float sinhf (float);
extern float expf (float);
extern float ldexpf (float, int);
extern float logf (float);
extern float log10f (float);
extern float powf (float, float);
extern float sqrtf (float);
extern float fmodf (float, float);
# 263 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/math.h" 3
extern float exp2f (float);
extern float scalblnf (float, long int);
extern float tgammaf (float);
extern float nearbyintf (float);
extern long int lrintf (float);
extern float roundf (float);
extern long int lroundf (float);
extern float truncf (float);
extern float remquof (float, float, int *);
extern float copysignf (float, float);
extern float fdimf (float, float);
extern float fmaxf (float, float);
extern float fminf (float, float);
extern float fmaf (float, float, float);

extern float infinityf (void);
extern float nanf (const char *);
extern int isnanf (float);
extern int isinff (float);
extern int finitef (float);
extern float copysignf (float, float);
extern int ilogbf (float);

extern float asinhf (float);
extern float cbrtf (float);
extern float nextafterf (float, float);
extern float rintf (float);
extern float scalbnf (float, int);
extern float log1pf (float);
extern float expm1f (float);
extern void sincosf (float, float *, float *);


extern float acoshf (float);
extern float atanhf (float);
extern float remainderf (float, float);
extern float gammaf (float);
extern float gammaf_r (float, int *);
extern float lgammaf (float);
extern float lgammaf_r (float, int *);
extern float erff (float);
extern float erfcf (float);
extern float y0f (float);
extern float y1f (float);
extern float ynf (int, float);
extern float j0f (float);
extern float j1f (float);
extern float jnf (int, float);

extern float hypotf (float, float);

extern float cabsf();
extern float dremf (float, float);






extern int *__signgam (void);
# 332 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/math.h" 3
struct exception

{
  int type;
  char *name;
  double arg1;
  double arg2;
  double retval;
  int err;
};




extern int matherr (struct exception *e);
# 387 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/math.h" 3
enum __fdlibm_version
{
  __fdlibm_ieee = -1,
  __fdlibm_svid,
  __fdlibm_xopen,
  __fdlibm_posix
};




extern const enum __fdlibm_version __fdlib_version;
# 407 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/math.h" 3

# 50 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h" 2
# 64 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h"
# 1 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/wait.h" 1 3
# 29 "/mnt/scratch/ccm-20060104/bin/../lib/gcc/sh-elf/4.2.0/../../../../sh-elf/include/sys/wait.h" 3
pid_t wait (int *);
pid_t waitpid (pid_t, int *, int);



pid_t _wait (int *);
# 65 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h" 2
# 73 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h"
# 1 "/mnt/scratch/CSiBE/src/./flex-2.5.31/../include/regex.h" 1
# 39 "/mnt/scratch/CSiBE/src/./flex-2.5.31/../include/regex.h"
#pragma export on
# 57 "/mnt/scratch/CSiBE/src/./flex-2.5.31/../include/regex.h"
typedef unsigned reg_syntax_t;
# 156 "/mnt/scratch/CSiBE/src/./flex-2.5.31/../include/regex.h"
extern reg_syntax_t re_syntax_options;
# 265 "/mnt/scratch/CSiBE/src/./flex-2.5.31/../include/regex.h"
typedef enum
{
  REG_NOERROR = 0,
  REG_NOMATCH,



  REG_BADPAT,
  REG_ECOLLATE,
  REG_ECTYPE,
  REG_EESCAPE,
  REG_ESUBREG,
  REG_EBRACK,
  REG_EPAREN,
  REG_EBRACE,
  REG_BADBR,
  REG_ERANGE,
  REG_ESPACE,
  REG_BADRPT,


  REG_EEND,
  REG_ESIZE,
  REG_ERPAREN
} reg_errcode_t;







struct re_pattern_buffer
{




  unsigned char *buffer;


  unsigned long allocated;


  unsigned long used;


  reg_syntax_t syntax;




  char *fastmap;





  char *translate;


  size_t re_nsub;






  unsigned can_be_null : 1;
# 342 "/mnt/scratch/CSiBE/src/./flex-2.5.31/../include/regex.h"
  unsigned regs_allocated : 2;



  unsigned fastmap_accurate : 1;



  unsigned no_sub : 1;



  unsigned not_bol : 1;


  unsigned not_eol : 1;


  unsigned newline_anchor : 1;


};

typedef struct re_pattern_buffer regex_t;







typedef int regoff_t;




struct re_registers
{
  unsigned num_regs;
  regoff_t *start;
  regoff_t *end;
};
# 397 "/mnt/scratch/CSiBE/src/./flex-2.5.31/../include/regex.h"
typedef struct
{
  regoff_t rm_so;
  regoff_t rm_eo;
} regmatch_t;
# 423 "/mnt/scratch/CSiBE/src/./flex-2.5.31/../include/regex.h"
extern reg_syntax_t re_set_syntax (reg_syntax_t syntax);




extern const char *re_compile_pattern
  (const char *pattern, int length, struct re_pattern_buffer *buffer);






extern int re_compile_fastmap (struct re_pattern_buffer *buffer);







extern int re_search
  (struct re_pattern_buffer *buffer, const char *string, int length, int start, int range, struct re_registers *regs);





extern int re_search_2
  (struct re_pattern_buffer *buffer, const char *string1, int length1, const char *string2, int length2, int start, int range, struct re_registers *regs, int stop);






extern int re_match
  (struct re_pattern_buffer *buffer, const char *string, int length, int start, struct re_registers *regs);




extern int re_match_2
  (struct re_pattern_buffer *buffer, const char *string1, int length1, const char *string2, int length2, int start, struct re_registers *regs, int stop);
# 483 "/mnt/scratch/CSiBE/src/./flex-2.5.31/../include/regex.h"
extern void re_set_registers
  (struct re_pattern_buffer *buffer, struct re_registers *regs, unsigned num_regs, regoff_t *starts, regoff_t *ends);



extern char *re_comp (const char *);
extern int re_exec (const char *);


extern int regcomp (regex_t *preg, const char *pattern, int cflags);
extern int regexec
  (const regex_t *preg, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags);

extern size_t regerror
  (int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size);

extern void regfree (regex_t *preg);


#pragma export reset
# 74 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h" 2
# 1 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexint.h" 1
# 17 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexint.h"
typedef signed char flex_int8_t;
typedef short int flex_int16_t;
typedef int flex_int32_t;
typedef unsigned char flex_uint8_t;
typedef unsigned short int flex_uint16_t;
typedef unsigned int flex_uint32_t;
# 75 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h" 2
# 378 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h"
extern int printstats, syntaxerror, eofseen, ddebug, trace, nowarn,
 spprdflt;
extern int interactive, caseins, lex_compat, posix_compat, do_yylineno;
extern int useecs, fulltbl, usemecs, fullspd;
extern int gen_line_dirs, performance_report, backing_up_report;
extern int reentrant, bison_bridge_lval, bison_bridge_lloc;
extern int ansi_func_defs, ansi_func_protos;
extern int C_plus_plus, long_align, use_read, yytext_is_array, do_yywrap;
extern int csize;
extern int yymore_used, reject, real_reject, continued_action, in_rule;

extern int yymore_really_used, reject_really_used;
# 425 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h"
extern int datapos, dataline, linenum, out_linenum;
extern FILE *skelfile, *yyin, *backing_up_file;
extern const char *skel[];
extern int skel_ind;
extern char *infilename, *outfilename, *headerfilename;
extern int did_outfilename;
extern char *prefix, *yyclass;
extern int do_stdinit, use_stdout;
extern char **input_files;
extern int num_input_files;
extern char *program_name;

extern char *action_array;
extern int action_size;
extern int defs1_offset, prolog_offset, action_offset, action_index;
# 450 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h"
extern int onestate[500], onesym[500];
extern int onenext[500], onedef[500], onesp;
# 487 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h"
extern int maximum_mns, current_mns, current_max_rules;
extern int num_rules, num_eof_rules, default_rule, lastnfa;
extern int *firstst, *lastst, *finalst, *transchar, *trans1, *trans2;
extern int *accptnum, *assoc_rule, *state_type;
extern int *rule_type, *rule_linenum, *rule_useful;
extern int *rule_has_nl, *ccl_has_nl;
extern int nlch;
# 503 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h"
extern int current_state_type;
# 512 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h"
extern int variable_trailing_context_rules;
# 527 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h"
extern int numtemps, numprots, protprev[50], protnext[50], prottbl[50];
extern int protcomst[50], firstprot, lastprot, protsave[2000];
# 546 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h"
extern int numecs, nextecm[256 + 1], ecgroup[256 + 1], nummecs;






extern int tecfwd[256 + 1], tecbck[256 + 1];
# 566 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h"
extern int lastsc, *scset, *scbol, *scxclu, *sceof;
extern int current_max_scs;
extern char **scname;
# 601 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h"
extern int current_max_dfa_size, current_max_xpairs;
extern int current_max_template_xpairs, current_max_dfas;
extern int lastdfa, *nxt, *chk, *tnxt;
extern int *base, *def, *nultrans, NUL_ec, tblend, firstfree, **dss,
 *dfasiz;
extern union dfaacc_union {
 int *dfaacc_set;
 int dfaacc_state;
} *dfaacc;
extern int *accsiz, *dhash, numas;
extern int numsnpairs, jambase, jamstate;
extern int end_of_buffer_state;
# 626 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h"
extern int lastccl, *cclmap, *ccllen, *cclng, cclreuse;
extern int current_maxccls, current_max_ccl_tbl_size;
extern unsigned char *ccltbl;
# 651 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h"
extern char nmstr[2048];
extern int sectnum, nummt, hshcol, dfaeql, numeps, eps2, num_reallocs;
extern int tmpuses, totnst, peakpairs, numuniq, numdup, hshsave;
extern int num_backing_up, bol_needed;

void *allocate_array (int, size_t);
void *reallocate_array (void *, int, size_t);

void *flex_alloc (size_t);
void *flex_realloc (void *, size_t);
void flex_free (void *);
# 711 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h"
extern int yylval;







extern void ccladd (int, int);
extern int cclinit (void);
extern void cclnegate (int);


extern void list_character_set (FILE *, int[]);





extern void check_for_backing_up (int, int[]);


extern void check_trailing_context (int *, int, int *, int);


extern int *epsclosure (int *, int *, int[], int *, int *);


extern void increase_max_dfas (void);

extern void ntod (void);


extern int snstods (int[], int, int[], int, int, int *);





extern void ccl2ecl (void);


extern int cre8ecs (int[], int[], int);


extern void mkeccl (unsigned char[], int, int[], int[], int, int);


extern void mkechar (int, int[], int[]);




extern void do_indent (void);


extern void gen_backing_up (void);


extern void gen_bu_action (void);


extern void genctbl (void);


extern void gen_find_action (void);

extern void genftbl (void);


extern void gen_next_compressed_state (char *);


extern void gen_next_match (void);


extern void gen_next_state (int);


extern void gen_NUL_trans (void);


extern void gen_start_state (void);


extern void gentabs (void);


extern void indent_put2s (const char *, const char *);


extern void indent_puts (const char *);

extern void make_tables (void);




extern void check_options (void);
extern void flexend (int);
extern void usage (void);





extern void action_define (const char *defname, int value);


extern void add_action (char *new_text);


extern int all_lower (register char *);


extern int all_upper (register char *);


extern void bubble (int[], int);


extern void check_char (int c);


extern unsigned char clower (int);


extern char *copy_string (register const char *);


extern unsigned char *copy_unsigned_string (register unsigned char *);


extern void cshell (unsigned char[], int, int);


extern void dataend (void);


extern void dataflush (void);


extern void flexerror (const char *);


extern void flexfatal (const char *);
# 880 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h"
extern int htoi (unsigned char[]);


extern void lerrif (const char *, int);


extern void lerrsf (const char *, const char *);


extern void line_directive_out (FILE *, int);




extern void mark_defs1 (void);


extern void mark_prolog (void);


extern void mk2data (int);

extern void mkdata (int);


extern int myctoi (const char *);


extern unsigned char myesc (unsigned char[]);


extern int otoi (unsigned char[]);


extern void out (const char *);
extern void out_dec (const char *, int);
extern void out_dec2 (const char *, int, int);
extern void out_hex (const char *, unsigned int);
extern void out_line_count (const char *);
extern void out_str (const char *, const char *);
extern void out_str3
(const char *, const char *, const char *, const char *);
extern void out_str_dec (const char *, const char *, int);
extern void outc (int);
extern void outn (const char *);
extern void out_m4_define (const char* def, const char* val);




extern char *readable_form (int);


extern void skelout (void);


extern void transition_struct_out (int, int);


extern void *yy_flex_xmalloc (int);


extern void zero_out (char *, size_t);





extern void add_accept (int, int);


extern int copysingl (int, int);


extern void dumpnfa (int);


extern void finish_rule (int, int, int, int, int);


extern int link_machines (int, int);




extern void mark_beginning_as_normal (register int);


extern int mkbranch (int, int);

extern int mkclos (int);
extern int mkopt (int);


extern int mkor (int, int);


extern int mkposcl (int);

extern int mkrep (int, int, int);


extern int mkstate (int);

extern void new_rule (void);





extern void build_eof_action (void);


extern void format_pinpoint_message (const char *, const char *);


extern void pinpoint_message (const char *);


extern void line_warning (const char *, int);


extern void line_pinpoint (const char *, int);


extern void format_synerr (const char *, const char *);
extern void synerr (const char *);
extern void format_warn (const char *, const char *);
extern void warn (const char *);
extern void yyerror (const char *);
extern int yyparse (void);





extern int flexscan (void);


extern void set_input_file (char *);


extern int yywrap (void);





extern void cclinstal (unsigned char[], int);


extern int ccllookup (unsigned char[]);

extern void ndinstal (const char *, unsigned char[]);
extern unsigned char *ndlookup (const char *);


extern void scextend (void);
extern void scinstal (const char *, int);


extern int sclookup (const char *);





extern void bldtbl (int[], int, int, int, int);

extern void cmptmps (void);
extern void expand_nxt_chk (void);


extern int find_table_space (int *, int);
extern void inittbl (void);


extern void mkdeftbl (void);




extern void mk1tbl (int, int, int, int);


extern void place_state (int *, int, int);


extern void stack1 (int, int, int, int);




extern int yylex (void);


struct Buf {
 void *elts;
 int nelts;
 size_t elt_size;
 int nmax;
};

extern void buf_init (struct Buf * buf, size_t elem_size);
extern void buf_destroy (struct Buf * buf);
extern struct Buf *buf_append
(struct Buf * buf, const void *ptr, int n_elem);
extern struct Buf *buf_concat (struct Buf* dest, const struct Buf* src);
extern struct Buf *buf_strappend (struct Buf *, const char *str);
extern struct Buf *buf_strnappend
(struct Buf *, const char *str, int nchars);
extern struct Buf *buf_strdefine
(struct Buf * buf, const char *str, const char *def);
extern struct Buf *buf_prints (struct Buf *buf, const char *fmt, const char* s);
extern struct Buf *buf_m4_define (struct Buf *buf, const char* def, const char* val);
extern struct Buf *buf_m4_undefine (struct Buf *buf, const char* def);
extern struct Buf *buf_print_strings (struct Buf * buf, FILE* out);
extern struct Buf *buf_linedir (struct Buf *buf, const char* filename, int lineno);

extern struct Buf userdef_buf;
extern struct Buf defs_buf;
extern struct Buf yydmap_buf;
extern struct Buf m4defs_buf;
extern struct Buf top_buf;






extern jmp_buf flex_main_jmp_buf;




extern char *chomp (char *str);
# 1133 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h"
int has_case(int c);


int reverse_case(int c);


int range_covers_case (int c1, int c2);
# 1149 "/mnt/scratch/CSiBE/src/./flex-2.5.31/flexdef.h"
struct filter {
    int (*filter_func)(struct filter*);
    void * extra;
 int argc;
 const char ** argv;
    struct filter * next;
};


extern struct filter * output_chain;
extern struct filter *filter_create_ext (struct filter * chain, const char *cmd, ...);
struct filter *filter_create_int (struct filter *chain, int (*filter_func) (struct filter *), void *extra);


extern int filter_apply_chain (struct filter * chain);
extern int filter_truncate (struct filter * chain, int max_len);
extern int filter_tee_header (struct filter *chain);
extern int filter_fix_linedirs (struct filter *chain);






extern regex_t regex_linedir, regex_blank_line;
int flex_init_regex(void);
void flex_regcomp(regex_t *preg, const char *regex, int cflags);
char *regmatch_dup (regmatch_t * m, const char *src);
char *regmatch_cpy (regmatch_t * m, char *dest, const char *src);
int regmatch_len (regmatch_t * m);
int regmatch_strtol (regmatch_t * m, const char *src, char **endptr, int base);
int regmatch_empty (regmatch_t * m);
# 73 "parse.y" 2
# 1 "/mnt/scratch/CSiBE/src/./flex-2.5.31/tables.h" 1
# 45 "/mnt/scratch/CSiBE/src/./flex-2.5.31/tables.h"
# 1 "/mnt/scratch/CSiBE/src/./flex-2.5.31/tables_shared.h" 1
# 77 "/mnt/scratch/CSiBE/src/./flex-2.5.31/tables_shared.h"
enum yytbl_id {
 YYTD_ID_ACCEPT = 0x01,
 YYTD_ID_BASE = 0x02,
 YYTD_ID_CHK = 0x03,
 YYTD_ID_DEF = 0x04,
 YYTD_ID_EC = 0x05,
 YYTD_ID_META = 0x06,
 YYTD_ID_NUL_TRANS = 0x07,
 YYTD_ID_NXT = 0x08,
 YYTD_ID_RULE_CAN_MATCH_EOL = 0x09,
 YYTD_ID_START_STATE_LIST = 0x0A,
 YYTD_ID_TRANSITION = 0x0B,
 YYTD_ID_ACCLIST = 0x0C
};


enum yytbl_flags {

 YYTD_DATA8 = 0x01,
 YYTD_DATA16 = 0x02,
 YYTD_DATA32 = 0x04,


 YYTD_PTRANS = 0x08,


 YYTD_STRUCT = 0x10
};


struct yytbl_hdr {
 flex_uint32_t th_magic;
 flex_uint32_t th_hsize;
 flex_uint32_t th_ssize;
 flex_uint16_t th_flags;
 char *th_version;
 char *th_name;
};


struct yytbl_data {
 flex_uint16_t td_id;
 flex_uint16_t td_flags;
 flex_uint32_t td_hilen;
 flex_uint32_t td_lolen;
 void *td_data;
};
# 139 "/mnt/scratch/CSiBE/src/./flex-2.5.31/tables_shared.h"
 flex_int32_t yytbl_calc_total_len (const struct yytbl_data *tbl);
# 46 "/mnt/scratch/CSiBE/src/./flex-2.5.31/tables.h" 2
struct yytbl_writer {
 FILE *out;
 flex_uint32_t total_written;

 fpos_t th_ssize_pos;

};
# 62 "/mnt/scratch/CSiBE/src/./flex-2.5.31/tables.h"
extern int tablesext, tablesverify,gentables;
extern char *tablesfilename, *tablesname;
extern struct yytbl_writer tableswr;

int yytbl_writer_init (struct yytbl_writer *, FILE *);
int yytbl_hdr_init (struct yytbl_hdr *th, const char *version_str,
   const char *name);
int yytbl_data_init (struct yytbl_data *tbl, enum yytbl_id id);
int yytbl_data_destroy (struct yytbl_data *td);
int yytbl_hdr_fwrite (struct yytbl_writer *wr,
     const struct yytbl_hdr *th);
int yytbl_data_fwrite (struct yytbl_writer *wr, struct yytbl_data *td);
void yytbl_data_compress (struct yytbl_data *tbl);
struct yytbl_data *mkftbl (void);
# 74 "parse.y" 2
# 103 "parse.y"
int pat, scnum, eps, headcnt, trailcnt, anyccl, lastchar, i, rulelen;
int trlcontxt, xcluflg, currccl, cclsorted, varlength, variable_trail_rule;

int *scon_stk;
int scon_stk_ptr;

static int madeany = 0;
int previous_continued_action;
# 158 "parse.y"
static const char yytranslate[] = { 0,
     2, 2, 2, 2, 2, 2, 2, 2, 2, 34,
     2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
     2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
     2, 2, 2, 48, 2, 42, 2, 2, 2, 49,
    50, 40, 45, 41, 53, 47, 44, 2, 2, 2,
     2, 2, 2, 2, 2, 2, 2, 2, 2, 38,
    33, 39, 46, 2, 2, 2, 2, 2, 2, 2,
     2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
     2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    51, 2, 52, 37, 2, 2, 2, 2, 2, 2,
     2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
     2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
     2, 2, 35, 43, 36, 2, 2, 2, 2, 2,
     2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
     2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
     2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
     2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
     2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
     2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
     2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
     2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
     2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
     2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
     2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
     2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
     2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
     7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
    17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
    27, 28, 29, 30, 31, 32
};
# 261 "parse.y"
static const short yyr1[] = { 0,
    54, 55, 56, 56, 56, 56, 57, 58, 58, 59,
    59, 59, 60, 61, 61, 62, 62, 62, 62, 62,
    63, 63, 63, 64, 65, 65, 65, 65, 66, 67,
    67, 67, 68, 68, 68, 69, 70, 70, 70, 70,
    71, 71, 72, 73, 73, 73, 73, 73, 74, 74,
    74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
    75, 75, 76, 76, 76, 76, 77, 77, 77, 77,
    77, 77, 77, 77, 77, 77, 77, 77, 78, 78
};

static const short yyr2[] = { 0,
     5, 0, 3, 2, 0, 1, 1, 1, 1, 2,
     1, 1, 2, 2, 0, 3, 3, 3, 3, 3,
     5, 5, 0, 0, 2, 1, 1, 1, 0, 4,
     3, 0, 3, 1, 1, 1, 2, 3, 2, 1,
     3, 1, 2, 2, 1, 6, 5, 4, 2, 2,
     2, 6, 5, 4, 1, 1, 1, 3, 3, 1,
     3, 4, 4, 2, 2, 0, 1, 1, 1, 1,
     1, 1, 1, 1, 1, 1, 1, 1, 2, 0
};

static const short yydefact[] = { 2,
     0, 6, 0, 7, 8, 9, 15, 23, 0, 4,
    13, 32, 12, 11, 3, 0, 0, 0, 0, 0,
    14, 29, 1, 24, 10, 0, 0, 0, 0, 0,
     0, 0, 23, 0, 16, 17, 18, 19, 20, 31,
    35, 36, 0, 34, 32, 28, 60, 57, 27, 0,
    55, 80, 0, 66, 0, 26, 40, 0, 42, 45,
    56, 30, 0, 22, 25, 0, 0, 66, 0, 21,
    39, 0, 43, 37, 0, 44, 0, 49, 50, 51,
    33, 79, 58, 59, 0, 64, 67, 68, 69, 70,
    71, 72, 73, 74, 75, 76, 77, 78, 61, 65,
    41, 38, 0, 0, 62, 0, 48, 0, 54, 0,
    63, 0, 47, 0, 53, 46, 52, 0, 0, 0
};

static const short yydefgoto[] = { 118,
     1, 3, 8, 9, 15, 10, 11, 21, 12, 23,
    55, 32, 24, 43, 44, 56, 57, 58, 59, 60,
    61, 69, 100, 66
};

static const short yypact[] = {-32768,
    75,-32768, 61,-32768,-32768,-32768,-32768,-32768, 29,-32768,
    83, 6,-32768,-32768, 24, -19, 9, 32, 37, 46,
-32768, 47,-32768, 57,-32768, 96, 100, 101, 102, 103,
    73, 30,-32768, -1,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768, -28,-32768, 67,-32768,-32768,-32768,-32768, 26,
-32768,-32768, 26, 76, 80,-32768, 58, 26, 42, 38,
-32768,-32768, 107,-32768,-32768, 1, -9,-32768, 0,-32768,
-32768, 26,-32768, 64, 112, 38, 113,-32768,-32768,-32768,
-32768,-32768,-32768,-32768, 36, 65,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
    42,-32768, -25, 53,-32768, 116,-32768, 3,-32768, 8,
-32768, 90,-32768, 89,-32768,-32768,-32768, 122, 123,-32768
};

static const short yypgoto[] = {-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 91, 104,
-32768,-32768,-32768,-32768, 62, 77, -43,-32768, 54, -58,
-32768, 63,-32768,-32768
};





static const short yytable[] = { 46,
    76, 47, 86, 82, 107, -24, 112, 48, 49, 67,
    62, 114, 63, 26, 74, 108, 87, 88, 89, 90,
    91, 92, 93, 94, 95, 96, 97, 98, 47, 13,
    41, 25, 113, 72, 48, 50, 14, 42, 86, 115,
    84, 27, 76, 22, 47, 51, 52, 53, 83, 54,
    48, 99, 87, 88, 89, 90, 91, 92, 93, 94,
    95, 96, 97, 98, 28, 4, 5, 6, 77, 29,
    75, 7, 51, 52, 53, 2, 54, 78, 30, -5,
    -5, -5, 79, 80, 109, -5, 31, 105, 51, 52,
    53, 33, 54, 110, 16, 17, 18, 19, 20, 71,
    72, 73, 64, 35, 22, 102, 72, 36, 37, 38,
    39, 40, 68, 70, 42, 103, 104, 106, 111, 116,
   117, 119, 120, 45, 81, 101, 65, 34, 0, 0,
    85
};

static const short yycheck[] = { 1,
    59, 3, 3, 3, 30, 0, 4, 9, 10, 53,
    39, 4, 41, 33, 58, 41, 17, 18, 19, 20,
    21, 22, 23, 24, 25, 26, 27, 28, 3, 1,
     1, 8, 30, 43, 9, 37, 8, 8, 3, 32,
    50, 33, 101, 38, 3, 47, 48, 49, 48, 51,
     9, 52, 17, 18, 19, 20, 21, 22, 23, 24,
    25, 26, 27, 28, 33, 5, 6, 7, 31, 33,
    29, 11, 47, 48, 49, 1, 51, 40, 33, 5,
     6, 7, 45, 46, 32, 11, 40, 52, 47, 48,
    49, 35, 51, 41, 12, 13, 14, 15, 16, 42,
    43, 44, 36, 8, 38, 42, 43, 8, 8, 8,
     8, 39, 37, 34, 8, 4, 4, 53, 3, 30,
    32, 0, 0, 33, 63, 72, 50, 24, -1, -1,
    68
};
# 3 "/usr/lib/bison.simple"
# 137 "/usr/lib/bison.simple"
int yychar;
int yylval;







int yynerrs;
# 217 "/usr/lib/bison.simple"
# 242 "/usr/lib/bison.simple"
int yyparse (void);



int
yyparse()
    
{
  register int yystate;
  register int yyn;
  register short *yyssp;
  register int *yyvsp;
  int yyerrstatus;
  int yychar1 = 0;

  short yyssa[200];
  int yyvsa[200];

  short *yyss = yyssa;
  int *yyvs = yyvsa;
# 273 "/usr/lib/bison.simple"
  int yystacksize = 200;
  int yyfree_stacks = 0;
# 285 "/usr/lib/bison.simple"
  int yyval;



  int yylen;






  yystate = 0;
  yyerrstatus = 0;
  yynerrs = 0;
  yychar = -2;






  yyssp = yyss - 1;
  yyvsp = yyvs;







yynewstate:

  *++yyssp = yystate;

  if (yyssp >= yyss + yystacksize - 1)
    {


      int *yyvs1 = yyvs;
      short *yyss1 = yyss;





      int size = yyssp - yyss + 1;
# 356 "/usr/lib/bison.simple"
      if (yystacksize >= 10000)
 {
   yyerror("parser stack overflow");
   if (yyfree_stacks)
     {
       free (yyss);
       free (yyvs);



     }
   return 2;
 }
      yystacksize *= 2;
      if (yystacksize > 10000)
 yystacksize = 10000;



      yyss = (short *) __builtin_alloca(yystacksize * sizeof (*yyssp));
      __builtin_memcpy((char *)yyss,(char *)yyss1,size * (unsigned int) sizeof (*yyssp));

      yyvs = (int *) __builtin_alloca(yystacksize * sizeof (*yyvsp));
      __builtin_memcpy((char *)yyvs,(char *)yyvs1,size * (unsigned int) sizeof (*yyvsp));
# 388 "/usr/lib/bison.simple"
      yyssp = yyss + size - 1;
      yyvsp = yyvs + size - 1;
# 399 "/usr/lib/bison.simple"
      if (yyssp >= yyss + yystacksize - 1)
 goto yyabortlab;
    }






  goto yybackup;
 yybackup:







  yyn = yypact[yystate];
  if (yyn == -32768)
    goto yydefault;






  if (yychar == -2)
    {




      yychar = yylex();
    }



  if (yychar <= 0)
    {
      yychar1 = 0;
      yychar = 0;





    }
  else
    {
      yychar1 = ((unsigned)(yychar) <= 286 ? yytranslate[yychar] : 79);
# 463 "/usr/lib/bison.simple"
    }

  yyn += yychar1;
  if (yyn < 0 || yyn > 131 || yycheck[yyn] != yychar1)
    goto yydefault;

  yyn = yytable[yyn];
# 478 "/usr/lib/bison.simple"
  if (yyn < 0)
    {
      if (yyn == -32768)
 goto yyerrlab;
      yyn = -yyn;
      goto yyreduce;
    }
  else if (yyn == 0)
    goto yyerrlab;

  if (yyn == 120)
    goto yyacceptlab;
# 499 "/usr/lib/bison.simple"
  if (yychar != 0)
    yychar = -2;

  *++yyvsp = yylval;





  if (yyerrstatus) yyerrstatus--;

  yystate = yyn;
  goto yynewstate;


yydefault:

  yyn = yydefact[yystate];
  if (yyn == 0)
    goto yyerrlab;


yyreduce:
  yylen = yyr2[yyn];
  if (yylen > 0)
    yyval = yyvsp[1-yylen];
# 542 "/usr/lib/bison.simple"
  switch (yyn) {

case 1:
# 143 "parse.y"
{
   int def_rule;

   pat = cclinit();
   cclnegate( pat );

   def_rule = mkstate( -pat );




   default_rule = num_rules;

   finish_rule( def_rule, 0, 0, 0, 0);

   for ( i = 1; i <= lastsc; ++i )
    scset[i] = mkbranch( scset[i], def_rule );

   if ( spprdflt )
    add_action(
    "YY_FATAL_ERROR( \"flex scanner jammed\" )" );
   else
    add_action( "ECHO" );

   add_action( ";\n\tYY_BREAK\n" );
   ;
    break;}
case 2:
# 172 "parse.y"
{


   scinstal( "INITIAL", 0 );
   ;
    break;}
case 6:
# 183 "parse.y"
{ synerr( "unknown error processing section 1" ); ;
    break;}
case 7:
# 187 "parse.y"
{
   check_options();
   scon_stk = (int *) allocate_array( lastsc + 1, sizeof( int ) );
   scon_stk_ptr = 0;
   ;
    break;}
case 8:
# 195 "parse.y"
{ xcluflg = 0; ;
    break;}
case 9:
# 198 "parse.y"
{ xcluflg = 1; ;
    break;}
case 10:
# 202 "parse.y"
{ scinstal( nmstr, xcluflg ); ;
    break;}
case 11:
# 205 "parse.y"
{ scinstal( nmstr, xcluflg ); ;
    break;}
case 12:
# 208 "parse.y"
{ synerr( "bad start condition list" ); ;
    break;}
case 16:
# 219 "parse.y"
{
   outfilename = copy_string( nmstr );
   did_outfilename = 1;
   ;
    break;}
case 17:
# 224 "parse.y"
{ prefix = copy_string( nmstr ); ;
    break;}
case 18:
# 226 "parse.y"
{ yyclass = copy_string( nmstr ); ;
    break;}
case 19:
# 228 "parse.y"
{ headerfilename = copy_string( nmstr ); ;
    break;}
case 20:
# 230 "parse.y"
{ tablesext = 1; tablesfilename = copy_string( nmstr ); ;
    break;}
case 21:
# 234 "parse.y"
{ scon_stk_ptr = yyvsp[-3]; ;
    break;}
case 22:
# 236 "parse.y"
{ scon_stk_ptr = yyvsp[-3]; ;
    break;}
case 24:
# 241 "parse.y"
{

   trlcontxt = variable_trail_rule = varlength = 0;
   trailcnt = headcnt = rulelen = 0;
   current_state_type = 0x1;
   previous_continued_action = continued_action;
   in_rule = 1;

   new_rule();
   ;
    break;}
case 25:
# 254 "parse.y"
{
   pat = yyvsp[0];
   finish_rule( pat, variable_trail_rule,
    headcnt, trailcnt , previous_continued_action);

   if ( scon_stk_ptr > 0 )
    {
    for ( i = 1; i <= scon_stk_ptr; ++i )
     scbol[scon_stk[i]] =
      mkbranch( scbol[scon_stk[i]],
        pat );
    }

   else
    {




    for ( i = 1; i <= lastsc; ++i )
     if ( ! scxclu[i] )
      scbol[i] = mkbranch( scbol[i],
         pat );
    }

   if ( ! bol_needed )
    {
    bol_needed = 1;

    if ( performance_report > 1 )
     pinpoint_message(
   "'^' operator results in sub-optimal performance" );
    }
   ;
    break;}
case 26:
# 290 "parse.y"
{
   pat = yyvsp[0];
   finish_rule( pat, variable_trail_rule,
    headcnt, trailcnt , previous_continued_action);

   if ( scon_stk_ptr > 0 )
    {
    for ( i = 1; i <= scon_stk_ptr; ++i )
     scset[scon_stk[i]] =
      mkbranch( scset[scon_stk[i]],
        pat );
    }

   else
    {
    for ( i = 1; i <= lastsc; ++i )
     if ( ! scxclu[i] )
      scset[i] =
       mkbranch( scset[i],
        pat );
    }
   ;
    break;}
case 27:
# 314 "parse.y"
{
   if ( scon_stk_ptr > 0 )
    build_eof_action();

   else
    {



    for ( i = 1; i <= lastsc; ++i )
     if ( ! sceof[i] )
      scon_stk[++scon_stk_ptr] = i;

    if ( scon_stk_ptr == 0 )
     warn(
   "all start conditions already have <<EOF>> rules" );

    else
     build_eof_action();
    }
   ;
    break;}
case 28:
# 337 "parse.y"
{ synerr( "unrecognized rule" ); ;
    break;}
case 29:
# 341 "parse.y"
{ yyval = scon_stk_ptr; ;
    break;}
case 30:
# 345 "parse.y"
{ yyval = yyvsp[-2]; ;
    break;}
case 31:
# 348 "parse.y"
{
   yyval = scon_stk_ptr;

   for ( i = 1; i <= lastsc; ++i )
    {
    int j;

    for ( j = 1; j <= scon_stk_ptr; ++j )
     if ( scon_stk[j] == i )
      break;

    if ( j > scon_stk_ptr )
     scon_stk[++scon_stk_ptr] = i;
    }
   ;
    break;}
case 32:
# 365 "parse.y"
{ yyval = scon_stk_ptr; ;
    break;}
case 35:
# 373 "parse.y"
{ synerr( "bad start condition list" ); ;
    break;}
case 36:
# 377 "parse.y"
{
   if ( (scnum = sclookup( nmstr )) == 0 )
    format_pinpoint_message(
     "undeclared start condition %s",
     nmstr );
   else
    {
    for ( i = 1; i <= scon_stk_ptr; ++i )
     if ( scon_stk[i] == scnum )
      {
      format_warn(
       "<%s> specified twice",
       scname[scnum] );
      break;
      }

    if ( i > scon_stk_ptr )
     scon_stk[++scon_stk_ptr] = scnum;
    }
   ;
    break;}
case 37:
# 400 "parse.y"
{
   if ( transchar[lastst[yyvsp[0]]] != (256 + 1) )




    yyvsp[0] = link_machines( yyvsp[0],
      mkstate( (256 + 1) ) );

   mark_beginning_as_normal( yyvsp[0] );
   current_state_type = 0x1;

   if ( previous_continued_action )
    {
# 422 "parse.y"
    if ( ! varlength || headcnt != 0 )
     warn(
  "trailing context made variable due to preceding '|' action" );


    varlength = 1;
    headcnt = 0;

    }

   if ( lex_compat || (varlength && headcnt == 0) )
    {
# 444 "parse.y"
    add_accept( yyvsp[-1],
     num_rules | 0x4000 );
    variable_trail_rule = 1;
    }

   else
    trailcnt = rulelen;

   yyval = link_machines( yyvsp[-1], yyvsp[0] );
   ;
    break;}
case 38:
# 456 "parse.y"
{ synerr( "trailing context used twice" ); ;
    break;}
case 39:
# 459 "parse.y"
{
   headcnt = 0;
   trailcnt = 1;
   rulelen = 1;
   varlength = 0;

   current_state_type = 0x2;

   if ( trlcontxt )
    {
    synerr( "trailing context used twice" );
    yyval = mkstate( (256 + 1) );
    }

   else if ( previous_continued_action )
    {



    warn(
  "trailing context made variable due to preceding '|' action" );

    varlength = 1;
    }

   if ( lex_compat || varlength )
    {



    add_accept( yyvsp[-1],
     num_rules | 0x4000 );
    variable_trail_rule = 1;
    }

   trlcontxt = 1;

   eps = mkstate( (256 + 1) );
   yyval = link_machines( yyvsp[-1],
    link_machines( eps, mkstate( '\n' ) ) );
   ;
    break;}
case 40:
# 502 "parse.y"
{
   yyval = yyvsp[0];

   if ( trlcontxt )
    {
    if ( lex_compat || (varlength && headcnt == 0) )



     variable_trail_rule = 1;
    else
     trailcnt = rulelen;
    }
   ;
    break;}
case 41:
# 520 "parse.y"
{
   varlength = 1;
   yyval = mkor( yyvsp[-2], yyvsp[0] );
   ;
    break;}
case 42:
# 526 "parse.y"
{ yyval = yyvsp[0]; ;
    break;}
case 43:
# 531 "parse.y"
{





   if ( trlcontxt )
    synerr( "trailing context used twice" );
   else
    trlcontxt = 1;

   if ( varlength )



    varlength = 0;
   else
    headcnt = rulelen;

   rulelen = 0;

   current_state_type = 0x2;
   yyval = yyvsp[-1];
   ;
    break;}
case 44:
# 558 "parse.y"
{



   yyval = link_machines( yyvsp[-1], yyvsp[0] );
   ;
    break;}
case 45:
# 566 "parse.y"
{ yyval = yyvsp[0]; ;
    break;}
case 46:
# 569 "parse.y"
{
   varlength = 1;

   if ( yyvsp[-3] > yyvsp[-1] || yyvsp[-3] < 0 )
    {
    synerr( "bad iteration values" );
    yyval = yyvsp[-5];
    }
   else
    {
    if ( yyvsp[-3] == 0 )
     {
     if ( yyvsp[-1] <= 0 )
      {
      synerr(
      "bad iteration values" );
      yyval = yyvsp[-5];
      }
     else
      yyval = mkopt(
       mkrep( yyvsp[-5], 1, yyvsp[-1] ) );
     }
    else
     yyval = mkrep( yyvsp[-5], yyvsp[-3], yyvsp[-1] );
    }
   ;
    break;}
case 47:
# 597 "parse.y"
{
   varlength = 1;

   if ( yyvsp[-2] <= 0 )
    {
    synerr( "iteration value must be positive" );
    yyval = yyvsp[-4];
    }

   else
    yyval = mkrep( yyvsp[-4], yyvsp[-2], -1 );
   ;
    break;}
case 48:
# 611 "parse.y"
{




   varlength = 1;

   if ( yyvsp[-1] <= 0 )
    {
      synerr( "iteration value must be positive"
       );
    yyval = yyvsp[-3];
    }

   else
    yyval = link_machines( yyvsp[-3],
      copysingl( yyvsp[-3], yyvsp[-1] - 1 ) );
   ;
    break;}
case 49:
# 633 "parse.y"
{
   varlength = 1;

   yyval = mkclos( yyvsp[-1] );
   ;
    break;}
case 50:
# 640 "parse.y"
{
   varlength = 1;
   yyval = mkposcl( yyvsp[-1] );
   ;
    break;}
case 51:
# 646 "parse.y"
{
   varlength = 1;
   yyval = mkopt( yyvsp[-1] );
   ;
    break;}
case 52:
# 652 "parse.y"
{
   varlength = 1;

   if ( yyvsp[-3] > yyvsp[-1] || yyvsp[-3] < 0 )
    {
    synerr( "bad iteration values" );
    yyval = yyvsp[-5];
    }
   else
    {
    if ( yyvsp[-3] == 0 )
     {
     if ( yyvsp[-1] <= 0 )
      {
      synerr(
      "bad iteration values" );
      yyval = yyvsp[-5];
      }
     else
      yyval = mkopt(
       mkrep( yyvsp[-5], 1, yyvsp[-1] ) );
     }
    else
     yyval = mkrep( yyvsp[-5], yyvsp[-3], yyvsp[-1] );
    }
   ;
    break;}
case 53:
# 680 "parse.y"
{
   varlength = 1;

   if ( yyvsp[-2] <= 0 )
    {
    synerr( "iteration value must be positive" );
    yyval = yyvsp[-4];
    }

   else
    yyval = mkrep( yyvsp[-4], yyvsp[-2], -1 );
   ;
    break;}
case 54:
# 694 "parse.y"
{




   varlength = 1;

   if ( yyvsp[-1] <= 0 )
    {
    synerr( "iteration value must be positive" );
    yyval = yyvsp[-3];
    }

   else
    yyval = link_machines( yyvsp[-3],
      copysingl( yyvsp[-3], yyvsp[-1] - 1 ) );
   ;
    break;}
case 55:
# 713 "parse.y"
{
   if ( ! madeany )
    {

    anyccl = cclinit();
    ccladd( anyccl, '\n' );
    cclnegate( anyccl );

    if ( useecs )
     mkeccl( ccltbl + cclmap[anyccl],
      ccllen[anyccl], nextecm,
      ecgroup, csize, csize );

    madeany = 1;
    }

   ++rulelen;

   yyval = mkstate( -anyccl );
   ;
    break;}
case 56:
# 735 "parse.y"
{
   if ( ! cclsorted )




    cshell( ccltbl + cclmap[yyvsp[0]], ccllen[yyvsp[0]], 1 );

   if ( useecs )
    mkeccl( ccltbl + cclmap[yyvsp[0]], ccllen[yyvsp[0]],
     nextecm, ecgroup, csize, csize );

   ++rulelen;

   if (ccl_has_nl[yyvsp[0]])
    rule_has_nl[num_rules] = 1;

   yyval = mkstate( -yyvsp[0] );
   ;
    break;}
case 57:
# 756 "parse.y"
{
   ++rulelen;

   if (ccl_has_nl[yyvsp[0]])
    rule_has_nl[num_rules] = 1;

   yyval = mkstate( -yyvsp[0] );
   ;
    break;}
case 58:
# 766 "parse.y"
{ yyval = yyvsp[-1]; ;
    break;}
case 59:
# 769 "parse.y"
{ yyval = yyvsp[-1]; ;
    break;}
case 60:
# 772 "parse.y"
{
   ++rulelen;

   if ( caseins && yyvsp[0] >= 'A' && yyvsp[0] <= 'Z' )
    yyvsp[0] = clower( yyvsp[0] );

   if (yyvsp[0] == nlch)
    rule_has_nl[num_rules] = 1;

   yyval = mkstate( yyvsp[0] );
   ;
    break;}
case 61:
# 786 "parse.y"
{ yyval = yyvsp[-1]; ;
    break;}
case 62:
# 789 "parse.y"
{
   cclnegate( yyvsp[-1] );
   yyval = yyvsp[-1];
   ;
    break;}
case 63:
# 796 "parse.y"
{

   if (caseins)
     {



       if (((__ctype_ptr)[(unsigned)(yyvsp[-2])]&01) && ((__ctype_ptr)[(unsigned)(yyvsp[0])]&01))
         {
    yyvsp[-2] = __extension__ ({ int __x = (yyvsp[-2]); ((__ctype_ptr)[(unsigned)(__x)]&01) ? (__x - 'A' + 'a') : __x;});
    yyvsp[0] = __extension__ ({ int __x = (yyvsp[0]); ((__ctype_ptr)[(unsigned)(__x)]&01) ? (__x - 'A' + 'a') : __x;});
         }






       else if (has_case (yyvsp[-2]) != has_case (yyvsp[0])
         || (has_case (yyvsp[-2]) && ((((__ctype_ptr)[(unsigned)(yyvsp[-2])]&02)?1:0) != (((__ctype_ptr)[(unsigned)(yyvsp[0])]&02)?1:0))))
         do{ char fw3_msg[2048]; snprintf( fw3_msg, 2048,("the character range [%c-%c] is ambiguous in a case-insensitive scanner"), (yyvsp[-2]), (yyvsp[0]) ); warn( fw3_msg ); }while(0);
# 825 "parse.y"
       else if (!has_case (yyvsp[-2]) && !has_case (yyvsp[0]) && !range_covers_case (yyvsp[-2], yyvsp[0]))
         do{ char fw3_msg[2048]; snprintf( fw3_msg, 2048,("the character range [%c-%c] is ambiguous in a case-insensitive scanner"), (yyvsp[-2]), (yyvsp[0]) ); warn( fw3_msg ); }while(0);


     }

   if ( yyvsp[-2] > yyvsp[0] )
    synerr( "negative range in character class" );

   else
    {
    for ( i = yyvsp[-2]; i <= yyvsp[0]; ++i )
     ccladd( yyvsp[-3], i );




    cclsorted = cclsorted && (yyvsp[-2] > lastchar);
    lastchar = yyvsp[0];
    }

   yyval = yyvsp[-3];
   ;
    break;}
case 64:
# 850 "parse.y"
{
   if ( caseins && yyvsp[0] >= 'A' && yyvsp[0] <= 'Z' )
    yyvsp[0] = clower( yyvsp[0] );

   ccladd( yyvsp[-1], yyvsp[0] );
   cclsorted = cclsorted && (yyvsp[0] > lastchar);
   lastchar = yyvsp[0];
   yyval = yyvsp[-1];
   ;
    break;}
case 65:
# 861 "parse.y"
{

   cclsorted = 0;
   yyval = yyvsp[-1];
   ;
    break;}
case 66:
# 868 "parse.y"
{
   cclsorted = 1;
   lastchar = 0;
   currccl = yyval = cclinit();
   ;
    break;}
case 67:
# 875 "parse.y"
{ do{ int c; for ( c = 0; c < csize; ++c ) if ( ((unsigned)(c)<=0177) && ((__ctype_ptr)[(unsigned)(c)]&(01|02|04)) ) ccladd( currccl, c ); }while(0); ;
    break;}
case 68:
# 876 "parse.y"
{ do{ int c; for ( c = 0; c < csize; ++c ) if ( ((unsigned)(c)<=0177) && ((__ctype_ptr)[(unsigned)(c)]&(01|02)) ) ccladd( currccl, c ); }while(0); ;
    break;}
case 69:
# 877 "parse.y"
{ do{ int c; for ( c = 0; c < csize; ++c ) if ( ((unsigned)(c)<=0177) && ((c) == ' ' || (c) == '\t') ) ccladd( currccl, c ); }while(0); ;
    break;}
case 70:
# 878 "parse.y"
{ do{ int c; for ( c = 0; c < csize; ++c ) if ( ((unsigned)(c)<=0177) && ((__ctype_ptr)[(unsigned)(c)]&040) ) ccladd( currccl, c ); }while(0); ;
    break;}
case 71:
# 879 "parse.y"
{ do{ int c; for ( c = 0; c < csize; ++c ) if ( ((unsigned)(c)<=0177) && ((__ctype_ptr)[(unsigned)(c)]&04) ) ccladd( currccl, c ); }while(0); ;
    break;}
case 72:
# 880 "parse.y"
{ do{ int c; for ( c = 0; c < csize; ++c ) if ( ((unsigned)(c)<=0177) && ((__ctype_ptr)[(unsigned)(c)]&(020|01|02|04)) ) ccladd( currccl, c ); }while(0); ;
    break;}
case 73:
# 881 "parse.y"
{ do{ int c; for ( c = 0; c < csize; ++c ) if ( ((unsigned)(c)<=0177) && ((__ctype_ptr)[(unsigned)(c)]&02) ) ccladd( currccl, c ); }while(0); ;
    break;}
case 74:
# 882 "parse.y"
{ do{ int c; for ( c = 0; c < csize; ++c ) if ( ((unsigned)(c)<=0177) && ((__ctype_ptr)[(unsigned)(c)]&(020|01|02|04|0200)) ) ccladd( currccl, c ); }while(0); ;
    break;}
case 75:
# 883 "parse.y"
{ do{ int c; for ( c = 0; c < csize; ++c ) if ( ((unsigned)(c)<=0177) && ((__ctype_ptr)[(unsigned)(c)]&020) ) ccladd( currccl, c ); }while(0); ;
    break;}
case 76:
# 884 "parse.y"
{ do{ int c; for ( c = 0; c < csize; ++c ) if ( ((unsigned)(c)<=0177) && ((__ctype_ptr)[(unsigned)(c)]&010) ) ccladd( currccl, c ); }while(0); ;
    break;}
case 77:
# 885 "parse.y"
{
    if ( caseins )
     do{ int c; for ( c = 0; c < csize; ++c ) if ( ((unsigned)(c)<=0177) && ((__ctype_ptr)[(unsigned)(c)]&02) ) ccladd( currccl, c ); }while(0);
    else
     do{ int c; for ( c = 0; c < csize; ++c ) if ( ((unsigned)(c)<=0177) && ((__ctype_ptr)[(unsigned)(c)]&01) ) ccladd( currccl, c ); }while(0);
    ;
    break;}
case 78:
# 891 "parse.y"
{ do{ int c; for ( c = 0; c < csize; ++c ) if ( ((unsigned)(c)<=0177) && ((__ctype_ptr)[(unsigned)(c)]&(0100|04)) ) ccladd( currccl, c ); }while(0); ;
    break;}
case 79:
# 895 "parse.y"
{
   if ( caseins && yyvsp[0] >= 'A' && yyvsp[0] <= 'Z' )
    yyvsp[0] = clower( yyvsp[0] );

   if ( yyvsp[0] == nlch )
    rule_has_nl[num_rules] = 1;

   ++rulelen;

   yyval = link_machines( yyvsp[-1], mkstate( yyvsp[0] ) );
   ;
    break;}
case 80:
# 908 "parse.y"
{ yyval = mkstate( (256 + 1) ); ;
    break;}
}
# 543 "/usr/lib/bison.simple"

  yyvsp -= yylen;
  yyssp -= yylen;
# 561 "/usr/lib/bison.simple"
  *++yyvsp = yyval;
# 585 "/usr/lib/bison.simple"
  yyn = yyr1[yyn];

  yystate = yypgoto[yyn - 54] + *yyssp;
  if (yystate >= 0 && yystate <= 131 && yycheck[yystate] == *yyssp)
    yystate = yytable[yystate];
  else
    yystate = yydefgoto[yyn - 54];

  goto yynewstate;

yyerrlab:

  if (! yyerrstatus)

    {
      ++yynerrs;
# 643 "/usr/lib/bison.simple"
 yyerror("parse error");
    }

  goto yyerrlab1;
yyerrlab1:

  if (yyerrstatus == 3)
    {



      if (yychar == 0)
 goto yyabortlab;






      yychar = -2;
    }




  yyerrstatus = 3;

  goto yyerrhandle;

yyerrdefault:
# 681 "/usr/lib/bison.simple"
yyerrpop:

  if (yyssp == yyss) goto yyabortlab;
  yyvsp--;
  yystate = *--yyssp;
# 701 "/usr/lib/bison.simple"
yyerrhandle:

  yyn = yypact[yystate];
  if (yyn == -32768)
    goto yyerrdefault;

  yyn += 1;
  if (yyn < 0 || yyn > 131 || yycheck[yyn] != 1)
    goto yyerrdefault;

  yyn = yytable[yyn];
  if (yyn < 0)
    {
      if (yyn == -32768)
 goto yyerrpop;
      yyn = -yyn;
      goto yyreduce;
    }
  else if (yyn == 0)
    goto yyerrpop;

  if (yyn == 120)
    goto yyacceptlab;






  *++yyvsp = yylval;




  yystate = yyn;
  goto yynewstate;

 yyacceptlab:

  if (yyfree_stacks)
    {
      free (yyss);
      free (yyvs);



    }
  return 0;

 yyabortlab:

  if (yyfree_stacks)
    {
      free (yyss);
      free (yyvs);



    }
  return 1;
}
# 911 "parse.y"







void build_eof_action()
 {
 register int i;
 char action_text[2048];

 for ( i = 1; i <= scon_stk_ptr; ++i )
  {
  if ( sceof[scon_stk[i]] )
   format_pinpoint_message(
    "multiple <<EOF>> rules for start condition %s",
    scname[scon_stk[i]] );

  else
   {
   sceof[scon_stk[i]] = 1;
   sprintf( action_text, "case YY_STATE_EOF(%s):\n",
    scname[scon_stk[i]] );
   add_action( action_text );
   }
  }

 line_directive_out( (FILE *) 0, 1 );






 --num_rules;
 ++num_eof_rules;
 }




void format_synerr( msg, arg )
const char *msg, arg[];
 {
 char errmsg[2048];

 (void) sprintf( errmsg, msg, arg );
 synerr( errmsg );
 }




void synerr( str )
const char *str;
 {
 syntaxerror = 1;
 pinpoint_message( str );
 }




void format_warn( msg, arg )
const char *msg, arg[];
 {
 char warn_msg[2048];

 (void) sprintf( warn_msg, msg, arg );
 warn( warn_msg );
 }




void warn( str )
const char *str;
 {
 line_warning( str, linenum );
 }





void format_pinpoint_message( msg, arg )
const char *msg, arg[];
 {
 char errmsg[2048];

 (void) sprintf( errmsg, msg, arg );
 pinpoint_message( errmsg );
 }




void pinpoint_message( str )
const char *str;
 {
 line_pinpoint( str, linenum );
 }




void line_warning( str, line )
const char *str;
int line;
 {
 char warning[2048];

 if ( ! nowarn )
  {
  sprintf( warning, "warning, %s", str );
  line_pinpoint( warning, line );
  }
 }




void line_pinpoint( str, line )
const char *str;
int line;
 {
 fprintf( (_impure_ptr->_stderr), "%s:%d: %s\n", infilename, line, str );
 }






void yyerror( msg )
const char *msg;
 {
 }

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]