- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理习题答案-第4章;4.2.1 考虑上下文无关文法:
以及串
1)给出这个串的一个最左推导。
2)给出这个串的一个最右推导。
;3)给出这个串的一棵语法分析树。
4)这个文法是否为二义性的?证明你的回答。
该文法不是二义性的。因为对于文法产生的每一个符号串,不存在两棵不同的分析树(或两种不同的最左或最右推导)。
5)描述这个文法生成的语言。
以a为变量,+和*为二元操作符的后缀表达式的集合;4.2.2 3)考虑上下文无关文法:
以及串 (()())。
1)给出这个串的一个最左推导。
2)给出这个串的一个最右推导;3)给出这个串的一棵语法分析树。;4)这个文法是否为二义性的?证明你的回答。
该文法是二义性的文法。
如串 ()() 对应着两棵不同的语法分析树。
5)描述这个文法生成的语言。
括号的匹配,包括空串。;4.2.3 为下面的语言设计文法:
1)所有由0和1组成的并且每个0之后都至少跟着一个1的串的集合。
2)所有由0和1组成的回文的集合,也就是从前面和从后面读结果都相同的串的集合。
3)所有由0和1组成的具有相同多个0和1的串的集合。
;4)所有由0和1组成的并且0的个数和1的个数不同的串的集合。
S ? A| B
A ? AA | E0E (A是0比1多的串)
B ? BB | E1E (B是1比0多的串)
E ? 0E1E | 1E0E | ? (E是0和1的个数相等的串)
5)所有由0和1组成的且其中不包含子串011的串的集合。
6)所有由0和1组成的形如xy的串的集合,其中
且x和y等长。
S ? AB | BA
A ? XAX | 0 (A是奇数长度,中间为0的串)
B ? XBX | 1 (B是奇数长度,中间为1的串)
X ? 0 | 1;4.3.1 下面是一个只包含符号a和b的正则表达式的文法。它使用+替代表示并运算的字符“|”,以避免和文法中作为元符号使用的竖线相混淆:
1)对这个文法提取左公因子。;2)提取左公因子的变换能使这个文法适用于自顶向下的语法分析技术吗?
不可以。文法中依然存在左递归。
3)提取左公因子之后,从原文法中消除左递归。
4)得到的文法适用于自顶向下的语法分析吗?
适用。因为文法中不存在左公因子,也不存在左递归。;4.3.2 1) S- SS+|SS*|a
a.提取左公因子:S-SSA|a
A-+|*
b.提取左公因子的变换能使这个文法适用于自顶向下的语法分析技术吗?
不可以。文法中依然存在左递归。
c.消除左递归:S-aS’
S’-SAS’|?
A-+|*
d.得到的文法适用于自顶向下的语法分析吗?
适用。因为文法中不存在左公因子,也不存在左递归
;4.4.3 S-SS+|SS*|a
FIRST(S)={a}
因为S是起始符号,把{$}加入到Follow(S)中。
对于S-SS+的第一个S,把First(S+) = {a}加入到Follow(S)中。
对于S-SS*的第一个S,把First(S*) = {a}加入到Follow(S)中。
对于S-SS+的第二个S,把First(+) = {+}加入到Follow(S)中。
对于S-SS*的第二个S,把First(*) = {*}加入到Follow(S)中。
所以,FOLLOW(S)={a,+,*,$}
仅消除左递归后的文法:
FIRST(S)={a} ,FIRST(S)={a,?}
FOLLOW(S)=FOLLOW(S)={+,*,$}
;S-aS’
S’-aS’AS’|?
A-+|*; A ? A? | ?
改写为
A ? ? A?
A?? ? A? | ? ;预测分析表;仔细分析后,发现该文法 S-S(S)S| ? 是二义性文法。
二义性文法不可能是LL(1)??法。
例如:( ) ( );“句柄”是和某个产生式
体匹配的子串,对它的
归约代表了相应的最右
推导的一个反向步骤。;4.5.3 对于下面的输入符号串和文法,说明相应的自底向上语法分析过程。
1)文法: 输入串:000111
自底向上语法分析过程:;2)文法:
输入串:aaa*a++
自底向上语法分析过程:
您可能关注的文档
- 维护社会正义人人有责.ppt
- 维生素C的故事.ppt
- 维锦算量软件教学模板.ppt
- 综合公园设计主题及思路.ppt
- 综合二阅读连接.ppt
- 综合复习思考题答案.ppt
- 综合实践活动课:少年正是读书时.ppt
- 综合性医院患者常.ppt
- 综合性学习古诗词知识竞赛.ppt
- 综合性学习:我也追星.ppt
- 2025年小学教师资格考试《综合素质》职业道德精选试题及答案解析.docx
- 2025年美容师初级技能水平测试卷:美容师法律法规与政策应用技巧解析试题.docx
- 2025-2030中国电子级氢氟酸行业市场发展趋势与前景展望战略研究报告.docx
- 2025年软件设计师模拟试卷:C++编程与STL库应用试题.docx
- 基于多源遥感数据的四川省水稻高温热害监测和评估研究.pdf
- 2025-2030中国电子级硝酸行业市场发展趋势与前景展望战略研究报告.docx
- 2025年消防安全知识培训考试题库(消防安全管理体系)消防设施运行维护检测.docx
- 基层员工安全培训课件.pptx
- 2025年室内装饰设计师(初级)考试试卷:室内装饰设计法规与标准解读与应用案例.docx
- 2025-2030中国电子线控换档(SBW)系统行业市场发展趋势与前景展望战略研究报告.docx
文档评论(0)