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