59 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
 | 
						|
 * See the copyright notice in the ACK home directory, in the file "Copyright".
 | 
						|
 */
 | 
						|
/* $Id$ */
 | 
						|
/* D E F I N I T I O N S   F O R   T H E   L E X I C A L   A N A L Y Z E R */
 | 
						|
#ifndef LLLEX_H_
 | 
						|
#define LLLEX_H_
 | 
						|
 | 
						|
/*	A token from the input stream is represented by an integer,
 | 
						|
	called a "symbol", but it may have other information associated
 | 
						|
	to it.
 | 
						|
*/
 | 
						|
 | 
						|
/* the structure of a token:	*/
 | 
						|
struct token	{
 | 
						|
	int tok_symb;		/* the token itself */
 | 
						|
	union	{
 | 
						|
		char *tok_str;
 | 
						|
		struct {
 | 
						|
			int tok_unsigned;
 | 
						|
			arith tok_val;		/* for INTEGER */
 | 
						|
		} tok_int;
 | 
						|
	} tok_data;
 | 
						|
};
 | 
						|
 | 
						|
#include "file_info.h"
 | 
						|
 | 
						|
#define tk_symb	tok_symb
 | 
						|
#define tk_str	tok_data.tok_str
 | 
						|
#define tk_val	tok_data.tok_int.tok_val
 | 
						|
#define tk_unsigned tok_data.tok_int.tok_unsigned
 | 
						|
 | 
						|
extern struct token dot;
 | 
						|
 | 
						|
extern int ReplaceMacros;	/* "LLlex.c"	*/
 | 
						|
extern int AccDefined;		/* "LLlex.c"	*/
 | 
						|
extern int Unstacked;		/* "LLlex.c"	*/
 | 
						|
extern int UnknownIdIsZero;	/* "LLlex.c"	*/
 | 
						|
extern int AccFileSpecifier;    /* "LLlex.c"    */
 | 
						|
 | 
						|
extern int NoUnstack;		/* buffer.c	*/
 | 
						|
 | 
						|
extern int err_occurred;	/* "error.c"	*/
 | 
						|
 | 
						|
#define	DOT	dot.tk_symb
 | 
						|
 | 
						|
#define EOF	(-1)
 | 
						|
 | 
						|
/* Public function declarations */
 | 
						|
 | 
						|
int LLlex(void);
 | 
						|
int GetToken(register struct token* ptok);
 | 
						|
void skipcomment(void);
 | 
						|
void skiplinecomment(void);
 | 
						|
/* Get next character input, with trigraph parsing and newline	*/
 | 
						|
int GetChar(void);
 | 
						|
 | 
						|
#endif /* LLLLEX_H_ */
 |