Транспайлер

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Транспиляция — представление исходного кода программы на языке программирования, сохраняющем уровень абстракции.

Транспайлер (транспилер, англ. transpiler) — транспилирующий компилятор.[1][2]

Транспайлер с автоматическим распараллеливанием преобразует и комментирует параллельными кодовыми аннотациями (см. модель openmp) или языковыми конструкциямм (forall для Фортрана) код программы, обычно на высокоуровневом языке.[1]

Другая задача транспайлера — обновление старого кода до следующей версии языка программирования или API. К тому же, если новая версия исполнителя больше не подконтрольна программе, оно обычно способствует пониманию кода человеком (например, приведя программу, написанную для CPython 2.x, в соответствующую стандартам 3.x).

Иногда с помощью транспайлеров получают код, максимально приближенный к исходному, с целью упрощения процесса разработки и отладки.[2] Существуют утилиты, позволяющие сопоставить странскомпилированный исходный код и оригинальный; например, стандарт SourceMap[3] имеет возможность сопоставления кода JavaScript, выполняемого в браузере, с транскомпилированным первоисточником.[4]

Примеры транскомпилируемых языков включают Closure Compiler, Coccinelle, CoffeeScript, Dart, Haxe, TypeScript[5] и Emscripten.[6]

Примечания[править | править код]

  1. Types of compilers. compilers.net (1997–2005). Дата обращения: 28 октября 2010. Архивировано из оригинала 19 июля 2019 года.
  2. Fowler, Martin Transparent Compilation (12 февраля 2013). Дата обращения: 13 февраля 2013. Архивировано 1 января 2020 года.
  3. Lenz, Fitzgerald Source Map Revision 3 Proposal (11 февраля 2011). Дата обращения: 11 апреля 2018. Архивировано 30 октября 2019 года.
  4. Seddon, Ryan Introduction to JavaScript Source Maps. html5rocks.com (21 марта 2012). Дата обращения: 21 января 2015. Архивировано 20 января 2015 года.
  5. Henson, Valerie Semantic patching with Coccinelle. lwn.net (20 января 2009). Дата обращения: 28 октября 2010. Архивировано 20 августа 2017 года.
  6. Epic Games HTML5 Epic Citadel. Дата обращения: 11 апреля 2018. Архивировано 21 августа 2017 года.