首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >程序设计语言实现

程序设计语言实现
EN

Stack Overflow用户
提问于 2017-11-14 12:01:09
回答 1查看 1.9K关注 0票数 3

在我的讲稿“语言实现系统”中,

语言实现系统提供从高级语言的程序到机器指令的接口。

在维基百科给我的搜索之后,

编程语言实现是用于执行计算机程序的系统。

但我很难理解这个概念。它是在谈论类似于JVM ()的东西吗?

有人能用更简单的术语向我解释一下吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-14 13:10:14

我试试看。

编程语言实现描述了如何将代码(例如Java)作为示例转换为机器(处理器等)理解的语言的方法。我们将此称为机器代码。

它主要有两种形式:interpretation.和编译

从技术上讲,正如维基百科页面所指出的,编译就是将一种编程语言转换为另一种编程语言(通常是低级语言)。传统上,这是指将多个输入文件组合成一个可在目标系统上运行的文件。

解释的语言中,当程序在机器上运行时,程序会被一段一段地转换。

您提到了Java虚拟机,所以我将以它为例。在JVM中,Java代码是使用编译成Java字节码的。然后,Java对此字节码进行解释,并在底层硬件上运行。这就是java命令所做的。虽然Java可以被描述为一种编译和解释的语言,但是将Java本身看作一种编译语言和Java字节码作为一种解释语言可能更容易一些。

相反,其他语言(如C和C++ )通常直接转换(编译)为目标硬件平台的机器代码。

此外,正如@kostix在评论中所指出的,存在transpiling,或源到源编译。Transpiling指的是将一种较高层次的语言转换为另一种更高层次的语言。一个常见的示例是将JavaScript ES6转换为JavaScript ES5以实现向后兼容性,或者将C++转换为JavaScript。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47285351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档