Compiler construction 在我学习编译器设计时,哪种语言对我来说足够简单,可以为其制作编译器?

Compiler construction 在我学习编译器设计时,哪种语言对我来说足够简单,可以为其制作编译器?,compiler-construction,Compiler Construction,我刚刚完成软件工程的第二年,我想今年夏天我会花时间学习编译器设计,并制作自己的编译器 我认为你制作编译器的语言越简单,你就越容易制作编译器。 我不知道哪种语言足够简单,我无法为它编写编译器。我是用C/C++和Python编写的,我认为为它们制作一个编译器/解释器不是一个好主意 有没有哪种编程语言不是为“真正的”使用而设计的(即不是巨大的和令人畏惧的),而是为了简单和教育而设计的?我可以用来做编译器的东西? 我偶然发现了B编程语言,但我还没有真正研究它,所以我还不知道。用来练习编写编译器和解释器的

我刚刚完成软件工程的第二年,我想今年夏天我会花时间学习编译器设计,并制作自己的编译器

我认为你制作编译器的语言越简单,你就越容易制作编译器。 我不知道哪种语言足够简单,我无法为它编写编译器。我是用C/C++和Python编写的,我认为为它们制作一个编译器/解释器不是一个好主意

有没有哪种编程语言不是为“真正的”使用而设计的(即不是巨大的和令人畏惧的),而是为了简单和教育而设计的?我可以用来做编译器的东西?
我偶然发现了B编程语言,但我还没有真正研究它,所以我还不知道。

用来练习编写编译器和解释器的经典语言是。特别是,解析和语法分析非常简单,因此您可以将重点放在代码生成方面


尽管Forth很简单,但它是图灵完备的,并且在现实世界中(通常在嵌入式系统上)得到了广泛的应用。

您可能会发现它很有趣。斯坦福大学有一个免费的在线编译器课程,使用COOL作为一个持续的例子。看看Oberon。它很简单,适合单次编译,并且有非常有指导意义的实现,您可以阅读。