// Written by John Newbigin
// jn@it.swin.edu.au
// Copyright (c) 1999 John Newbigin
// Covered by the terms of the GPL.

#ifndef TOKEN_H
#define TOKEN_H

#include "string.h"
#include <stdio.h>

class TToken
{
public:
	TToken(HugeString *extraWordChars);
	~TToken();

	int AssignFile(char *FileName);
	int getToken(HugeString *string);
	int getLineNo();

private:
	char *filename;
	FILE *f;
	int lineNo;

	int state;
	int peekedChar;

	int GetChar();
	int PeekChar();
	int AcceptChar();
	
	int instring(char c, char *str);
	char *WORDCHARS;
	HugeString *newWORDCHARS;
};

#endif
