private static void SyntacticalAnalysis() { LexicalAnalysis(); var syntactic = new Syntactic(Lexical.TokensFound); if (syntactic.SyntacticAnalysis()) { Console.WriteLine("Análise Sintática feita com sucesso."); } else { var error = syntactic.Error(); Console.WriteLine($"Erro na análise sintática! Após o Token: {error.Token}, Linha: {error.Line}, Coluna: {error.Column}"); } }
private void SintaticalMenuItem_Click(object sender, EventArgs e) { if (lexicalAnalysis.ReadTokens.Count == 0) { MessageBox.Show("A lista de tokens está vazia, execute a análise léxica primeiramnte."); } else { Syntactic sintaticlAnalysis = new Syntactic(lexicalAnalysis.ReadTokens); if (sintaticlAnalysis.Analysis()) { MessageBox.Show("A análise sintática foi concluida com sucesso."); } else { ReadToken erro = sintaticlAnalysis.ErroToken(); MessageBox.Show("Ocorreu um erro na análise sintática na linha " + erro.Linha + " na coluna " + erro.Coluna + " ao analisar o token " + erro.Token + " cujo lexema é \"" + erro.Lexema + "\""); } } }