ExpConcat.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 
00013 public class ExpConcat extends ExpBinaria{
00014   
00015 
00024         public ExpConcat(Expressao esq, Expressao dir){
00025                 super(esq, dir, "++");
00026         } 
00027 
00031         public Valor avaliar(AmbienteExecucao amb) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException {
00032                 return new ValorString(
00033                                         ( (ValorString) getEsq().avaliar(amb)).valor() +
00034                                         ( (ValorString) getDir().avaliar(amb)).valor()
00035                 );
00036         }
00037 
00049         protected boolean checaTipoElementoTerminal(AmbienteCompilacao ambiente)
00050                         throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException {
00051                 return (getEsq().getTipo(ambiente).eString() && getDir().getTipo(ambiente).eString());
00052         }
00053 
00060         public Tipo getTipo(AmbienteCompilacao ambiente) {
00061                 return Tipo.TIPO_STRING;
00062         }
00063 
00064 }

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