Created
February 18, 2013 01:27
-
-
Save mateusmaso/4974591 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class Semantico implements Constants | |
{ | |
private TabelaHashSimbolos tabelaSimbolos; | |
private boolean expressaoUnicoOperando; | |
private Integer nivelAtual; | |
private Integer deslocamento; | |
/**Armazena o tipo da expressao que esta sendo analisada */ | |
private Tipos tipoExpressao = null; | |
/** Armazena a declaracao de constante que esta sendo analisada no momento. */ | |
private IdConstante constanteAtual = null; | |
/** Armazena o valor da constante sendo analisada */ | |
private String valorConstante = null; | |
/** Armazena o simbolo generico que esta sendo analisado */ | |
private Simbolo simboloAtual = null; | |
/**Armazena o tipo dos elementos do vetor que esta sendo analisado */ | |
private Tipos tipoElementosVetor = null; | |
private Tipos tipoVarIndexada; | |
/**Armazena o tipo do lado esquerdo que esta sendo analisada */ | |
private Tipos tipoLadoEsquerdo = null; | |
/** Armazena o tipo da variavel sendo analisada */ | |
private Tipos tipoVariavel = null; | |
/**Armazena o tipo do fator que esta sendo analisada */ | |
private Tipos tipoFator = null; | |
/**Armazena o tipo do termo que esta sendo analisada */ | |
private Tipos tipoTermo = null; | |
/**Armazena o tipo da expressão que esta sendo analisada */ | |
private Tipos tipoExpressaoSimples = null; | |
/**Armazena se foi encontrado um operadorNegacao */ | |
private Boolean operadorNegacao = false; | |
/**Armazena se foi encontrado um operadorUnario */ | |
/**Armazena o operador relacional que esta sendo analisada */ | |
private OperadoresRelacionais operadorRelacionalAtual = null; | |
private Boolean operadorUnario = false; | |
private OperadoresAdicao operadorAdicaoAtual; | |
private OperadoresMultiplicacao operadorMultiplicacaoAtual; | |
private Stack<Tipos> pilhaExpressao; | |
private Stack<Tipos> pilhaVarIndexada; | |
private Stack<Tipos> pilhaVetores; | |
private Stack<IdMetodo> pilhaMetodos; | |
private ContextoLID contextoLID; | |
private ContextoEXPR contextoEXPR; | |
private int posicaoPrimeiroId; | |
private int posicaoUltimoId; | |
private Tipos tipoAtual; | |
private Tipos tipoConstante; | |
private SubCategorias subCategoria; | |
private Categorias categoriaAtual; | |
private boolean passadoPorReferencia; | |
/** Armazena a funcao que esta sendo declarada no momento */ | |
private IdMetodo metodoAtual = null; | |
/**Armazena o tamanho da dimensao um sendo analisada no momento */ | |
private Integer tamanhoDimensao = null; | |
/** Armazena o numero de parametros atuais */ | |
private Integer numeroParametrosAtuais = 0; | |
/** Armazena o numero de parametros formais */ | |
private Integer numeroParametrosFormais = 0; | |
/** | |
* Armazena uma lista de identificadores nao declarados durante sua analise | |
* para futuramente definir seus tipos. | |
*/ | |
private List<Simbolo> listaDeNaoDeclarados = null; | |
private Stack<Tipos> pilhaTiposRetorno; | |
private boolean clausulaRetorno; | |
[...] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment