WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

Транспайлер — тип компилятора, который использует исходный код программы, написанной на одном языке программирования, в качестве исходных данных и производит эквивалентный исходный код на другом языке программирования. Транспайлер переводит между языками программирования, которые работают примерно на одном и том же уровне абстракции, в то время как традиционный компилятор переводит с более высокого уровня языка программирования на язык более низкого уровня. Например, транспайлер может выполнить перевод программы с Паскаля на Си. Компайлер, основанный на автоматическом распараллеливании, нередко принимает в качестве входных данных программу на языке высокого уровня, а затем преобразует её код и комментирует его при помощи параллельных кодовых аннотаций (например, модель openmp) или языковых конструкций (например, forall для Фортрана).[1]

Другая цель транспайлера — это перевод старого кода, чтобы использовать следующую версию того же языка программирования или API, нарушая тем самым обратную совместимость. Транспайлер в этом случае будет выполнять автоматический рефакторинг кода, что оказывается полезным, когда программы, подлежащие рефакторингу, находятся вне контроля исходного исполнителя (например, преобразование программ из Python 2 на Python 3 или преобразование программ из старого API в новый API) или когда из-за размера программы её ручная переработка нецелесообразна или отнимает слишком много времени.

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

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

Примечания

  1. ↑ Types of compilers. compilers.net (1997–2005). Проверено 28 октября 2010.
  2. ↑ Fowler, Martin Transparent Compilation (February 12, 2013). Проверено 13 февраля 2013.
  3. ↑ Lenz, Fitzgerald Source Map Revision 3 Proposal (11 February 2011).
  4. ↑ Seddon, Ryan Introduction to JavaScript Source Maps. html5rocks.com (21 March 2012). Проверено 21 января 2015.
  5. ↑ Henson, Valerie Semantic patching with Coccinelle. lwn.net (January 20, 2009). Проверено 28 октября 2010.
  6. ↑ Epic Games HTML5 Epic Citadel.

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2026
WikiSort.ru - проект по пересортировке и дополнению контента Википедии