Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SPO_shpory.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.65 Mб
Скачать

37. Обобщённая структура компилятора, интерпритатора.

38. Фазы процесса трансляции и компиляции.

При компиляции анализ сост. из 3 фаз:

  1. Линейный анализ: поток символов исходной программы считываются с лева на право и группируются в токены(последовательность символов с определённым значением).

  2. иерархический анализ, при котором символы или токены иерархически группируются во вложенные конструкции с совокупным значением.

  3. семантический анализ, позволяющий проверить насколько корректно совместное размещение компонентов программы-фаза генерации кода.

При трансляции не знаю(допиши сам , если знаешь).

39. Система обработки языка. Анализ и синтез. Синтаксическое дерево инструкции присвоения. Структура предварительной стадии компиляции. Рекурсивные правила.

Общие свойства и закономерности присущи как различным языкам программирования, так и трансляторам этих языков.

Выделяют функции, которые приводят к одинаковым результатам, несмотря на различия в организации процессов в преобразовании исходного текста. Учитывая схожесть компилятора и интерпретатора, рассматривают фазы, существующие в компиляторе. Эти функции называются фазами трансляции.

Компилятор=анализ+синтез.

Анализ-разбиение исходной программы на составные части и создание её промежуточного представления.

Синтез- конструирование требуемой целевой программы из промежуточного представления.

В процессе анализа определяется и записывается иерархическая древовидная структура операции заданной исходной программы: Ins: =rate+60

Билет №40

Синтаксический аналазиатор- сложный блок и разбивается на след. Состовляющие:

Распознаватель

Семантический анализатор

Обьектная модель или промежуток

Синт. Структура

Тб. Имен

Семантические связи

Обобщенная схема синтаксического анализатора

Тб. Имен: стр-ра данных, содержащая записи о каждом идентификаторе с поля для его атрибутов

Распознаватель получает цепочку лексем и на её основе осущ. Разбор лексем в соотв. С используемыми правилами.

Лексемы при успешном разборе передаются семантическому анализатору, который строит Тб. Имен и фрагменты синтаксической стр-ры.

Тб. Имен и синт. Стр-ра фиксируются доп. Семантическими связями. На основе этого формируется обьектная модель, освобожденная от привязки к синтаксису языка программирования.

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

41. Варианты взаимодействия блоков транслятора. Особенности.

Организационно процессы трансляции можно осуществить различными способами. Это определяется различными вариантами блоков транслятора. Можно выделить 2 основных варианта взаимодействия блоков транслятора:

- многопроходная организация,

- однопроходная организация.

Многопроходная организация – организация, при которой каждая из фаз является независимым процессом, передающим управление следующей фазе только после окончания полной обработки своих данных.

Однопроходная – организация, при которой все фазы это единый процесс и они передают данные между собой небольшими фрагментами.

Комбинированные варианты – процесс трансляции разбивается на 2 прохода: 1 - порождается полное представление (промежуточное) программы; 2 – осуществляется генерация кода.

Использование такой схемы позволяет легко переносить транслятор с одной вычислительной машины на другую путем переписывания генератора кода. Вместо Г.К. можно подключить эмулятор промежуточного представления, что просто позволяет разработать систему программирования на некотором языке, ориентированную на различные среды использования.

Совместное использование Г.К. и эмулятора – процесс трансляции, включая и генерацию кода, может быть выполнен за любое число проходов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]