Python中的解释器:如何制作自己的编程语言?
记住,这里是用Python写的。
今天我在玩我自己做的一个叫Pyline的应用程序。它有点像命令行界面,功能还挺酷的。不过,在制作这个应用的时候,我有个想法:既然它像一个“操作系统”,那它是不是也应该有自己的语言呢?
我在网上看到一些关于如何制作解释器、解析器和编译器的文章,但那些内容对我来说实在是太难懂了。我看到的全是一堆代码。我是那种需要注释、说明文档或者其他任何形式的用户沟通,而不是单纯看代码的人。所以我觉得在Stack Overflow上问问,可能会对我这个青少年有帮助。有人能帮帮我吗?
4 个回答
1
就像theatrus说的,我建议你先找一本关于这个主题的好书。我可以推荐一本由Terence Parr写的书,叫做《语言实现模式》。他可是ANTLR的创始人,ANTLR是一个常用的解析器生成工具。
10
在真正创建一种编程语言之前,你需要先打好基础。我强烈建议你去看看一本书,叫做《编程语言实用指南》,这本书读起来很轻松(比起《龙书》要容易得多),适合自学。
当你准备好开始研究解析器的时候,ANTLR是解析器生成器中的“黄金标准”,因为它使用起来非常方便(虽然flex+bison/yacc也很强大)。