可能重复:
Methodologies for designing a simple programming language
Learning to write a compiler
我想编写一种编程语言,其语法类似于QBasic,但更简单。我希望它适合初学程序员。它的简单性将鼓励有抱负的程序员不要放弃并让他们对编程感兴趣。例如: 而不是QBasic的 打印“Hello World!”
我会用
写下“Hello World!”
或者更像VB
写(“Hello World”)
我如何调整基本语法来制作我的语言?
答案 0 :(得分:14)
这不是一项简单的任务。语言分析和编译器理论是非常重要的主题。很多数学。您还必须决定要定位的平台,这也将决定您的语言是否已完全编译(例如,C / C ++,Pascal),编译为字节码(例如Python,Java),还是在运行时解释(例如VBScript) ,JavaScript)。要指定语言本身,请查看Backus-Naur format。
为了帮助您,有几个强大的解析器生成器,包括:
还有更多。可以找到here的比较,而另一个列表可以找到here
如果您真的对完整理论感兴趣,可以查看The Dragon Book。
但我必须重申:这是一个很大的主题。有很多很多工具可以帮助你,但兔子洞的深度很深。
答案 1 :(得分:2)
我认为最重要的是:
选择其中的1.9个。
很有可能获得其中任何两个的合理程度。完全做任何两个是非常很难,并试图让所有三个人离开你在没有做好的无人区。
P.S。我从#1 +#3
的经验中汲取灵感