27

Compilera和 a之间的主要区别是Transpiler什么?请问你能提供一些两者的例子吗?

4

3 回答 3

30

它们本质上是相同的:获取源代码并将其转换为其他内容。

不同之处在于编译器通常会生成一个直接可用的工件(某种可执行的二进制文件)。示例:C(生成二进制)、C#(生成字节码)。

而转译器产生另一种形式的源代码(例如,另一种语言),它不能直接运行,需要编译/解释。示例:CoffeeScript转译器,它生成 javascript。Opal(将 ruby​​ 转换为 javascript)

于 2016-11-15T09:01:47.663 回答
3

编译器- 将代码编译为较低级别的代码。

例子:

  • "Developer code"->"Machine code"
  • PHP->C
  • Java->bytecode

Transpiler - 将代码编译为相同级别的代码/抽象。

例子:

  • "Developer code"->"Another developer code or version"
  • JavaScript ES2015+->JavaScript ES5
于 2017-11-16T23:57:31.037 回答
0

转译器

将一种语言的源代码转换为另一种语言的源代码的软件。例如,CoffeeScript、Caffeine、Kaffeine 和超过两打其他语言被转译成 JavaScript。

编译 通常会生成直接可用的工件(某种可执行二进制文件)。示例:C(生成二进制)、C#(生成字节码)。

于 2020-07-30T06:27:21.230 回答