Многопроходный компилятор

Многопроходный компилятор (англ. Multi-pass compiler) — тип компилятора, который обрабатывает исходный код или абстрактное синтаксическое дерево программы несколько раз (в отличие от однопроходного компилятора, который проходит программу только один раз). Между проходами генерируется промежуточный код, который принимается следующим проходом в качестве входа. Таким образом, многопроходный компилятор обрабатывает код по частям, проход за проходом, а последний проход выдает финальный результат программы.

Многопроходные компиляторы имеют более широкую область применения и обеспечивают лучшую генерацию кода (например: меньший размер кода или более быстрый код). По сравнению с выходом однопроходового компилятора, имеют более высокие требования по объёму памяти и обработка исходного кода требует больше времени. Некоторые языки программирования из-за структуры их кода не могут быть обработаны одним проходом.

Источник: Википедия

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я