Exemple #1
0
        private void btnCheckString_Click(object sender, EventArgs e)
        {
            Analyzer analyzer;
            if (rdbRecursive.Checked)
                analyzer = new DescentRecursiveAnalyzer();
            else
            {
                Grammar g = _dispatcher.getGrammar();
                analyzer = new DescendingBacktrackAnalyzer(g);
            }

            try
            {
                if (_dispatcher.analyze(txtInputString.Text, analyzer))
                    lblResult.Text = "Цепочка порождается данной грамматикой.";
                else
                    lblResult.Text = "Цепочка не порождается данной грамматикой.";
                rtbHistory.Text = _dispatcher.getHistory();
            }
            catch (FormatException fex)
            {
                MessageBox.Show("Произошла следующая ошибка: " + fex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (BadArgumentException baex)
            {
                MessageBox.Show("Произошла следующая ошибка: " + baex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemple #2
0
 private void rdbRecursive_CheckedChanged(object sender, EventArgs e)
 {
     btnLoad.Enabled = !rdbRecursive.Checked;
     if (rdbRecursive.Checked)
     {
         Grammar g = new DescentRecursiveAnalyzer().getGrammar();
         rtbGrammar.Text = g.ToString();
     }
 }