编译器,解释器和两者的示例

时间:2015-07-02 09:00:12

标签: compiler-construction interpreter

我已经阅读了关于编译器,解释器和使用两者的“东西”的定义的足够解释。但是,我没有找到足够的现实例子来区分这些事情。

你能用任何编程语言/你喜欢的“东西”提供它们的例子吗?请解释一下如何区别于其他人......

另外,人们说解释器评估源代码以立即执行,这是否意味着每个编译器都有解释器来运行它们?感谢..

1 个答案:

答案 0 :(得分:3)

AFAIK

编程语言是一种用于创建程序的语言,可以是implemented作为编译器或解释器

Compiler是翻译的程序(从源代码,字节代码到另一个源代码,字节代码或二进制代码),例如:

  • GCC
  • 的javac
  • go(编译器)

某些编译器在程序首次运行之前运行,但有些情况下编译器在程序启动后运行,调用JIT(正好及时)。

Interpreter是执行源代码或字节代码的程序,例如:

  • ruby​​(翻译)
  • python(interpreter)
  • php(翻译)

Processor是执行二进制文件的硬件

"事物"你提到过java(程序,虚拟机)执行字节码,mozjs(javascript引擎)执行源代码,但两者都可以进行JIT编译。