Дизайн компилятора - Архитектура

Компилятор можно разделить на две фазы в зависимости от способа компиляции.

Этап анализа

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

Этап анализа и синтеза компилятора

Фаза синтеза

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

Компилятор может иметь много фаз и проходов.

  • Pass : Pass относится к обходу компилятора через всю программу.

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