ContextoCompilacaoImperativa.java

Go to the documentation of this file.
00001 package plp.imperative1.memory;
00002 
00003 import plp.expressions1.util.Tipo;
00004 import plp.expressions2.memory.ContextoCompilacao;
00005 import plp.expressions2.memory.VariavelJaDeclaradaException;
00006 import plp.expressions2.memory.VariavelNaoDeclaradaException;
00007 
00008 public class ContextoCompilacaoImperativa extends ContextoCompilacao 
00009         implements AmbienteCompilacaoImperativa {
00010 
00014     private ListaValor entrada;
00015 
00019     public ContextoCompilacaoImperativa(ListaValor entrada){
00020         super();
00021         this.entrada = entrada;        
00022     }
00023 
00024     public Tipo getTipoEntrada() throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException,
00025                 EntradaVaziaException {
00026         if(entrada == null || entrada.getHead() == null) {
00027             throw new EntradaVaziaException();
00028         }
00029         Tipo aux = entrada.getHead().getTipo(this);
00030         entrada = (ListaValor)entrada.getTail();
00031         return aux;            
00032     }
00033     
00034 }
00035 

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