Логотип Автор24реферат
Заказать работу
%
уникальность
не проверялась
Контрольная работа на тему:

Заданную КС-грамматику приведите к грамматике Вирта (простого предшествования)

уникальность
не проверялась
Аа
2723 символов
Категория
Информатика
Контрольная работа
Заданную КС-грамматику приведите к грамматике Вирта (простого предшествования) .pdf

Зарегистрируйся в 2 клика в Кампус и получи неограниченный доступ к материалам с подпиской Кампус+ 🔥

Условие

Заданную КС-грамматику приведите к грамматике Вирта (простого предшествования). Для этого устраните факультативные [ ] и итеративные { } скобки путем добавления новых альтернатив и праворекурсивных правил. Постройте матрицу простого предшествования. Проведите свертку указанной правильной цепочки с использованием построенных Вами отношений предшествования. S :: = CALL <идентификатор><список фактических параметров> <список фактических параметров> :: = <параметр>{,< параметр >} <параметр> :: = < идентификатор> | <константа > <идентификатор> - обозначаем @; <константа> - обозначаем k; Цепочка для свертки: CALL PRIMER1 ( ABC, 27, 15 )

Нужно полное решение этой работы?

Решение

Потяни, чтобы посмотреть
Переобозначим нетерминалы для сокращения записи и избавимся от факультативных и итеративных скобок:
S-> CALL @ ( L )
L-> P | P, L
P-> @ | k
Новая грамматика не является грамматикой простого предшествования, т.к. между символами L и ) двойственные отношения:
L = ) и L > ) так как R(L) > DO , a L является R(L) из-за наличия в грамматике правила L-> P, L
Введя новый нетерминал L1 и правило для него L1->L избавимся от двойственных отношений и получим грамматику простого предшествования эквивалентную заданной:
S-> CALL @ ( L1 )
L1-> L
L-> P | P, L
P-> @ | k
Построим таблицу самых левых и самых правых символов для нетерминалов грамматики:
N L(N) R(N)
S CALL )
L1 L P @ k L P @ k
L P @ k P L @ k
P @ k @ k
Таблица простого предшествования будет иметь вид:
S CALL @ ( L1 ) L P , k
S
CALL
=
@
=
>
>
(
<
=
< <
<
L1
=
)
L
>
P
>
=
,
<
= <
<
k
>
>
Проведем свертку заданной цепочки:
# CALL PRIMER1 ( ABC , 27 , 15 ) #
< = = < >
# CALL PRIMER1 ( P , 27 , 15 ) #
< = = < = < >
# CALL PRIMER1 ( P , P , 15 ) #
< = = < = < = < >
# CALL PRIMER1 ( P , P , P ) #
< = = < = < = < >
# CALL PRIMER1 ( P , P , L ) #
< = = < = < = = >
# CALL PRIMER1 ( P , L ) #
< = = < = = >
# CALL PRIMER1 ( L ) #
< = = < >
# CALL PRIMER1 ( L1 ) #
< = = = = >
# S #
50% задачи недоступно для прочтения
Переходи в Автор24, регистрируйся и получай полное решение
Получить задачу
Больше контрольных работ по информатике:

Решить уравнение двумя способами

1365 символов
Информатика
Контрольная работа

Дайте полные развёрнутые ответы на вопросы

648 символов
Информатика
Контрольная работа
Все Контрольные работы по информатике
Закажи контрольную работу
Оставляя свои контактные данные и нажимая «Узнать стоимость», я соглашаюсь пройти процедуру регистрации на Платформе, принимаю условия Пользовательского соглашения и Политики конфиденциальности в целях заключения соглашения.

Наш проект является банком работ по всем школьным и студенческим предметам. Если вы не хотите тратить время на написание работ по ненужным предметам или ищете шаблон для своей работы — он есть у нас.