public static void printToken(Symbol s) {
	System.err.print(tokenToString(s));

	String val = null;

	switch (s.sym) {
	case TokenConstants.BOOL_CONST:
	    System.err.print(" = " + s.value);
	    break;
	case TokenConstants.INT_CONST:
	    val = ((AbstractSymbol)s.value).getString();
	    System.err.print(" = " + val);
	    if (checkTables) {
		AbstractTable.inttable.lookup(val);
	    }
	    break;
	case TokenConstants.TYPEID:
	case TokenConstants.OBJECTID:
	    val = ((AbstractSymbol)s.value).getString();
	    System.err.print(" = " + val);
	    if (checkTables) {
		AbstractTable.idtable.lookup(val);
	    }
	    break;
	case TokenConstants.STR_CONST: 
	    val = ((AbstractSymbol)s.value).getString();
	    System.err.print(" = \"");
	    printEscapedString(System.err, val);
	    System.err.print("\"");
	    if (checkTables) {
		AbstractTable.stringtable.lookup(val);
	    }
	    break;
	case TokenConstants.ERROR:
	    System.err.print(" = \"");
	    printEscapedString(System.err, s.value.toString());
	    System.err.print("\"");
	    break;
	}
	System.err.println("");
    }