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

43. Опишіть переваги і недоліки таблиць ідентифікаторів за допомогою хеш-функцій. Що таке колізія? Чому вона відбувається?

Колізією хеш-функції   називаються два різних вхідних блоки даних   і   таких, що 

Колізії існують для більшості хеш-функцій, але для «хороших» хеш-функцій частота їх виникнення близька до теоретичного мінімуму. В деяких окремих випадках, коли множина різних вхідних даних є скінченною, можна задатиін'єктивну хеш-функцію, за визначенням без колізій. Однак, для хеш-функцій, які приймають вхідні дані змінної довжини і повертають хеш постійної довжини (таких як MD5), колізії обов'язково будуть існувати, оскільки хоча б для одного значення хеш-функції відповідна йому вхідна множина значень буде безкінечною — і будь-які два значення з цієї множини утворюють колізію.

44. Опишіть найпростіші методи побудови таблиць ідентифікаторів.

У найпростішому разі таблиця ідентифікаторів є лінійнийнеупорядоченний список, чи масив, кожна осередок якого містить даних про відповідному елементі таблиці. Розміщення нових елементів у такому таблиці виконується шляхом записи інформацією ще один осередок масиву чи списку принаймні виявлення нових елементів в вихідної програмі. Пошук потрібного елемента у таблиці буде зацікавлений у цьому випадку виконуватися шляхом послідовного перебору всіх елементів і порівняння їхніх імені безпосередньо з ім'ям шуканого елемента, поки що не знайдено елемент з такою самою ім'ям. Тоді якщо на одиницю часу прийняти час, затрачуване компілятором на порівняння двох рядків (у сприйнятті сучасних обчислювальних системах таке порівняння найчастіше виконується однієї командою), то тут для таблиці, що містить N елементів, загалом буде виконаноN/2 порівнянь.

45 (34). Описати звязок лексичного і синтаксичного аналізаторів?

46. Описати клас граматики, який використовується на етапі створення лексичного аналізатора.

-

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

Синтакси́чний ана́ліз (па́рсинг) (англ. parsing) — в інформатиці це процес аналізу вхідної послідовності символів, з метою розбору граматичної структури згідно із заданою формальною граматикоюСинтаксичний аналізатор (англ.parser) — це програма або частина програми, яка виконує синтаксичний аналіз.

48. Опишіть методи синтаксичного розбору.

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

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

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

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

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