在看龙书,看得很吃力,小白问题,语法制导?

发布于 2022-09-22 14:27:35 字数 136 浏览 17 评论 0

在3.7节从正规表达式到NFA,提到:

“这个算法是语法制导算法,该算法使用正规表达式的语法结构来指导构造过程”

我看了下面的例子,还是没有体会出“语法制导”的意思

能不能用白话给解释一下,谢谢

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

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

发布评论

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

评论(9

多情癖 2022-09-29 14:27:35

说白了,就是告诉你regex是拿来干什么,有什么用,怎么使用的意思."语法制导",这个名词真难听

乱了心跳 2022-09-29 14:27:35

按照语法构造AST或者gen IR。

yacc语法匹配后面不是有个语义动作吗?一般用这个语义动作去build AST,这就是语法制导。

[ 本帖最后由 prolj 于 2008-11-24 12:10 编辑 ]

花辞树 2022-09-29 14:27:35

谢谢楼上两位,虽然还是有点迷糊

我在理解一下

风渺 2022-09-29 14:27:35

xdshting朋友,共同学习,我也在学习龙书。
和大家讨论交流,确实又学习到了许多知识。

刚才仔细读了龙书第3.7章节,书中说,

“The algorithm is syntax-directed in
that it uses the syntactice structure
of the regular expression to guide the
construction process."

后来我又查了一下directed的含义,金山词霸里
的解释有这么几个:
1、有指导的
2、有管理的
3、定向的
4、被控制的

从英语理解上,syntax-directed也是一个形容词,
所以我个人一些粗陋理解是,

”该算法是有语法指导的,使用正则表达式的语法结构
来指引构建过程。“

后来的图3.30,给出了一个正则表达式,(a|b)*abb的
语法结构图,然后通过 例3.16,结合图3.30一步步构
造这个正则表达式的NFA。

有什么理解错误的地方,请各位朋友批评指出。

马蹄踏│碎落叶 2022-09-29 14:27:35

原帖由 nmap 于 2008-12-4 21:23 发表
xdshting朋友,共同学习,我也在学习龙书。
和大家讨论交流,确实又学习到了许多知识。

刚才仔细读了龙书第3.7章节,书中说,

“The algorithm is syntax-directed in
that it uses the syntactice str ...

syntax-directed 是合成词,看 direct 的意思。

[ 本帖最后由 abutter 于 2008-12-6 11:16 编辑 ]

笨笨の傻瓜 2022-09-29 14:27:35

其实不是什么“语法制导”
是说这个算法是面向语法的,就是说用了正则表达式来建立语法规则
所谓面向语法,就是说这个算法的处理对象是语法结构

syntax-directed 在我的stardict上翻译为面向语法,词典为朗道英汉5.0

对风讲故事 2022-09-29 14:27:35

语法分析就是对token进行语法匹配,匹配的话,匹配的是一个具体的语句,如果匹配成功把这个匹配语句的IR构造出来,这就是语法制导。
不匹配就不构造IR了,给出错误信息就退出。
别那么迷信龙书,编译入门的书写的不错的多了去了,能让你明白的就是好书。

终陌 2022-09-29 14:27:35

真是吐血
买了一本龙书 ,第二版,回来一看,是英文版的

估计要浪费了。

无人接听 2022-09-29 14:27:35

你也太粗心了吧,不如转给我吧,我正想看这本书

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