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