00001 package plp.imperative1.command; 00002 00003 import plp.expressions2.expression.Expressao; 00004 import plp.imperative1.memory.AmbienteExecucaoImperativa; 00005 import plp.imperative1.memory.AmbienteCompilacaoImperativa; 00006 import plp.expressions2.memory.VariavelNaoDeclaradaException; 00007 import plp.expressions2.memory.VariavelJaDeclaradaException; 00008 00009 public class Write implements IO { 00010 00011 private Expressao expressao; 00012 00013 public Write(Expressao expressao){ 00014 this.expressao = expressao; 00015 } 00016 00026 public AmbienteExecucaoImperativa executar(AmbienteExecucaoImperativa ambiente) 00027 throws VariavelJaDeclaradaException, VariavelNaoDeclaradaException { 00028 ambiente.write( expressao.avaliar(ambiente) ); 00029 return ambiente; 00030 } 00031 00040 public boolean checaTipo(AmbienteCompilacaoImperativa ambiente) 00041 throws VariavelJaDeclaradaException, VariavelNaoDeclaradaException { 00042 return expressao.checaTipo(ambiente); 00043 } 00044 00045 00046 }