plp.functional1.declaration
Interface DeclaracaoFuncional

All Known Implementing Classes:
DecFuncao, DecFuncao, DecVariavel

public interface DeclaracaoFuncional


Method Summary
 boolean checaTipo(AmbienteCompilacao ambiente)
          Realiza a verificacao de tipos desta declaração.
 int getAridade()
          Retorna a aridade da funcao declarada.
 Expressao getExpressao()
          Retorna a expressao associada.
 Id getID()
           
 Tipo getTipo(AmbienteCompilacao amb)
          Retorna os tipos possiveis desta declaração.
 

Method Detail

getID

Id getID()

getAridade

int getAridade()
Retorna a aridade da funcao declarada. Variaveis tem aridade 0.

Returns:
a aridade da funcao declarada.

getExpressao

Expressao getExpressao()
Retorna a expressao associada.

Returns:
a expressao associada.

checaTipo

boolean checaTipo(AmbienteCompilacao ambiente)
                  throws VariavelNaoDeclaradaException,
                         VariavelJaDeclaradaException
Realiza a verificacao de tipos desta declaração.

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

Tipo getTipo(AmbienteCompilacao amb)
             throws VariavelNaoDeclaradaException,
                    VariavelJaDeclaradaException
Retorna os tipos possiveis desta declaração.

Parameters:
amb - o ambiente que contem o mapeamento entre identificadores e tipos.
Returns:
os tipos possiveis desta declaração.
Throws:
VariavelNaoDeclaradaException - se houver uma variável não declarada no ambiente.
VariavelJaDeclaradaException - se houver uma mesma variável declarada duas vezes no mesmo bloco do ambiente.