/*scanner.h Definitions for scanner.cc for the WFF language. Copyright (c) 1998 by Matthew Belmonte.*/ enum TokenType { /* ATOMS */ IdentifierToken, /*a one-character identifier name, 'A'..'Z'*/ /* UNARY OPERATOR */ NotToken, /* ~ */ /* BINARY OPERATORS */ AndToken, /* & */ OrToken, /* | */ ImpliesToken, /* => */ EquivToken, /* = */ /* LEXICAL GOODIES */ LeftParenToken, /* ( */ RightParenToken, /* ) */ PeriodToken, /* . */ }; /*data abstractors for tokens*/ class Token { public: Token(); /*default constructor*/ Token(TokenType); /*non-identifier token*/ Token(char); /*identifier token with specified val.*/ TokenType type; char identifier; /*value of identifier*/ void next(); /*gets next token from input*/ void print(); /*prints contents of node*/ private: void make_token(TokenType); void letter_start(); void symbol_start(); }; void init_scanner();