/* (C) Copyright International Business Machines Corporation 23 January */
/* 1990.  All Rights Reserved. */
/*  */
/* See the file USERAGREEMENT distributed with this software for full */
/* terms and conditions of use. */
/* SCCS Info: @(#)felex.h	1.2 3/13/90 */

#define MAXTOKSTR 4000
				/* maximum size of literal symbol, string */
#undef YYLMAX
#define YYLMAX MAXTOKSTR
				/* just use lex buffer and change its size */
#define SQUOTE '\''
#define DQUOTE '\"'


double atof();			/* needed for forward declaration */
int atoi();			/* not needed, but makes dfb happy */
void yy_grab_str();		/* ditto */
void skip_comment();		/* double ditto */

/* redefining the following macro (automatically defined in lex.yy.c)
   allows us to accept input from either a file descriptor or a
   character pointer during lexical scanning.  */

#undef input
#define input() (global.charno++, \
		 ((yytchar=yysptr>yysbuf?U(*--yysptr): \
		   (yyin == NULL) ? *yymembuf++ : getc(yyin)) \
		  ==10?(global.lineno++,yytchar):yytchar)==EOF?0:yytchar)

#undef unputc
#define unput(c) {yytchar=(c);if(yytchar=='\n')global.lineno--;*yysptr++=yytchar;}


#define Treturn(x) { global.tokno++; return(x); }

/* This definition serves for ASCII.  If you use a different character set,
   change it. */

#define Notprintable(c) (c < ' ' or c > '~')
