private void скачатьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                if (saveFileDialog1.ShowDialog() == DialogResult.Cancel)
                {
                    return;
                }
                // получаем выбранный файл
                string filename = saveFileDialog1.FileName;

                var str = "";
                if (KS != null)
                {
                    str += "КС грамматика: " + Environment.NewLine;
                    str += "Алфавит: " + KS.GetVTString() + Environment.NewLine;
                    str += "Алфавит нетерминальный: " + KS.GetVNString() + Environment.NewLine;
                    str += "Лямбда: " + KS.Lambda + Environment.NewLine;
                    str += "Стартовый символ: " + KS.Start + Environment.NewLine;
                    str += "Грамматика: " + KS.ToString() + Environment.NewLine;
                    if (ChainKS != null)
                    {
                        str += "Цепочки: " + Environment.NewLine;
                        foreach (var ch in ChainKS)
                        {
                            str += ch.Str + Environment.NewLine;
                        }
                    }
                }

                if (BNF != null)
                {
                    str += "БНФ грамматика: " + Environment.NewLine;
                    str += "Алфавит: " + BNF.GetVTString() + Environment.NewLine;
                    str += "Алфавит нетерминальный: " + BNF.GetVNString() + Environment.NewLine;
                    str += "Лямбда: " + BNF.Lambda + Environment.NewLine;
                    str += "Стартовый символ: " + BNF.Start + Environment.NewLine;
                    str += "Грамматика: " + BNF.ToString() + Environment.NewLine;
                    if (ChainBNF != null)
                    {
                        str += "Цепочки: " + Environment.NewLine;
                        foreach (var ch in ChainBNF)
                        {
                            str += ch.Str + Environment.NewLine;
                        }
                    }
                }

                // сохраняем текст в файл
                System.IO.File.WriteAllText(filename, str);
                MessageBox.Show("Файл сохранен");
            }
            catch (Exception ex)
            {
                textBox1.Text += Environment.NewLine + ex.Message;
            }
        }