// File: tokenizer.h // // Tokenizer class for parsing arithmetic expressions #ifndef _tokenizer_h #define _tokenizer_h #include "token.h" class Tokenizer { public: Tokenizer() ; // default constructor (not useful) Tokenizer(char *); // alternate constructor (use this one) ~Tokenizer() ; // destructor token_t LookAhead() ; // get lookahead token void EatToken() ; // consume next token void PrintError() ; // generate error diagram private: char *str ; // input string int pos ; // current position int last ; // last position int looked ; // = 1, if looked ahead. = 0, otherwise int lookahead_pos ; // stopped scanning here, after looking token_t lookahead ; // lookahead token cached void SkipSpaces(int) ; // skip over white space } ; #endif