Компиля́тор — программа, переводящая написанный на языке программирования текст в набор машинных кодов[1][2][3]


Download 32.23 Kb.
bet1/6
Sana15.03.2023
Hajmi32.23 Kb.
#1269719
TuriПрограмма
  1   2   3   4   5   6
Bog'liq
5-Компиля́тор


Компиля́тор — программа, переводящая написанный на языке программирования текст в набор машинных кодов[1][2][3].

Содержание

  • 1Основная функциональность и терминология

  • 2Виды компиляторов

  • 3Виды компиляции

  • 4Структура компилятора

  • 5Генерация кода

  • 6Трансляция байт-кода в машинный код

    • 6.1Декомпиляция

  • 7Раздельная компиляция

  • 8История

  • 9Примечания

  • 10Литература

  • 11Ссылки

Основная функциональность и терминология[править | править код]
Компиля́ция — сборка программы, включающая:

  1. трансляцию всех модулей программы, написанных на одном или нескольких исходных языках программирования высокого уровня и/или языке ассемблера, в эквивалентные программные модули на низкоуровневом языке, близком машинному коду (абсолютный кодобъектный модуль, иногда на язык ассемблера)[2][3][4] или непосредственно на машинном языке или ином двоичнокодовом низкоуровневом командном языке;

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

Если компилятор генерирует исполняемую машинную программу на машинном языке, то такая программа непосредственно исполняется физической программируемой машиной (например компьютером). В других случаях исполняемая машинная программа выполняется соответствующей виртуальной машиной.
Входная информация для компилятора есть:

  1. на фазе трансляции: исходный код программы, являющийся описанием алгоритма или программы на предметно-ориентированном языке программирования;

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

На выходе компилятора — эквивалентное описание алгоритма на машинно-ориентированном языке (объектный код[5]байт-код).

Download 32.23 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling