
#ifndef _Symbol_h_INCLUDED
#define _Symbol_h_INCLUDED

#include "StrTab.h"
#include "Value.h"

class Symbol {
  public:
    Symbol (String *_name, Value _value = Value(0)) : value(_value)
	{ name = _name; }
    void Dump(void) { name->Print(); }
    String *Name(void) { return name; }
    Value &Value(void) { return value; }
  private:
    String *name;
    Value value;			/* Global value */
};

extern StrTab *SymbolTable;
void InitSymbol();
Symbol *Intern (String *s);


#endif
