Реферат Курсовая Конспект
Алгоритм побудови правил граматики - раздел Программирование, Методические указания к выполнению лабораторных работ по курсу ПСП 1. Виписати Кілька Прикладів Із Заданої Множині Ланцюжків. 2. Проана...
|
1. Виписати кілька прикладів із заданої множині ланцюжків.
2. Проаналізувати структуру ланцюжків, виділяючи початок і кінець, де повторюються символи чи групи символів.
3. Ввести позначення для складних структур символів, що складаються з груп, такі позначення є нетермінальними символами граматики.
4. Побудувати правило для кожної з виділених структур, використовуючи для завдання повторюваних структур рекурсію.
5. Об'єднати всі правила.
6. Перевірити за допомогою висновку можливість одержання ланцюжків з різною структурою.
6. КОНТЕКСТНО-ВІЛЬНІ ГРАМАТИКИ Й АВТОМАТИ
5.1. Приведені граматики
З чотирьох типів граматик контекстно-вільні граматики (КВ) є найбільш важливими з погляду додатків до мов програмування і компіляції. За допомогою КВ-граматики можна визначити велику частину структури мови програмування. При побудові граматик, що задають конструкції мов програмування, часто приходиться прибігати до їх перетворення, щоб породжувана мова придбала потрібну структуру, тому спочатку розглянемо трохи досить простих, але важливих перетворень КВ-граматик. Перший вид перетворення зв'язаний з видаленням із граматики марних символів. Марні символи в граматиці можуть виявитися в наступних випадках:
а) якщо символ не може бути отриманий при виводі
б) якщо із символу не може бути отриманий кінцевий термінальний ланцюжок (виходить нескінченний ланцюжок чи нема правил, що приводять до термінального ланцюжка).
Спочатку розглянемо алгоритм виявлення символів, з яких не можна вивести кінцеві
ланцюжки.
6.2. Визначення непродуктивних символів
Символ X ÎVA називається непродуктивним, якщо з нього не може бути виведений кінцевий термінальний ланцюжок.
Розглядаючи правила граматики, можна зробити висновок, що якщо всі символи правої частини є продуктивними, то продуктивним є і символ, що стоїть в лівій частині. Останнє твердження дозволяє написати процедуру виявлення непродуктивних символів у наступному виді:
1. Скласти список нетерміналів, для яких знайдеться хоча б одне правило, права частина якого не містить нетерміналів.
2. Якщо знайдене таке правило, що всі нетермінали, що стоять у його правій частині вже занесені в список, то додати в список нетермінал, що стоїть в його лівій частині.
3. Якщо на кроці 2 список більше не поповнюється, то отримано список усіх продуктивних нетерміналів граматики, а всі нетермінали які не потрапили в нього є непродуктивними.
– Конец работы –
Эта тема принадлежит разделу:
Національний технічний університет... Харківський політехнічний інститут... Кафедра Обчислювальна техніка та програмування...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Алгоритм побудови правил граматики
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов