plp.imperative1.command
Class Atribuicao

java.lang.Object
  extended by plp.imperative1.command.Atribuicao
All Implemented Interfaces:
Comando

public class Atribuicao
extends java.lang.Object
implements Comando


Constructor Summary
Atribuicao(Id id, Expressao expressao)
           
 
Method Summary
 boolean checaTipo(AmbienteCompilacaoImperativa ambiente)
          Um comando de atribuição está bem tipado, se o tipo do identificador é o mesmo da expressão.
 AmbienteExecucaoImperativa executar(AmbienteExecucaoImperativa ambiente)
          Executa a atribuição.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Atribuicao

public Atribuicao(Id id,
                  Expressao expressao)
Method Detail

executar

public AmbienteExecucaoImperativa executar(AmbienteExecucaoImperativa ambiente)
                                    throws VariavelJaDeclaradaException,
                                           VariavelNaoDeclaradaException
Executa a atribuição.

Specified by:
executar in interface Comando
Parameters:
ambiente - o ambiente que contem o mapeamento entre identificadores e valores.
Returns:
o ambiente modificado pela execução da atribuição.
Throws:
VariavelJaDeclaradaException
VariavelNaoDeclaradaException

checaTipo

public boolean checaTipo(AmbienteCompilacaoImperativa ambiente)
                  throws VariavelNaoDeclaradaException,
                         VariavelJaDeclaradaException
Um comando de atribuição está bem tipado, se o tipo do identificador é o mesmo da expressão. O tipo de um identificador é determinado pelo tipo da expressão que o inicializou (na declaração).

Specified by:
checaTipo in interface Comando
Parameters:
ambiente - o ambiente que contem o mapeamento entre identificadores e valores.
Returns:
true se os tipos da atribuição são válidos; false caso contrario.
Throws:
VariavelNaoDeclaradaException
VariavelJaDeclaradaException