case GLOBAL: return "global";
  private String tokenName(int token)  {    switch (token) {    case -1:      return "end of file";          case '\'':      return "'";    case AS: return "'as'";          case TRUE: return "true";    case FALSE: return "false";          case AND_RES: return "'and'";    case OR_RES: return "'or'";    case XOR_RES: return "'xor'";          case IF: return "'if'";    case ELSE: return "'else'";    case ELSEIF: return "'elseif'";    case ENDIF: return "'endif'";          case WHILE: return "'while'";    case ENDWHILE: return "'endwhile'";    case DO: return "'do'";          case FOR: return "'for'";    case ENDFOR: return "'endfor'";          case FOREACH: return "'foreach'";    case ENDFOREACH: return "'endforeach'";          case SWITCH: return "'switch'";    case ENDSWITCH: return "'endswitch'";          case ECHO: return "'echo'";          case LIST: return "'list'";    case CASE: return "'case'";          case DEFAULT: return "'default'";    case CLASS: return "'class'";    case RETURN: return "'return'";          case SIMPLE_STRING_ESCAPE: return "string";    case COMPLEX_STRING_ESCAPE: return "string";          case REQUIRE: return "require";    case REQUIRE_ONCE: return "require_once";          case PRIVATE: return "private";    case PROTECTED: return "protected";    case PUBLIC: return "public";          case FUNCTION: return "function";          case ARRAY_RIGHT: return "'=>'";    case LSHIFT: return "'<<'";          case IDENTIFIER:      return "'" + _lexeme + "'";    case LONG:      return "integer (" + _lexeme + ")";    case TEXT:      return "TEXT (token " + token + ")";    case TEXT_ECHO:      return "<?=";          default:      if (32 <= token && token < 127)	return "'" + (char) token + "'";      else	return "(token " + token + ")";    }  }