package zinara.ast.expression; import zinara.ast.type.Type; import zinara.ast.type.FloatType; import zinara.code_generator.Genx86; import zinara.exceptions.InvalidCodeException; import java.io.IOException; public class FloatExp extends Expression { public double value; public FloatExp ( double n ) { value=n; type = new FloatType(); } public Type getType() { return type; } public String toString() { return Double.toString(value); } public void tox86(Genx86 generate) throws IOException,InvalidCodeException { String reg = generate.regName(register,new FloatType()); generate.write(generate.movReal(reg,generate.toReal(value))); } public void negative(){ this.value *= -1; } public boolean isStaticallyKnown() { return true; } public Object staticValue() { return new Float(value); }; }