private void printExp(Exp exp){
		if(exp == null){
			return;
		}

		if(exp instanceof BinaryExp){
			Exp leftExp;
			if( (leftExp = ((BinaryExp) exp).getLeft()) != null){
				printExp(leftExp);
			}

			System.out.print(" " + ((BinaryExp)exp).getOp() + " ");

			Exp rightExp;
			if( (rightExp = ((BinaryExp) exp).getRight()) != null){
				printExp(rightExp);
			}
			return;
		}else if(exp instanceof IntExp){
			System.out.print(((IntExp)exp).getInt());
			return;
		}else if(exp instanceof DoubleExp){
			System.out.print(((DoubleExp)exp).getDouble());
			return;
		}else if(exp instanceof IdExp){
			System.out.print(((IdExp)exp).getId());
			return;
		}else if(exp instanceof StrExp){
			System.out.print(((StrExp)exp).getString());
			return;
		}

		return;
	}