第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文档。上传文档
查看更多
第2章节 形式语言概论

形式语言理论: 是指由数学方法研究自然语言和人工语言(程序设计语言)之语法理论,主要讨论了语言和文法的数学机制以及语言和文法的分类。 符号串的连接:设x和y是符号串,它们的连接xy是把y的符号写在x的符号之后得到的符号串。 如: x=ab、y=123,则xy=ab123。显然,εx=xε=x。 例:证明 (i*i+i)是文法 G(E): E ? i | E+E | E*E | (E) 的一个句子。 证明: E ? (E) ? (E+E)? (E*E+E)? (i*E+E)? (i*i+E) ? (i*i+i) E,(E),(E*E+E),…,(i*i+i)是句型。 文法和语言 0型文法产生的语言称为0型语言 1型文法或上下文有关文法( CSG )产生的语言称为1型语言或上下文有关语言(CSL) 2型文法或上下文无关文法( CFG )产生的语言称为2型语言或上下文无关语言( CF L ) 3型文法或正则(正规)文法( RG )产生的语言称为3型语言正则(正规)语言( RL ) 语法树 设文法G=(VN, VT, P, S),对于文法G的任意一个句型都存在一个相应的语法树: 树中每个结点都有一个标记,该标记是VN?VT中的一个符号; 树的根结点标记是文法的识别符号S; ?若树的一个结点至少有一个叶子结点,则该结点的标记一定是一个非终结符; 若树的一个结点有多个叶结点,该结点的标记为A,这些叶结点的标记从左到右分别是B1,B2,….,Bn,则A?B1B2…Bn?P 文法的句型都可依据其产生式来生成相应的语法树。 问题:一个句型是否对应唯一的一棵语法树? 例:G[Z]: Z → aZb Z → Z Z → ab Z a Z b a b Z a Z b Z a b 句型aabb的语法树 句型(i*i+i)的语法树 E ?(E) ?(E+E) ?(E*E+E) ?(i*E+E) ?(i*i+E) ?(i*i+i) E ?(E) ?(E*E) ?(i*E) ?(i*E+E) ?(i*i+E) ?(i*i+i) 文法G(E): E ? i | E+E | E*E | (E) * * 第2章 形式语言概论 文法和语言形式化定义 文法的类型 语言和语法树 文法和语言的几点说明 分析方法简介 本章小结 文法的直观概念 如果语言只含有有穷多个句子,则只需列出句子的有穷集就行了,但对于含有无穷句子的语言来讲,存在 如何给出它的有穷表示的问题。虽然无法列出全部句 子,但是可以给出一些规则,用这些规则来说明句子 的组成结构,然后用它们去推导产生句子。 文法:是阐述语法的一个工具 “你是大学生” 对 “我是教师”对 “我大学生是”错 “我学习大学生”对 〈句子〉∷=〈主语〉〈谓语〉 〈主语〉 ∷ =〈代词〉|〈名词〉 〈代词〉 ∷ = 我|你|他 〈名词〉 ∷ = 王明|大学生|教师|英语 〈谓语〉 ∷ =〈动词〉〈直接宾语〉 〈动词〉 ∷ = 是|学习 〈直接宾语〉 ∷ =〈代词〉| 名词 〈句子〉 ? 〈主语〉〈谓语〉 ? 〈代词〉〈谓语〉 ? 我〈谓语〉 ? 我〈动词〉〈直接宾语〉 ?我是〈名词〉 ? 我是教师 推导: 我是教师 巴科斯-瑙尔范式(EBNF) 例如,描述标识符的文法如下: 标识符::=字母 标识符::=标识符字母 标识符::=标识符数字 字母::=a|b|c|d|…|z 数字::=0|1|2|3|4|5|6|7|8|9 字母表和符号串 字母表:是元素的非空有穷集合,用?表示。字母表中的元素称为符号。 例如:汉语的字母表中包括汉字、数字及标点符号等。 PASCAL语言的字母表是由字母、数字、算符、保留字等组成。 符号串的长度:符号串中符号的个数。符号串x的长度记为|x|。如|ab012|=5。 空符号串:不含任何符号的符号串,记为ε。|ε|=0。 符号串:符号的有穷序列称为符号串,如compiler, string等。 符号串集合的乘积:两个符号串集合A和B的乘积定义为:AB={xy|x∈A且y∈B}。特别地{ε}A=A{ε}=A。 如: A={ab,c}, B={d, efg}, 则AB={abd,abefg,cd,cefg}。 符号串的方幂:设x为符号串,则xn=xx…x(x连接n次)。 特别有x0=ε。 符号串集合:若集合A中的一切元素都是某字母表上的符号串,则称A为该字母表上的符号串集合。 符号串集合的方幂:同一符号串集合的乘积。 如: A={a,bc},则A2={aa,abc,bca,bcbc}

文档评论(0)

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

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

1亿VIP精品文档

相关文档