plp.imperative1.declaration
Class DeclaracaoVariavel

java.lang.Object
  extended by plp.imperative1.declaration.Declaracao<Id,Expressao>
      extended by plp.imperative1.declaration.DeclaracaoVariavel

public class DeclaracaoVariavel
extends Declaracao<Id,Expressao>


Constructor Summary
DeclaracaoVariavel(Id id, Expressao expressao)
           
 
Method Summary
 boolean checaTipo(AmbienteCompilacaoImperativa ambiente)
          Verifica se a declaração está bem tipada, ou seja, se a expressão de inicialização está bem tipada, e cria o mapeamento da variavel para o seu tipo correspondente
 AmbienteExecucaoImperativa elabora(AmbienteExecucaoImperativa ambiente)
          Cria um mapeamento do identificador para o valor da expressão desta declaração no AmbienteExecucao
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DeclaracaoVariavel

public DeclaracaoVariavel(Id id,
                          Expressao expressao)
Method Detail

elabora

public AmbienteExecucaoImperativa elabora(AmbienteExecucaoImperativa ambiente)
                                   throws IdentificadorJaDeclaradoException,
                                          IdentificadorNaoDeclaradoException
Cria um mapeamento do identificador para o valor da expressão desta declaração no AmbienteExecucao

Specified by:
elabora in class Declaracao<Id,Expressao>
Parameters:
ambiente - o ambiente que contem o mapeamento entre identificadores e valores.
Returns:
o ambiente modificado pela inicialização da variável.
Throws:
IdentificadorJaDeclaradoException
IdentificadorNaoDeclaradoException

checaTipo

public boolean checaTipo(AmbienteCompilacaoImperativa ambiente)
                  throws IdentificadorJaDeclaradoException,
                         IdentificadorNaoDeclaradoException
Verifica se a declaração está bem tipada, ou seja, se a expressão de inicialização está bem tipada, e cria o mapeamento da variavel para o seu tipo correspondente

Specified by:
checaTipo in class Declaracao<Id,Expressao>
Parameters:
ambiente - o ambiente que contem o mapeamento entre identificadores e seus tipos.
Returns:
true se os tipos da declaração são válidos; false caso contrario.
Throws:
IdentificadorJaDeclaradoException
IdentificadorNaoDeclaradoException