gre*_*561 41 language-agnostic parsing
我正在寻找可以进行研究的解析器和/或解析器生成器的源代码,以便进一步发展,我在学校课程中获得的技能.你知道任何类型的推荐解析器吗?
Ira*_*ter 22
您应该知道如何手动构建递归下降解析器.这是一个关于如何执行此操作的快速课程的SO链接:https: //stackoverflow.com/a/2336769/120163
如果您想了解如何自动构建递归下降解析器,您可以在此链接上阅读MetaII上的论文(并参阅教程):https://stackoverflow.com/a/1142034/120163
解析器本身通常不那么有趣,它是解析器的生成器,它更像是一个学习主题.
如果LALR(1)对你感兴趣,我在github上有一个库,试图在LALR解析上做一个新的数字.随意看看.它是在C#中,我已尽力使代码易于理解.这对我来说是一个学习项目,但它比大工具小,而且更容易渗透.绝对可以随意贡献,还有很多功能可供添加.
否则,请查看生成的这些工具的代码,以了解它们如何构建实际工作的解析器.
小智 5
我会向你推荐这本书:http : //www.cs.nott.ac.uk/~gmh/book.html。开始使用 Haskell 非常好,它有一整章都是关于解析器的。
如果您能理解这一点,那么使用 Haskell 创建解析器非常简单。还要考虑到 Haskell 非常快,而且非常适合多核编程,所以它可能是未来。
加。
这是 Haskell 中的解析器:Happy - http://www.haskell.org/happy/。