//      The C++ Scanner interface for Demeter System:
//                        By
//                   Chen-Dah Shen 
//
#ifndef GETSYMDEMH
#define GETSYMDEMH

#include <stream.h>

// #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

