00001 package plp.expressions2.expression; 00002 00003 import plp.expressions1.util.Tipo; 00004 import plp.expressions2.memory.AmbienteCompilacao; 00005 import plp.expressions2.memory.AmbienteExecucao; 00006 import plp.expressions2.memory.VariavelJaDeclaradaException; 00007 import plp.expressions2.memory.VariavelNaoDeclaradaException; 00008 00012 public interface Expressao { 00013 00017 Valor avaliar(AmbienteExecucao amb) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException; 00018 00027 boolean checaTipo(AmbienteCompilacao amb) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException; 00028 00036 Tipo getTipo(AmbienteCompilacao amb) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException; 00037 00038 }