ВУЗ:
Составители:
14
По количеству проходов выделяют одно-, двух-, трех- и многопроходные
компиляторы. В данном пособии предлагается схема разработки трехпроходно-
го компилятора, в котором первый проход – лексический анализ, второй - син-
таксический, семантический анализ и генерация внутреннего представления
программы, третий – интерпретация программы.
Общая схема работы компилятора представлена на рисунке 2.3.
Рисунок 2.3 – Общая схема работы компилятора
2.3 Лексический анализатор программы
Определение 2.4. Лексический анализатор (ЛА) – это первый этап про-
цесса компиляции, на котором символы, составляющие исходную программу,
группируются в отдельные минимальные единицы текста, несущие смысловую
нагрузку – лексемы.
Задача лексического анализа - выделить лексемы и преобразовать их к виду,
удобному для последующей обработки. ЛА использует регулярные грамматики.
ЛА необязательный этап компиляции, но желательный по следующим
причинам:
1) замена идентификаторов, констант, ограничителей и служебных слов
лексемами делает программу более удобной для дальнейшей обработки;
Синтез
Анализ
Лексический
анализ
Синтаксический
разбор
Семантический
анализ
Подготовка к
генерации кода
Генерация кода
Внутреннее
представление
программы
Исходная
программа
Анализ
и локализация
обнаруженных
ошибок
Сообщение
об ошибке
Объектная
программа
Таблицы идентификаторов
По количеству проходов выделяют одно-, двух-, трех- и многопроходные компиляторы. В данном пособии предлагается схема разработки трехпроходно- го компилятора, в котором первый проход – лексический анализ, второй - син- таксический, семантический анализ и генерация внутреннего представления программы, третий – интерпретация программы. Общая схема работы компилятора представлена на рисунке 2.3. Анализ Исходная Лексический программа анализ Синтаксический Таблицы идентификаторов разбор Анализ и локализация Семантический обнаруженных анализ ошибок Внутреннее Сообщение представление программы об ошибке Синтез Подготовка к генерации кода Объектная Генерация кода программа Рисунок 2.3 – Общая схема работы компилятора 2.3 Лексический анализатор программы Определение 2.4. Лексический анализатор (ЛА) – это первый этап про- цесса компиляции, на котором символы, составляющие исходную программу, группируются в отдельные минимальные единицы текста, несущие смысловую нагрузку – лексемы. Задача лексического анализа - выделить лексемы и преобразовать их к виду, удобному для последующей обработки. ЛА использует регулярные грамматики. ЛА необязательный этап компиляции, но желательный по следующим причинам: 1) замена идентификаторов, констант, ограничителей и служебных слов лексемами делает программу более удобной для дальнейшей обработки; 14
Страницы
- « первая
- ‹ предыдущая
- …
- 12
- 13
- 14
- 15
- 16
- …
- следующая ›
- последняя »