plp.functional1.declaration
Class DecVariavel

java.lang.Object
  extended by plp.functional1.declaration.DecVariavel
All Implemented Interfaces:
DeclaracaoFuncional

public class DecVariavel
extends java.lang.Object
implements DeclaracaoFuncional


Constructor Summary
DecVariavel(Id idArg, Expressao expressaoArg)
           
 
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.
 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

DecVariavel

public DecVariavel(Id idArg,
                   Expressao expressaoArg)
Method Detail

getAridade

public int getAridade()
Description copied from interface: DeclaracaoFuncional
Retorna a aridade da funcao declarada. Variaveis tem aridade 0.

Specified by:
getAridade in interface DeclaracaoFuncional
Returns:
a aridade da funcao declarada.

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.

getExpressao

public Expressao getExpressao()
Description copied from interface: DeclaracaoFuncional
Retorna a expressao associada.

Specified by:
getExpressao in interface DeclaracaoFuncional
Returns:
a expressao associada.

getID

public Id getID()
Specified by:
getID in interface DeclaracaoFuncional

getTipo

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

Specified by:
getTipo in interface DeclaracaoFuncional
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.

checaTipo

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

Specified by:
checaTipo in interface DeclaracaoFuncional
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