在我的讲义中,“语言实现系统”被解释为,
A language implementation system provides an interface fro programs in higher level languages to machine instructions.
经过维基百科的搜索后,
A programming language implementation is a system for executing computer programs.
但我很难理解这个概念。它是在谈论类似 JVM(Java 虚拟机)之类的东西吗?
有人可以用更简单的语言向我解释一下吗?
最佳答案
我会尝试一下。
编程语言实现描述了如何将代码(例如 Java)作为示例转换为机器(处理器等)理解的语言的方法。我们将其称为机器代码。
有两种主要形式,编译和解释。
从技术上讲,正如维基百科页面指出的那样,编译是将一种编程语言转换为另一种编程语言(通常是较低级别的语言)。传统上,这是指将多个输入文件组合成可在目标系统上运行的单个文件。
在解释语言中,程序在您的计算机上运行时会被逐段转换。
您提到了 Java 虚拟机,所以我将使用它作为示例。在 JVM 中,使用 javac
将 Java 代码编译为 Java 字节码。然后,该字节码由 Java 虚拟机解释并在底层硬件上运行。这就是 java
命令的作用。虽然 Java 可以被描述为编译型语言和解释型语言,但将 Java 本身视为编译型语言,而将 Java 字节码视为解释型语言可能更容易。
相比之下,其他语言如C和C++通常直接转换(编译)为目标硬件平台的机器代码。
除此之外,正如 @kostix 在评论中指出的那样,还存在转译,即源到源编译。转译是指将一种高级语言转换为另一种高级语言。一个常见的示例是将 JavaScript ES6 转换为 JavaScript ES5 以实现向后兼容性,或将 C++ 转换为 JavaScript
关于programming-languages - 编程语言实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47285351/