ExpSoma.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 ExpSoma extends ExpBinaria {
00013 
00021         public ExpSoma(Expressao esq, Expressao dir) {
00022                 super(esq, dir, "+");
00023         }
00024 
00028         public Valor avaliar(AmbienteExecucao amb) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException {
00029                 return new ValorInteiro(
00030                         ((ValorInteiro) getEsq().avaliar(amb)).valor() +
00031                         ((ValorInteiro) getDir().avaliar(amb)).valor() );
00032         }
00033         
00045         protected boolean checaTipoElementoTerminal(AmbienteCompilacao ambiente)
00046                         throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException {
00047                 return (getEsq().getTipo(ambiente).eInteiro() && getDir().getTipo(ambiente).eInteiro());
00048         }
00049 
00056         public Tipo getTipo(AmbienteCompilacao ambiente) {
00057                 return Tipo.TIPO_INTEIRO;
00058         }
00059 
00060 }

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