compiler-construction - 编译器、解释器和两者的例子

标签 compiler-construction interpreter

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

6年前关闭。




Improve this question




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

你能用你喜欢的任何编程语言/“事物”提供它们的例子吗?并请给出一些解释如何区分其他人..

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

最佳答案

AFAIK

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

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

  • gcc
  • 叮当
  • javac
  • 去(编译器)

  • 一些编译器在程序第一次运行之前运行,但有些情况下编译器在程序启动后运行,称为JIT (正好)。

    Interpreter是执行源代码或字节码的程序,例如:
  • ruby(翻译)
  • python(解释器)
  • php(解释器)

  • Processor是执行二进制的硬件

    你提到的“东西”可能是java(程序,虚拟机)执行字节码,mozjs(javascript引擎)执行源代码,但两者都可以进行JIT编译。

    关于compiler-construction - 编译器、解释器和两者的例子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31180056/

    相关文章:

    c# - 'CompanyName.Foo' 是一个 'namespace' 但像 'type' 一样使用

    c - 各种编译器中的编译指示 swp、ivdep、预取支持

    haskell - 用 Haskell 编写 Haskell 解释器

    c++ - 从 Python 解释器调用 SWIG 生成的代码

    c - C 中函数 ‘getChar’ 的隐式声明

    compiler-construction - 将使用相同的源代码、编译器和库版本进行编译,得到完全相同的二进制文件

    java - Java 编译器通常会预先计算最终字段的哈希码吗?

    interpreter - llvm/工具 : lli REPL compared to LuaJIT

    javascript - 是否可以直接评估Mapbox表达式?

    python - PyCharm - 无法使用远程解释器