Najlepsze pytania
Chronologia
Czat
Perspektywa

Transpilator

kompilator, który przetwarza kod źródłowy na kod źródłowy w innym języku programowania, ale na tym samym poziomie abstrakcji Z Wikipedii, wolnej encyklopedii

Remove ads

Transpilator (także transkompilator)[1][2][3] – rodzaj kompilatora, który przetwarza kod źródłowy programu napisanego w języku programowania na równoważny kod w innym języku programowania (lub w tym samym języku, ale w innym wariancie). Transpilator różni się tym od typowego kompilatora, że zarówno wejściowy, jak i wynikowy kod operuje w przybliżeniu na tym samym poziomie abstrakcji, podczas gdy tradycyjny kompilator tłumaczy z języka programowania wyższego poziomu na język programowania niższego poziomu. Inaczej niż w typowych kompilatorach, po transpilacji wynikowy kod może być nadal czytelny dla człowieka (o ile nie został dodatkowo poddany minifikacji).

Remove ads

Rodzaje transpilacji

Podsumowanie
Perspektywa

Przykładem transpilacji może być przetworzenie programu napisanego w Pythonie na JavaScript, podczas gdy tradycyjny kompilator tłumaczy z języka takiego jak C na asembler lub Java na bytecode[4]. Przetwarzanie z jednego języka na drugi może być używane np. w wypadku przenoszenia bibliotek na inny język lub tworzenia kodu w lepiej znanym środowisku. Istnieją również języki jak TypeScript, dla których transpilacja jest naturalnym procesem, ponieważ TS został zaprojektowany tak, żeby był przetwarzany i uruchamiany jako JavaScript.

Innym celem transpilacji jest tłumaczenie kodu napisanego dla starszej wersji języka na nowszy (na przykład tłumaczenie kodu pisanego w Python 2 na Python 3). Narzędzie przeprowadzi automatyczną refaktoryzację kodu, co ma ułatwić i przyśpieszyć proces przejścia na nową wersję. Wynikowy kod nie musi być jednak gotowy do bezpośredniego użycia (może wymagać ręcznych zmian).

Często spotykany jest również odwrotny proces – przetwarzanie kodu z nowszej wersji języka na język zgodny ze starszą wersją. Jest to szczególnie popularne w sytuacji, gdy osoba tworząca kod nie ma wpływu na środowisko uruchomieniowe. Tak jest w przypadku tworzenia kodu dla przeglądarek internetowych, stąd popularność kompilatorów takich jak Babel przetwarzających ECMAScript 6 na wersję 5.

Remove ads

Mapowanie źródeł

Transkompilatory mogą albo utrzymywać strukturę kodu przetłumaczonego jak najbliżej kodu źródłowego, aby ułatwić testowanie i debugowanie oryginalnego kodu źródłowego, lub mogą zmieniać strukturę oryginalnego kodu tak bardzo, że przetłumaczony kod nie wygląda jak kod źródłowy[5].

Istnieją jednak standardy i narzędzia, które mapują transpilowany kod źródłowy z powrotem na kod oryginalny. Przykładem może być standard JavaScript Source Map[6], który specyfikuje jak mapować kod JavaScript tak, żeby narzędzia w przeglądarce internetowej mogły pokazać oryginalny kod przy debugowaniu[7].

Remove ads

Lista transpilatorów

Podsumowanie
Perspektywa

Poniżej znajduje się lista transpilatorów, które transformują jeden język w drugi. Część z nich stanowi jedynie asystę przy migracji (np. Swiftify). Inne stawiają sobie za cel przetworzenie każdego kodu na ekwiwalent w innym języku (np. CoffeeScript). W wypadku tych drugich kod można tworzyć w jednym języku i za każdym razem budować aplikację do uruchomienia w innym języku.

Więcej informacji Nazwa, Język źródłowy ...
Więcej informacji Narzędzie, Język źródłowy ...
Remove ads

Zobacz też

Przypisy

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads