00001 package plp.expressions1.expression; 00002 00003 import plp.expressions1.util.Tipo; 00004 00008 public class ExpSoma extends ExpBinaria { 00009 00017 public ExpSoma(Expressao esq, Expressao dir) { 00018 super(esq, dir, "+"); 00019 } 00020 00024 public Valor avaliar() { 00025 return new ValorInteiro( 00026 ((ValorInteiro) getEsq().avaliar()).valor() + 00027 ((ValorInteiro) getDir().avaliar()).valor() ); 00028 } 00029 00036 protected boolean checaTipoElementoTerminal() { 00037 return (getEsq().getTipo().eInteiro() && getDir().getTipo().eInteiro()); 00038 } 00039 00045 public Tipo getTipo() { 00046 return Tipo.TIPO_INTEIRO; 00047 } 00048 00049 }