- •4.Основні частини компілятора.
- •5Лексичний аналіз роботи з таблицями
- •6. Синтаксичний та семантичний аналіз, дерева
- •7. Польський запис, тетради.
- •8. Формальне визначення мови, операції над мовами.
- •9. Граматики
- •11.Регулярний вираз
- •12) Нормальна форма Бекуса-Наура
- •13. Ієрархія Хомського
- •14. Регулярні граматики.
- •15. Скінченні автомати
- •16. Детерміновані і недетерміновані кінцеві автомати.
- •18. Побудова детермінованих кінцевих автоматів за недетермінованими кінцевими автоматами.
- •19. Програмування сканера.
- •20. Таблиці символів, хеш-функції, хеш-адресація
- •21. Колізія, ре хешування
- •23.Контекстно-выльны граматики.
- •24. Синтаксично-керований переклад
- •25. Переклад інфіксної форми запису у польську
- •26. Алгоритм синтаксично-керованого перекладу:
- •27. Автомати з магазинною пам’яттю
- •28. Операторні граматики
- •29.Алгоритм розборуоператорних грамматик.
- •37. Оптимізація булевих виразів, циклів.
- •38. Генерація коду. Скп на мову Асамблер.
- •39. Інтерпретатори, адресація, представлення ідентифікаторів.
- •40 Компілятор компіляторів.
- •41 Генератор лексичних аналізаторів.(lex)
- •42. Генератор синтаксичних аналізаторів.
- •43. Приклади застосування генераторыв.
14. Регулярні граматики.
А-граматики або регулярні грамматики можна визначити як праволінійну або ліволінійну граматику, або як змішану. Також ці мови називають скінченно-автоматними, бо вони еквівалентні скінченним автоматам, тобто клас мов, що породжуються граматиками типу 3, співпадає з класом мов, які розпізнаються скінченими автоматами. Також ці граматики є основою регулярних виразів.
Праволінійна граматика. Всі правила мають вигляд:
або
Ліволінійна граматика. Всі правила мають вигляд:
або
Доведено, що праволінійні та ліволінійні граматики еквівалентні, і існує алгоритм для переведення правил граматики одного типу в інший тип.
15. Скінченні автомати
Автомат- формально приймаюча система
Скінченний автомат- пятірка,яка складаєтся з таких елементів: знак суми,Q,q0,Г,Р.
Знак суми- вхідний алфавіт
Q-скінченна множина стеків цього автомату
q0-початковий стан автомвту q0<Q
Г-нможина заключних станів автомату
Р- ф-я переходів.
Існує тісний звязок між регулярною граматикою і скінченним автоиатом.Кожній граматиці можна поставити у відповідність еквівалентний їй автомат, і кожному автомату відповідно еквівалентна граматика.
G--------L(G)
\ /
A
Конфігурація сккінченного автомата - це елемент множини QxE*,іншими словами це послідовність виду qw, w-елемент підмножини E*
Якщо для будь-якої конфігурації q і w застосовувати не >1-го правила то такий автомат називається детермінованим скінченним автоматом. Якщо існує більше ніж одне правило то автомат не детермінований. Скінченні автомвти зручно представляти у вигляді діаграми станів.
16. Детерміновані і недетерміновані кінцеві автомати.
Конфігур. ск. автом. – це елемент мн. Qx∑*, це послід. виду qw, де q – це ел. із множини Q, а w – елемент із множини ∑*.
Якщо для будь-якої конфігурації qі w застосовано не більше 1 правила, то такий автомат наз детермінованим скінченним автоматом.
Інакше недетерм ск авт.(>1)
Недетермінований автомат від детермінованого відрізняється:
неоднозначністю переходів
наявністю в заг. вип. більше ніж 1 переходів поч. стану.
Скінченні автомати зручно представляти у вигляді діаграми станів(переходів). Вона представляє собою орієнтований граф.
18. Побудова детермінованих кінцевих автоматів за недетермінованими кінцевими автоматами.
Відповідь:
Конфігурація скінченного автомата (СА)- це елемент множини QxЕ*, це послідовність виду q*w, де q - елемент із множини Q, а w - елемент із множини Е*.
Якщо для всіх конфігурацій q і w застосовано не >1 правила, то такий автомат наз. детермінованим СА.
Інакше недетермінованим СА (>1).
Для всіх недет. СА можна побудувати еквівалентний йому детермінований СА.
Теорема: Нехай є недет. СА (НСА), який позначимо F:(Е,Q,q0,T,P)
допускає множину символів L, визначимо дет. СА (ДСА): F:(Е',Q',q0',T',P') наступним чином:
1)Множина станів Q' скл. з усіх підмножин множини Q. Позначимо елементи множини Q' через [S1,S2,...,Sе] Є Q
2)Е'=Е
3)P' ([S1,S2,...,Sm]{елемент},x)=[R1,R2,...,Rm]
де Si, Ri Є Q
x є Q
P=({S1,S2,...,Sm},x)={K1,K2,...,Km}
4)q0={S1,S2,...,Sk}
q0'=[S1,S2,...,Sk]
5)T={S1,S2,...,Sn}
T'=[S1,S2,...,Sn]
або
T'={t=[S1,S2,...,Sn]/'если'Sb: Sb Є T}
Побудований в такий спосіб ДСА буде еквівалентний в змісті вх.-вих. в недет. початковому СА.