Книга: Залогова Л. А. «Разработка Паскаль-компилятора»

Разработка Паскаль-компилятора

В книге излагается структура компилятора, основные принципы построения всех его основных блоков — лексического, синтаксического и семантического анализаторов, а также генератора кода. Методы компиляции программ на Паскале описаны на языке С.
Для студентов и специалистов, занимающихся созданием программного обеспечения, а также для всех, желающих создать компилятор с своего собственного языка программирования.

Содержание:

Глава 1. Структура компилятора...... 6 Глава 2. Модуль ввода-вывода...... 10 2. 1. Взаимодействие между модулем ввода-вывода и анализатором...... 10 2. 2. Программирование модуля ввода-вывода...... 11 2. 2. 1. Формирование таблицы ошибок...... 12 2. 2. 2. Печать сообщений об ошибках...... 13 Глава 3. Лексический анализатор...... 15 3. 1. Взаимодействие лексического анализатора с другими частями компилятора...... 15 3. 2. Программирование лексического анализатора...... 18 3. 2. 1. Лексические ошибки...... 24 Глава 4. Синтаксический анализатор...... 26 Глава 5. Нейтрализация синтаксических ошибок...... 36 Глава 6. Семантический анализатор...... 45 6. 1. Контекстные условия...... 45 6. 2. Организация таблиц семантического анализатора...... 46 6. 2. 1. Таблица идентификаторов...... 46 6. 2. 2. Таблица типов...... 60 6. 2. 3. Таблица меток...... 71 6. 3. Программирование семантического анализатора...... 75 6. 3. 1. Создание фиктивной области действия...... 75 6. 3. 2. Анализ описания переменных...... 78 6. 3. 3. Анализ описания типов...... 81 6. 3. 4. Анализ операторов...... 84 6. 3. 5. Анализ выражения...... 92 Глава 7. Введение в генерацию кода...... 99 Глава 8. Архитектура модульного конвейерного процессора...... 101 8. 1. Регистры...... 101 8. 2. Способы представления данных...... 102 8. 3. Способы адресации операндов...... 105 8. 4. Команды...... 108 8. 4. 1. Команды для С- и Р-регистров...... 110 8. 4. 2. Команды пересылки данных между локальной памятью и регистрами...... 112 8. 4. 3. Команды для И-регистров...... 112 8. 4. 4. Команды передачи управления...... 113 8. 4. 5. Управление регистровым контекстом...... 115 8. 4. 6. Команды для Д-регистров...... 122 8. 4. 7. Векторные команды...... 124 Глава 9. Организация оперативной памяти во время выполнения программы...... 126 9. 1. Области данных процедур...... 126 9. 2. Адресация переменных...... 127 9. 2. 1. Адресация простых переменных...... 128 9. 2. 2. Адресация переменных с индексами...... 133 9. 2. 3. Адресация поля записи...... 135 9. 3. Память для данных скалярных типов...... 135 9. 4. Память для данных структурных типов...... 135 Глава 10. Генерация кода...... 139 10. 1. Формирование команд...... 139 10. 2. Промежуточное представление и генерация кода для выражений...... 142 10. 3. Промежуточное представление и генерация кода для операторов...... 150 Литература...... 167 Приложение 1. Синтаксис стандарта языка Паскаль...... 168 Приложение 2. Сообщения об ошибках Паскаль-компилятора...... 179 Приложение 3. Коды команд для С- и Р-регистров...... 182

Издательство: "БИНОМ. Лаборатория знаний" (2017)

ISBN: 9785001014508

Другие книги схожей тематики:

АвторКнигаОписаниеГодЦенаТип книги
Залогова Любовь АлексеевнаРазработка Паскаль-компилятора183 стр. В книге излагается структура компилятора, основные принципы построения всех его основных блоков… — БИНОМ, (формат: 60x90/16, 183 стр.) Подробнее...2010
399бумажная книга
Залогова Любовь АлексеевнаРазработка Паскаль-компилятораВ книге излагается структура компилятора, основные принципы построения всех его основных блоков … — Бином. Лаборатория знаний, Подробнее...2017
372бумажная книга
Залогова Л.Разработка Паскаль-компилятораДля студентов и специалистов, занимающихся созданием программного обеспечения, а также для желающих… — (формат: Твердая глянцевая, 183 стр.) Подробнее...2007
273бумажная книга
Л. А. ЗалоговаРазработка Паскаль-компилятора — Лаборатория знаний, электронная книга Подробнее...2017
198электронная книга

См. также в других словарях:

  • Паскаль (язык программирования) — Эта статья или раздел нуждается в переработке. В Паскале нет модулей, ООП и прочих новомодных веяний. Описание расширений должно присутствовать только в статьях о соответ …   Википедия

  • Компьютерное программирование — Разработка программного обеспечения Процесс разработки ПО Шаги процесса Анализ | Проектирование | Реализация | Тестирование | Внедрение | Сопровождение Модели / методы Agile | Cleanroom | Итеративная | Scrum | RUP | MSF | Спиральная | …   Википедия

  • Delphi (язык программирования) — У этого термина существуют и другие значения, см. Delphi. Эта статья  о языке программирования. Об интегрированной среде разработки см. Delphi (среда разработки). Delphi …   Википедия

  • Ада (язык программирования) — У этого термина существуют и другие значения, см. Ада. Ада Семантика: мультипарадигменный: конкурентное, обобщённое, императивное, объектно ориентированное, распределённое программирование Тип исполнения: компилируемый Появился в: 1980 …   Википедия

  • Turbo Pascal — У этого термина существуют и другие значения, см. Turbo. Turbo Pascal Среда разработки Turbo Pascal 7.1 Тип …   Википедия

  • Ada — У этого термина существуют и другие значения, см. Ада. Ада Семантика: мультипарадигменный: конкурентное, обобщённое, императивное, объектно ориентированное, распределённое, программирование Тип исполнения: компилируемый Появился в …   Википедия

Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»