plp.functional1.expression
Class ExpDeclaracao

java.lang.Object
  extended by plp.functional1.expression.ExpDeclaracao
All Implemented Interfaces:
Expressao

public class ExpDeclaracao
extends java.lang.Object
implements Expressao


Constructor Summary
ExpDeclaracao(java.util.List<DeclaracaoFuncional> declaracoesFuncionais, Expressao expressaoArg)
           
 
Method Summary
 Valor avaliar(AmbienteExecucao ambienteFuncional)
          Avalia a expressao retornando seu Valor.
 boolean checaTipo(AmbienteCompilacao ambiente)
          Realiza a verificacao de tipos desta expressao.
 Expressao getExpressao()
          Returns the expressao.
 java.util.List<DeclaracaoFuncional> getSeqdecFuncional()
          Returns the seqdecVariavel.
 Tipo getTipo(AmbienteCompilacao ambiente)
          Retorna os tipos possiveis desta expressao.
 java.lang.String toString()
          Retorna uma representacao String desta expressao.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ExpDeclaracao

public ExpDeclaracao(java.util.List<DeclaracaoFuncional> declaracoesFuncionais,
                     Expressao expressaoArg)
Method Detail

toString

public java.lang.String toString()
Retorna uma representacao String desta expressao. Util para depuracao.

Overrides:
toString in class java.lang.Object
Returns:
uma representacao String desta expressao.

avaliar

public Valor avaliar(AmbienteExecucao ambienteFuncional)
              throws VariavelNaoDeclaradaException,
                     VariavelJaDeclaradaException
Description copied from interface: Expressao
Avalia a expressao retornando seu Valor.

Specified by:
avaliar in interface Expressao
Throws:
VariavelNaoDeclaradaException
VariavelJaDeclaradaException

checaTipo

public boolean checaTipo(AmbienteCompilacao ambiente)
                  throws VariavelNaoDeclaradaException,
                         VariavelJaDeclaradaException
Realiza a verificacao de tipos desta expressao.

Specified by:
checaTipo in interface Expressao
Parameters:
amb - o ambiente de compilação.
Returns:
true se os tipos da expressao sao validos; false caso contrario.
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 ambiente)
             throws VariavelNaoDeclaradaException,
                    VariavelJaDeclaradaException
Retorna os tipos possiveis desta expressao.

Specified by:
getTipo in interface Expressao
Parameters:
amb - o ambiente de compilação.
Returns:
os tipos possiveis desta expressao.
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

getSeqdecFuncional

public java.util.List<DeclaracaoFuncional> getSeqdecFuncional()
Returns the seqdecVariavel.

Returns:
List

getExpressao

public Expressao getExpressao()
Returns the expressao.

Returns:
Expressao