源到源编译器

將原始碼轉換為在類似抽象等級中執行的不同程式語言等效版本的編譯器

源代码到源代码编译器(英语:source-to-source compiler)、翻译器transcompiler)或转译器transpiler)是以某种编程语言的程序源代码作为输入,生成以另一种编程语言构成的等效源代码的编译器。源代码到源代码编译器会在大致相同的抽象级别之间抽象化,而传统编译器则从一个较高等级的高级语言转换为低级语言。举例来说,源代码到源代码编译器可以将一个程序从Pascal转换为C语言。自动并行化英语Automatic parallelizing编译器经常采用高级语言的程序作为输入,然后转换代码并增加并行代码注释(例如OpenMP)或语言结构(例如Fortranforall语句)。[1]

转译语言的例子包括:Closure Compiler英语Google Closure ToolsCoccinelle英语Coccinelle (software)CoffeeScriptDartHaxeNimTypeScript[2]ValaEmscripten[3]

参考资料

  1. ^ Types of compilers. compilers.net. 1997–2005 [28 October 2010]. (原始内容存档于2019-07-19). 
  2. ^ Henson, Valerie. Semantic patching with Coccinelle. lwn.net. January 20, 2009 [28 October 2010]. (原始内容存档于2017-08-20). 
  3. ^ Epic Games. HTML5 Epic Citadel. [2017-08-29]. (原始内容存档于2017-08-21).