compiler-construction - 如果每种语言都是用其他语言编写的,那么哪种语言位于底部?
问题描述
我一直听说每种语言的编译器都是用其他语言设计的。例如,PHP 的解释器是用 C 编写的。C++ 是用 C 编写的。JDK 是用 C/C++ 编写的。那么,如果我没记错的话,一定有一种共同语言,这种语言在所有人中都是共同的。如果在每个编译器的底部都存在一种通用语言,那么该语言是什么?
解决方案
C 最初是用汇编语言和/或 BCPL 或其他早期语言编写的。第一个汇编程序是用机器语言编写的——基本上是直接编写指令的数字代码。数字代码通过开关和其他原始输入设备输入第一台计算机。
如今,用于新计算机的软件是使用在现有计算机上运行的工具编写的。编译器通常设计有前端(读取和解释源代码的部分,生成对编译器有用的中间语言)和后端(将中间语言转换为汇编代码和/或目标代码的部分)。通过编写新的后端,可以为新机器编译现有编译器的源代码。
推荐阅读
- python - 当我手动单击链接时,Python 和 Selenium 会弹出一个对话框,而不是自动下载
- .net-core - tweetinvi RegisterWebhookAsync 401 - 未经授权 - 身份验证凭据丢失或不正确
- javascript - 是否可以使用 java/spring boot 关闭浏览器的当前选项卡
- java - Spring Security httpBasic 404 以获得正确的凭据
- redis - 关系 DBMS 模型迁移到 Redis
- javascript - package.json 文件路径依赖有所有文件
- arrays - C中char数组的倒序
- javascript - 如果在 Vue 中没有给出空布尔道具?
- angular - Angular 测试:在使用 ng-content 的子组件中获取 HTML 元素
- python - 需要用python从PDF文件中提取文本