// The C++ Scanner interface for Demeter System: // By // Chen-Dah Shen // #ifndef GETSYMDEMH #define GETSYMDEMH #include // #define TOKVALLEN 1000 enum token_kind {END,IDENT,NUMBER,STRING,PATTERN,KEYWORD,REAL_NUMBER,TEXT,TOKEN_NOT_RECOGNIZED}; class D__token { // char value[TOKVALLEN]; char* value; int len; token_kind kind; int line_number; FILE* fp; public: D__token(){}; ~D__token(){}; token_kind get_kind() {return kind;} char* get_value() {return value;} int get_len() { return len; } int get_line_number() { return line_number;} D__token *get_sym(); D__token *get_sym_dh(); D__token *scanner(char*); D__token *scanner_dh(char*); }; extern D__token* Token; #endif