- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 软件学院 证明(i*i+i)是算术表达式 文法G=(VN, VT, S, P) VN ={E} VT ={i, +, *, (, )} S=E E ? i | E+E | E*E | (E) 描述了算术表达式 证明(i*i+i)是算术表达式 如果能从文法G中推导出(i*i+i), 则可证明它是算术表达式 * * 软件学院 推导过程 E = (E) 产生式:E ?(E) = (E+E) 产生式:E ?E+E = (E*E+E) 产生式:E ?E*E = (i*E+E) 产生式:E ?i = (i*i+E) 产生式:E ?i = (i*i+i) 产生式:E ?i 存在一个从E到(i*i+i)的推导,证明了(i*i+i)是文法G所定义的一个算术表达式 * * 软件学院 语法分析树 我们用一张树型结构的图来描述一个句子的推导,这种表示称为语法树。 语法树的根结由文法开始符号标记。随着推导的进行,当某个非终结符被它的候选式所替换时,此非终结符生出其下一代新结,候选式中自左至右没有符号对应着一个新结。 性质:在语法树生长的任何时候,所有那些没有后代的端末结自左至右的排列起来,就是一个句型。 语法分析树的生成过程:书中第31页 * * 软件学院 (i*i+i)的语法树 E = (E) 产生式:E ?(E) = (E+E) 产生式:E ?E+E = (E*E+E) 产生式:E ?E*E = (i*E+E) 产生式:E ?i = (i*i+E) 产生式:E ?i = (i*i+i) 产生式:E ?i E = (E) 产生式:E ?(E) = (E*E) 产生式:E ?E*E = (i*E) 产生式:E ?i = (i*E+E) 产生式:E ?E+E = (i*i+E) 产生式:E ?i = (i*i+i) 产生式:E ?i * * 软件学院 文法的二义性 一个文法,如果它的一个句子有两棵或两棵以上的语法树,则称此句子具有二义性。如果一个文法含有二义性的句子,则该文法具有二义性。 换一个说法:如果一个文法存在某个句子对应两棵或两棵以上不同的语法树,则称该文法是二义的 * * 软件学院 例1. 注:文法的二义性是不可判定的,但可以通过约定加以改造。 例2.文法G1:A →AN|N N→0|1|…|9 则L(G1)为无符号整数 例3.文法G2:B→aBb|ab,求L(G2) 解:B=aBb=aaBbb=aaaBbbb=…… 即, ∴L(G2)={anbn|n ≥ 1} * * 软件学院 例题 构造文法生成下列语言 (1) {an | n≥1} S ?aA | ? A ?aA | ? 或 S ?aS | ? (2) {an | n≥0} S ?aS | ? * * 软件学院 (3) {anb2m-1 | n, m≥1} S ?AB A ?aA | a B ?bbB | b (4) {anbmck | n, m, k≥0} S ?ABC A ?aA | ? B ?bB | ? C ?cC | ? S ?aAB A ?aA | ? B ?bbB | b * * 软件学院 习题2.6 文法G的产生式 P={N ?ND | D, D ?0|1|2|3|4|5|6|7} 写出下列符号串的最左推导和最右推导 (1) 3274; (2) 65173 3274的最左推导 N=ND=NND=NNND=DNND =3NND=3DND=32ND =32DD=327D=3274 3274的最右推导 N=ND=N4=ND4=N74=ND74 =N274=D274=3274 * * 软件学院 习题 判定下列文法是否是歧义的 (1) 文法的产生式如下 P={S ?AB, A ?a | ab, B ?c |bc} 解答:该文法是歧义的,因为存在一个句子abc,它对应两棵不同的语法树。(也可以说:存在一个句子ab
您可能关注的文档
最近下载
- 新能源行业碳资产管理策略与低碳发展路径研究报告.docx
- DB37T4871-2025 城市轨道交通试运行技术规范.pdf VIP
- 冰雪雕设计及制作工程招标示范文本.doc VIP
- 荒漠区生态治理工程(尼龙网沙障、植物固沙)施工方案.doc
- 医疗美容病历书写基本规范.docx
- 最新2023版知识产权贯标GBT29490表单 知识产权组织环境、相关方需要和期望分析一览表[知识产权合规管理体系文件].docx
- 广州恩宁路历史文化街区永庆坊微改造正式.pptx VIP
- 19028 安全生产治本攻坚三年行动方案(工程施工项目) (1).docx VIP
- 嘉世咨询-嘉世咨询2025中国集换式卡牌市场现状报告.pdf
- 招生话术培训课件.ppt VIP
原创力文档


文档评论(0)