plp.expressions2.expression
Class ExpLength

java.lang.Object
  extended by plp.expressions2.expression.ExpUnaria
      extended by plp.expressions2.expression.ExpLength
All Implemented Interfaces:
Expressao

public class ExpLength
extends ExpUnaria

Um objeto desta classe representa uma Expressao de tamanho de String.


Constructor Summary
ExpLength(Expressao exp)
          Controi uma Expressao de tamanho com a expressao especificada assume-se que exp é uma expressao cuja avaliacao resulta num ValorString
 
Method Summary
 Valor avaliar(AmbienteExecucao amb)
          Retorna o valor da Expressao de tamanho.
 Tipo getTipo(AmbienteCompilacao amb)
          Retorna os tipos possiveis desta expressao.
 
Methods inherited from class plp.expressions2.expression.ExpUnaria
checaTipo, getExp, getOperador
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExpLength

public ExpLength(Expressao exp)
Controi uma Expressao de tamanho com a expressao especificada assume-se que exp é uma expressao cuja avaliacao resulta num ValorString

Parameters:
exp - a expressão em questão.
Method Detail

avaliar

public Valor avaliar(AmbienteExecucao amb)
              throws VariavelJaDeclaradaException,
                     VariavelNaoDeclaradaException
Retorna o valor da Expressao de tamanho.

Parameters:
amb - o ambiente de execução.
Returns:
o valor da expressão avaliada.
Throws:
VariavelNaoDeclaradaException - se existir um identificador nao declarado no ambiente.
VariavelNaoDeclaradaException - se existir um identificador declarado mais de uma vez no mesmo bloco do ambiente.
VariavelJaDeclaradaException

getTipo

public Tipo getTipo(AmbienteCompilacao amb)
Retorna os tipos possiveis desta expressao.

Parameters:
amb - o ambiente de compilação.
Returns:
os tipos possiveis desta expressao.