#include "tokens.h"
#include <iostream>

using namespace std;
static const char *token_images[] =
    {"Declare", "Begin", "End", "Assign", "And", "Not", "Identifier",
     "Integer_Literal"};


token :: token(int j)
    : value(j), First_Token(Declare)
{
}

int token :: is_end_of_input()
{
  return value == 0;
}

ostream & operator << (ostream & out, token & t)
{
  if (t.value < t.First_Token)
    out << "'" << (char)t.value << "'";
  else
    out << token_images[t.value-t.First_Token];
  return out;
}
