public String toString()
	{
		String ambigHash = PSSymbolTable.bitSetPrettyPrint(ambiguity,symbolTable,"    ",80);
		StringBuffer rv = new StringBuffer();
		if(isUnresolved) rv.append("Unresolvable l");
		else rv.append("L");
		rv.append("exical ambiguity");
		if(isUnresolved)
		{
			String statesHash = PSSymbolTable.bitSetPrettyPrint(states,null,"   ",80);
			rv.append(" at parser states").append(statesHash);
		}
		rv.append(ambiguity.cardinality() == 2 ? " between" : " among").append(" terminals:\n   ").append(ambigHash);
		if(!isUnresolved) rv.append("\nResolved by ").append(resolution == -1 ? "context" : "disambiguation function");
		return rv.toString();
	}