ExpAnd.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 ExpAnd extends ExpBinaria{
00013 
00022         public ExpAnd(Expressao esq, Expressao dir) {
00023                 super(esq, dir, "and");
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         }
00036  
00048         protected boolean checaTipoElementoTerminal(AmbienteCompilacao ambiente)
00049                         throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException {
00050                 return (getEsq().getTipo(ambiente).eBooleano() && getDir().getTipo(ambiente).eBooleano());
00051         }
00052 
00059         public Tipo getTipo(AmbienteCompilacao ambiente) {
00060                 return Tipo.TIPO_BOOLEANO;
00061         }
00062 
00063 }

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