package plp.orientadaObjetos1.expressao.valor;

import plp.orientadaObjetos1.expressao.Expressao;
import plp.orientadaObjetos1.memoria.*;
import plp.orientadaObjetos1.util.Tipo;

/**
 * <code>Valor</code> agrupa objetos dos diferentes valores primitivos
 */
public interface Valor extends Expressao {

	/**
	 * Retorna o tipo do valor.
	 * 
	 * @param ambiente
	 *            o ambiente de compila��o.
	 * @return o tipo do valor.
	 */
	public abstract Tipo getTipo(AmbienteCompilacao ambiente);

	public abstract Tipo getTipo(Ambiente ambiente);

}
