Краткий ответ
Чтобы просто кратко подвести итог роли компилятора и оставить подробное объяснение на странице Компилятор Википедии , я бы просто сказал, что в целом компилятор - это компьютерное программное обеспечение, которое преобразует входные данные. исходный код, написанный в заданной форме (обычно предназначенный для людей для удобства чтения) в программу вывода в сжатом виде (обычно предназначенный для машин для выполнения). В качестве альтернативы, указанное программное обеспечение может пройти несколько этапов и создать несколько промежуточных форм во время обработки, и может потребоваться выполнить несколько проходов и объединить несколько входных источников в один или несколько выходных данных.
Таким образом, компилятор просто действует как статический переводчик для (обычно формального) человеческого языка на (обычно даже более формальный и минималистичный) машинный язык или набор инструкций.
Некоторые различия, о которых следует помнить
При этом обычно термин "компиляция" искажается другими терминами, описывающими другие этапы полного цикла производства программного обеспечения, и может использоваться для обозначения таких шагов, как предварительная обработка (для подготовки ввод перед обработкой и применение других видов преобразований заранее, например, возможно с использованием метапрограммирования концепций) или связывание (для сборки нескольких промежуточных объектов).
Типичным примером может служить программа на C, которая компилируется с помощью одной командной строки, но на самом деле обрабатывает несколько файлов .c
(исходный код) и .h
(заголовок) в несколько .o
(объект). файл и может затем связать их с несколькими файлами .a
(сборка / библиотека) для создания программы вывода (.exe
, .out
, ...) или другой .a
или .dll
или .so
(сборка для динамической или разделяемой библиотеки для разных платформ).
Указанные шаги также можно выполнить, выполнив несколько командных строк, чтобы отделить различные происходящие операции.
Это, очевидно, объяснение очень высокого уровня, ориентированное на ИТ-мир, но нет никаких сомнений в том, что вы можете обратиться к термину «компилятор» для других программ и машин, преобразующих входные данные любого вида в каким-то образом выполнимый или пригодный для использования вывод. другого рода.
Графика предоставлена Википедия Компилятор Страница