Реферат: Проектирование трансляторов
- генератор программы в объектном коде;
- редактирование связей, генерация программы в виде загру-
зочного модуля.
Принципы построения транслятора
Общие сведения
Компилятор должен выполнить анализ исходной программы, а
затем синтез обьектной программы. Исходная программа разлагается
на составные части, затем из них строятся части эквивалентной
обьектной программы. Для этого на этапе анализа компилятор строит
несколько таблиц, которые затем используются как при анализе,так
и при синтезе. Этот процесс представлен на рис.
Процесс преобразования языков программирования включает сле-
дующие этапы:
1) распознавание в исходном тексте программы различных сос-
тавляющих языка;
2) этап синтаксического анализа, на котором распознаются
структуры исходной программы и проверяется их правильность;
3) установление связи между используемыми идентификаторами и
их описанием.
Генерирование обьектного кода
Способ взаимодействия и метод обьединения этих этапов в еди-
ный процесс зависит от числа проходов компилятора.
Все 4-е последовательных процесса: сканирование, анализ,
подготовку к генерации и генерацию команд - можно выполнять пос-
ледовательно или параллельно определенной взаимной синхрониза-
цией. Одним из критериев, определяющих выбор в данном случае, яв-
ляется обьем доступной памяти. Часто выгодно или даже необходимо
иметь несколько проходов.
В однопроходных трансляторах целая последоватеьлность прос-