+static char yysccsid[] = "@(#)yaccpar 1.7 (Berkeley) 09/09/90";
+#line 2 "parser.y"
+#pragma info( none )
+ #pragma info( none )
+#pragma info( restore )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ typedef unsigned int size_t;
+
+
+ char * _Builtin __strcat( char *, const char * );
+ char * _Builtin __strchr( const char *, int );
+ int _Builtin __strcmp( const char *, const char * );
+ char * _Builtin __strcpy( char*, const char * );
+ size_t _Builtin __strlen( const char * );
+ char * _Builtin __strncat( char *, const char *, size_t );
+ int _Builtin __strncmp( const char *, const char *, size_t );
+ char * _Builtin __strncpy( char *, const char *, size_t );
+ char * _Builtin __strrchr( const char *, int );
+
+ int _Import _Optlink strcoll( const char *, const char * );
+ size_t _Import _Optlink strcspn( const char *, const char * );
+ char * _Import _Optlink strerror( int );
+ char * _Import _Optlink strpbrk( const char *, const char * );
+ size_t _Import _Optlink strspn( const char *, const char * );
+ char * _Import _Optlink strstr( const char *, const char * );
+ char * _Import _Optlink strtok( char*, const char * );
+ size_t _Import _Optlink strxfrm( char *, const char *, size_t );
+
+ char * _Import _Optlink strcat( char *, const char * );
+ char * _Import _Optlink strchr( const char *, int );
+ int _Import _Optlink strcmp( const char *, const char * );
+ char * _Import _Optlink strcpy( char *, const char * );
+ size_t _Import _Optlink strlen( const char * );
+ char * _Import _Optlink strncat( char *, const char *, size_t );
+ int _Import _Optlink strncmp( const char *, const char *, size_t );
+ char * _Import _Optlink strncpy( char *, const char *, size_t );
+ char * _Import _Optlink strrchr( const char *, int );
+
+ #pragma info( none )
+ #pragma info( restore )
+
+
+
+ void * _Builtin __memcpy( void *, const void *, size_t );
+ void * _Builtin __memchr( const void *, int, size_t );
+ int _Builtin __memcmp( const void *, const void *, size_t );
+ void * _Builtin __memset( void *, int, size_t );
+ void * _Builtin __memmove( void *, const void *, size_t );
+
+ void * _Import _Optlink memcpy( void *, const void *, size_t );
+ void * _Import _Optlink memchr( const void *, int, size_t );
+ int _Import _Optlink memcmp( const void *, const void *, size_t );
+ void * _Import _Optlink memset( void *, int, size_t );
+ void * _Import _Optlink memmove( void *, const void *, size_t );
+
+ #pragma info( none )
+ #pragma info( restore )
+
+
+
+ void * _Import _Optlink memccpy( void *, void *, int, unsigned int );
+ int _Import _Optlink memicmp( void *, void *, unsigned int );
+
+
+
+
+
+ char * _Import _Optlink strdup( const char * );
+ int _Import _Optlink stricmp( const char *, const char * );
+ char * _Import _Optlink strlwr( char * );
+ int _Import _Optlink strnicmp( const char *, const char *, size_t );
+ char * _Import _Optlink strupr( char * );
+
+ int _Import _Optlink strcmpi( const char *, const char * );
+ char * _Import _Optlink strrev( char * );
+ char * _Import _Optlink strset( char *, int );
+ char * _Import _Optlink strnset( char *, int, size_t );
+ char * _Import _Optlink _strerror( char * );
+
+
+ size_t _Import _Optlink _fstrcspn( const char *, const char * );
+ char * _Import _Optlink _fstrdup( const char * );
+ char * _Import _Optlink _nstrdup( const char * );
+ int _Import _Optlink _fstricmp( const char *, const char * );
+ char * _Import _Optlink _fstrlwr( char * );
+ int _Import _Optlink _fstrnicmp( const char *, const char *, size_t );
+ char * _Import _Optlink _fstrnset( char *, int, size_t );
+ char * _Import _Optlink _fstrpbrk( const char *, const char * );
+ char * _Import _Optlink _fstrrev( char * );
+ char * _Import _Optlink _fstrset( char *, int );
+ size_t _Import _Optlink _fstrspn( const char *, const char * );
+ char * _Import _Optlink _fstrstr( const char *, const char * );
+ char * _Import _Optlink _fstrtok( char*, const char * );
+ char * _Import _Optlink _fstrupr( char * );
+
+ #pragma map( _fstrcspn , "strcspn" )
+ #pragma map( _fstrdup , "strdup" )
+ #pragma map( _nstrdup , "strdup" )
+ #pragma map( _fstricmp , "stricmp" )
+ #pragma map( _fstrlwr , "strlwr" )
+ #pragma map( _fstrnicmp, "strnicmp" )
+ #pragma map( _fstrnset , "strnset" )
+ #pragma map( _fstrpbrk , "strpbrk" )
+ #pragma map( _fstrrev , "strrev" )
+ #pragma map( _fstrset , "strset" )
+ #pragma map( _fstrspn , "strspn" )
+ #pragma map( _fstrstr , "strstr" )
+ #pragma map( _fstrtok , "strtok" )
+ #pragma map( _fstrupr , "strupr" )
+
+
+
+
+#pragma info( none )
+ #pragma info( restore )
+#pragma info( restore )
+#pragma info( none )
+ #pragma info( none )
+#pragma info( restore )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ int _Import _Optlink _access( const char *, int );
+ int _Import _Optlink _chmod( const char *, int );
+ int _Import _Optlink _chsize( int, long );
+ int _Import _Optlink _close( int );
+ int _Import _Optlink _creat( const char *, int );
+ int _Import _Optlink _dup( int );
+ int _Import _Optlink _dup2( int, int );
+ int _Import _Optlink __eof( int );
+ long _Import _Optlink _filelength( int );
+ int _Import _Optlink _isatty( int );
+ long _Import _Optlink _lseek( int, long, int );
+ int _Import _Optlink _open( const char *, int, ... );
+ int _Import _Optlink _read( int, void *, unsigned int );
+ int _Import _Optlink remove( const char * );
+ int _Import _Optlink rename( const char *, const char * );
+ int _Import _Optlink _sopen( const char *, int, int, ... );
+ long _Import _Optlink _tell( int );
+ int _Import _Optlink _umask( int );
+ int _Import _Optlink _unlink( const char * );
+ int _Import _Optlink _write( int, const void *, unsigned int );
+ int _Import _Optlink _setmode(int handle, int mode);
+
+ int _Import _Optlink access( const char *, int );
+ int _Import _Optlink chmod( const char *, int );
+ int _Import _Optlink chsize( int, long );
+ int _Import _Optlink close( int );
+ int _Import _Optlink creat( const char *, int );
+ int _Import _Optlink dup( int );
+ int _Import _Optlink dup2( int, int );
+ int _Import _Optlink eof( int );
+ long _Import _Optlink filelength( int );
+ int _Import _Optlink isatty( int );
+ long _Import _Optlink lseek( int, long, int );
+ int _Import _Optlink open( const char *, int, ... );
+ int _Import _Optlink read( int, void *, unsigned int );
+ int _Import _Optlink sopen( const char *, int, int, ... );
+ long _Import _Optlink tell( int );
+ int _Import _Optlink umask( int );
+ int _Import _Optlink unlink( const char * );
+ int _Import _Optlink write( int, const void *, unsigned int );
+ int _Import _Optlink setmode(int handle, int mode);
+
+ #pragma map( access , "_access" )
+ #pragma map( chmod , "_chmod" )
+ #pragma map( chsize , "_chsize" )
+ #pragma map( close , "_close" )
+ #pragma map( creat , "_creat" )
+ #pragma map( dup , "_dup" )
+ #pragma map( dup2 , "_dup2" )
+ #pragma map( eof , "__eof" )
+ #pragma map( filelength, "_filelength" )
+ #pragma map( isatty , "_isatty" )
+ #pragma map( lseek , "_lseek" )
+ #pragma map( open , "_open" )
+ #pragma map( read , "_read" )
+ #pragma map( sopen , "_sopen" )
+ #pragma map( tell , "_tell" )
+ #pragma map( umask , "_umask" )
+ #pragma map( unlink , "_unlink" )
+ #pragma map( write , "_write" )
+ #pragma map( setmode , "_setmode" )
+
+
+
+
+#pragma info( none )
+ #pragma info( restore )
+#pragma info( restore )
+
+
+
+
+#pragma info( none )
+ #pragma info( none )
+#pragma info( restore )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ extern const double _infinity;
+
+
+
+ double _Builtin __fabs( double );
+ double _Import _Optlink fabs( double );
+ #pragma info( none )
+ #pragma info( restore )
+
+ double _Import _Optlink atan2( double, double );
+ double _Import _Optlink ceil( double );
+ double _Import _Optlink cosh( double );
+ double _Import _Optlink exp( double );
+ double _Import _Optlink floor( double );
+ double _Import _Optlink fmod( double, double );
+ double _Import _Optlink frexp( double, int * );
+ double _Import _Optlink ldexp( double, int );
+ double _Import _Optlink log( double );
+ double _Import _Optlink log10( double );
+ double _Import _Optlink modf( double, double * );
+ double _Import _Optlink pow( double, double );
+ double _Import _Optlink sinh( double );
+ double _Import _Optlink tanh( double );
+
+ double _Import _Optlink asin( double );
+ double _Import _Optlink acos( double );
+ double _Import _Optlink atan( double );
+ double _Import _Optlink sin( double );
+ double _Import _Optlink cos( double );
+ double _Import _Optlink tan( double );
+ double _Import _Optlink sqrt( double );
+
+ double _Import _Optlink _erf( double );
+ double _Import _Optlink _erfc( double );
+ double _Import _Optlink _gamma( double );
+ double _Import _Optlink _hypot( double, double );
+ double _Import _Optlink _j0( double );
+ double _Import _Optlink _j1( double );
+ double _Import _Optlink _jn( int, double );
+ double _Import _Optlink _y0( double );
+ double _Import _Optlink _y1( double );
+ double _Import _Optlink _yn( int, double );
+ double _Import _Optlink erf( double );
+ double _Import _Optlink erfc( double );
+ double _Import _Optlink gamma( double );
+ double _Import _Optlink hypot( double, double );
+ double _Import _Optlink j0( double );
+ double _Import _Optlink j1( double );
+ double _Import _Optlink jn( int, double );
+ double _Import _Optlink y0( double );
+ double _Import _Optlink y1( double );
+ double _Import _Optlink yn( int, double );
+
+ #pragma map( erf, "_erf" )
+ #pragma map( erfc, "_erfc" )
+ #pragma map( gamma, "_gamma" )
+ #pragma map( hypot, "_hypot" )
+ #pragma map( j0, "_j0" )
+ #pragma map( j1, "_j1" )
+ #pragma map( jn, "_jn" )
+ #pragma map( y0, "_y0" )
+ #pragma map( y1, "_y1" )
+ #pragma map( yn, "_yn" )
+
+ extern const long double _LHUGE_VAL;
+
+
+
+
+
+ struct complex
+ {
+ double x,y;
+ };
+
+ double _Import _Optlink _cabs( struct complex );
+
+ #pragma info( none )
+ #pragma info( restore )
+
+ struct exception
+ {
+ int type;
+ char *name;
+ double arg1;
+ double arg2;
+ double retval;
+ };
+
+
+
+ int _matherr( struct exception * );
+ int matherr( struct exception * );
+
+ #pragma map( matherr, "_matherr" )
+
+ long double _Optlink _atold( const char * );
+
+
+
+
+
+#pragma info( none )
+ #pragma info( restore )
+#pragma info( restore )
+
+
+#pragma info( none )
+ #pragma info( none )
+#pragma info( restore )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ typedef unsigned short wchar_t;
+
+ typedef struct _div_t
+ {
+ int quot;
+ int rem;
+ } div_t;
+
+ typedef struct _ldiv_t
+ {
+ long int quot;
+ long int rem;
+ } ldiv_t;
+
+
+
+ typedef unsigned long _System _EH_RTN(void *,void *,void *,void *);
+
+ extern int _Import _Optlink _eh_del(_EH_RTN *);
+ extern int _Import _Optlink _eh_add(_EH_RTN *);
+ extern int _Import _mb_cur_max;
+
+
+
+ int _Builtin __abs( int );
+ long int _Builtin __labs( long int );
+
+ double _Import _Optlink atof( const char * );
+ int _Import _Optlink atoi( const char * );
+ long int _Import _Optlink atol( const char * );
+ double _Import _Optlink strtod( const char *, char ** );
+ long int _Import _Optlink strtol( const char *, char **, int );
+ unsigned long int _Import _Optlink strtoul( const char *, char **, int );
+ int _Import _Optlink rand( void );
+ void _Import _Optlink srand( unsigned int );
+ void * (_Import _Optlink calloc)( size_t, size_t );
+ void (_Import _Optlink free)( void * );
+ void * (_Import _Optlink malloc)( size_t );
+ void * (_Import _Optlink realloc)( void *, size_t );
+ void _Import _Optlink abort( void );
+ int _Import _Optlink atexit( void ( * )( void ) );
+ void _Import _Optlink exit( int );
+ char * _Import _Optlink getenv( const char * );
+ int _Import _Optlink system( const char * );
+ void * _Import _Optlink bsearch( const void *, const void *, size_t, size_t,
+ int ( * _Optlink __compare )( const void *, const void * ) );
+ void _Import _Optlink qsort( void *, size_t, size_t,
+ int ( * _Optlink __compare )( const void *, const void * ) );
+ div_t _Import _Optlink div( int, int );
+ ldiv_t _Import _Optlink ldiv( long int, long int );
+ int _Import _Optlink mblen( const char *, size_t );
+ int _Import _Optlink mbtowc( wchar_t *, const char *, size_t );
+ int _Import _Optlink wctomb( char *, wchar_t );
+ size_t _Import _Optlink mbstowcs( wchar_t *, const char *, size_t );
+ size_t _Import _Optlink wcstombs( char *, const wchar_t *, size_t );
+
+ int _Import _Optlink abs ( int );
+ long int _Import _Optlink labs( long int );
+
+ #pragma info( none )
+ #pragma info( restore )
+
+
+
+
+ void * _Builtin __alloca( size_t );
+ #pragma info( none )
+ #pragma info( restore )
+
+ unsigned char _Builtin __parmdwords( void );
+
+ long double _Import _Optlink _atold( const char * );
+ char * _Import _Optlink ecvt( double, int, int *, int * );
+ char * _Import _Optlink _ecvt( double, int, int *, int * );
+ char * _Import _Optlink fcvt( double, int, int *, int * );
+ char * _Import _Optlink _fcvt( double, int, int *, int * );
+ int _Import _Optlink _freemod( unsigned long );
+ char * _Import _Optlink _fullpath(char *, char *, size_t);
+ char * _Import _Optlink gcvt( double, int, char * );
+ char * _Import _Optlink _gcvt( double, int, char * );
+ int (_Import _Optlink _heapmin)( void );
+ char * _Import _Optlink itoa( int, char *, int );
+ char * _Import _Optlink _itoa( int, char *, int );
+ int _Import _Optlink _loadmod( char *, unsigned long * );
+ char * _Import _Optlink ltoa( long, char *, int );
+ char * _Import _Optlink _ltoa( long, char *, int );
+ size_t _Import _Optlink _msize(void *);
+ int _Import _Optlink putenv( const char * );
+ int _Import _Optlink _putenv( const char * );
+ long double _Import _Optlink strtold( const char *, char ** );
+ long double _Import _Optlink _strtold( const char *, char ** );
+ char * _Import _Optlink ultoa( unsigned long, char *, int );
+ char * _Import _Optlink _ultoa( unsigned long, char *, int );
+
+ #pragma map( ecvt , "_ecvt" )
+ #pragma map( fcvt , "_fcvt" )
+ #pragma map( gcvt , "_gcvt" )
+ #pragma map( itoa , "_itoa" )
+ #pragma map( ltoa , "_ltoa" )
+ #pragma map( ultoa , "_ultoa" )
+ #pragma map( putenv , "_putenv" )
+ #pragma map( _strtold, "strtold" )
+
+
+
+
+
+ int _Import _Optlink _beginthread( void ( * _Optlink thread )( void * ), void *, unsigned, void * );
+ void _Import _Optlink _endthread( void );
+ void ** _Import _Optlink _threadstore( void );
+
+ #pragma map( atof , "_atofieee" )
+ #pragma map( strtod, "_strtodieee" )
+
+
+ void _Builtin __enable( void );
+ void _Builtin __disable( void );
+
+
+ int * _Import _Optlink _errno( void );
+ #pragma info( none )
+ #pragma info( restore )
+
+ int * _Import _Optlink __doserrno(void);
+ #pragma info( none )
+ #pragma info( restore )
+
+ extern char ** _Import _environ;
+ extern unsigned char _Import _osmajor;
+ extern unsigned char _Import _osminor;
+ extern unsigned char _Import _osmode;
+
+
+
+ typedef int ( __onexit_t )( void );
+ typedef __onexit_t * onexit_t;
+
+
+
+
+
+ void _Import _Optlink _exit( int );
+ onexit_t _Import _Optlink onexit( onexit_t );
+ onexit_t _Import _Optlink _onexit( onexit_t );
+
+ unsigned long _Builtin __lrotl(unsigned long, int);
+ unsigned long _Builtin __lrotr(unsigned long, int);
+ unsigned short _Builtin __srotl(unsigned short, int);
+ unsigned short _Builtin __srotr(unsigned short, int);
+ unsigned char _Builtin __crotl(unsigned char, int);
+ unsigned char _Builtin __crotr(unsigned char, int);
+
+ void _Import _Optlink _makepath( char *, char *, char *, char *, char * );
+ void _Import _Optlink _splitpath( char *, char *, char *, char *, char * );
+ void _Import _Optlink _searchenv( char *, char *, char *);
+ void _Import _Optlink swab( char *, char *, int );
+ void _Import _Optlink _swab( char *, char *, int );
+
+ #pragma map( onexit , "_onexit" )
+ #pragma map( swab , "_swab" )
+
+ int _Import _Optlink rpmatch(const char *);
+ int _Import _Optlink csid(const char *);
+ int _Import _Optlink wcsid(const wchar_t);
+
+ #pragma map( rpmatch, "_rpmatch" )
+ #pragma map( csid , "_csid" )
+ #pragma map( wcsid , "_wcsid" )
+
+
+
+
+
+
+
+
+
+#pragma info( none )
+ #pragma info( restore )
+#pragma info( restore )
+
+
+
+
+
+
+
+
+
+
+
+char *proio_cons();
+char * wxmake_integer();
+char * wxmake_word();
+char * wxmake_string();
+char * wxmake_real();
+char * wxmake_exp();
+char * wxmake_exp2();
+
+void add_expr();
+void process_command();
+void syntax_error();
+
+
+
+
+
+int PROIO_yylex(void);
+int PROIO_yylook(void);
+int PROIO_yywrap(void);
+int PROIO_yyback(int *, int);
+
+
+void PROIO_yyoutput(int);
+
+#line 36 "parser.y"
+typedef union {
+ char *s;
+
+} YYSTYPE;
+#line 44 "y_tab.c"
+short PROIO_yylhs[] = { -1,
+ 0, 0, 1, 1, 1, 2, 2, 2, 3, 3,
+ 3, 4, 4, 5, 5, 5, 5, 5, 5, 5,
+};
+short PROIO_yylen[] = { 2,
+ 0, 2, 2, 2, 2, 4, 2, 3, 0, 1,
+ 3, 3, 1, 1, 1, 1, 3, 3, 5, 1,
+};
+short PROIO_yydefred[] = { 1,
+ 0, 0, 0, 0, 2, 0, 5, 3, 0, 0,
+ 0, 15, 7, 20, 0, 0, 13, 4, 0, 0,
+ 0, 0, 8, 0, 6, 0, 18, 0, 12, 11,
+ 0, 19,
+};
+short PROIO_yydgoto[] = { 1,
+ 5, 14, 15, 16, 17,
+};
+short PROIO_yysindex[] = { 0,
+ -2, 9, 2, 1, 0, 10, 0, 0, 11, -5,
+ 17, 0, 0, 0, 14, -1, 0, 0, 33, 38,
+ 41, 16, 0, 11, 0, 29, 0, 40, 0, 0,
+ 44, 0,
+};
+short PROIO_yyrindex[] = { 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 42, 21,
+ 24, 0, 0, 0, 0, 30, 0, 0, 0, 0,
+ 0, 0, 0, 31, 0, 27, 0, 24, 0, 0,
+ 0, 0,
+};
+short PROIO_yygindex[] = { 0,
+ 0, 45, -8, 0, 26,
+};
+short PROIO_yytable[] = { 3,
+ 19, 10, 11, 12, 24, 9, 4, 20, 21, 4,
+ 13, 10, 11, 12, 8, 30, 10, 28, 12, 4,
+ 9, 7, 18, 23, 4, 16, 16, 22, 14, 14,
+ 16, 17, 17, 14, 10, 9, 17, 25, 26, 10,
+ 9, 27, 31, 9, 32, 6, 9, 29, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2,
+};
+short PROIO_yycheck[] = { 2,
+ 9, 1, 2, 3, 6, 4, 9, 13, 14, 9,
+ 10, 1, 2, 3, 13, 24, 1, 2, 3, 9,
+ 4, 13, 13, 10, 9, 5, 6, 11, 5, 6,
+ 10, 5, 6, 10, 5, 5, 10, 5, 1, 10,
+ 10, 1, 14, 4, 1, 1, 5, 22, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 256,
+};
+int PROIO_yydebug;
+int PROIO_yynerrs;
+int PROIO_yyerrflag;
+int PROIO_yychar;
+short *PROIO_yyssp;
+YYSTYPE *PROIO_yyvsp;
+YYSTYPE PROIO_yyval;
+YYSTYPE PROIO_yylval;
+short PROIO_yyss[600];
+YYSTYPE PROIO_yyvs[600];
+#line 118 "parser.y"
+
+
+
+
+
+
+#pragma info( none )
+ #pragma info( none )
+#pragma info( restore )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ enum _OPERATIONS { _IOINIT, _IOREAD, _IOWRITE, _IOREPOSITION,
+ _IOFLUSH, _IOUNDEFOP };
+
+
+ #pragma pack( 1 )
+ typedef struct __file
+ {
+ unsigned char *_bufPtr;
+ unsigned long int _count;
+ unsigned long int _userFlags;
+ unsigned long int _bufLen;
+ unsigned long int _ungetCount;
+ int _tempStore;
+ unsigned char _ungetBuf[2];
+ enum _OPERATIONS _lastOp;
+ char _filler;
+ } FILE;
+ #pragma pack( )
+
+ typedef struct __fpos_t
+ {
+ long int __fpos_elem[2];
+ } fpos_t;
+
+
+
+
+ typedef char *__va_list;
+
+
+
+
+ extern FILE * const _Import stdin;
+ extern FILE * const _Import stdout;
+ extern FILE * const _Import stderr;
+
+
+
+
+ int _Import _Optlink fprintf( FILE *, const char *, ... );
+ int _Import _Optlink fscanf( FILE *, const char *, ... );
+ int _Import _Optlink printf( const char *, ... );
+ int _Import _Optlink scanf( const char *, ... );
+ int _Import _Optlink sprintf( char *, const char *, ... );
+ int _Import _Optlink sscanf( const char *, const char *, ... );
+ void _Import _Optlink clearerr( FILE * );
+ int _Import _Optlink fclose( FILE * );
+ int _Import _Optlink feof( FILE * );
+ int _Import _Optlink ferror( FILE * );
+ int _Import _Optlink fflush( FILE * );
+ int _Import _Optlink fgetc( FILE * );
+ int _Import _Optlink fgetpos( FILE *, fpos_t * );
+ char * _Import _Optlink fgets( char *, int, FILE * );
+ FILE * _Import _Optlink fopen( const char *, const char * );
+ int _Import _Optlink fputc( int, FILE * );
+ int _Import _Optlink fputs( const char *, FILE * );
+ size_t _Import _Optlink fread( void *, size_t, size_t, FILE * );
+ FILE * _Import _Optlink freopen( const char *, const char *, FILE * );
+ int _Import _Optlink fseek( FILE *, long int, int );
+ int _Import _Optlink fsetpos( FILE *, const fpos_t * );
+ long int _Import _Optlink ftell( FILE * );
+ size_t _Import _Optlink fwrite( const void *, size_t, size_t, FILE * );
+ int _Optlink getc( FILE * );
+ int _Optlink getchar( void );
+ char * _Import _Optlink gets( char * );
+ void _Import _Optlink perror( const char * );
+ int _Optlink putc( int, FILE * );
+ int _Optlink putchar( int );
+ int _Import _Optlink puts( const char * );
+ int _Import _Optlink remove( const char * );
+ int _Import _Optlink rename( const char *, const char * );
+ void _Import _Optlink rewind( FILE * );
+ void _Import _Optlink setbuf( FILE *, char * );
+ int _Import _Optlink setvbuf( FILE *, char *, int, size_t );
+ FILE * _Import _Optlink tmpfile( void );
+ char * _Import _Optlink tmpnam( char * );
+ int _Import _Optlink ungetc( int, FILE * );
+ int _Import _Optlink vfprintf( FILE *, const char *, __va_list );
+ int _Import _Optlink vprintf( const char *, __va_list );
+ int _Import _Optlink vsprintf( char *, const char *, __va_list );
+
+
+
+
+
+
+
+
+
+
+ #pragma map( fprintf, "_fprintfieee" )
+ #pragma map( printf , "_printfieee" )
+ #pragma map( sprintf, "_sprintfieee" )
+ #pragma map( fscanf , "_fscanfieee" )
+ #pragma map( scanf , "_scanfieee" )
+ #pragma map( sscanf , "_sscanfieee" )
+
+ #pragma map( vfprintf, "_vfprintfieee" )
+ #pragma map( vprintf , "_vprintfieee" )
+ #pragma map( vsprintf, "_vsprintfieee" )
+
+ int _Optlink _fcloseall( void );
+ int _Optlink _rmtmp( void );
+
+ FILE * _Optlink fdopen( int, const char *);
+ int _Optlink fgetchar( void );
+ int _Optlink fileno( FILE * );
+ int _Optlink flushall( void );
+ int _Optlink fputchar( int );
+ char * _Optlink tempnam( char *, char * );
+ int _Optlink unlink( const char * );
+
+ FILE * _Optlink _fdopen( int, const char *);
+ int _Optlink _fgetchar( void );
+ int _Optlink _fileno( FILE * );
+ int _Optlink _flushall( void );
+ int _Optlink _fputchar( int );
+ char * _Optlink _tempnam( char *, char * );
+ int _Optlink _unlink( const char * );
+
+ int _Optlink _set_crt_msg_handle( int );
+
+ #pragma map( fdopen , "_fdopen" )
+ #pragma map( fgetchar, "_fgetchar" )
+ #pragma map( fileno , "_fileno" )
+ #pragma map( flushall, "_flushall" )
+ #pragma map( fputchar, "_fputchar" )
+ #pragma map( tempnam , "_tempnam" )
+
+
+
+
+#pragma info( none )
+ #pragma info( restore )
+#pragma info( restore )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+int read();
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+int PROIO_yywrap(void) { return 1; }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+
+# line 1 "lexer.l"
+# line 9 "lexer.l"
+
+#pragma info( none )
+ #pragma info( none )
+#pragma info( restore )
+
+
+#pragma info( none )
+ #pragma info( restore )
+#pragma info( restore )
+
+
+
+
+
+
+
+
+
+
+static size_t lex_buffer_length = 0;
+static char *lex_buffer = 0;
+static size_t lex_string_ptr = 0;
+static int lex_read_from_string = 0;
+
+static int my_input(void);
+static int my_unput(char);
+
+
+# line 58 "lexer.l"
+
+
+
+
+
+
+
+
+struct yy_buffer_state
+ {
+ FILE *yy_input_file;
+
+ unsigned char *yy_ch_buf;
+ unsigned char *yy_buf_pos;
+
+
+ int yy_buf_size;
+
+
+ int yy_n_chars;
+
+ int yy_eof_status;
+
+ };
+
+static YY_BUFFER_STATE yy_current_buffer;
+
+
+
+
+
+static unsigned char yy_hold_char;
+
+static int yy_n_chars;
+
+
+
+
+
+extern unsigned char *PROIO_yytext;
+extern int PROIO_yyleng;
+extern FILE *PROIO_yyin, *PROIO_yyout;
+
+unsigned char *PROIO_yytext;
+int PROIO_yyleng;
+
+FILE *PROIO_yyin = (FILE *) 0, *PROIO_yyout = (FILE *) 0;
+
+typedef int yy_state_type;
+static short int yy_accept[34] =
+ { 0,
+ 0, 0, 18, 16, 13, 14, 16, 16, 6, 7,
+ 16, 8, 12, 16, 1, 11, 3, 9, 10, 2,
+ 0, 5, 0, 0, 0, 4, 1, 15, 3, 5,
+ 0, 0, 0
+ } ;
+
+static unsigned char yy_ec[256] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 2, 1, 4, 1, 1, 1, 1, 5, 6,
+ 7, 8, 9, 10, 9, 11, 12, 13, 13, 13,
+ 13, 13, 13, 13, 13, 13, 13, 1, 1, 1,
+ 14, 1, 1, 1, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 16, 17, 18, 1, 15, 1, 15, 15, 15, 15,
+
+ 19, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 1, 20, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1
+ } ;
+
+static unsigned char yy_meta[21] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 2, 1, 2, 1, 3, 1, 2, 1
+ } ;
+
+static short int yy_base[37] =
+ { 0,
+ 0, 0, 48, 55, 55, 55, 17, 42, 55, 55,
+ 19, 55, 55, 23, 17, 55, 0, 55, 55, 0,
+ 18, 55, 19, 23, 21, 55, 12, 55, 0, 24,
+ 25, 29, 55, 49, 52, 22
+ } ;
+
+static short int yy_def[37] =
+ { 0,
+ 33, 1, 33, 33, 33, 33, 34, 35, 33, 33,
+ 33, 33, 33, 33, 33, 33, 36, 33, 33, 36,
+ 34, 33, 34, 34, 35, 33, 33, 33, 36, 34,
+ 34, 34, 0, 33, 33, 33
+ } ;
+
+static short int yy_nxt[76] =
+ { 0,
+ 4, 5, 6, 7, 8, 9, 10, 4, 11, 12,
+ 13, 14, 15, 16, 17, 18, 4, 19, 20, 4,
+ 22, 22, 30, 29, 27, 26, 22, 22, 30, 27,
+ 28, 27, 30, 23, 23, 23, 24, 24, 24, 31,
+ 23, 32, 24, 24, 24, 23, 26, 33, 24, 21,
+ 21, 21, 25, 25, 3, 33, 33, 33, 33, 33,
+ 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
+ 33, 33, 33, 33, 33
+ } ;
+
+static short int yy_chk[76] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 7, 21, 23, 36, 27, 25, 24, 30, 31, 15,
+ 14, 11, 32, 7, 21, 23, 7, 21, 23, 24,
+ 30, 31, 24, 30, 31, 32, 8, 3, 32, 34,
+ 34, 34, 35, 35, 33, 33, 33, 33, 33, 33,
+ 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
+ 33, 33, 33, 33, 33
+ } ;
+
+static yy_state_type yy_last_accepting_state;
+static unsigned char *yy_last_accepting_cpos;
+
+
+
+
+
+static unsigned char *yy_c_buf_p = (unsigned char *) 0;
+static int yy_init = 1;
+static int yy_start = 0;
+
+
+static int yy_did_buffer_switch_on_eof;
+
+static yy_state_type yy_get_previous_state ();
+static yy_state_type yy_try_NUL_trans ();
+static int yy_get_next_buffer ();
+static void yyunput ();
+void PROIO_yyrestart ();
+void PROIO_yy_switch_to_buffer ();
+void PROIO_yy_load_buffer_state ();
+YY_BUFFER_STATE PROIO_yy_create_buffer ();
+void PROIO_yy_delete_buffer ();
+void PROIO_yy_init_buffer ();
+
+
+static int input ();
+
+int PROIO_yylex ()
+ {
+ register yy_state_type yy_current_state;
+ register unsigned char *yy_cp, *yy_bp;
+ register int yy_act;
+
+
+
+
+ if ( yy_init )
+ {
+ ;
+
+ if ( ! yy_start )
+ yy_start = 1;
+
+ if ( ! PROIO_yyin )
+ PROIO_yyin = stdin;
+
+ if ( ! PROIO_yyout )
+ PROIO_yyout = stdout;
+
+ if ( yy_current_buffer )
+ PROIO_yy_init_buffer( yy_current_buffer, PROIO_yyin );
+ else
+ yy_current_buffer = PROIO_yy_create_buffer( PROIO_yyin, (8192 * 2) );
+
+ PROIO_yy_load_buffer_state();
+
+ yy_init = 0;
+ }
+
+ while ( 1 )
+ {
+ yy_cp = yy_c_buf_p;
+
+
+ *yy_cp = yy_hold_char;
+
+
+ yy_bp = yy_cp;
+
+ yy_current_state = yy_start;
+yy_match:
+ do
+ {
+ register unsigned char yy_c = yy_ec[*yy_cp];
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = yy_def[yy_current_state];
+ if ( yy_current_state >= 34 )
+ yy_c = yy_meta[yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
+ ++yy_cp;
+ }
+ while ( yy_current_state != 33 );
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+
+yy_find_action:
+ yy_act = yy_accept[yy_current_state];
+
+ PROIO_yytext = yy_bp; PROIO_yyleng = yy_cp - yy_bp; yy_hold_char = *yy_cp; *yy_cp = '\0'; yy_c_buf_p = yy_cp;;
+ ;
+
+do_action:
+
+
+ switch ( yy_act )
+ {
+ case 0:
+
+ *yy_cp = yy_hold_char;
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+ goto yy_find_action;
+
+case 1:
+# line 60 "lexer.l"
+{PROIO_yylval.s = strdup(( char*) PROIO_yytext); return 1;;}
+ break;
+case 2:
+# line 62 "lexer.l"
+return 14;;
+ break;
+case 3:
+# line 64 "lexer.l"
+{PROIO_yylval.s = strdup(( char*) PROIO_yytext); return 2;;}
+ break;
+case 4:
+# line 66 "lexer.l"
+{int len = __strlen( (( char*) PROIO_yytext) );
+ PROIO_yytext[len-1] = 0;
+ PROIO_yylval.s = strdup(( char*) (PROIO_yytext+1));
+ return 2;;}
+ break;
+case 5:
+# line 71 "lexer.l"
+{PROIO_yylval.s = strdup(( char*) PROIO_yytext); return 3;;}
+ break;
+case 6:
+# line 73 "lexer.l"
+return 4;;
+ break;
+case 7:
+# line 75 "lexer.l"
+return 5;;
+ break;
+case 8:
+# line 77 "lexer.l"
+return 6;;
+ break;
+case 9:
+# line 79 "lexer.l"
+return 9;;
+ break;
+case 10:
+# line 81 "lexer.l"
+return 10;;
+ break;
+case 11:
+# line 83 "lexer.l"
+return 11;;
+ break;
+case 12:
+# line 85 "lexer.l"
+return 13;;
+ break;
+case 13:
+# line 87 "lexer.l"
+;
+ break;
+case 14:
+# line 89 "lexer.l"
+;
+ break;
+case 15:
+# line 91 "lexer.l"
+{ loop:
+ while (input() != '*');
+ switch (input())
+ {
+ case '/': break;
+ case '*': yyunput( '*', PROIO_yytext );
+ default: goto loop;
+ }
+ }
+ break;
+case 16:
+# line 106 "lexer.l"
+return 8;;
+ break;
+case 17:
+# line 108 "lexer.l"
+(void) fwrite( (char *) PROIO_yytext, PROIO_yyleng, 1, PROIO_yyout );
+ break;
+case (18 + 0 + 1):
+ return ( 0 );
+
+ case 18:
+ {
+
+ int yy_amount_of_matched_text = yy_cp - PROIO_yytext - 1;
+
+
+ *yy_cp = yy_hold_char;
+
+
+ if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+
+ {
+ yy_state_type yy_next_state;
+
+ yy_c_buf_p = PROIO_yytext + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state();
+
+
+
+ yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+ yy_bp = PROIO_yytext + 0;
+
+ if ( yy_next_state )
+ {
+
+ yy_cp = ++yy_c_buf_p;
+ yy_current_state = yy_next_state;
+ goto yy_match;
+ }
+
+ else
+ {
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+ goto yy_find_action;
+ }
+ }
+
+ else switch ( yy_get_next_buffer() )
+ {
+ case 1:
+ {
+ yy_did_buffer_switch_on_eof = 0;
+
+ if ( PROIO_yywrap() )
+ {
+
+ yy_c_buf_p = PROIO_yytext + 0;
+
+ yy_act = (18 + (yy_start - 1) / 2 + 1);
+ goto do_action;
+ }
+
+ else
+ {
+ if ( ! yy_did_buffer_switch_on_eof )
+ do { PROIO_yy_init_buffer( yy_current_buffer, PROIO_yyin ); PROIO_yy_load_buffer_state(); } while ( 0 );
+ }
+ }
+ break;
+
+ case 0:
+ yy_c_buf_p = PROIO_yytext + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state();
+
+ yy_cp = yy_c_buf_p;
+ yy_bp = PROIO_yytext + 0;
+ goto yy_match;
+
+ case 2:
+ yy_c_buf_p =
+ &yy_current_buffer->yy_ch_buf[yy_n_chars];
+
+ yy_current_state = yy_get_previous_state();
+
+ yy_cp = yy_c_buf_p;
+ yy_bp = PROIO_yytext + 0;
+ goto yy_find_action;
+ }
+ break;
+ }
+
+ default:
+ do { (void) fputs( "fatal flex scanner internal error--no action found", stderr ); (void) fputc( ('\n'), (stderr) ); exit( 1 ); } while ( 0 );
+ }
+ }
+ }
+
+
+
+
+static int yy_get_next_buffer()
+
+ {
+ register unsigned char *dest = yy_current_buffer->yy_ch_buf;
+ register unsigned char *source = PROIO_yytext - 1;
+ register int number_to_move, i;
+ int ret_val;
+
+ if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
+ do { (void) fputs( "fatal flex scanner internal error--end of buffer missed", stderr ); (void) fputc( ('\n'), (stderr) ); exit( 1 ); } while ( 0 );
+
+
+
+
+ number_to_move = yy_c_buf_p - PROIO_yytext;
+
+ for ( i = 0; i < number_to_move; ++i )
+ *(dest++) = *(source++);
+
+ if ( yy_current_buffer->yy_eof_status != 0 )
+
+ yy_n_chars = 0;
+
+ else
+ {
+ int num_to_read = yy_current_buffer->yy_buf_size - number_to_move - 1;
+
+ if ( num_to_read > 8192 )
+ num_to_read = 8192;
+
+ else if ( num_to_read <= 0 )
+ do { (void) fputs( "fatal error - scanner input buffer overflow", stderr ); (void) fputc( ('\n'), (stderr) ); exit( 1 ); } while ( 0 );
+
+
+ if (lex_read_from_string) { int c = my_input(); yy_n_chars = (c == 0) ? 0 : (((&yy_current_buffer->yy_ch_buf[number_to_move]))[0]=(c), 1); } else if ( (yy_n_chars = read( fileno(PROIO_yyin), (char *) (&yy_current_buffer->yy_ch_buf[number_to_move]), num_to_read )) < 0 ) do { (void) fputs( "read() in flex scanner failed", stderr ); (void) fputc( ('\n'), (stderr) ); exit( 1 ); } while ( 0 );;
+ }
+
+ if ( yy_n_chars == 0 )
+ {
+ if ( number_to_move == 1 )
+ {
+ ret_val = 1;
+ yy_current_buffer->yy_eof_status = 2;
+ }
+
+ else
+ {
+ ret_val = 2;
+ yy_current_buffer->yy_eof_status = 1;
+ }
+ }
+
+ else
+ ret_val = 0;
+
+ yy_n_chars += number_to_move;
+ yy_current_buffer->yy_ch_buf[yy_n_chars] = 0;
+ yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = 0;
+
+
+
+ PROIO_yytext = &yy_current_buffer->yy_ch_buf[1];
+
+ return ( ret_val );
+ }
+
+
+
+
+static yy_state_type yy_get_previous_state()
+
+ {
+ register yy_state_type yy_current_state;
+ register unsigned char *yy_cp;
+
+ yy_current_state = yy_start;
+
+ for ( yy_cp = PROIO_yytext + 0; yy_cp < yy_c_buf_p; ++yy_cp )
+ {
+ register unsigned char yy_c = (*yy_cp ? yy_ec[*yy_cp] : 1);
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = yy_def[yy_current_state];
+ if ( yy_current_state >= 34 )
+ yy_c = yy_meta[yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
+ }
+
+ return ( yy_current_state );
+ }
+
+
+
+
+static yy_state_type yy_try_NUL_trans( yy_current_state )
+register yy_state_type yy_current_state;
+
+ {
+ register int yy_is_jam;
+ register unsigned char *yy_cp = yy_c_buf_p;
+
+ register unsigned char yy_c = 1;
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = yy_def[yy_current_state];
+ if ( yy_current_state >= 34 )
+ yy_c = yy_meta[yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
+ yy_is_jam = (yy_current_state == 33);
+
+ return ( yy_is_jam ? 0 : yy_current_state );
+ }
+
+
+static void yyunput( c, yy_bp )
+unsigned char c;
+register unsigned char *yy_bp;
+
+ {
+ register unsigned char *yy_cp = yy_c_buf_p;
+
+
+ *yy_cp = yy_hold_char;
+
+ if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ {
+ register int number_to_move = yy_n_chars + 2;
+ register unsigned char *dest =
+ &yy_current_buffer->yy_ch_buf[yy_current_buffer->yy_buf_size + 2];
+ register unsigned char *source =
+ &yy_current_buffer->yy_ch_buf[number_to_move];
+
+ while ( source > yy_current_buffer->yy_ch_buf )
+ *--dest = *--source;
+
+ yy_cp += dest - source;
+ yy_bp += dest - source;
+ yy_n_chars = yy_current_buffer->yy_buf_size;
+
+ if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ do { (void) fputs( "flex scanner push-back overflow", stderr ); (void) fputc( ('\n'), (stderr) ); exit( 1 ); } while ( 0 );
+ }
+
+ if ( yy_cp > yy_bp && yy_cp[-1] == '\n' )
+ yy_cp[-2] = '\n';
+
+ *--yy_cp = c;
+
+
+ PROIO_yytext = yy_bp; PROIO_yyleng = yy_cp - yy_bp; yy_hold_char = *yy_cp; *yy_cp = '\0'; yy_c_buf_p = yy_cp;;
+ }
+
+
+static int input()
+
+ {
+ int c;
+ unsigned char *yy_cp = yy_c_buf_p;
+
+ *yy_cp = yy_hold_char;
+
+ if ( *yy_c_buf_p == 0 )
+ {
+
+ if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+
+ *yy_c_buf_p = '\0';
+
+ else
+ {
+ PROIO_yytext = yy_c_buf_p;
+ ++yy_c_buf_p;
+
+ switch ( yy_get_next_buffer() )
+ {
+ case 1:
+ {
+ if ( PROIO_yywrap() )
+ {
+ yy_c_buf_p = PROIO_yytext + 0;
+ return ( (-1) );
+ }
+
+ do { PROIO_yy_init_buffer( yy_current_buffer, PROIO_yyin ); PROIO_yy_load_buffer_state(); } while ( 0 );
+
+ return ( input() );
+ }
+ break;
+
+ case 0:
+ yy_c_buf_p = PROIO_yytext + 0;
+ break;
+
+ case 2:
+ do { (void) fputs( "unexpected last match in input()", stderr ); (void) fputc( ('\n'), (stderr) ); exit( 1 ); } while ( 0 );
+ }
+ }
+ }
+
+ c = *yy_c_buf_p;
+ yy_hold_char = *++yy_c_buf_p;
+
+ return ( c );
+ }
+
+
+void PROIO_yyrestart( input_file )
+FILE *input_file;
+
+ {
+ PROIO_yy_init_buffer( yy_current_buffer, input_file );
+ PROIO_yy_load_buffer_state();
+ }
+
+
+void PROIO_yy_switch_to_buffer( new_buffer )
+YY_BUFFER_STATE new_buffer;
+
+ {
+ if ( yy_current_buffer == new_buffer )
+ return;
+
+ if ( yy_current_buffer )
+ {
+
+ *yy_c_buf_p = yy_hold_char;
+ yy_current_buffer->yy_buf_pos = yy_c_buf_p;
+ yy_current_buffer->yy_n_chars = yy_n_chars;
+ }
+
+ yy_current_buffer = new_buffer;
+ PROIO_yy_load_buffer_state();
+
+
+ yy_did_buffer_switch_on_eof = 1;
+ }
+
+
+void PROIO_yy_load_buffer_state()
+
+ {
+ yy_n_chars = yy_current_buffer->yy_n_chars;
+ PROIO_yytext = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
+ PROIO_yyin = yy_current_buffer->yy_input_file;
+ yy_hold_char = *yy_c_buf_p;
+ }
+
+
+YY_BUFFER_STATE PROIO_yy_create_buffer( file, size )
+FILE *file;
+int size;
+
+ {
+ YY_BUFFER_STATE b;
+
+ b = (YY_BUFFER_STATE) malloc( sizeof( struct yy_buffer_state ) );
+
+ if ( ! b )
+ do { (void) fputs( "out of dynamic memory in yy_create_buffer()", stderr ); (void) fputc( ('\n'), (stderr) ); exit( 1 ); } while ( 0 );
+
+ b->yy_buf_size = size;
+
+
+ b->yy_ch_buf = (unsigned char *) malloc( (unsigned) (b->yy_buf_size + 2) );
+
+ if ( ! b->yy_ch_buf )
+ do { (void) fputs( "out of dynamic memory in yy_create_buffer()", stderr ); (void) fputc( ('\n'), (stderr) ); exit( 1 ); } while ( 0 );
+
+ PROIO_yy_init_buffer( b, file );
+
+ return ( b );
+ }
+
+
+void PROIO_yy_delete_buffer( b )
+YY_BUFFER_STATE b;
+
+ {
+ if ( b == yy_current_buffer )
+ yy_current_buffer = (YY_BUFFER_STATE) 0;
+
+ free( (char *) b->yy_ch_buf );
+ free( (char *) b );
+ }
+
+
+void PROIO_yy_init_buffer( b, file )
+YY_BUFFER_STATE b;
+FILE *file;
+
+ {
+ b->yy_input_file = file;
+
+
+
+ b->yy_ch_buf[0] = '\n';
+ b->yy_n_chars = 1;
+
+
+ b->yy_ch_buf[1] = 0;
+ b->yy_ch_buf[2] = 0;
+
+ b->yy_buf_pos = &b->yy_ch_buf[1];
+
+ b->yy_eof_status = 0;
+ }
+# line 108 "lexer.l"
+
+
+
+static int lex_input() {
+ return input();
+}
+
+
+void LexFromFile(FILE *fd)
+{
+ lex_read_from_string = 0;
+ PROIO_yyin = fd;
+
+ yy_init = 1;
+}
+
+void LexFromString(char *buffer)
+{
+ lex_read_from_string = 1;
+ lex_buffer = buffer;
+ lex_buffer_length = __strlen( (( char*) buffer) );
+ lex_string_ptr = 0;
+
+ yy_init = 1;
+}
+
+static int my_input( void )
+{
+ if (lex_read_from_string) {
+ if (lex_string_ptr == lex_buffer_length)
+ return 0;
+ else {
+ char c = lex_buffer[lex_string_ptr++];
+ return c;
+ }
+ } else {
+ return lex_input();
+ }
+}
+
+void wxExprCleanUp()
+{
+ if (yy_current_buffer)
+ PROIO_yy_delete_buffer(yy_current_buffer);
+}
+
+
+
+
+
+void PROIO_yyerror(char *s)
+{
+ syntax_error(s);
+}
+
+
+
+
+
+int PROIO_yywrap() { return 1; }
+#line 247 "y_tab.c"
+int
+PROIO_yyparse()
+{
+ register int yym, yyn, yystate;
+
+ PROIO_yynerrs = 0;
+ PROIO_yyerrflag = 0;
+ PROIO_yychar = (-1);
+
+ PROIO_yyssp = PROIO_yyss;
+ PROIO_yyvsp = PROIO_yyvs;
+ *PROIO_yyssp = yystate = 0;
+
+yyloop:
+ if (yyn = PROIO_yydefred[yystate]) goto yyreduce;
+ if (PROIO_yychar < 0)
+ {
+ if ((PROIO_yychar = PROIO_yylex()) < 0) PROIO_yychar = 0;
+ }
+ if ((yyn = PROIO_yysindex[yystate]) && (yyn += PROIO_yychar) >= 0 &&
+ yyn <= 254 && PROIO_yycheck[yyn] == PROIO_yychar)
+ {
+ if (PROIO_yyssp >= PROIO_yyss + 600 - 1)
+ {
+ goto yyoverflow;
+ }
+ *++PROIO_yyssp = yystate = PROIO_yytable[yyn];
+ *++PROIO_yyvsp = PROIO_yylval;
+ PROIO_yychar = (-1);
+ if (PROIO_yyerrflag > 0) --PROIO_yyerrflag;
+ goto yyloop;
+ }
+ if ((yyn = PROIO_yyrindex[yystate]) && (yyn += PROIO_yychar) >= 0 &&
+ yyn <= 254 && PROIO_yycheck[yyn] == PROIO_yychar)
+ {
+ yyn = PROIO_yytable[yyn];
+ goto yyreduce;
+ }
+ if (PROIO_yyerrflag) goto yyinrecovery;
+yynewerror:
+ PROIO_yyerror("syntax error");
+yyerrlab:
+ ++PROIO_yynerrs;
+yyinrecovery:
+ if (PROIO_yyerrflag < 3)
+ {
+ PROIO_yyerrflag = 3;
+ for (;;)
+ {
+ if ((yyn = PROIO_yysindex[*PROIO_yyssp]) && (yyn += 256) >= 0 &&
+ yyn <= 254 && PROIO_yycheck[yyn] == 256)
+ {
+ if (PROIO_yyssp >= PROIO_yyss + 600 - 1)
+ {
+ goto yyoverflow;
+ }
+ *++PROIO_yyssp = yystate = PROIO_yytable[yyn];
+ *++PROIO_yyvsp = PROIO_yylval;
+ goto yyloop;
+ }
+ else
+ {
+ if (PROIO_yyssp <= PROIO_yyss) goto yyabort;
+ --PROIO_yyssp;
+ --PROIO_yyvsp;
+ }
+ }
+ }
+ else
+ {
+ if (PROIO_yychar == 0) goto yyabort;
+ PROIO_yychar = (-1);
+ goto yyloop;
+ }
+yyreduce:
+ yym = PROIO_yylen[yyn];
+ PROIO_yyval = PROIO_yyvsp[1-yym];
+ switch (yyn)
+ {
+case 3:
+#line 68 "parser.y"
+{process_command(proio_cons(wxmake_word(PROIO_yyvsp[-1].s), 0)); free(PROIO_yyvsp[-1].s);}
+break;
+case 4:
+#line 70 "parser.y"
+{process_command(PROIO_yyvsp[-1].s);}
+break;
+case 5:
+#line 72 "parser.y"
+{syntax_error("Unrecognized command.");}
+break;
+case 6:
+#line 76 "parser.y"
+{PROIO_yyval.s = proio_cons(wxmake_word(PROIO_yyvsp[-3].s), PROIO_yyvsp[-1].s); free(PROIO_yyvsp[-3].s);}
+break;
+case 7:
+#line 78 "parser.y"
+{PROIO_yyval.s = proio_cons(0, 0);}
+break;
+case 8:
+#line 80 "parser.y"
+{PROIO_yyval.s = PROIO_yyvsp[-1].s; }
+break;
+case 9:
+#line 84 "parser.y"
+{PROIO_yyval.s = 0;}
+break;
+case 10:
+#line 86 "parser.y"
+{PROIO_yyval.s = proio_cons(PROIO_yyvsp[0].s, 0);}
+break;
+case 11:
+#line 89 "parser.y"
+{PROIO_yyval.s = proio_cons(PROIO_yyvsp[-2].s, PROIO_yyvsp[0].s);}
+break;
+case 12:
+#line 93 "parser.y"
+{PROIO_yyval.s = proio_cons(wxmake_word("="), proio_cons(wxmake_word(PROIO_yyvsp[-2].s), proio_cons(PROIO_yyvsp[0].s, 0)));
+ free(PROIO_yyvsp[-2].s); }
+break;
+case 13:
+#line 96 "parser.y"
+{PROIO_yyval.s = PROIO_yyvsp[0].s; }
+break;
+case 14:
+#line 99 "parser.y"
+{PROIO_yyval.s = wxmake_word(PROIO_yyvsp[0].s); free(PROIO_yyvsp[0].s);}
+break;
+case 15:
+#line 101 "parser.y"
+{PROIO_yyval.s = wxmake_string(PROIO_yyvsp[0].s); free(PROIO_yyvsp[0].s);}
+break;
+case 16:
+#line 103 "parser.y"
+{PROIO_yyval.s = wxmake_integer(PROIO_yyvsp[0].s); free(PROIO_yyvsp[0].s);}
+break;
+case 17:
+#line 105 "parser.y"
+{PROIO_yyval.s = wxmake_real(PROIO_yyvsp[-2].s, PROIO_yyvsp[0].s); free(PROIO_yyvsp[-2].s); free(PROIO_yyvsp[0].s); }
+break;
+case 18:
+#line 107 "parser.y"
+{PROIO_yyval.s = wxmake_exp(PROIO_yyvsp[-2].s, PROIO_yyvsp[0].s); free(PROIO_yyvsp[-2].s); free(PROIO_yyvsp[0].s); }
+break;
+case 19:
+#line 110 "parser.y"
+{PROIO_yyval.s = wxmake_exp2(PROIO_yyvsp[-4].s, PROIO_yyvsp[-2].s, PROIO_yyvsp[0].s); free(PROIO_yyvsp[-4].s); free(PROIO_yyvsp[-2].s);
+ free(PROIO_yyvsp[0].s); }
+break;
+case 20:
+#line 114 "parser.y"
+{PROIO_yyval.s = PROIO_yyvsp[0].s;}
+break;
+#line 461 "y_tab.c"
+ }
+ PROIO_yyssp -= yym;
+ yystate = *PROIO_yyssp;
+ PROIO_yyvsp -= yym;
+ yym = PROIO_yylhs[yyn];
+ if (yystate == 0 && yym == 0)
+ {
+ yystate = 1;
+ *++PROIO_yyssp = 1;
+ *++PROIO_yyvsp = PROIO_yyval;
+ if (PROIO_yychar < 0)
+ {
+ if ((PROIO_yychar = PROIO_yylex()) < 0) PROIO_yychar = 0;
+ }
+ if (PROIO_yychar == 0) goto yyaccept;
+ goto yyloop;
+ }
+ if ((yyn = PROIO_yygindex[yym]) && (yyn += yystate) >= 0 &&
+ yyn <= 254 && PROIO_yycheck[yyn] == yystate)
+ yystate = PROIO_yytable[yyn];
+ else
+ yystate = PROIO_yydgoto[yym];
+ if (PROIO_yyssp >= PROIO_yyss + 600 - 1)
+ {
+ goto yyoverflow;
+ }
+ *++PROIO_yyssp = yystate;
+ *++PROIO_yyvsp = PROIO_yyval;
+ goto yyloop;
+yyoverflow:
+ PROIO_yyerror("yacc stack overflow");
+yyabort:
+ return (1);
+yyaccept:
+ return (0);
+}