- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章:语法分析 文法等价变换 文法等价变换的概念 文法的等价 对文法G1和G2,若有:L(G1)=L(G2),则称文法G1和G2等价, 记作:G1=G2. 文法等价变换 1.增加拓广产生式 2.删除无用规则 3.消除特型产生式 4.消除空产生式 5.提前公共前缀 6.消除直接左递归 7.消除左递归 1.增加拓广产生式 定理一:对任一文法G1都可以构造文法G2,使得L(G1)=L(G2),G2的开始符不出现于任何产生式的右部。 证明:假设S是G1的开始符,若S出现在某规则的右部,则引入新的语法符号S,增加一条新产生式S?S即可,其中S是新的开始符。 1.增加拓广产生式 例: G1[Z]: Z → abZA | a A → b G2[Z]: Z →Z Z → abZA |a A →b 2.删除无用规则 无用产生式: 若存在非终极符A,它不出现于该文法的任何一个句型中,则关于A的产生式是多余的(无用产生式、不可到达的产生式). 定理二 对任一文法G1都可以构造文法G2,使得L(G1)=L(G2),并且G2中的每个非终极符必出现在它的某个句型中. 2.删除无用规则 证明:根据G1,构造文法G2的方法如下: (1) 令?={Z | Z是文法的开始符}. (2) 递归扩充?直到收敛为止,即: ?=??{B | A?xBy?G1, B?VN, A??}. (3) 若一个产生式左部非终极符A??,则删除以A为左部的所有产生式. 2.删除无用规则 例子: Z?aB|bc B?bC|a A?aB|a C?c D?AB|a 3.消除特型产生式 特型产生式 若文法中的产生式具有形式A?B(B为非终极符),则称该产生式为特型产生式. 特型产生式的缺点是在语法分析中会降低分析的速度,因此应该消除这样的产生式. 定理三 对任一文法G1,可以构造文法G2,使得L(G1)=L(G2),并且在G2中没有特型产生式. 3.消除特型产生式 证明:构造无特型产生式的文法G2的方法如下: (1) 对文法G1中每个非终极符A,求集合: ?A={B | A=+B, B?VN}. (2) 若B??A,且B??是文法G中的一个非特型产生式,则补充如下规则: A?? (3) 去掉文法G1中的所有的特型产生式. (4) 去掉新的文法中的无用产生式. 3.消除特型产生式 例子 A?B|D|aB B?C|b C?c D?B|d 3.消除特型产生式 例子 E?E+T E?T T?T*F T?F F?(E)|i 4.消除空产生式 空产生式:A?ε PASCAL语言例子: 声明部分?var 标号声明 常量声明 类型声明 变量声明 过程函数声明 变量声明?类型标识符变量声明|ε 定理四:对任一文法G1,可构造文法G2,使得L(G1)=L(G2),且G2中无空产生式。 4.消除空产生式 ?={A|A??},直接推出空的非终极符 ?=??{A|A ?+?, ???+},递归扩展隐式的可以推出空的非终极符 对于文法中任意产生式 A?X1…Xi-1XiXi+1…Xn(n≥2),若Xi??, 补充规则 A? X1X2…Xi-1Xi+1…Xn 重复3,直到不产生新的产生式。 删除所有形如A??的产生式。 4.消除空产生式 例子 A?aBcD B?b|? D?BB|d 5.提取公共前缀 公共前缀:A的不同产生式的右部具有相同的前缀. 这种情形不满足自顶向下的语法分析条件. 可用提取左因子的方法消除产生式的公共前缀.假定关于A的规则是: A???1 | ??2 |…| ??n | ?1| ?2 |…| γm (其中每个?不以?开头) 则将这些规则写成: A??A’ | ?1 |γ2|…|γm A’??1 | ?2 |…|?n 经过反复提取左因子,就能够使每个非终极符的不同产生式的右部具有不同的前缀. 5.提取公共前缀 例子: A?aB|aC|aD B?bB|bD|c D?d 6.消除直接左递归 对于简单情形A?A?|? 即有A??αα…α 则转化 A??A A??A|? 对于一般情形 A?A?1 | A?2 |…| A?m | ?1 | ?2| …| ?n 则转化 A?( ?1 | ?2 |…| ?n ) A A?(?1 | ?2 |…|
您可能关注的文档
- 混凝土案例分析.ppt
- 彭水县平安镇鹿平村调研报告.ppt
- 依兰特上市暨品牌传播策划案v5.0课件.ppt
- 沃尔玛南墙三面翻招商资料模板.ppt
- 10月档期方案南瓜演示文稿.ppt
- 金立手机推广策划案演示文稿.ppt
- 06城市道路纵断面规划设计教学课件.ppt
- 七夕活动总结课件.ppt
- 创建党员品牌活动演示文稿.ppt
- 两会招商方案图片压缩版.ppt
- 初中数学统计教学中数据分析能力培养课题报告教学研究课题报告.docx
- 初中生手机过度使用对视力影响的研究教学研究课题报告.docx
- 高中物理教学中物理观念建构的教学设计与实践课题报告教学研究课题报告.docx
- 2026校招:医疗器械试题及答案.doc
- 小学科学探究式学习与教师数字素养提升激励机制研究教学研究课题报告.docx
- 2026校招:医疗器械题库及答案.doc
- 大学医学伦理学课程中案例教学法的应用研究课题报告教学研究课题报告.docx
- 大学教育学课程中教育机器人的应用现状与发展趋势课题报告教学研究课题报告.docx
- 大学生设计机器人传感器系统进行深海地形测绘课题报告教学研究课题报告.docx
- 汉字空间哲学在高中地理环境教学中的实践课题报告教学研究课题报告.docx
原创力文档


文档评论(0)