Транспайлер
Из Википедии, бесплатной энциклопедии
Транспиляция — представление исходного кода программы на языке программирования, сохраняющем уровень абстракции.
Транспайлер (транспилер, англ. 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]
Примечания
[править | править код]- ↑ Types of compilers . compilers.net (1997–2005). Дата обращения: 28 октября 2010. Архивировано из оригинала 19 июля 2019 года.
- ↑ Fowler, Martin Transparent Compilation (12 февраля 2013). Дата обращения: 13 февраля 2013. Архивировано 1 января 2020 года.
- ↑ Lenz, Fitzgerald Source Map Revision 3 Proposal (11 февраля 2011). Дата обращения: 11 апреля 2018. Архивировано 30 октября 2019 года.
- ↑ Seddon, Ryan Introduction to JavaScript Source Maps . html5rocks.com (21 марта 2012). Дата обращения: 21 января 2015. Архивировано 20 января 2015 года.
- ↑ Henson, Valerie Semantic patching with Coccinelle . lwn.net (20 января 2009). Дата обращения: 28 октября 2010. Архивировано 20 августа 2017 года.
- ↑ Epic Games HTML5 Epic Citadel . Дата обращения: 11 апреля 2018. Архивировано 21 августа 2017 года.