Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2013, 08:14   #1
Коптелова Ольга
Новичок
Джуниор
 
Регистрация: 28.05.2013
Сообщений: 1
По умолчанию Грамматика

Я ноль в программирование..но для зачёта нужно сделать эту задачу на с#:

1.Определить, пуст ли язык L(G) для заданной грамматики G.

вот алгоритм :Алгоритм, определяющий, является ли язык L(G) пустым, можно организо-
вать следующим образом. Сначала надо построить коллекцию деревьев, пред-
ставляющихвыводыв грамматикеG:
Шаг 1. Начать коллекцию с единственного дерева, представленного только
корнем — узлом с меткой S.
Шаг 2. Добавить к коллекции любое дерево, которое может быть получено
из дерева, уже имеющегося в коллекции, посредством применения единственно-
го правила, если образующееся дерево не имеет ни одной ветви, длиннее m, и
если такого еще нет в коллекции. Поскольку число таких деревьев конечно, то
процесс в конце концов закончится
Шаг 3.Теперь язык L(G) непуст, если в построенной коллекции есть хотя бы
одно дерево, представляющее вывод терминальной цепочки. Иначе язык L(G)
пуст


Грамматику можно задавать, как угодно - как удобно.

Например, все заглавные буквы можно считать нетерминалами, а строчные терминалами.
Зададим начальный нетерминал:
char S = 'A';

Правила для нетерминалов в программе можно задать строками:
char* A = "aBa a";
char* B = "bBb b"

Которые соответствуют правилам: А->aBa, A->a, B->bBb, B->b
Коптелова Ольга вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработка компилятора.АТ грамматика. savva Помощь студентам 7 05.05.2013 20:51
Формальная грамматика lawliet93 Помощь студентам 0 18.08.2012 23:39
грамматика haM Microsoft Office Word 4 21.02.2012 10:33
vba - грамматика tyrus2 Microsoft Office Word 1 30.06.2010 15:33