plp.orientadaObjetos1.memoria
Interface AmbienteExecucao

All Superinterfaces:
Ambiente
All Known Implementing Classes:
ContextoExecucao

public interface AmbienteExecucao
extends Ambiente

Classe que representa um ambiente de execução, contendo om mapeamento entre identificadores e valores.


Method Summary
 void changeValor(Id idArg, Valor valorId)
          Altera o valor associado a um identificador.
 AmbienteExecucao clone()
           
 void get(Id idArg, Valor valorId)
           
 ContextoExecucao getContextoIdValor()
          Obtém um novo contexto de execução com a mesma entrada, saída e pilha de mapeamentos id/valor.
 ListaValor getEntrada()
          Obtém a entrada.
 Objeto getObjeto(ValorRef valorRef)
          Obtém o objeto associado a um dado valor referencia.
 java.util.Stack<java.util.Hashtable<Id,Valor>> getPilha()
          Obtém a pilha de valores associados a identificadores
 java.util.Stack<java.util.Hashtable<Id,DefClasse>> getPilhaDefClasse()
          Retorna a pilha com as definiçoes das classes.
 java.util.Stack<java.util.Hashtable<ValorRef,Objeto>> getPilhaObjeto()
          Obtém a pilha com os objetos e seus valores.
 ValorRef getProxRef()
          Obtém a próxima referência de acordo com o contexto atual de execução.
 ValorRef getRef()
          Obtém o valor referencia atual.
 ListaValor getSaida()
          Obtém a saída.
 Valor getValor(Id idArg)
          Obtém o valor associado a um determinado identificador.
 void mapObjeto(ValorRef valorRef, Objeto objeto)
          Mapeia um valor referência a um objeto.
 void mapValor(Id idArg, Valor valorId)
          Mapeia um identificador a um valor.
 void put(Id idArg, Valor valorId)
           
 Valor read(Tipo tipoIdLido)
          Lê da entrada padrão e associa o conteúdo a um determinado identificador.
 AmbienteExecucao write(Valor v)
          Escreve um valor 'v' na saída.
 
Methods inherited from interface plp.orientadaObjetos1.memoria.Ambiente
getDefClasse, incrementa, mapDefClasse, restaura
 

Method Detail

getPilha

java.util.Stack<java.util.Hashtable<Id,Valor>> getPilha()
Obtém a pilha de valores associados a identificadores

Returns:
a pilha de valores associados a identificadores.

getPilhaDefClasse

java.util.Stack<java.util.Hashtable<Id,DefClasse>> getPilhaDefClasse()
Retorna a pilha com as definiçoes das classes.

Returns:
a pilha com as definiçoes das classes.

getPilhaObjeto

java.util.Stack<java.util.Hashtable<ValorRef,Objeto>> getPilhaObjeto()
Obtém a pilha com os objetos e seus valores.

Returns:
a pilha com os objetos e seus valores.

mapValor

void mapValor(Id idArg,
              Valor valorId)
              throws VariavelJaDeclaradaException
Mapeia um identificador a um valor.

Parameters:
idArg - Identificador.
valorId - Valor que vai ser associado ao identificador.
Throws:
VariavelJaDeclaradaException - Quando a variável já foi declarada.

mapObjeto

void mapObjeto(ValorRef valorRef,
               Objeto objeto)
               throws ObjetoJaDeclaradoException
Mapeia um valor referência a um objeto.

Parameters:
valorRef - Valor referência.
objeto - Objeto.
Throws:
ObjetoJaDeclaradoException - Quando esse objeto já foi declarado.

changeValor

void changeValor(Id idArg,
                 Valor valorId)
                 throws VariavelNaoDeclaradaException
Altera o valor associado a um identificador.

Parameters:
idArg - Identificador.
valorId - O valor a ser associado ao identificador.
Throws:
VariavelNaoDeclaradaException - Quando a variável não foi declarada.

getValor

Valor getValor(Id idArg)
               throws VariavelNaoDeclaradaException
Obtém o valor associado a um determinado identificador.

Parameters:
idArg - Identificador
Returns:
o valor associado a um determinado identificador.
Throws:
VariavelNaoDeclaradaException - Quando a variável não foi declarada.

getObjeto

Objeto getObjeto(ValorRef valorRef)
                 throws ObjetoNaoDeclaradoException
Obtém o objeto associado a um dado valor referencia.

Parameters:
valorRef - Valor referência
Returns:
o objeto associado a um dado valor referencia.
Throws:
ObjetoNaoDeclaradoException - Quando o objeto não foi declarado.

getProxRef

ValorRef getProxRef()
Obtém a próxima referência de acordo com o contexto atual de execução.

Returns:
a próxima referência de acordo com o contexto atual de execução.

getRef

ValorRef getRef()
Obtém o valor referencia atual.

Returns:
o valor referencia atual.

read

Valor read(Tipo tipoIdLido)
           throws EntradaInvalidaException
Lê da entrada padrão e associa o conteúdo a um determinado identificador.

Parameters:
tipoIdLido - Tipo do identificador ao qual será associado o valor lido.
Returns:
o valor lido.
Throws:
EntradaInvalidaException - Quando a entrada fornecida não pode ser atribuída ao tipo do identificador.

write

AmbienteExecucao write(Valor v)
Escreve um valor 'v' na saída.

Parameters:
v - O valor a ser escrito.
Returns:
o ambiente de execução, que representa o estado atual.

getEntrada

ListaValor getEntrada()
Obtém a entrada.

Returns:
a entrada.

getSaida

ListaValor getSaida()
Obtém a saída.

Returns:
a saída.

getContextoIdValor

ContextoExecucao getContextoIdValor()
Obtém um novo contexto de execução com a mesma entrada, saída e pilha de mapeamentos id/valor.

Returns:
um novo contexto de execução com a mesma entrada, saída e pilha de mapeamentos id/valor.

clone

AmbienteExecucao clone()

get

void get(Id idArg,
         Valor valorId)
         throws VariavelNaoDeclaradaException
Throws:
VariavelNaoDeclaradaException

put

void put(Id idArg,
         Valor valorId)
         throws VariavelNaoDeclaradaException
Throws:
VariavelNaoDeclaradaException