00001 package plp.expressions1.expression; 00002 00003 import plp.expressions1.util.Tipo; 00004 00008 public class ExpSub extends ExpBinaria { 00009 00018 public ExpSub(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 } 00031 00038 protected boolean checaTipoElementoTerminal() { 00039 return (getEsq().getTipo().eInteiro() && getDir().getTipo().eInteiro()); 00040 } 00041 00047 public Tipo getTipo() { 00048 return Tipo.TIPO_INTEIRO; 00049 } 00050 00051 }