ExpLength.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 ExpLength extends ExpUnaria {
00013  
00021         public ExpLength(Expressao exp) {
00022                 super(exp, "length");
00023         }
00024 
00035         public Valor avaliar(AmbienteExecucao amb) throws VariavelJaDeclaradaException,
00036                         VariavelNaoDeclaradaException {
00037                 return new ValorInteiro (((ValorString)getExp().avaliar(amb)).valor().length());
00038         }
00039 
00051         protected boolean checaTipoElementoTerminal(AmbienteCompilacao amb) throws VariavelJaDeclaradaException,
00052                         VariavelNaoDeclaradaException {
00053                 return (getExp().getTipo(amb).eString());
00054         }
00055 
00062         public Tipo getTipo(AmbienteCompilacao amb) {
00063                 return Tipo.TIPO_INTEIRO;
00064         }
00065 }

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