ВУЗ:
Составители:
3
СОДЕРЖАНИЕ:
ВВЕДЕНИЕ........................................................................................................... 4
1. СТРУКТУРА КОМПИЛЯТОРА. ТИПЫ ТРАНСЛИРУЮЩИХ
ПРОГРАММ ............................................................................................................ 7
2. ОПРЕДЕЛЕНИЕ ЯЗЫКА. СИНТАКСИС И СЕМАНТИКА ...................... 15
3. КЛАССИФИКАЦИЯ ГРАММАТИК. ИЕРАРХИЯ ХОМСКОГО............. 20
4. ПРОБЛЕМА РАЗБОРА................................................................................... 26
5. ЛЕКСИЧЕСКИЙ АНАЛИЗ ............................................................................ 31
6. КОНЕЧНЫЕ АВТОМАТЫ............................................................................. 35
7. КОНТЕКСТНО-СВОБОДНЫЕ ГРАММАТИКИ ........................................ 40
8. LL(1) - ГРАММАТИКИ.................................................................................. 45
9. ПРЕОБРАЗОВАНИЕ ГРАММАТИК В LL(1) ФОРМУ.............................. 50
10. ПОСТРОЕНИЕ СИНТАКСИЧЕСКОГО ГРАФА ..................................... 56
11. ПОСТРОЕНИЕ ПРОГРАММЫ ГРАММАТИЧЕСКОГО РАЗБОРА ДЛЯ
ЗАДАННОГО СИНТАКСИСА............................................................................ 61
12. ПОСТРОЕНИЕ ТАБЛИЧНО-УПРАВЛЯЕМОЙ ПРОГРАММЫ
ГРАММАТИЧЕСКОГО РАЗБОРА ..................................................................... 66
13. ВОСХОДЯЩИЙ СИНТАКСИЧЕСКИЙ АНАЛИЗ .................................. 71
14. РАБОТА С ТАБЛИЦЕЙ СИМВОЛОВ ...................................................... 84
15. ВОССТАНОВЛЕНИЕ ПРИ СИНТАКСИЧЕСКИХ ОШИБКАХ ............ 88
16. ПОСТФИКСНАЯ ЗАПИСЬ......................................................................... 91
17. ВНУТРЕННИЕ ФОРМЫ ........................................................................... 103
18. МЕТОДЫ ГЕНЕРИРОВАНИЯ КОДА ..................................................... 105
19. ЛИТЕРАТУРА ............................................................................................ 107
20. ЛАБОРАТОРНЫЕ РАБОТЫ..................................................................... 108
ЛАБОРАТОРНАЯ РАБОТА №1. РАЗРАБОТКА ЛЕКСИЧЕСКОГО
АНАЛИЗАТОРА .............................................................................................. 109
ЛАБОРАТОРНАЯ РАБОТА №2. РАЗРАБОТКА СИНТАКСИЧЕСКОГО
АНАЛИЗАТОРА .............................................................................................. 110
ЛАБОРАТОРНАЯ РАБОТА №3. ФОРМИРОВАНИЕ ПОСТФИКСНОЙ
ЗАПИСИ............................................................................................................ 112
ЛАБОРАТОРНАЯ РАБОТА №4. РАЗРАБОТКА ГЕНЕРАТОРА КОДА
.. 113
ПРИЛОЖЕНИЕ А. ВАРИАНТЫ ЗАДАНИЙ К ЛАБОРАТОРНЫМ
РАБОТАМ......................................................................................................... 117
ПРИЛОЖЕНИЕ Б. ТРЕБОВАНИЯ К КУРСОВОМУ ПРОЕКТУ............... 123
3
СОДЕРЖАНИЕ:
ВВЕДЕНИЕ ........................................................................................................... 4
1. СТРУКТУРА КОМПИЛЯТОРА. ТИПЫ ТРАНСЛИРУЮЩИХ
ПРОГРАММ ............................................................................................................ 7
2. ОПРЕДЕЛЕНИЕ ЯЗЫКА. СИНТАКСИС И СЕМАНТИКА ...................... 15
3. КЛАССИФИКАЦИЯ ГРАММАТИК. ИЕРАРХИЯ ХОМСКОГО. ............ 20
4. ПРОБЛЕМА РАЗБОРА................................................................................... 26
5. ЛЕКСИЧЕСКИЙ АНАЛИЗ ............................................................................ 31
6. КОНЕЧНЫЕ АВТОМАТЫ............................................................................. 35
7. КОНТЕКСТНО-СВОБОДНЫЕ ГРАММАТИКИ ........................................ 40
8. LL(1) - ГРАММАТИКИ .................................................................................. 45
9. ПРЕОБРАЗОВАНИЕ ГРАММАТИК В LL(1) ФОРМУ .............................. 50
10. ПОСТРОЕНИЕ СИНТАКСИЧЕСКОГО ГРАФА ..................................... 56
11. ПОСТРОЕНИЕ ПРОГРАММЫ ГРАММАТИЧЕСКОГО РАЗБОРА ДЛЯ
ЗАДАННОГО СИНТАКСИСА ............................................................................ 61
12. ПОСТРОЕНИЕ ТАБЛИЧНО-УПРАВЛЯЕМОЙ ПРОГРАММЫ
ГРАММАТИЧЕСКОГО РАЗБОРА ..................................................................... 66
13. ВОСХОДЯЩИЙ СИНТАКСИЧЕСКИЙ АНАЛИЗ .................................. 71
14. РАБОТА С ТАБЛИЦЕЙ СИМВОЛОВ ...................................................... 84
15. ВОССТАНОВЛЕНИЕ ПРИ СИНТАКСИЧЕСКИХ ОШИБКАХ ............ 88
16. ПОСТФИКСНАЯ ЗАПИСЬ ......................................................................... 91
17. ВНУТРЕННИЕ ФОРМЫ ........................................................................... 103
18. МЕТОДЫ ГЕНЕРИРОВАНИЯ КОДА ..................................................... 105
19. ЛИТЕРАТУРА ............................................................................................ 107
20. ЛАБОРАТОРНЫЕ РАБОТЫ..................................................................... 108
ЛАБОРАТОРНАЯ РАБОТА №1. РАЗРАБОТКА ЛЕКСИЧЕСКОГО
АНАЛИЗАТОРА .............................................................................................. 109
ЛАБОРАТОРНАЯ РАБОТА №2. РАЗРАБОТКА СИНТАКСИЧЕСКОГО
АНАЛИЗАТОРА .............................................................................................. 110
ЛАБОРАТОРНАЯ РАБОТА №3. ФОРМИРОВАНИЕ ПОСТФИКСНОЙ
ЗАПИСИ ............................................................................................................ 112
ЛАБОРАТОРНАЯ РАБОТА №4. РАЗРАБОТКА ГЕНЕРАТОРА КОДА .. 113
ПРИЛОЖЕНИЕ А. ВАРИАНТЫ ЗАДАНИЙ К ЛАБОРАТОРНЫМ
РАБОТАМ ......................................................................................................... 117
ПРИЛОЖЕНИЕ Б. ТРЕБОВАНИЯ К КУРСОВОМУ ПРОЕКТУ ............... 123
