编译原理第2章文法和语言.pptxVIP

  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文档。上传文档
查看更多
第2章 文法和语言A thousand-li journey is started by taking the first step.千里之行,始于足下第一页,共八十三页。2.1 字母表和符号串2.2 文法2.3 推导2.4 句型和句子2.5 语言2.6 递归规则与递归文法2.7 短语、简单短语和句柄2.8 语法树2.9 子树与短语2.10 由树构造推导过程2.11 文法的二义性2.12 有关文法的实用限制2.13 文法和语言分类第二页,共八十三页。第2章 文法和语言(P12)学习重点1 文法的定义、分类和二义性2 最左推导、规范推导(或最右推导)3 语言、句型和句子4 短语、简单短语(或直接短语)和句柄5 语法树第三页,共八十三页。如果不考虑语义和语用,只从语法这一侧面来看语言,它是由符合某种语法(用规则定义)的句子构成的集合,这种意义下的语言称作形式语言。 例 汉语:所有符合汉语语法的句子的全体 英语:所有符合英语语法的句子的全体 程序设计语言:所有符合该语言语法的程序的 全体第四页,共八十三页。形式语言(P12)形式语言抽象地定义为一个数学系统,即能用数学符号和规则描述的语言。形式语言理论是对符号串集合的表示法、结构及其特性的研究。这种理论对程序设计语言的设计和编译程序的构造有着重大的作用。第五页,共八十三页。形式语言2.1 字母表和符号串(P12) 字母表? (或符号集) :元素的非空有穷集合。例 二进制数语言的字母表={0,1} 汉语的字母表中包括汉字、数字及标点符号等 PASCAL语言的字母表是由字母、数字、若干专用符号及BEGIN、IF之类的保留字组成 C语言的字母表由字母、数字、若干专用符号以及if、else、while等关键字组成第六页,共八十三页。2.1 字母表和符号串 符号:字母表中的元素。例 ? ={a,b,for,1},则a,b,for,1都是?的符号。不要把符号理解成字符。典型的符号有字母、数字、各种标点符号和各种运算符。 第七页,共八十三页。2.1 字母表和符号串 符号串:由字母表上0个或多个符号所组成的任何有穷序列。空符号串 ε也是字母表上的符号串,它由0个符号组成。例 ?={0,1},则ε, 0,1,01,10,00,11,100,0110,111110000等二进制数都是?上的符号串 ?={a,b,c,+,*},则ε, a , b , c , + , *,aa,ab,ac,a+,a*,ba,bb,bc,b+,b*,aaa,bbb等都是?上的符号串一个字母表上的全部符号串所组成的集合是无穷的。第八页,共八十三页。2.1 字母表和符号串 符号串的长度:指符号串x中所含符号的个数,记为|x|。特别地, |ε|=0。例 ?={a,b,c,+,*}, |abc|=3,|abc+*abc|=8符号串相等:若x、y是字母表∑上的两个符号串,那么当且仅当组成x的各符号与组成y的各符号依次相等时,则符号串x与符号串y相等,记作x=y。例 当x=abbc,y=abbc 时,则x=y 当x=ab,y=ba 时,则x≠y第九页,共八十三页。2.1 字母表和符号串 符号串的前缀:指从符号串x的末尾删除0或多个符号后得到的符号串。例 u、uni、university都是university的前缀符号串的后缀:指从符号串x的开头删除0或多个符号后得到的符号串。例 ty、sity、university都是university的后缀 符号串的子串:指从符号串x的开头和末尾删除0或多个符号后得到的符号串,例 ver是university的子串, 符号串的前缀、后缀都是它的子串。第十页,共八十三页。2.1 字母表和符号串 符号串的连接:若x、y是两个符号串,则xy是将符号串y连接在符号串x的后面。例 x=ab,y=ba,则 xy=abba若x、y是字母表∑上的两个符号串,则xy也是字母表∑上的符号串。 除εx=xε=x外,连接没有交换率, 即 xy ≠ yx 。第十一页,共八十三页。2.1 字母表和符号串 集合的乘积运算:令A、B为两个符号串集合,AB={xy|x∈A ,y∈B} 。对于空集合有{ε},有 {ε}A=A {ε}=A 。例 A={a,b}, B={c,d},则AB={ac,ad,bc,bd}符号串的幂运算:若x是符号串,则: x0=ε, x1=x , x2=xx,…,xn=xx…x=xxn-1=xn-1 x,其中 n0 。 例 x=abc, x0=ε, x1=abc, x2=abcabc,…第十二页,共八十三页。2.1 字母表和符号串 集合的幂运算:设A为符号串集合,则: A0={ε} A1=A A2=AA … An=AA…A=AAn-1=An-1 A,其中 n0 例

文档评论(0)

136****0775 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档