编译器编写之旅github.com/DoctorWkt/acwj“在这个Git

又仁看科技 2025-05-07 12:55:08

编译器编写之旅

github.com/DoctorWkt/acwj

“在这个 Github 仓库中,我记录了自己为 C 语言的一个子集编写一个自编译编译器的过程。我也会详细写出每一步的细节,以便如果你愿意跟随这个过程,将会有对我所做内容、原因以及一些与编译器理论相关参考的解释。

不需要太多理论,我希望这是一次实践之旅。

以下是我为这次旅程设定的目标:

编写一个自编译的编译器。我认为,如果一个编译器能够编译自身,它就有资格称自己为真正的编译器。

至少针对一个真实的硬件平台。我见过一些编译器会为目标机器生成代码,但那些机器只是假设存在的。我希望我的编译器能够在真实的硬件上运行。此外,如果可能的话,我希望能编写这个编译器,使其支持多个后端以适配不同的硬件平台。

实践先于研究。在编译器领域有很多研究。我希望从零开始这段旅程,因此我会倾向于采用实践的方法,而不是以理论为主的方法。 话虽如此,有时候我也会需要介绍(并实现)一些基于理论的内容。

遵循 KISS 原则:保持简洁,傻瓜!我肯定会采用肯·汤普逊(Ken Thompson)的原理:“遇到疑问时,使用暴力解法。”

通过许多小步骤来达成最终目标。我会把整个旅程分成很多简单的步骤,而不是采取大的飞跃。这样可以让编译器的每一个新增功能都变得小巧而易于理解。

AI创造营

0 阅读:6
又仁看科技

又仁看科技

感谢大家的关注