Пример #1
0
        private void Analyze()
        {
            bool result = false;

            if (Splitter == "" || Or == "" || Range == "" || Empty == "")
            {
                MessageBox.Show("Заполните все поля специальных символов.");
                return;
            }

            if (ContainerWrapper.Where(c => c.Name == "").Any())
            {
                MessageBox.Show("Заполните все идентификаторы действий.");
                return;
            }

            actionsContainer.Clear();

            try
            {
                Grammar gram = new Grammar(Grammar, new SpecialSymbols(Splitter, Empty.First(), Or.First(), Range.First()), actionsContainer);
                result = gram.Validate(InputData);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            if (result)
            {
                Result = "Разбор завершен успешно.";
            }
            else
            {
                Result = "Во время разбора возникла ошибка.";
            }

            OnPropertyChanged(nameof(Result));
        }