
/*	Lexical analysis declaration file
	by Jason Plumb */


#define MAX_LINE_LEN		80
#define	SYM_TABLE_SIZE		255

#define TOKEN_TYPE_ID		100
#define TOKEN_TYPE_CONST	101
#define TOKEN_TYPE_LITERAL	102

typedef struct TTokenStruct{
	int iTokenType;
	char lexemeID[80];
	int lexemeInt;
	bool bVarDeclared;

}TOKEN;



int	initLex(char *pFilename);
void uninitLex();
void initSymTable();
int getNT();								//Get next token
int addToken(char *pStr, int iTokenType);	//Add token to table
int findToken(char *pStr);					//Find a token in the table
int findTokenType(char *pStr);				//Find a token in the table

void removeComments(char *pBuff, bool &bStartsCmts);
void debugPrintSymTable();

