public void BLOCO() { if (Reconhece("var")) { VARS(); } int j = k; k = k + 1; if (Reconhece("begin")) { COMS(); if (Reconhece("end")) { Sem.LimpaEscopo(j); return; } else { ErroSint(tk, "end"); while (tk.Descricao != "EOF" && tk.Descricao != ";" && tk.Descricao != "else" && tk.Descricao != ".") { tk = Lex.NextToken(); } } } else { ErroSint(tk, "begin"); while (tk.Descricao != "EOF" && tk.Descricao != ";" && tk.Descricao != "else" && tk.Descricao != ".") { tk = Lex.NextToken(); } } //sem.imprimeTabela(); Sem.LimpaEscopo(j); }