Exemple #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            LexAnalyzator la       = new LexAnalyzator();
            String        laResult = la.process(textBox1.Text);

            if (la.HasErrors)
            {
                textBox2.Text = laResult;
            }
            else
            {
                textBox3.Text = laResult;
                SA3 sa = new SA3();

                MessageBox.Show(sa.process(la.getTokens()));
                if (!sa.Errors)
                {
                    la.process(textBox1.Text);
                    IntermediateCodeGenerator icg = new IntermediateCodeGenerator(la.getTokens());
                    icg.process();
                    dataGridView1.ColumnCount      = 3;
                    dataGridView1.Columns[0].Width = dataGridView1.Columns[0].Width + 650;
                    dataGridView1.Columns[1].Width = dataGridView1.Columns[1].Width + 100;
                    dataGridView1.Columns[0].Name  = "ПОЛИЗ";
                    dataGridView1.Columns[1].Name  = "СТЕК";
                    dataGridView1.Columns[2].Name  = "ВХОД";
                    foreach (ICGInfo info in icg.Information)
                    {
                        String[] row = new String[3];
                        row[0] = info.Result;
                        row[1] = info.Stack;
                        row[2] = info.Input;
                        dataGridView1.Rows.Add(row);
                    }
                    textBox2.Text = icg.Information[icg.Information.Count - 1].Result;
                    Executor exec = new Executor(icg.Result, la.getIDs().Cast <ID>()
                                                 .ToList());
                    while (!exec.process())
                    {
                        exec.ReadVarValue = Double.Parse(
                            Microsoft.VisualBasic.Interaction.InputBox("Будь ласка, введіть значення " + exec.ReadVar + ":", "Введіть значення", "0"));
                    }
                    MessageBox.Show("ПРОГРАМА УСПІШНО ВИКОНАНА\r\n" + exec.Result);
                }
            }
        }