Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Сформулюйте алгоритм пошуку e-нетерміналів для КВ-граматики.

Для граматики G={N, S, P, S} з схемою

Р: S ® a B D | D A C | b

A ® S C B | S A B C | C b D | e

B ® C A | d

C ® A D C | a | e

D ® E a C | S C

E ® BCS | a

де N = {S, A, B, C, D, E}, S = {a, b, d}, знайти множину e-нетерміналів.

 

Решение

S0 = {A, C}

S1 = {A, C, B}

S2 = {A, C, B}

 

Ответ: S2


 

Задача СП-7

Сформулюйте алгоритм пошуку множини непродуктивних нетерміналів.

 

Нетермінал продуктивний, якщо при застосуванні до нього скінченної кількості правил переходу отримуємо лише термінали.

Алгоритм поиска непродуктивных правил

S0 = {Ai | Ai ®w, wÎT*}

Sk = Sk-1 È {Ai | Ai ®w, wÎ(TÈSk-1)* }

Sm=Sm-1

 

(T) Термінали – букви

(N) Нетермінали – поняття, великі букви =)

Получили множество продуктивных нетерміналів Sm. Все остальные – непродуктивные.

Ответ: N\ Sm


 

Задача СП-8

Сформулюйте алгоритм пошуку множини недосяжних нетерміналів.

 

Алгоритм.

 

  1. S0 = {S}

k. Sk = Sk-1 È{Ai | Aj ® a1a2...Ai...ap, AjÎSk-1}

m. Sm=Sm-1

Sm – множество достижимых нетерминалов.

Ответ: N \ Sm


 

Задача СП-9

Сформулюйте алгоритм пошуку множини ліворекурсивних нетерміналів.

Для граматики G={N, S, P, S} зі схемою Р:

S ® A b S | A C

A ® B D

C ® S a | e

B ® B C | e

D ® a B | B A

де N={S, A, C, B, D}, S = {a, b}, знайти множину ліворекурсивних нетерміналів.

 

Алгоритм

Для каждого AiÎN выполнять процедуру:

S0 = {Ak | Ai ®w1Akw2, w1=>*e}

Sn = Sn-1 È {Aj | Ak ®w1Ajw2, w1=>*e, AkÎSn-1}

Sm=Sm-1

 

Если AiÎSm то Ai – леворекурсивный нетерминал.

 

Решение

Множество e-нетерминалов: {B,C}

  1. Рассмотрим S

S0 = {A}

S1 = {A,B,D}

S2 = {A,B,D,C}

S3 = {A,B,D,C,S} +

  1. Рассмотрим A

S0 = {B,D}

S1 = {B,D,A,C} +

  1. Рассмотрим B

S0 = {B,C}+

  1. Рассмотрим C

S0 = {S}

S1 = {S,A}

S2 = {S,A,B,D}

S3 = {S,A,B,D,C} +

  1. Рассмотрим D

S0 = {B,A}

S1 = {B,A,C,D} +

 

Ответ: все нетерминалы леворекурсивные


 

Задача СП-10

Сформулюйте алгоритм пошуку множини праворекурсивних нетерміналів.

Для граматики G={N, S, P, S} зі схемою Р:

S ® A b S | A C

A ® B D

C ® S a | e

B ® B C | e

D ® a B | B A

де N={S, A, C, B, D}, S = {a, b}, знайти множину праворекурсивних нетерміналів.

 

Алгоритм

Для каждого AiÎN выполнять процедуру:

S0 = {Ak | Ai ®w1Akw2, w2=>*e}

Sn = Sn-1 È {Aj | Ak ®w1Ajw2, w2=>*e, AkÎSn-1}

Sm=Sm-1

 

Если AiÎSm то Ai – праворекурсивный нетерминал.

 

Решение

Множество e-нетерминалов: {B,C}

  1. Рассмотрим S

S0 = {S,A,C} +

  1. Рассмотрим A

S0 = {D}

S1 = {D, A, B} +

  1. Рассмотрим B

S0 = {B, C} +

  1. Рассмотрим C

S0 = {}

S1 = {} -

  1. Рассмотрим D

S0 = {B,A}

S1 = {B,A,C,D} +

 

Ответ: {S,A,B,D}


 

Задача СП-11

Сформулюйте алгоритм пошуку множини праворекурсивних нетерміналів.

Для граматики G={N, S, P, S} зі схемою Р:

S ® A b S | A C

A ® B D

C ® S a | e

B ® B C | e

D ® a B | B S

де N={S, A, C, B, D}, S = {a, b}, знайти множину праворекурсивних нетерміналів.

 

Решение

Множество e-нетерминалов: {B,C}

  1. Рассмотрим S

S0 = {S,A,C} +

  1. Рассмотрим A

S0 = {D}

S1 = {D, B, S}

S2 = {D, B, S, C, A} +

  1. Рассмотрим B

S0 = {B, C} +

  1. Рассмотрим C

S0 = {}

S1 = {} -

  1. Рассмотрим D

S0 = {B,S}

S1 = {B,A,C}

S2 = {B,A,C,D} +

 

Ответ: {S,A,B,D}


 

Задача СП-12




Дата добавления: 2015-09-12; просмотров: 33 | Поможем написать вашу работу | Нарушение авторских прав

Задача БД-5 | Задача БД-14 | Задача ШІ-2 | Задача ОГ-1 | Задача ОГ-2 | Задача ОГ-4 | Сформулюйте алгоритм пошуку недосяжних станів в скінченому автоматі. | Сформулюйте алгоритм пошуку Follow k(Аi), АiÎ N. | Задача ТО-2 |


lektsii.net - Лекции.Нет - 2014-2024 год. (0.011 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав