创建编程语言和编译器设计.它们有关系吗?

Nar*_*aki 7 compiler-construction programming-languages

好吧,我想这个问题在很多时候都被问过了.

我想创建一种编程语言,不一定从今天开始,但需要超过2-3年.我不是一个非常优秀的程序员,但我正在改进.我想问的是如何创建一种语言并编写相关的编译器?

因为编译器将一种语言从一种形式翻译成另一种形式,我想这就是为特定文本编写编译器.因此,如果我学习编译器设计,我能编写自己的编程语言吗?

Kri*_*son 4

您可以在不了解有关实现编译器的任何信息的情况下设计一种编程语言,反之亦然。语言设计者可以为该语言编写规范,然后编译器实现者可以采用该规范并创建编译器。

但是,如果这是一个个人项目,那么您可能必须学习如何做到这两点。没有编译器的编程语言纯粹是理论性的,如果不使用它编写和执行真实的程序,就很难弄清楚一种编程语言有多好。即使您确实找到愿意为您实现编译器的人,您可能也不想每次有新想法尝试时都必须等待那个人,因此您会想知道如何自己去做。

实现编译器是一个非常高级的编程项目,因此如果您刚刚开始成为一名程序员,那么您将面临一个陡峭的学习曲线。您可能希望首先查看LLVM的教程和示例,尽管这实际上可能不是适合您的语言的编译器基础结构。