№1 Пусть регулярный язык задан своим описанием:
Множество всех цепочек из {1,a,b}*, начинающихся с цепочки ’a’ и имеющих подцепочку ’aba’. Например, ‘aba’, ‘aaba’, ‘a1aba’ и т.п.
Построить регулярное выражение, задающее этот язык.
№2 Построить регулярную грамматику, задающую язык из задачи №1.
№3 Построить КС-грамматику, задающую язык из задачи №1. Сгенерировать две цепочки языка по построенной грамматике. Процесс генерации цепочек языка записать в виде цепочки вывода, указывая номера применённых правил (или сами правила, как показано в примере). Использовать левосторонний или правосторонний вывод.
№4 Построить детерминированный конечный автомат (ДКА), распознающий язык из задачи №1. Функцию переходов ДКА представить в двух видах: таблицей и графом переходов. Проверить с помощью этого ДКА допустимость цепочек языка, полученных в задаче №3. Процесс проверки выписать в виде последовательности конфигураций построенного ДКА.
№5 Пусть КС-язык задан своим описанием:
L={a 2k b n c 2k+1 ½ k ³ 0, n > 0}. Например, ‘bc’, ‘bbbc’, ‘aabccc’, ‘aabbccc’.
Построить КС-грамматику, задающую этот язык. Допустимо использовать пустые правила. Сгенерировать две цепочки языка по построенной грамматике. Процесс генерации цепочек языка записать в виде цепочки вывода, указывая номера правил.
№6 Построить детерминированный автомат с магазинной памятью, распознающий язык из задачи №5 и работающий с опустошением стека. Проверить с помощью этого ДМПА допустимость цепочек языка, полученных в задаче №5. Процесс проверки выписать в виде последовательности конфигураций построенного ДМПА, указывая номера правил.
№7 Пусть требуется выполнить перевод t цепочек с одного КС-языка на другой:
t = {(x,y) | x = 1nak+1bk, y=02n1k| k³0, n>0}. Например: (1a,00), (1aab,001).
Построить T – схему синтаксически управляемого перевода для выполнения этого t(T). Взять две цепочки исходного языка и выполнить их перевод, процесс перевода выписать в виде выводимых пар цепочек, указывая номера правил.
№8 Построить преобразователь с магазинной памятью P для выполнения перевода t(P) из задачи №7. Взять две цепочки исходного языка и выполнить их перевод, процесс перевода выписать в виде последовательной смены конфигураций построенного преобразователя, указывая номера правил.