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