Транскомпілятор або транспілятор (англ. S2S compiler) — тип транслятору, який приймає вихідний код програми, написаної на мові програмування як вхідні дані і виконує еквівалентний вихідний код на тій самій або іншій мові програмування[1][2].

Транскомпілятор виконує перетворення між мовами програмування, які працюють майже на одному рівні абстрації, в той час як традиційний компілятор перекладає з мови програмування більш високого рівня на мову програмування нижчого рівня. Наприклад, транскомпілятор може виконувати переклад програми з Python на JavaScript, в той час як традиційний компілятор перекладає з мови С на асемблер чи з Java в байт-код.

Автоматичний компілятор, що розпаралелює, часто приймає як вхідні дані програму на мові високого рівня, а за тим перетворює код та анотує його анотаціями паралельного коду або мовними конструкціями. Інша мета компіляції із вихідного коду у вихідний — переклад застарілого коду для використання наступної версії базової мови програмування або АРІ, який порушує зворотню сумісність. Транскомпілятори можуть підтримувати структуру перекладеного коду як можна ближче до вхідного, щоб полегшити розробку та обробку вхідного коду, або можуть змінити структуру вхідного коду настільки, щоб перекладений код не був схожий на вихідний код.

Існують також налагоджувальні утиліти, які відображають транскомпільований вихідний код назад.

Примітки ред.

  1. Архівована копія. Архів оригіналу за 22 квітня 2021. Процитовано 22 квітня 2021.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  2. [1]

Джерела ред.