00001 package plp.expressions1.expression; 00002 00003 import plp.expressions1.util.Tipo; 00004 import plp.expressions1.util.TipoPrimitivo; 00005 00009 public class ExpAnd extends ExpBinaria{ 00010 00019 public ExpAnd(Expressao esq, Expressao dir) { 00020 super(esq, dir, "and"); 00021 } 00022 00023 00027 public Valor avaliar(){ 00028 return new ValorBooleano( 00029 ((ValorBooleano)getEsq().avaliar()).valor() && 00030 ((ValorBooleano)getDir().avaliar()).valor() 00031 ); 00032 } 00033 00040 protected boolean checaTipoElementoTerminal() { 00041 return (getEsq().getTipo().eBooleano() && getDir().getTipo().eBooleano()); 00042 } 00043 00049 public Tipo getTipo() { 00050 return TipoPrimitivo.BOOLEANO; 00051 } 00052 00053 }
1.5.8