Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ekzamen1.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
82.28 Кб
Скачать

27. Побудова са на основі ліволінійної граматики, видимості ланцюжка.

-

28 (25). Властивості регулярних мов

29. Описати основні поняття автомата з магазинною пам’ятю, його структуру і характеристики.

Автомат з магазинною пам’ятю – це автомат, який на відміну від звичайного кінцевого автомату має стек (магазин), в який можна поміщати спеціальні “магазинні” символи. Перехід від одного стана в інший залежить не тільки від вхідного символу, але й від одного або багатьох верхніх символів стека. Таким чином, конфігурація автомата визначається трьома параметрами: станом автомата, поточним символом вхідної ціпки і складом стека. МП-автомат називається детермінованим, якщо із одної і тої ж його конфігурації можливе не більше одного переходу в наступну конфігурацію.

30. Дайте визначення контекстно-вільної граматики, виводимості ланцюжка, безпосередньої виводимості, довжини виводу.

Контекстно-вільна граматика   це четвірка  :

  •  та   скінченні множини, що не перетинаються

  •  скінченна підмножина 

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

В лівій частині правила виводу має знаходитись одна змінна (нетермінальний символ).

Виводимість ланцюжка – це властивість ланцюжка при якій всі його символи замінюються та перетворюються.

31 (30). Описати основні компоненти контекстно-вільних граматик.

32. Перетворення контекстно вільних граматик.

 Перший вид перетворення пов'язаний з видаленням iз граматики зайвих символiв. Зайвi символи в граматицi можуть виявитися в таких випадках: а) якщо символ не може бути отриманий при виведеннi; б) якщо iз символу не може бути отриманий кiнцевий термiнальний ланцюжок.

Визначення непродуктивних символiв - символ x   Va називається непродуктивним, якщо з нього не може бути виведений кiнцевий термiнальний ланцюжок.

Визначення недосяжних символiв - Символ х   Vт   Va називається недосяжним у КВ-граматицi Г, якщо х не з'являється в жодному виведеному ланцюжку.

Виключення лiворекурсивних правил - Ряд граматик потребують виключення лiворекурсивних та ланцюгових правил. Правило вигляду A    A, де A   Va, та     (Vт   Va), називається праворекурсивним, а правило вигляду A   A лiворекурсивним.

 Виключення ланцюгових правил - правило граматики вигляду A   B, де AB   Va, називається ланцюговим. Для КВ-граматики Г, яка мiстить ланцюговi правила, можна побудувати еквiвалентну їй граматику Г', яка не мiстить ланцюгових правил.

33. Приведення контекстно-вільних граматик.

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

34. Опишіть принципи побудови лексичних аналізаторів.

Лексичний аналізатор (сканер) – це частина компілятора, яка читає літери програми і будує з них лексеми вихідної мови. Лексичний аналіз не є обов’язковим, його роль виконує синтаксичний аналіз. Синтаксичний аналіз перевіряє правильність тексту вхідної мови з точки зору семантики мови. Синтаксичний розбір – це основна частина компілятора на етапі аналізу. Синтаксичний розбір виділяє синтаксичні конструкції в тексті вхідної програми, яка оброблена лексичним аналізатором.

35 (34) . Опишіть лексичний аналізатор і результати його роботи.

36. Опишіть класи граматик, які використовуються на етапі лексичного аналізу.

-

37. Дати визначення та описати організацію таблиць ідентифікаторів.

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

38 (34). Надати характеристику лексичному аналізатору.

39 (34). Що таке сканери? Описати принципи побудови сканерів.

40 (37). Опишіть призначення й особливості побудови таблиць ідентифікаторів.

41. У чому полягає алгоритм організації таблиці ідентифікаторів за допомогою невпорядкованого масиву.

-

42. У чому полягає алгоритм логарифмічного пошуку? Які переваги він дає в порівнянні із простим перебором і які він має недоліки?

Часто зустрічається задача пошуку в масиві, яка неформально формулюється таким чином: в заданій послідовності чисел знайти елемент з певним значенням. В загальному випадку застосовується алгоритм послідовного пошуку, який полягає в послідовному перегляді всіх елементів і порівнянні їх з потрібним значенням. Легко бачити, що цей алгоритм має лінійну часову складність. Але, якщо заздалегідь відомо, що послідовність упорядкована за зростанням або за спаданням, можна застосувати інший алгоритм - алгоритм половинного ділення. Послідовність ділиться на дві рівні частини. Оскільки послідовність упорядкована, можна визначити, в якій частині знаходиться потрібний елемент. Після цього процедура повторюється: потрібна частина знову ділиться навпіл і т.п. Цей алгоритм є логарифмічним.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]