#
/*
 *
 *
 * The  information  in  this  document  is  subject  to  change
 * without  notice  and  should not be construed as a commitment
 * by Digital Equipment Corporation or by DECUS.
 * 
 * Neither Digital Equipment Corporation, DECUS, nor the authors
 * assume any responsibility for the use or reliability of  this
 * document or the described software.
 * 
 * 	Modifications Copyright (C) 1980, DECUS
 * 
 * 
 * General permission to copy or modify, but not for profit,  is
 * hereby  granted,  provided that the above copyright notice is
 * included and reference made to  the  fact  that  reproduction
 * privileges were granted by DECUS.
 *
 */

/*
 * lex library header file -- accessed through
 *	#include <lex.h>
 */

/*
 * description of scanning
 * tables.
 * the entries at the front of
 * the struct must remain in
 * place for the assembler routines
 * to find.
 */
struct	lextab {
	int	llendst;		/* Last state number		*/
	char	*lldefault;		/* Default state table		*/
	char	*llnext;		/* Next state table		*/
	char	*llcheck;		/* Check table			*/
	int	*llbase;		/* Base table			*/
	int	llnxtmax;		/* Last in base table		*/

	int	(*llmove)();		/* Move between states		*/
	int	*llfinal;		/* Final state descriptions	*/
	int	(*llactr)();		/* Action routine		*/
	int	*lllook;		/* Look ahead vector if != NULL	*/
	char	*llign;			/* Ignore char vec if != NULL	*/
	char	*llbrk;			/* Break char vec if != NULL	*/
	char	*llill;			/* Illegal char vec if != NULL	*/
};

extern	struct	lextab	*_tabp;

extern	FILE	*lexin;		/* scanner input file */

#define	lexval	yylval
#define	LEXERR	256
#define	LEXSKIP	(-1)
/*
 * #define	LEXECHO(fp)	{lexecho((fp));}
 */
extern	int	lexval;
extern	int	yyline;

extern char llbuf[];
extern char *llend;
#define	lextext	llbuf
#define	lexlast llend
