00001 package plp.expressions1.expression; 00002 00003 import plp.expressions1.util.Tipo; 00004 import plp.expressions1.util.TipoPrimitivo; 00005 00009 public class ExpSoma extends ExpBinaria { 00010 00018 public ExpSoma(Expressao esq, Expressao dir) { 00019 super(esq, dir, "+"); 00020 } 00021 00025 public Valor avaliar() { 00026 return new ValorInteiro( 00027 ((ValorInteiro) getEsq().avaliar()).valor() + 00028 ((ValorInteiro) getDir().avaliar()).valor() ); 00029 } 00030 00037 protected boolean checaTipoElementoTerminal() { 00038 return (getEsq().getTipo().eInteiro() && getDir().getTipo().eInteiro()); 00039 } 00040 00046 public Tipo getTipo() { 00047 return TipoPrimitivo.INTEIRO; 00048 } 00049 00050 }
1.5.8