免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5332 | 回复: 16
打印 上一主题 下一主题

在看龙书,看得很吃力,小白问题,语法制导? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-24 01:04 |只看该作者 |倒序浏览
在3.7节从正规表达式到NFA,提到:

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

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

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

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
2 [报告]
发表于 2008-11-24 01:43 |只看该作者
说白了,就是告诉你regex是拿来干什么,有什么用,怎么使用的意思."语法制导",这个名词真难听

论坛徽章:
0
3 [报告]
发表于 2008-11-24 10:38 |只看该作者
按照语法构造AST或者gen IR。

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

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

论坛徽章:
0
4 [报告]
发表于 2008-11-24 21:13 |只看该作者
谢谢楼上两位,虽然还是有点迷糊

我在理解一下

论坛徽章:
0
5 [报告]
发表于 2008-12-04 21:23 |只看该作者
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。

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

论坛徽章:
0
6 [报告]
发表于 2008-12-06 11:12 |只看该作者
原帖由 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 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2008-12-09 19:21 |只看该作者
其实不是什么“语法制导”
是说这个算法是面向语法的,就是说用了正则表达式来建立语法规则
所谓面向语法,就是说这个算法的处理对象是语法结构

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

论坛徽章:
0
8 [报告]
发表于 2008-12-09 22:23 |只看该作者
语法分析就是对token进行语法匹配,匹配的话,匹配的是一个具体的语句,如果匹配成功把这个匹配语句的IR构造出来,这就是语法制导。
不匹配就不构造IR了,给出错误信息就退出。
别那么迷信龙书,编译入门的书写的不错的多了去了,能让你明白的就是好书。

论坛徽章:
0
9 [报告]
发表于 2008-12-12 17:20 |只看该作者
真是吐血
买了一本龙书 ,第二版,回来一看,是英文版的

估计要浪费了。

论坛徽章:
0
10 [报告]
发表于 2008-12-13 18:16 |只看该作者
你也太粗心了吧,不如转给我吧,我正想看这本书
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP