public Funcao(string nome, int tamanho, TabelaSimbolos variaveis, string label) { this.nome = nome; this.tamanho = tamanho; this.variaveis = variaveis; this.label = label; }
public TabelaSimbolos RetornaVariaveisGlobais() { TabelaSimbolos escopo = new TabelaSimbolos(); foreach (var par in Tabela) { if (par.Value.nivel == 0 && par.Value.classe != Simbolo.Classe.funcao) { escopo.Insere(par.Value); } } return(escopo); }
public TabelaSimbolos RetornaEscopo(int nivel) { TabelaSimbolos escopo = new TabelaSimbolos(); foreach (var par in Tabela) { if (par.Value.nivel == nivel) { escopo.Insere(par.Value); } } return(escopo); }
public void Insere(string nome_funcao, TabelaSimbolos escopo) { Funcao temp = new Funcao(nome_funcao, escopo.RetornaTamanho(), escopo, labels.GerarLabelFuncao()); Escopos.Add(nome_funcao, temp); }