|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectplp.orientadaObjetos1.memoria.ContextoCompilacao
public class ContextoCompilacao
Representa o contexto de compilaçao.
Field Summary | |
---|---|
private ListaValor |
entrada
A tail de valores inicias do contexto. |
private java.util.Stack<java.util.Hashtable<Id,Tipo>> |
pilha
A pilha de tipos do contexto. |
private java.util.Stack<java.util.Hashtable<Id,DefClasse>> |
pilhaDefClasse
A pilha de classes do contexto. |
private java.util.Stack<java.util.Hashtable<Id,ListaDeclaracaoParametro>> |
pilhaProcedimento
A pilha de procedimentos do contexto. |
Constructor Summary | |
---|---|
ContextoCompilacao(ListaValor entrada)
O Construtor da classe. |
Method Summary | |
---|---|
DefClasse |
getDefClasse(Id idArg)
Obtém a definição da classe cujo nome é idArg |
ListaDeclaracaoParametro |
getParametrosProcedimento(Id idArg)
Obtém a tail de parâmetros associada a um identificador que representa nome do método. |
Tipo |
getTipo(Id idArg)
Obtém o tipo associado a um dado identificador |
Tipo |
getTipoEntrada()
Obtém o tipo da entrada atual para este ambiente. |
void |
incrementa()
Incrementa a pilha do ambiente, passando para o próximo estado. |
void |
mapDefClasse(Id idArg,
DefClasse defClasse)
Mapeia um identificador a um definição de classe. |
void |
mapParametrosProcedimento(Id idArg,
ListaDeclaracaoParametro parametrosId)
Mapeia um identificador representando um método aos seus parâmetros. |
void |
mapTipo(Id idArg,
Tipo tipoId)
Mapeia um identificador a um tipo. |
void |
restaura()
Restaura o estado do ambiente. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private java.util.Stack<java.util.Hashtable<Id,Tipo>> pilha
private java.util.Stack<java.util.Hashtable<Id,ListaDeclaracaoParametro>> pilhaProcedimento
private java.util.Stack<java.util.Hashtable<Id,DefClasse>> pilhaDefClasse
private ListaValor entrada
Constructor Detail |
---|
public ContextoCompilacao(ListaValor entrada)
Method Detail |
---|
public void incrementa()
incrementa
in interface Ambiente
public void restaura()
restaura
in interface Ambiente
public void mapTipo(Id idArg, Tipo tipoId) throws VariavelJaDeclaradaException
mapTipo
in interface AmbienteCompilacao
idArg
- IdentificadortipoId
- Tipo que deve ser associado ao identificador.
VariavelJaDeclaradaException
- quando o id já foi declarado.public void mapParametrosProcedimento(Id idArg, ListaDeclaracaoParametro parametrosId) throws ProcedimentoJaDeclaradoException
mapParametrosProcedimento
in interface AmbienteCompilacao
idArg
- identificador do método.parametrosId
- Parâmetros do método
ProcedimentoJaDeclaradoException
- quando o procedimento já foi
declarado.public void mapDefClasse(Id idArg, DefClasse defClasse) throws ClasseJaDeclaradaException
mapDefClasse
in interface Ambiente
idArg
- o nome da classedefClasse
- Definição da Classe.
ClasseJaDeclaradaException
- quando a classe já foi declarada.public Tipo getTipo(Id idArg) throws VariavelNaoDeclaradaException
getTipo
in interface AmbienteCompilacao
idArg
- Identificador
VariavelNaoDeclaradaException
- quando id não foi declarado.public ListaDeclaracaoParametro getParametrosProcedimento(Id idArg) throws ProcedimentoNaoDeclaradoException
getParametrosProcedimento
in interface AmbienteCompilacao
idArg
- Identificador que representa o nome do método.
ProcedimentoNaoDeclaradoException
- quando não foi declarado nenhum
método com esse id.public DefClasse getDefClasse(Id idArg) throws ClasseNaoDeclaradaException
getDefClasse
in interface Ambiente
idArg
- Nome da classe.
ClasseNaoDeclaradaException
- quando nao foi declarada nenhuma
classe com esse nome.public Tipo getTipoEntrada() throws VariavelNaoDeclaradaException
getTipoEntrada
in interface AmbienteCompilacao
VariavelNaoDeclaradaException
- quando a entrada atual é
uma variável não declarada.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |