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