我想编写一个用于教育目的的解析器生成器,并且想知道是否有一些不错的在线资源或教程来解释如何编写一个解析器生成器。类似于 Jack Crenshaw 的“让我们构建一个编译器”。
我想为 LR(1) 语法编写解析器生成器。
我对生成操作和转到表背后的理论有很好的理解,但需要一些资源来帮助我实现它。
首选语言是 C/C++、Java,但其他语言也可以。
谢谢。
最佳答案
我同意其他人的观点,Dragon 书是 LR 解析的良好背景。
如果您对递归下降解析器感兴趣,这个网站是一个非常有趣的学习体验,它引导您构建一个完全独立的编译器系统,可以编译自身和其他语言:
这一切都基于 Val Schorre 撰写的一篇令人惊叹的 10 页技术论文:META II:一种面向语法的编译器编写语言,来自 1964 年。我学会了如何构建1970 年的编译器。当您终于明白编译器如何 self 再生时,有一个令人兴奋的时刻......
我在大学时代就认识该网站的作者,但与该网站无关。
关于parsing - 用于编写解析器生成器的在线资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1359486/