00001 package plp.functional1.declaration;
00002
00003 import plp.expressions1.util.Tipo;
00004 import plp.expressions2.expression.Expressao;
00005 import plp.expressions2.expression.Id;
00006 import plp.expressions2.memory.AmbienteCompilacao;
00007 import plp.expressions2.memory.VariavelJaDeclaradaException;
00008 import plp.expressions2.memory.VariavelNaoDeclaradaException;
00009
00010 public interface DeclaracaoFuncional {
00011
00012 public Id getId();
00013
00019 public int getAridade();
00020
00026 public Expressao getExpressao();
00027
00039 public boolean checaTipo(AmbienteCompilacao ambiente)
00040 throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException;
00041
00054 Tipo getTipo(AmbienteCompilacao amb)
00055 throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException;
00056 }