ExpOr.java

Go to the documentation of this file.
00001 package plp.expressions2.expression;
00002 
00003 import plp.expressions1.util.Tipo;
00004 import plp.expressions2.memory.AmbienteCompilacao;
00005 import plp.expressions2.memory.AmbienteExecucao;
00006 import plp.expressions2.memory.VariavelJaDeclaradaException;
00007 import plp.expressions2.memory.VariavelNaoDeclaradaException;
00008 
00012 public class ExpOr extends ExpBinaria {
00013 
00022         public ExpOr(Expressao esq, Expressao dir){
00023                 super(esq, dir, "or");
00024         }
00025 
00026 
00030         public Valor avaliar(AmbienteExecucao amb) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException {
00031         return new ValorBooleano(
00032                                 ((ValorBooleano)getEsq().avaliar(amb)).valor() ||
00033                                 ((ValorBooleano)getDir().avaliar(amb)).valor() );
00034         }
00035 
00047         protected boolean checaTipoElementoTerminal(AmbienteCompilacao ambiente)
00048                         throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException {
00049                 return (getEsq().getTipo(ambiente).eBooleano() && getDir().getTipo(ambiente).eBooleano());
00050         }
00051 
00058         public Tipo getTipo(AmbienteCompilacao ambiente) {
00059                 return Tipo.TIPO_BOOLEANO;
00060         }
00061 
00062 }

Generated on Tue Sep 12 21:36:02 2006 for PLP by  doxygen 1.4.7