※最左推导和最右推导
(每一步替换最左边的非终结符/每一步替换最右边的非终结符),最右推导称为规范推导。最右推导对应于最左规约(规范规约)
例:
文法:
S--->AB
A--->a|t
B---->+CD
C--->a
D---->a
最右推导:
S--->AB---->A+CD--->A+Ca---->A+aa----->a+aa
最左推导:
S---->AB----->aB--->a+CD--->a+aD----->a+aa
※语法树:
例
文法:
相应的语法树:
(这是最右推导的语法树)
※文法的二义性:
给定一个文法G,如果L(G)中存在一个具有两棵或两棵以上分析树的句子, 我们就称该文法为二义性的,G也叫二义性文法。
对于以下文法:
对于id+id*id的串,有两个分析树与之对应
造成二义性的原因是:文法中没有体现出结合率和优先级
本文介绍了形式语言中最左推导与最右推导的概念,并通过实例展示了这两种推导方式的区别。此外还讨论了文法二义性的概念及其产生的原因。
4279

被折叠的 条评论
为什么被折叠?



