可能的重复:
设计简单编程语言的方法
学习编写编译器
我想编写一种语法类似于 QBasic 但更简单的编程语言。我希望它适合初学者。它的简单性将鼓励有抱负的程序员不要放弃并让他们对编程产生兴趣。例如:
代替 QBasic 的
打印“你好世界!”
我会用
写下“你好世界!”
或者更像VB一点
写(“你好世界”)
我将如何调整基本语法来创建我的语言?
这不是一个简单的任务。语言解析和编译器理论是相当重要的主题。很多数学。您还必须决定您想要的目标平台,这也将决定您的语言是否完全编译(例如 C/C++、Pascal)、编译为字节码(例如 Python、Java)或在运行时解释(例如 VBScript) ,JavaScript)。要指定语言本身,请温习巴科斯-诺尔格式.
为了帮助您,有几个强大的解析器生成器,包括:
- Lex/Yacc(Flex/Bison 是 GNU 版本)- 老派行业标准。用于开发 C/C++ 编译器
-
ANTLR- 如果您有兴趣使用 Java 创建编译器
-
精神振奋- 一种不同的方法,允许使用 C++ 本身来规范语言。
还有很多。对比可以发现here,同时还可以找到另一个列表here
如果您真的对完整的理论感兴趣,您想查看一下龙之书.
但我必须重申:这是一个大课题。有很多很多工具可以帮助你,但兔子洞却相当深。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)