社区
C++ 语言
帖子详情
编译原理 消除文法二义性
huoyunka
2008-11-05 02:48:44
正在些语法分析程序,请问怎样用程序判断文法是不是具有二义性,并用程序消除二义性.
如果有例子最好,不然说说思路也可以,先谢谢了
...全文
2260
9
打赏
收藏
编译原理 消除文法二义性
正在些语法分析程序,请问怎样用程序判断文法是不是具有二义性,并用程序消除二义性. 如果有例子最好,不然说说思路也可以,先谢谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
太乙
2008-11-09
打赏
举报
回复
upup~~~
zsl6658
2008-11-09
打赏
举报
回复
jf
lzh9955
2008-11-09
打赏
举报
回复
期待中!!!
yzfyzyl
2008-11-06
打赏
举报
回复
这个得在语法设计时就要考虑了,即使是C/C++也存在二义性、不确定性的语法
对于这种情况,各编译器考虑的不同的方案,主要还是看你如何进行文法分析
你可以选一种方便分析的一种去做。
于是,要判断二义性的存在,可以尝试使用不同的优先顺序解释
假如解释出现歧义,那么一定存在二义性的语法(如经典的++运算)
要消除二义性,最简单可行的就是定义优先级,不过不一定适合所有情况
飞燕算法群
:46520219
yshuise
2008-11-06
打赏
举报
回复
编译原理对此有详细解说:
第一,就近结合原则。
第二,优先级结合原则。
第三,消除左递归(变成有递归)。
第四:提取公因式。
stuarts740
2008-11-06
打赏
举报
回复
学习,帮顶一下
帅得不敢出门
2008-11-05
打赏
举报
回复
http://www.cnblogs.com/suyang/archive/2008/04/25/1171178.html
http://topic.csdn.net/t/20010827/21/258880.html#
星羽
2008-11-05
打赏
举报
回复
http://www.blogjava.net/zellux/archive/2007/07/27/132722.html
Longinc
2008-11-05
打赏
举报
回复
友情帮顶
如何
消除
文法
二义性
、如何判断二义
文法
—
编译原理
SLR(1)、LR(1)、LALR(1)
文法
之间的关系,什么是LL(1)、LR(0)、LR(1)
文法
,什么是句柄、什么是自上而下、自下而上分析,何时需要
消除
左递归,如何
消除
左递归,如何判断二义
文法
及
消除
文法
二义性
,什么是上下文无关
文法
、最左推导和最右推导
编译原理
:
文法
及其
二义性
(判定及
消除
)
学
编译原理
时,会学到
文法
,老师在介绍完
文法
的相关定义后又介绍了
文法
的
二义性
,但是没说到底是如何避免
文法
的
二义性
的。 这篇博文就是我的学习结果
文法
的
二义性
:如果
文法
G中的某个句子存在不只一棵语法树,则称该句子是
二义性
的。如果
文法
含有
二义性
的句子,则称该
文法
是
二义性
的。 我举个例子,来说明
文法
的
二义性
及其避免方法: 有下面这个
文法
: S - >S and S | S or S | n...
【
编译原理
】一篇搞定语法分析器对
文法
的要求(上下文无法
文法
、
消除
二义性
文法
、
消除
左递归)
语法分析这里提供了6种语法分析算法,但是这些算法对输入的
文法
是有要求的(很没有规则的一些
文法
是无法识别的,只能识别规则感很强的
文法
),不同算法要求的严格度不相同。 本部分的重点内容如下: 不同语法分析算法对
文法
的要求是什么? 如何转变
文法
满足分析算法要求?
编译原理
-自顶向下
文法
消除
二义性
和左递归
自顶向下
文法
消除
二义性
和左递归前言一、自顶向下
文法
二、自顶向下面临的问题1.
二义性
问题2.
二义性
问题解决方案3.左递归问题4.左递归问题解决方案5.回溯问题6.回溯问题解决方案总结 前言 语言是满足一定组成规则的句子集合,句子是满足一定组成规则的单词序列,单词则是满足一定组成规则的字符串。这些组成规则就是
文法
中的产生式。 语法分析(syntax analysis)是编译程序的核心部分,其任务是检查词法分析器输出的单词序列是否是源语言中的句子,亦即是否符合源语言的语法规则。无论是自顶向下还是自底向上,语法.
什么是LL(1)、LR(0)、LR(1)
文法
、LR分析表—
编译原理
SLR(1)、LR(1)、LALR(1)
文法
之间的关系,什么是LL(1)、LR(0)、LR(1)
文法
,什么是句柄、什么是自上而下、自下而上分析,何时需要
消除
左递归,如何
消除
左递归,如何判断二义
文法
及
消除
文法
二义性
,什么是上下文无关
文法
、最左推导和最右推导
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章