private void compilar() { if (arquivo == "") { salvarArquivo(); } richTextBox2.Clear(); Lexico lexico = new Lexico(); Sintatico.Sintatico sintatico = new Sintatico.Sintatico(); Semantico semantico = null; Semantico.GetLimpa(); semantico = Semantico.GetInstance(); lexico.setInput(richTextBox1.Text); string arq = Path.GetFileNameWithoutExtension(statusStrip1.Items[1].ToString()); semantico.NomeArq = arq; try { sintatico.parse(lexico, new Semantico()); richTextBox2.AppendText("programa compilado com sucesso"); this.compilado = true; Token t = null; /* richTextBox2.AppendText("linha\t\tclasse\t\t\tlexema"+Environment.NewLine); * while ( (t = lexico.nextToken()) != null ) * { * richTextBox2.AppendText(t.Position + "\t\t"+ t.getTipoToken() +"\t\t" +t.Lexeme +Environment.NewLine); * * }*/ } catch (LexicalError e) { richTextBox2.Clear(); richTextBox2.AppendText(" Erro na linha " + e.getPosition() + " - " + e.Message + Environment.NewLine); } catch (SyntaticError e) { richTextBox2.Clear(); richTextBox2.AppendText(" Erro na linha " + e.getPosition() + " - " + e.Message + Environment.NewLine); } catch (SemanticError e) { richTextBox2.Clear(); richTextBox2.AppendText(e.Message + Environment.NewLine); } }