Sha*_*ari 5 compiler-construction interpreter
我已经阅读了足够的关于编译器、解释器和使用两者的“事物”的定义的解释。我没有发现编译器和解释器是如何在一种语言中使用的。
在 Java 中,源代码首先被编译为字节码,然后由解释器(JVM - Java 虚拟机)运行。
字节码是虚拟机的机器代码。
在 Javascript 中,有一个运行时(引擎)可以进行即时编译(JIT)。基本上,在执行时它会得到一个源代码,它会立即将其转换为本机代码,然后执行该代码。在Chrome的引擎中,有两个模块进行编译:一个可以快速执行代码,但代码没有太多优化(ignition解释器),另一个生成高性能代码,但编译需要更多时间(turbofan编译器)。
为什么同时使用: