knu/csc/appl-math/c3s2/sys-prog

синтез і аналіз мовних процесорів

Контрольні запитання на мкр №2

Синтаксичний аналіз в мовних процесорах

  1. Які граматики називаються однозначними?

  2. Які дві стратегії виведення ви знаєте?

  3. Що таке синтаксичне дерево виведення?

  4. Що таке лівосторонній аналіз ланцюжка?

  5. Що таке синтез дерева за аналізом?

  6. Які дві стратегії синтезу дерева за аналізом ви знаєте?

  7. Що таке граматика з циклами і які проблеми вона створює для стратегії “згори донизу”?

  8. Який підклас КС-граматик забезпечує стратегію аналізу “зверху донизу”?

Магазинні автомати

  1. Що таке магазинний автомат?

  2. Що таке конфігурація магазинного автомату?

  3. Які конфігурації магазинного автомату називаються початковою і заключною?

  4. Що таке такт роботи і робота магазинного автомату?

  5. Яку мову розпізнає магазинний автомат?

  6. Що таке проблема порожньої множини ?

  7. Як за КС-граматикою побудувати магазинний автомат такий, що ?

  8. Яку стратегію виведення в реалізує побудований у попередньому питанні автомат, і яка обчислювальна складність алгоритму розпізнавання слова ?

Синтаксичний аналіз без повернення назад

  1. Яка граматика називається -граматика?

  2. Чи кожна КС-граматика є -граматикою для деякого ?

  3. Яка -граматика називається розподіленою?

  4. Яку бінарну операцію над мовами позначає символ ?

  5. Яку мову (множину слів) позначає запис ?

  6. Опишіть алгоритм пошуку і доведіть його збіжність.

  7. Яка -граматика називається сильною?

  8. Чи кожна -граматика є сильною -граматикою?

  9. Яку мову (множину слів) позначає запис ?

  10. Опишіть алгоритм пошуку і доведіть його збіжність.

  11. Який нетермінал називається -нетерміналом?

  12. Опишіть алгоритм перевірки нетерміналу на -нетермінал і доведіть його збіжність.

  13. Який нетермінал називається ліворекурсивним?

  14. Опишіть алгоритм перевірки нетерміналу на ліву рекурсію і доведіть його збіжність.

Синтаксичний аналіз на -граматиках

  1. Які дві умови повинна задовольняти граматика щоб бути -граматикою?

  2. Що таке таблиця керування синтаксичного аналізатора на основі -граматики?

  3. Який автомат і яка таблиця використовуються в алгоритмі роботи -синтаксичного аналізатора?

  4. Опишіть алгоритм роботи -синтаксичного аналізатора.

  5. Як необхідно модифікувати таблицю керування для сильної -граматики яка є майже -граматикою?

  6. Як необхідно модифікувати алгоритм роботи синтаксичного аналізатора для сильної -граматики яка є майже -граматикою?

Програмування синтаксичних аналізаторів

  1. Який граф називається синтаксичною діаграмою?

  2. Як на синтаксичній діаграмі позначаються термінали і нетермінали?

  3. Як на синтаксичній діаграмі позначаються прості (без ) і складені (з ) правила?

  4. Напишіть фрагмент коду (наприклад на мові С) для обробки терміналів і нетерміналів.

  5. Напишіть фрагмент коду (наприклад на мові С) для обробки простих (без ) і складених (з ) правил.

  6. Як на синтаксичній діаграмі позначаються правила вигляду ?

  7. Напишіть фрагмент коду (наприклад на мові С) для обробки правил вигляду .

Побудова -синтаксичного аналізатора

  1. Наведіть визначення множини .

  2. Опишіть алгоритм побудови .

  3. Опишіть алгоритм побудови таблиць керування (або рядків великої результуючої таблиці керування).

  4. Якою формулою визначається кількість рядків таблиці керування?

  5. Опишіть алгоритм синтаксичного аналізу для -граматики.

(традиційні відповіді можна переглянути у коментарях у вихідному коді цієї сторінки)

Назад на головну