plp.functional2.expression
Class Aplicacao

java.lang.Object
  extended by plp.functional2.expression.Aplicacao
All Implemented Interfaces:
Expressao

public class Aplicacao
extends java.lang.Object
implements Expressao


Constructor Summary
Aplicacao(Expressao f, java.util.List<Expressao> expressoes)
           
 
Method Summary
 Valor avaliar(AmbienteExecucao ambiente)
          Avalia a expressao retornando seu Valor.
 boolean checaTipo(AmbienteCompilacao ambiente)
          Realiza a verificacao de tipos desta expressao.
 java.util.List<Expressao> getArgsExpressao()
          Returns the args.
 Id getFunc()
          Returns the func.
 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

Aplicacao

public Aplicacao(Expressao f,
                 java.util.List<Expressao> expressoes)
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 ambiente)
              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

getFunc

public Id getFunc()
Returns the func.

Returns:
Id

getArgsExpressao

public java.util.List<Expressao> getArgsExpressao()
Returns the args.

Returns:
ListaExpressao