parsing - 用于编写解析器生成器的在线资源

标签 parsing parser-generator lr-grammar

我想编写一个用于教育目的的解析器生成器,并且想知道是否有一些不错的在线资源或教程来解释如何编写一个解析器生成器。类似于 Jack Crenshaw 的“让我们构建一个编译器”。

我想为 LR(1) 语法编写解析器生成器。

我对生成操作和转到表背后的理论有很好的理解,但需要一些资源来帮助我实现它。

首选语言是 C/C++、Java,但其他语言也可以。

谢谢。

最佳答案

我同意其他人的观点,Dragon 书是 LR 解析的良好背景。

如果您对递归下降解析器感兴趣,这个网站是一个非常有趣的学习体验,它引导您构建一个完全独立的编译器系统,可以编译自身和其他语言:

MetaII Compiler Tutorial

这一切都基于 Val Schorre 撰写的一篇令人惊叹的 10 页技术论文:META II:一种面向语法的编译器编写语言,来自 1964 年。我学会了如何构建1970 年的编译器。当您终于明白编译器如何 self 再生时,有一个令人兴奋的时刻......

我在大学时代就认识该网站的作者,但与该网站无关。

关于parsing - 用于编写解析器生成器的在线资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1359486/

相关文章:

abstract-syntax-tree - 如何将 LR(1) Parse 转换为抽象语法树?

python - 用大括号解析文件

parsing - 与使用解析器组合器相比,使用快乐之类的解析器生成器有什么优势?

parsing - 为什么编译器不能出现 "shift/shift"冲突?

Bison 错误处理

java - 语法写作初学者指南

algorithm - LR(0)/SLR/LR(1) 解析 - 如何选择产生式?

iPhone SDK - 从 RSS feed 解析 XML 时出现问题

javascript - 如何使用 e4x 去除 namespace ?

java - Android 上如何解析 JSON 数据?