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-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии