编译原理张淑艳 compiler-principle02_2.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* VT :语言不可再分的基本符号,如单词符号 VN:用来代表语法范畴,如算术表达式、分程序 S:特殊的分终结符号,用来代表的语法范畴称为“句子” P:定义语法范围的书写规则 A ? ? VT :语言不可再分的基本符号,如单词符号 VN:用来代表语法范畴,如算术表达式、分程序 S:特殊的分终结符号,用来代表的语法范畴称为“句子” P:定义语法范围的书写规则 A ? ? * * * * * * * * * 郑州大学 郑州大学 程序设计语言 编译原理 张 淑 艳 zhang_shu_yan@163.com 温故知新 字母表 符号 符号串 语言 集合 组合 集合 区别ε, ? 和{ε} 符号串的连接:符号串x和y的连接表示为xy 符号串的长度 符号串的幂运算:设x是一个符号串,则: x0=ε,x1 = x,x2 = xx,…,xn = x…x 温故知新 符号串集合的连接 Σ*的子集U和V的连接(积)定义为 UV = {αβ|α∈U β∈V } 指数:Vn= VV…V,V0 = {ε} 闭包:V* = V0 ∪ V1 ∪ V2 ∪ V3 ∪ … 正闭包:V+ = VV* = V1 ∪ V2 ∪ V3 ∪ … 练习 U: { A, B, …, Z, a, b, …, z }, V: { 0, 1, …, 9 } UV, V6, V*, U(V )*, U+ 温故知新 符号 符号串 单词符号 词法分析器(正规式) 表达式 语句 程序块 程序 语法分析器 (上下文无关文法) 语法分析树 语言 集合 字母表 集合 组合 2.3.1 上下文无关文法 定义1:上下文无关文法是四元组G =(VT , VN , S, P ) VT : 终结符集合 VN : 非终结符集合, VT ∩VN =? S : 开始符号, S∈VN P : 产生式集合, 产生式形式 : P ? ?, P ∈ VN , ? ∈(VN∪ VT)* 例 :变量i是一个算术表达式; 若E1和E2是算术表达式,则E1+E2、E1*E2和(E1)也是算术表达式 E ? i E ? E +E E ? E *E E ? (E) E ? i | E + E | E * E |(E) 简化表示 ( {i, +, *, (, )}, {E}, E, P ) 2.3.1 上下文无关文法 简化表示方法 终结符 1)字母表中前面的小写字母,如a,b,c 2)黑体串,如id或while 3)数字 0,1,…,9 4)标点符号,如括号,逗号等 5)运算符号,如+,-等 非终结符 1)字母表中前面的大写字母,如A,B,C 2)字母S, 通常它表示开始符号 3)小写字母的名字,如expr和stmt 另外, 1)小写希腊字母α,β,γ,代表终结符和非终结符组成的符号串 2)如果 P? α1,P? α2,记为 P? α1 | α2 E ?(E) ?(E + E) ?(i + E) ?(i + i) 2.3.1 上下文无关文法 上下文无关文法如何定义语言?推导 把产生式看成重写规则,把当前符号串中的非终结符用其产生式右部的串来代替。 E ? i | E + E| E * E|(E) E? (E) E?E+E E?i E?i E ?E * E ?E+E * E ?i + E * E ?i + (E) * E ?i + (E + E) * E ?i + ( i + E) * E ?i + ( i + i) * E ?i + ( i + i) * i E? E *E E?E+E E?i E?(E) E?E + E E? i E? i E? i 2.3.1 上下文无关文法 定义2:符号串的推导与归约:已给文法G=(VN,VT, S, P ) 令α,β∈(VN∪VT)*,且A?γ ∈ P ,此时,由符号串αAβ能够直接推出符号串αγβ ,我们称: 符号串αγβ是符号串αAβ的直接推导; 符号串αAβ是符号串αγβ的直接归约 记作: αAβ ? αγβ 若有α1,α2,…,αn∈ (VN∪VT) * 且α1 ?α2 ?… ?αn-1 ?αn 则称αn是α1的推导。 特别约定:若在推导关系,允许α1=αn, 则称αn是α1 的广义推导 记作:α1 ? + αn ? * αn 记作:α1 2.3.1 上下文无关文法 定义3:句型、句子和语言,已给文法G=(VN,VT, S, P ) 若 S ? * α,α∈

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档