рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Алгоритм побудови правил граматики

Алгоритм побудови правил граматики - раздел Программирование, Методические указания к выполнению лабораторных работ по курсу ПСП 1. Виписати Кілька Прикладів Із Заданої Множині Ланцюжків. 2. Проана...

1. Виписати кілька прикладів із заданої множині ланцюжків.

2. Проаналізувати структуру ланцюжків, виділяючи початок і кінець, де повторюються символи чи групи символів.

3. Ввести позначення для складних структур символів, що складаються з груп, такі позначення є нетермінальними символами граматики.

4. Побудувати правило для кожної з виділених структур, використовуючи для завдання повторюваних структур рекурсію.

5. Об'єднати всі правила.

6. Перевірити за допомогою висновку можливість одержання ланцюжків з різною структурою.

 

6. КОНТЕКСТНО-ВІЛЬНІ ГРАМАТИКИ Й АВТОМАТИ

5.1. Приведені граматики

З чотирьох типів граматик контекстно-вільні граматики (КВ) є найбільш важливими з погляду додатків до мов програмування і компіляції. За допомогою КВ-граматики можна визначити велику частину структури мови програмування. При побудові граматик, що задають конструкції мов програмування, часто приходиться прибігати до їх перетворення, щоб породжувана мова придбала потрібну структуру, тому спочатку розглянемо трохи досить простих, але важливих перетворень КВ-граматик. Перший вид перетворення зв'язаний з видаленням із граматики марних символів. Марні символи в граматиці можуть виявитися в наступних випадках:

а) якщо символ не може бути отриманий при виводі
б) якщо із символу не може бути отриманий кінцевий термінальний ланцюжок (виходить нескінченний ланцюжок чи нема правил, що приводять до термінального ланцюжка).

Спочатку розглянемо алгоритм виявлення символів, з яких не можна вивести кінцеві
ланцюжки.

 

 

6.2. Визначення непродуктивних символів

 

Символ X ÎVA називається непродуктивним, якщо з нього не може бути виведений кінцевий термінальний ланцюжок.

Розглядаючи правила граматики, можна зробити висновок, що якщо всі символи правої частини є продуктивними, то продуктивним є і символ, що стоїть в лівій частині. Останнє твердження дозволяє написати процедуру виявлення непродуктивних символів у наступному виді:
1. Скласти список нетерміналів, для яких знайдеться хоча б одне правило, права частина якого не містить нетерміналів.
2. Якщо знайдене таке правило, що всі нетермінали, що стоять у його правій частині вже занесені в список, то додати в список нетермінал, що стоїть в його лівій частині.
3. Якщо на кроці 2 список більше не поповнюється, то отримано список усіх продуктивних нетерміналів граматики, а всі нетермінали які не потрапили в нього є непродуктивними.

– Конец работы –

Эта тема принадлежит разделу:

Методические указания к выполнению лабораторных работ по курсу ПСП

Національний технічний університет... Харківський політехнічний інститут... Кафедра Обчислювальна техніка та програмування...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Алгоритм побудови правил граматики

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Умови задач.
1. Змінні цілого типу. Оператор вводу. 2. Змінні символьного типу. Оператор виводу. 3. Масиви чисел . 4. Оператор циклу з параметром. 5. Оператор циклу с передум

Граматика типу 1
Граматики типу 1, яка називають також контекстно-залежними граматиками, не допускають використання будь-яких правил. Правила висновку в таких граматиках повинні ма

Граматика типу 2
Граматики типу 2 називають контекстно-вільними або безконтекстними граматиками ( КВ-граматики чи Б-граматики). Правила висновку таких грамати

ПОБУДОВА ПРАВИЛ ГРАМАТИКИ
Основою створення правил граматики є спосіб виділення структури заданої множини ланцюжка . Цей спосіб передбачає ділення ланцюжка на частини таким чином, щоб виявити частини, які повторюються , і я

Приклад.
Маємо граматику: R = {I®aIa, I®bAd, I®c, A®cBd, A®aAd, B®dAf }, знаходимо, що тут непродуктивними є символи А і B.Після виключення правил

Приклад.
Маємо граматику: R = { I ®aIb, I ®c, A ®bI, A ®a }, знаходимо, що A є недосяжним символом. КВ-граматика називається приведено

Приклад
Маємо граматику: R={ E ® E + T | T , T ® T *F | F, F ® (E ) | a}. Правило E ® E + T | T перетворимо в пр

Виключення ланцюгових правил
  Правило граматики виду A ® B, де A,B ÎVA, називається ланцюговим.Для КВ-граматики Г, що містить ланцюгові

LL(1) - граматики
Розділені і слаборозделені граматики являються підкласом граматик більш загального виду, що називаються LL(1) граматиками. Граматика називається LL(1) граматикою · права частина кожного пр

Побудова магазинного автомата
Для граматик, що задовольняють умовам LL(1) граматик, справедливо наступне твердження: Для кожної LL(1) граматики можна побудувати детермінований магазинний автомат М, що допускає мова, по

Приклад 1.
1. Побудувати спадний розпізнавач для оператору присвоювання арифметичного виразу. Арифметичний вираз містить: ідентифікатори і, :=, (, ), ; . Кількість вкладених дужок не обмежена. 1. Буд

Приклад 2.
Побудувати спадний розпізнавач для оператору виводу write або writeln. Оператор може містити в дужках список операторів і і коментарів ‘t ‘. 1. Будуємо правила граматики &n

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги