Compiler
和Transpiler
之间的主要区别是什么?请你提供两个例子吗?
答案 0 :(得分:20)
它们基本相同:获取源代码并将其转换为其他内容。
不同之处在于编译器通常会生成一个直接可用的工件(某种可执行的二进制文件)。示例: C (生成二进制), C#(生成字节码)。
而转换器生成另一种形式的源代码(例如,另一种语言),它不能直接运行,需要编译/解释。示例: CoffeeScript 转换器,它生成javascript。 蛋白石(将ruby转换为javascript)
答案 1 :(得分:1)
编译器 - 将代码编译为较低级别的代码。
示例:
"Developer code"
- > "Machine code"
PHP
- > C
Java
- > bytecode
Transpiler - 将代码编译为相同级别的代码/抽象。
示例:
"Developer code"
- > "Another developer code or version"
JavaScript ES2015+
- > JavaScript ES5
答案 2 :(得分:0)
翻译器
将一种语言的源代码转换为另一种语言的源代码的软件。例如,CoffeeScript,Caffeine,Kaffeine和其他两种以上的语言都已转换为JavaScript。
哪里 编译器通常会产生可直接使用的工件(某种可执行的二进制文件)。例如:C(产生二进制),C#(产生字节码)。