计算引论2章文法及语言1.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.2.2 有限自动机 正则运算:设A和B是两个语言,定义 并?:A ? B ={x | x?A 或x ?B } 连接°:A ° B = {xy| x?A 且y?B } 星号*:A* = {x1…xk|k≥0且xi?Ai } 2.2.2 有限自动机 定理3: 正则语言在正则运算下封闭。 即: 如果A和B是正则语言,则A?B, A°B, A*也是正则语言。 正则语言的描述局限 不能描述配对或嵌套结构 例 {{…}} BEGIN…END 不能描述重复串 例{wcw | w是由a和b组成的串结构} 计算引论 第二章 文法与语言 求解问题 与 识别语言 问题是多个例示的集合; 例示由基本符号串表示; 问题抽象为符号串的集合; 符号串称为句子,所以问题是句子的集合,可称为形式语言; 求解问题抽象为识别语言。 主要内容 2.1 文法 2.2 正则语言 正则文法 有限自动机 2.3 上下文无关语言 上下文无关文法 下推自动机 2.1 文法 文法能清晰描述语言的语法构成,易于理解。 文法能自动构造有效的语言识别器,检查源程序是否符合语言规定的语法形式。 文法定义可以了解语言的结构,有利于语言编译中的语法错误检查工作。 基于文法实现的语言易于扩展。 2.1 文法 文法G定义为四元组(V,T,S,P),其中 V 是有限的非终极符集合; T 是有限的终极符集合; S 是开始符,S?T。必须在某个产生式的左边出现一次; P 是产生式的集合,且具有下面的形式: ? ? ?,其中?,??(V ? T )* 2.1 文法 文法分类: A,B?V,a?T。对文法中的产生式?→?: O型文法: 短语文法。?中至少含一个非终极符。 1型文法: 上下文有关文法。它是0型文法的特例,要求|?|?|?|(S→?例外,S不得出现于产生式右部)。 2型文法: 上下文无关文法。它是1型文法的特例,要求产生式左部是一个非终极符: A→? 。 3型文法: 正则文法。它是2型文法的特例,要求产生式具有下面形式之一: A→a ,A→aB。 2.1 文法 文法的乔姆斯基体系 正则文法 上下文无关文法 上下文有关文法 短语文法 2.1 文法 文法相关定义 推导:如果A??是一个产生式,则对字符串?A?,有?A? ? ??? , ?表示一步推导(用A →?)。 ? ?+?:表示?通过一步或多步可推导出? ? ?*?:表示?通过0步或多步可推导出? 句型:如果有S?* ?,则称符号串?为相应文法的句型,其中S是文法的开始符。 句子:如果?只包含终极符,则称?为相应文法的句子。 语言: L(G)={ u| S ?+ u ,u ?T*}。 文法G所定义的语言是其开始符所能推导的所有终极符号串(句子)的集合。 2.2 正则语言 正则文法 有限自动机 2.2.1 正则语言 正则文法定义: G(V, T, P, S), P中的产生式形如A?a, 或A?aB,a∈T,A,B∈V。 右范式:形如A?aB称为右范式,其中非终极符于终极符的右边。 左范式:形如A?Ba称为左范式,其中非终极符于终极符的左边。 2.2.1 正则语言 正则语言 正则文法G生成的语言: L(G) = {ω|ω∈T*且S ?+ω} 正则语言的识别 对文法S,任给串ω∈T*,S ?+ω成立否。 2.2.1 正则语言 识别步骤: 任给串ω∈T*,S ?+ω成立否。 任给串ω,ω中所有的元素是否为给定终极符集中的元素构成。 可否由非终极符中的S经过多步推导得到串ω。 2.2.1 正则语言 识别算法:设:ω=a1…an,ai∈T。 若n=1,问题等价于检查S?a1∈P? 若n≥2,则需要证明 S ? a1B1 ?+ a1a2…an , 问题变为:B1 ?+ a2…an是否成立。递推下去, B1 ? a2B2 ??+ a2…an B2 ? a3B3 ??+ a3…an … Bn-1 ? an? 即检查上述表达式是否均在文法集合P中。 2.2.2 有限自动机 问题提出: 如何构造可以接受及产生一个语言的计算模型? 语言识别器: 对一个已经存在的字符串集合, 如何判断它就是符合条件的语言? 解决接受的问题。 语言产生器: 怎样根据文法产生一个语言? 解决产生的问题。 2.2.2 有限自动机 有限自动机的构造 a b a b a b a b 有限控制器 q0 q5 q4 q3 q1 q2 输入带 读头 2.2.2 有限自动机 特点: 以字符串作为输入, 通过输入带传送字符串; 除了提示输入的字符串是否接受外, 没有任何其它的输出; 它的固定中央处理器完全没有记忆功能; 类似一个语言识别

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档