ВУЗ:
Составители:
8
грамматическим разбором, на которой проверяется правильность
следования операторов. Например, для предложения IF, имеющего вид IF
выражение THEN предложение; грамматический разбор состоит в том, чтобы
убедиться, что вслед за лексемой IF следует правильное выражение, за этим
выражением следует лексема THEN, за которой в свою очередь следует
правильное предложение, оканчивающееся знаком ";". Последним
выполняется процесс генерации кода
, который использует результаты
синтаксического анализа и создает программу на машинном языке,
пригодную к выполнению. Хотя в состав любого компилятора входят все три
описанных выше компонента, их взаимодействие может осуществляться
разнообразными способами. Рассмотрим наиболее распространенные
варианты взаимосвязи между этими компонентами.
ОБЪЕКТНЫЙ КОД
БЛОК СКАНИРОВАНИЯ
(ПРОХОД 1)
СИНТАКСИЧЕСКИЙ
АНАЛИЗАТОР
(ПРОХОД 2)
ГЕНЕРАТОР КОДА
(ПРОХОД 3)
ИСХОДНАЯ ПРОГРАММА
ФАЙЛ ЛЕКСЕМ
ФАЙЛ ПОСТФИКСНОЙ ЗАПИСИ
Рис.1.1. Трехпроходный транслятор.
Блок сканирования считывает исходную программу и представляет ее в
форме файла лексем. Синтаксический анализатор читает этот файл и выдает
8 грамматическим разбором, на которой проверяется правильность следования операторов. Например, для предложения IF, имеющего вид IF выражение THEN предложение; грамматический разбор состоит в том, чтобы убедиться, что вслед за лексемой IF следует правильное выражение, за этим выражением следует лексема THEN, за которой в свою очередь следует правильное предложение, оканчивающееся знаком ";". Последним выполняется процесс генерации кода, который использует результаты синтаксического анализа и создает программу на машинном языке, пригодную к выполнению. Хотя в состав любого компилятора входят все три описанных выше компонента, их взаимодействие может осуществляться разнообразными способами. Рассмотрим наиболее распространенные варианты взаимосвязи между этими компонентами. ИСХОДНАЯ ПРОГРАММА БЛОК СКАНИРОВАНИЯ (ПРОХОД 1) ФАЙЛ ЛЕКСЕМ СИНТАКСИЧЕСКИЙ АНАЛИЗАТОР (ПРОХОД 2) ФАЙЛ ПОСТФИКСНОЙ ЗАПИСИ ГЕНЕРАТОР КОДА (ПРОХОД 3) ОБЪЕКТНЫЙ КОД Рис.1.1. Трехпроходный транслятор. Блок сканирования считывает исходную программу и представляет ее в форме файла лексем. Синтаксический анализатор читает этот файл и выдает
Страницы
- « первая
- ‹ предыдущая
- …
- 6
- 7
- 8
- 9
- 10
- …
- следующая ›
- последняя »