Atribuicao.java

Go to the documentation of this file.
00001 package plp.imperative1.command;
00002 
00003 import plp.expressions2.expression.Expressao;
00004 import plp.expressions2.expression.Id;
00005 import plp.expressions2.memory.VariavelNaoDeclaradaException;
00006 import plp.expressions2.memory.VariavelJaDeclaradaException;
00007 import plp.imperative1.memory.AmbienteExecucaoImperativa;
00008 import plp.imperative1.memory.AmbienteCompilacaoImperativa;
00009 
00010 public class Atribuicao implements Comando {
00011 
00012     private Id id;
00013     
00014     private Expressao expressao;
00015     
00016     public Atribuicao(Id id, Expressao expressao){
00017         this.id = id;
00018         this.expressao = expressao;
00019     }
00020     
00030     public AmbienteExecucaoImperativa executar(AmbienteExecucaoImperativa ambiente) 
00031                 throws VariavelJaDeclaradaException, VariavelNaoDeclaradaException {
00032         ambiente.changeValor(id, expressao.avaliar(ambiente));
00033         return ambiente;
00034     }
00035 
00048     public boolean checaTipo(AmbienteCompilacaoImperativa ambiente) 
00049         throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException{
00050         return expressao.checaTipo(ambiente) &&
00051                id.getTipo(ambiente).equals(expressao.getTipo(ambiente));
00052     }
00053 
00054 }

Generated on Tue Sep 12 21:52:04 2006 for PLP by  doxygen 1.4.7