private void AnalBut_Click(object sender, EventArgs e) { LexicalAnalizator analizator = new LexicalAnalizator(AnalizTextBox.Text); if (analizator.analysis()) // анализ успешно завершен { ResultTextBox.Text = analizator.ToString(); this.analizator = analizator; updateTableLexeme(analizator.tableLexemes, analizator.tableID); } syntacticAnalizator = new SyntacticAnalizator(analizator.tableLexemes); try { syntacticAnalizator.work(); UpdateTreeView(syntacticAnalizator.listExpression); MessageBox.Show("Построение завершено"); CodeGenerator codeGenerator = new CodeGenerator(syntacticAnalizator.listExpression, analizator.idHashTable); codeGenerator.Generate(); updateTableId(analizator.idHashTable); UpdateCodeView(codeGenerator.codeBlocks); } catch (lab1.Exceptions.SyntaxException exp) { MessageBox.Show(exp.Message); } }
void updateTables(LexicalAnalizator analizator) { updateTableId(analizator.idHashTable); updateTableLexeme(analizator.tableLexemes, analizator.tableID); }