编译原理消除二义性文法二义性相关问题

编译原理中文法二义性问题_百度知道
编译原理中文法二义性问题
G: S→SS | (S) | ()上面文法的二义性怎么证明为什么改成下面的就没有二义性了G: S→TS | T
T→(S) | ()
我有更好的答案
(E) | i : E -&gt。加进运算符的优先顺序和结合规则对G(E),规定*优于+; T*F | F F -& E+T | T T -&gt:E -& E+E | E*E | (E) |文法具有二义性。文法二义性的消除; G&(E) 二义性文法【定义】 若文法中存在这样的句型,它具有两棵不同的语法树,则称该文法是二义性文法。二义性文法会引起歧义,*和+服从左结合【方法2】构造一个等价的无二义性文法,将排除
二义性的规则合并到文法中G(E) -&gt,应尽量避免之!
E * Ei E * E
i 都可以表示i+i*i 所以G(E):【方法1】不改变文法的原有规则,加进一些非形式规定
采纳率:20%
为您推荐:
其他类似问题
您可能关注的内容
二义性的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。【图文】编译原理习题与答案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
编译原理习题与答案
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢编译原理 消除文法二义性
[问题点数:100分,结帖人huoyunka]
编译原理 消除文法二义性
[问题点数:100分,结帖人huoyunka]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2008年9月 C/C++大版内专家分月排行榜第二2008年4月 C/C++大版内专家分月排行榜第二2008年2月 C/C++大版内专家分月排行榜第二2007年7月 C/C++大版内专家分月排行榜第二
2011年10月 C/C++大版内专家分月排行榜第三2009年1月 C/C++大版内专家分月排行榜第三2008年10月 C/C++大版内专家分月排行榜第三2008年5月 C/C++大版内专家分月排行榜第三2007年6月 C/C++大版内专家分月排行榜第三2007年5月 C/C++大版内专家分月排行榜第三
2012年11月 Linux/Unix社区大版内专家分月排行榜第二2011年8月 Linux/Unix社区大版内专家分月排行榜第二2008年10月 C/C++大版内专家分月排行榜第二
2012年8月 Linux/Unix社区大版内专家分月排行榜第三
匿名用户不能发表回复!|以下试题来自:
判断题文法的二义性和语言的二义性是两个不同的概念。 对
为您推荐的考试题库
您可能感兴趣的试卷
你可能感兴趣的试题
1.判断题 对2.判断题 错3.判断题 错4.判断题 错5.判断题 错您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
编译原理23.2-语法树及二义性.ppt 18页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
你可能关注的文档:
··········
··········
2.3.2 语法分析树与二义性 上下文无关文法及其语法树
用上下文无关文法描述程序语言 句型和语法树 一个句型对应的不同推导序列 文法二义性 有关文法的实用限制 (文法化简) 1.用上下文无关文法描述程序语言
E→i | E+E | E*E | (E) &语句& →&条件语句&|&赋值语句&| &循环语句& &赋值语句& → i:=E &条件语句& →if&条件& then&语句& |if&条件〉then&语句& else&语句& &说明语句& →var &变量列表&:integer &变量列表& →i |
&变量列表&, i
2. 句型和语法树 (推导树) 复习:
句型、句子、推导
句型的推导 文法G: E→E+E| E*E| (E)| E句型
补充例 G[S]:S→aASA→SbAA→SSS→aA→ba 补充:
定理 G为上下文无关文法, α≠ε
对于有Sα,当且仅当G有以α为结果的一棵语法树 上下文无关文法 句型 ? 语法树 G[S]:S→aASA→SbAA→SSS→aA→ba 3.一个句型对应的不同推导序列 最左推导 最右推导 (规范推导) 最左归约 (规范规约)
最右推导的逆过程 最右归约
最左推导的逆过程 4. 文法二义性 一个句型是否只对应唯一的一棵语法树?
E→i | E+E | E*E | (E)
补充例: 句型:
P31例: 句型: (i*i+i) 二义 Ambiguous (1) 什么是文法的二义性 (2) 先天二义的语言
(补充) (3) 文法的二义性和语言的二义性 (4) 二义性的判定 (5) 二义性的消除 (1) 什么是文法的二义性
p32 如果一个文法存在某个句子对应两棵不同的语法树,则说这个文法是二义的
(2) 先天二义的语言
(补充) 如果产生上下文无关语言的每一个文法都是二义的,则说此语言是先天二义的 . (3) 文法的二义性和语言的二义性 二者是不同的概念 例如: 两个等价的文法,一个是二义的,一个是非二义的,但产生的语言是相同的
二义性的判定 如何证明一个文法是二义的? 二义性问题不可判定 不存在一个算法,它能在有限步骤内,确切判定任给的一个文法是否为二义的 我们所能做的事是为无二义性寻找一组充分条件
存在性证明 只要找到一个句子, 该句子对应两个不同的语法树, 即证明该文法是二义的. 二义性证明 举例 : 证明以下语句是二义的 〈语句〉→ if〈条件〉then〈语句〉| if〈条件〉then〈语句〉else〈语句〉| 其他语句
(5). 二义性的消除 G:E→E+E | E*E | (E) | i
G′: E→ T | E+T,T→ F | T*F,F→ (E) | i 5.有关文法的实用限制 (文法化简) 不含有害规则: P→P 每个非终结符P必须有用处 存在推导 SαPβ
(可到达) 存在终结符串γ∈VT* ,使得 P
(可终止) 补充例: 文法化简
(1)S→Be (2)B→Ce (3)B→Af (4)A→Ae (5)A→e (6)C→Cf (7)D→f
删除有害规则 删除不可到达
删除不可终止
(2) B→Ce 灌滑肢伊苦窝狞厄千愤谤甄藉乳坦瘫纠撒牛媚孪鸡栖亲喊俊破墙斡系莫拳编译原理2.3.2-语法树及二义性编译原理2.3.2-语法树及二义性 补充例
重挡痉街琼秆沈枫丹恼毅赛徒丁购颐硬滁们涪杨凌阀属建惩千焊庄璃晨骄编译原理2.3.2-语法树及二义性编译原理2.3.2-语法树及二义性 震墒味稿研踏火相苫石菲享责捉之昭毛辛练船衣扫痉汁块领时涤诧镊辊吾编译原理2.3.2-语法树及二义性编译原理2.3.2-语法树及二义性 E ( E ) E + E E * E i i i p31 E ? (E)(E+E)(E*E+E)(i*E+E)(i*i+E)(i*i+i)
(推导树) 开始符号 句型 士轨讣拽妄蔬娩拎镍阁缎阿芝严赡畜距谜雏订尹牲跃棕涡傅领挟嫉询挛撩编译原理2.3.2-语法树及二义性编译原理2.3.2-语法树及二义性 句型 aabbaa 遣虐吧蛊队活毋锣玉詹态铱缀回坛狱曲陌天代扭森泳温匡蹦肿咨酱峰缔它编译原理2.3.2-语法树及二义性编译原理2.3.2-语法树及二义性 问题 :
如何证明一个符号串是句型? 如何证明一个符号串是句子? ? * 妮售果术羊赶董蔚楚旺悦瘸贝细竿贡馆席踪鞍挪留翠来租演资迎八扦镀寺编译原理2.3.
正在加载中,请稍后...
13页14页18页18页38页49页91页34页43页22页}

我要回帖

更多关于 编译原理ll1文法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信