00001 package plp.expressions1.expression; 00002 00003 import plp.expressions1.util.Tipo; 00004 import plp.expressions1.util.TipoPrimitivo; 00005 00006 public class ExpSomaReal extends ExpBinaria { 00007 00008 public ExpSomaReal(Expressao esq, Expressao dir) { 00009 super(esq, dir, "+r"); 00010 } 00011 00012 @Override 00013 protected boolean checaTipoElementoTerminal() { 00014 return (getEsq().getTipo().eReal() && getDir().getTipo().eReal()); 00015 } 00016 00017 public Valor avaliar() { 00018 return new ValorReal( 00019 ((ValorReal) getEsq().avaliar()).valor() + 00020 ((ValorReal) getDir().avaliar()).valor() ); 00021 } 00022 00023 public Tipo getTipo() { 00024 return TipoPrimitivo.REAL; 00025 } 00026 00027 }
1.5.8