ВУЗ:
Составители:
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
- …
- следующая ›
- последняя »
