jpel.language
Interface Environment

All Known Implementing Classes:
EnvironmentImpl

public interface Environment


Method Summary
 void addContext()
          Incrementa o contexto do ambiente de execução, criando um novo elemento na pilha de bindings.
 void bind(jpel.language.ExpressionId id, jpel.language.Abstraction abstraction)
          Cria uma relação entre um identificador e sua abstração.
 void bind(jpel.language.ExpressionId id, jpel.language.Environment subEnvironment)
          Cria uma relação entre um identificador e seu submódulo.
 jpel.language.Environment createClone()
          Retorna uma cópia do ambiente.
 java.util.Iterator keys()
          Retorna uma listagem de todos os identificadores disponíveis no ambiente.
 jpel.language.Abstraction lookup(jpel.language.ExpressionId id)
          Retorna a abstração associada ao identificador.
 jpel.language.Environment lookupSub(jpel.language.ExpressionId id)
          Retorna o sub-ambiente associado ao identificador.
 void removeContext()
          Decrementa a pilha de execução.
 void resolveRelatives()
          Resolve substitui todas os identificadores relativos aos módulos ("."
 

Method Detail

bind

public void bind(jpel.language.ExpressionId id,
                 jpel.language.Abstraction abstraction)
Cria uma relação entre um identificador e sua abstração.

Parameters:
id - Nome da abstração.
abstraction - Abstração.

bind

public void bind(jpel.language.ExpressionId id,
                 jpel.language.Environment subEnvironment)
Cria uma relação entre um identificador e seu submódulo.

Parameters:
id - Nome da abstração.
subEnvironment - O sub-ambiente.

lookup

public jpel.language.Abstraction lookup(jpel.language.ExpressionId id)
                                 throws IdNotFoundException
Retorna a abstração associada ao identificador.

Parameters:
id - Identificador da abstração.
Returns:
A abstração associada.
Throws:
IdNotFoundException - Quando a abstração com o nome dado não é encontrado.

lookupSub

public jpel.language.Environment lookupSub(jpel.language.ExpressionId id)
                                    throws IdNotFoundException
Retorna o sub-ambiente associado ao identificador.

Parameters:
id - Identificador da abstração.
Returns:
O corpo da abstração associada.
Throws:
IdNotFoundException - Quando a abstração com o nome dado não é encontrado.

keys

public java.util.Iterator keys()
Retorna uma listagem de todos os identificadores disponíveis no ambiente.

Returns:
Um iterator sobre todos o identificadores do ambiente.

addContext

public void addContext()
Incrementa o contexto do ambiente de execução, criando um novo elemento na pilha de bindings.


removeContext

public void removeContext()
Decrementa a pilha de execução.


resolveRelatives

public void resolveRelatives()
Resolve substitui todas os identificadores relativos aos módulos ("."Id) prefixando o nome do módulo ao identificador.


createClone

public jpel.language.Environment createClone()
Retorna uma cópia do ambiente.

Returns:
A cópia.