关于编译原理语法分析的问题

发布于 2022-09-02 14:54:17 字数 344 浏览 24 评论 0

最近在学习编译原理, 看完了词法分析在看语法分析, 看到两个概念
1.递归下降
2.自顶向下

根据我的理解递归下降和自顶向下应该是用来手工构造语法分析器的算法,而且递归下降避免了回溯,应该说比自顶向下要好(不知道这样理解对不对...)

之后继续看书看到了什么ll(1),lr 之类的概念,也提到了自顶向下,但好像是语法分析器的生成器里面的运用 我的问题在于:

这几个概念到底是怎么样的,递归下降 自顶向下算是两种不同的算法吗? 他们和语法分析器生成器有关系吗? 还有后面的ll lr 之类的概念都是语法生成器范畴类的还是手工构造也要用的呢...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

半暖夏伤 2022-09-09 14:54:17

自顶向下 / 自底向上 是parse算法的两大类

ll lr 递归下降这些是具体算法

ll和递归下降属于自顶向下类, lr lalr属于自底向上类

这些算法的程序可以手写 也可用程序生成

我一向站在原地 2022-09-09 14:54:17

不能简单的说那个好那个不好,都是有适用场景的, JAVA 里面就同时用到了这 2 种方式。

建议可以系统学习下《编译原理实战课

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文