Информатика

Компилятор

Программа, переводящая исходный код в исполняемую форму
2 мин чтенияСложность: Обновлено 29 сентября 2026

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

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

Как работает компилятор

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

  1. Проверка текста программы и построение её структуры.
  2. Перевод команд в более низкоуровневое представление.
  3. Оптимизация кода и создание объектного или машинного кода.
  4. Компоновка частей программы и библиотек в готовую программу.
№
Пример

Пусть в файле записано print(2 + 3). Компилятор языка Python преобразует исходный текст в байткод, который затем выполняется виртуальной машиной Python. В компилируемых языках, например C++, результатом обычно становится отдельный исполняемый файл.

!
Не путайте с интерпретатором

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

Если компилятор находит синтаксическую или другую проверяемую ошибку, программа обычно не создаётся до её исправления. Это отличается от ошибки времени выполнения, которая возникает уже во время выполнения программы. Компилятор не всегда может обнаружить логическую ошибку: программа может запускаться, но давать неправильный результат.

Проверь себя

Что обычно делает компилятор до запуска программы?

Главное за минуту

Главное

  • Компилятор переводит исходный код в машинный, объектный или промежуточный код.
  • Он проверяет программу до запуска и сообщает о многих ошибках.
  • Компилятор отличается от интерпретатора способом перевода и выполнения программы.