00001 package plp.expressions1.expression; 00002 00003 import plp.expressions1.util.Tipo; 00004 import plp.expressions1.util.TipoPrimitivo; 00005 00009 public class ExpSub extends ExpBinaria { 00010 00019 public ExpSub(Expressao esq, Expressao dir) { 00020 super(esq, dir, "-"); 00021 } 00022 00026 public Valor avaliar(){ 00027 return new ValorInteiro( 00028 ((ValorInteiro)getEsq().avaliar()).valor() - 00029 ((ValorInteiro)getDir().avaliar()).valor() 00030 ); 00031 } 00032 00039 protected boolean checaTipoElementoTerminal() { 00040 return (getEsq().getTipo().eInteiro() && getDir().getTipo().eInteiro()); 00041 } 00042 00048 public Tipo getTipo() { 00049 return TipoPrimitivo.INTEIRO; 00050 } 00051 00052 }
1.5.8