Compiler construction 基于C编写编译器基本上就是编写一个读取文件的程序吗?

Compiler construction 基于C编写编译器基本上就是编写一个读取文件的程序吗?,compiler-construction,Compiler Construction,我一直在考虑制作一种供个人使用(和学习)的语言,据我所知,最简单的方法是用C语言编写一个“编译器”,它基本上只是一个程序,读取一个文件,然后根据文件中的内容执行操作 有没有更好的方法来创造一种语言 我浏览了以下两个链接: 然而,第一个是告诉我如何编写一个编译C语言的编译器,但我不想这样 第二个是告诉我如何基于一种过时的语言(我想)制作一个编译器,我不希望我的语言只能在旧机器上使用 所以,基本上:我想为我自己的语言编写一个编译器,而不是为其他语言编写。我该怎么做?用C编写编译器是个好主意吗?如

我一直在考虑制作一种供个人使用(和学习)的语言,据我所知,最简单的方法是用C语言编写一个“编译器”,它基本上只是一个程序,读取一个文件,然后根据文件中的内容执行操作

有没有更好的方法来创造一种语言

我浏览了以下两个链接:

然而,第一个是告诉我如何编写一个编译C语言的编译器,但我不想这样

第二个是告诉我如何基于一种过时的语言(我想)制作一个编译器,我不希望我的语言只能在旧机器上使用


所以,基本上:我想为我自己的语言编写一个编译器,而不是为其他语言编写。我该怎么做?用C编写编译器是个好主意吗?

如果它“执行操作”,那么它不是编译器,而是解释器。编译器从一种语言(源语言)转换为另一种语言(目标语言)。首先,你编写一个编译器来编译你的新语言。然后,你编写一个编译器,在新语言中编译你的新语言。然后你编译它,扔掉你的旧编译器。@bright star这是获得自托管编译器的一种方法,但这不是制作语言的必要条件。链接的文件很好。当然,你不会像他们描述的那样做同样的编译器,他们只是举了个例子。等等,有件事我不明白。。。我可以把一个解释器作为它自己的程序,这样它就完全独立运行了吗?(例如,我为我的语言制作了一个C语言的解释器,然后将这个解释器简化为.exe或其他东西,这样我就可以删除C语言,仍然可以解释我的语言)如果可能的话,我想这就是我想要做的。