Транспиляция — представление исходного кода программы на языке программирования, сохраняющем уровень абстракции.
Транспайлер (транспилер, англ. 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]
Примечания
|
---|
Общие понятия | |
---|
Типы кода | |
---|
Стратегии компиляции | |
---|