00001 package plp.expressions1.expression; 00002 00003 import plp.expressions1.util.Tipo; 00004 import plp.expressions1.util.TipoPrimitivo; 00005 00006 public class ExpMult extends ExpBinaria{ 00007 00008 public ExpMult(Expressao esq, Expressao dir) { 00009 super(esq, dir, "*"); 00010 } 00011 00012 public ExpMult(Expressao esq, Expressao dir, String operador) { 00013 super(esq, dir, operador); 00014 } 00015 00016 @Override 00017 protected boolean checaTipoElementoTerminal() { 00018 return getEsq().getTipo().eInteiro() && getDir().getTipo().eInteiro(); 00019 } 00020 00021 public Valor avaliar() { 00022 return new ValorInteiro( 00023 ((ValorInteiro) getEsq().avaliar()).valor() * 00024 ((ValorInteiro) getDir().avaliar()).valor() ); 00025 } 00026 00027 public Tipo getTipo() { 00028 return TipoPrimitivo.INTEIRO; 00029 } 00030 00031 }
1.5.8