00001 package plp.imperative1.declaration; 00002 00003 import plp.imperative1.memory.AmbienteExecucaoImperativa; 00004 import plp.imperative1.memory.AmbienteCompilacaoImperativa; 00005 import plp.imperative1.memory.EntradaVaziaException; 00006 import plp.expressions2.memory.IdentificadorJaDeclaradoException; 00007 import plp.expressions2.memory.IdentificadorNaoDeclaradoException; 00008 00009 public class DeclaracaoComposta extends Declaracao<Declaracao, Declaracao>{ 00010 00011 public DeclaracaoComposta(Declaracao declaracao1, Declaracao declaracao2) { 00012 super(declaracao1, declaracao2); 00013 } 00014 00015 public AmbienteExecucaoImperativa elabora(AmbienteExecucaoImperativa ambiente) 00016 throws IdentificadorJaDeclaradoException, IdentificadorNaoDeclaradoException, 00017 EntradaVaziaException { 00018 return parametro2.elabora(parametro1.elabora(ambiente)); 00019 } 00020 00021 public boolean checaTipo(AmbienteCompilacaoImperativa ambiente) 00022 throws IdentificadorJaDeclaradoException, IdentificadorNaoDeclaradoException, 00023 EntradaVaziaException { 00024 return parametro1.checaTipo(ambiente) && parametro2.checaTipo(ambiente); 00025 } 00026 }