Google Play badge

составители


СОСТАВИТЕЛИ

Компилятор — это компьютерная программа, которая используется для перевода компьютерного кода, написанного на одном языке программирования (называемом исходным языком) на другой язык программирования (называемый целевым языком). Термин «компилятор» в первую очередь применяется к программам, которые переводят исходные коды с языка программирования высокого уровня на язык программирования более низкого уровня. Например, машинный код, объектный код или язык ассемблера для создания исполняемой программы.

Важно отметить, что существует множество различных типов компиляторов. Если скомпилированная программа может работать на компьютере, операционная система или процессор которого отличается от той, на которой работает компилятор, такой компилятор называется кросс-компилятором. С другой стороны, загрузочный компилятор пишется на том языке, который он собирается скомпилировать. Декомпилятор — это программа, которая используется для перевода языка низкого уровня на язык более высокого уровня. Программа, которая используется для перевода между языками высокого уровня, называется компилятором исходного кода. Его также можно назвать транспилятором. Программа, отвечающая за перевод формы выражений без изменения языка, называется языковым переписчиком. Термин компилятор-компилятор относится к тем инструментам, которые используются для создания парсеров, отвечающих за выполнение синтаксического анализа.

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

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

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

ЦЕПОЧКА ИНСТРУМЕНТОВ КОМПИЛЯЦИИ

Для больших программ компилятор является частью многоэтапной цепочки инструментов.

(препроцессор)- (компилятор)- (ассемблер)- (компоновщик)- (загрузчик).

СТРУКТУРА КОМПИЛЯТОРА

Современные компиляторы состоят из двух основных частей. Каждая из этих частей часто подразделяется. Эти две основные части — передняя и задняя части.

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

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

Download Primer to continue