在我参加的一个ReactJS会话中,演讲者使用了一个术语转译器来描述代码转换/移植过程。以前,我听过编译器和解释器这些术语,通常用于将用户编写的语言代码转换为计算机系统上可运行的形式。但是转译器对我来说是新的。转译器与编译器或解释器有何不同,为什么需要它?
在我参加的一个ReactJS会话中,演讲者使用了一个术语转译器来描述代码转换/移植过程。以前,我听过编译器和解释器这些术语,通常用于将用户编写的语言代码转换为计算机系统上可运行的形式。但是转译器对我来说是新的。转译器与编译器或解释器有何不同,为什么需要它?
编译器 - 将代码编译成低级别的代码。
示例:
"开发人员代码"
-> "机器码"
PHP
-> C
Java
-> 字节码
转译器 - 将代码编译为相同级别的代码/抽象。
示例:
"开发人员代码"
-> "另一个开发者的代码或版本"
JavaScript ES2015+
-> JavaScript ES5
解释器 - 解释代码,与上述两者不在同一类/层次/上下文中。
示例:php.exe
index.php
中的PHP代码/脚本" -> "结果为html
或类似于纯index.html
"如同这篇维基百科文章所述,源代码转换器是一种编译器,它将源代码从一种编程语言翻译成另一种编程语言。源代码可能采用一些不再使用的语言,或者不支持最新的硬件/软件进展,或者是为了程序员的方便和喜好。
VB6到VB.NET转换器可以被视为一个Transpiler。我认为COBOL到C# / C++ / Java工具也可以被视为一个Transpiler。
Xtend
(http://www.eclipse.org/xtend/)和`NetRexx`(http://www.netrexx.org/)是两种被翻译成Java的编程语言。 - Bruce Martin编译器 - 它是人与计算机之间的接口,用于将人类理解语言转换为机器理解语言。
编译器类型