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

时间:2019-05-20 01:04:24

标签: compiler-construction

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

我认为编写编译器所用的语言越容易,实际制作编译器就越容易。 我不知道足够简单的语言来编写编译器。我是用C / C ++和Python编写的,我认为为它们创建编译器/解释器不是一个好主意。

是否有不是不是为“真正”使用而设计的编程语言(即,不是庞大而令人生畏的),而是使其变得简单且具有教育意义?我可以用来制作编译器的东西吗? 我偶然发现了B编程语言,但还没有真正研究过它,所以我还不知道。

1 个答案:

答案 0 :(得分:1)

用于练习编写编译器和解释器的经典语言是Forth。特别是,解析和语法分析是微不足道的,因此您可以专注于事物的代码生成方面。

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