Transzpilátor

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2018. december 12-én felülvizsgált verziótól ; az ellenőrzések 6 szerkesztést igényelnek .

Transpiler  (transpiler, eng. transpiler ) - olyan program ( fordítótípus ), amely a program transzpilációját végzi. [1] [2]

A transzpiláció egy olyan program átalakítása, amely az egyik programozási nyelven írt program forráskódját használja forrásadatként , és egy másik programozási nyelven egyenértékű forráskódot állít elő.

A transzpiler olyan programozási nyelvek között fordít, amelyek nagyjából azonos absztrakciós szinten működnek , míg a hagyományos fordító egy magasabb szintű programozási nyelvről egy alacsonyabb szintű nyelvre fordít . Például egy transzpiler le tud fordítani egy programot Pascalról C -re . Az automatikus párhuzamosításon alapuló fordító gyakran egy magas szintű nyelvi programot vesz be bemenetként, majd annak kódját átalakítja, és párhuzamos kódjegyzetekkel (például openmp modell ) vagy nyelvi konstrukciókkal (például forall for Fortran ) kommentálja. [egy]

A transzpiler másik célja, hogy lefordítsa a régi kódot, hogy ugyanazon programozási nyelv vagy API következő verzióját használja, megtörve ezzel a visszafelé kompatibilitást. A transzpiler ebben az esetben automatikus kódrefaktorálást hajt végre , ami akkor hasznos, ha a visszafordítandó programok az eredeti végrehajtó irányításán kívül esnek (például programokat konvertál Python 2-ről Python 3-ra, vagy programokat konvertál egy régi API-ról egy új API), vagy amikor a program mérete miatt annak kézi feldolgozása nem célszerű vagy túl sok időt vesz igénybe.

A transzpilátorok vagy a lefordított kódot a lehető legközelebb tarthatják a forráskódhoz, hogy a lehető legegyszerűbb legyen a forráskód fejlesztése és hibakeresése , vagy átstrukturálhatják a kódot úgy, hogy a lefordított kód ne hasonlítson a forráskódra. [2] Vannak olyan hibakereső segédprogramok is, amelyek lehetővé teszik az átfordított forráskód és az eredeti forráskód összehasonlítását; például a JavaScript SourceMap szabványa [3] képes a böngészőben futó JavaScript-kódot leképezni egy JavaScript-be átírt nyelvű forrásra. [négy]

Az átfordított nyelvek példái közé tartozik a Closure Compiler, Coccinelle, coffeescript , Dart , Haxe , TypeScript [5] és az Emscripten. [6]

Jegyzetek

  1. A fordítóprogramok típusai . compilers.net (1997–2005). Letöltve: 2010. október 28.
  2. Fowler, Martin Transparent Compilation (2013. február 12.). Letöltve: 2013. február 13.
  3. Lenz, Fitzgerald Forrástérkép 3. revíziójavaslat (2011. február 11.).
  4. Seddon, Ryan Bevezetés a JavaScript-forrástérképekbe . html5rocks.com (2012. március 21.). Letöltve: 2015. január 21.
  5. Henson, Valerie Szemantikus foltozás Coccinelle-lel . lwn.net (2009. január 20.). Letöltve: 2010. október 28.
  6. Epic Games HTML5 Epic Citadel .