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