编译原理—第章文法和语言.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译感兴趣的问题是 : ? 给定 x, G, 求 x ? L(G) ? x 算法 1 算法 2 x ? L(G) ? G y n 出错处理 停机 3.3.4 递归文法 1. 递归产生式 :产生式右部有与左部相同的符号 对于 U::= xUy 若 x= ε , 即 U::= Uy ,左递归; 若 y= ε , 即 U::= xU ,右递归; 2. 递归文法 : 文法 G ,存在 U ∈ V N if U==…U…, 则 G 为递归文法; if U==U…, 则 G 为左递归文法; if U==…U, 则 G 为右递归文法; + + + 4. 递归文法的 优点 :可用有穷条产生式,定义无穷语言 例:对于前面给出的无符号整数的文法是有递归文法,用 13 条产生式就可以定义出所有的无符号整数。若不用递归文法, 那将要用多少条产生式呢? ! 3. 左 递归文法的 缺点 :不能用自顶向下的方法来进行语法分析 会造成死循环(后面将详细论述) 3.4 文法分类 形式语言: 用文法和自动机所描述的没有语义的语言。 文法定义: 乔姆斯基将所有文法都定义为一个 四元组 : G= ( V N , V T , P , Z ) V N :非终结符号集 V T :终结符号集 P :产生式或规则的集合 Z :开始符号(开始符号) Z ∈ V N 语言定义: L ( G[Z] ) ={x| Z==x , x ∈ V T *, } * 文法和语言分类: 0 型、 1 型、 2 型、 3 型 这几类文法的差别在于对产生式施加不同的限制。 定义 9 : 0 型文法: P : u::=v 其中 u ∈ V* , v ∈ V* 0 型语言: L0 这种语言可以用图灵机 (Turing) 接受 . 0 型文法称为 短语结构文法 。产生式的左部和右部都可 以是符号串,一个短语可以产生另一个短语。 定义 10 : 1 型文法: P : xUy::= xuy ︱ 其中 U ∈ V N , x 、 y 、 u ∈ V* 1 型语言: L1 这种语言可以由一种 线性界限自动机 接受 . 称为 上下文敏感 或 上下文有关 。也即只有在 x 、 y 这样的 上下文中才能把 U 改写为 u 定义 10 : 1 型文法: P : u::= v ︱ u ︱ ≥ ︱ v ︱ u, v ∈ V* 定义 11 : 2 型文法: P : U::= u 其中 U ∈ V N , u ∈ V* 2 型语言: L2 这种语言可以由 下推自动机 接受 . 称为 上下文无关文法 。也即把 U 改写为 u 时,不必考虑上下文。 注意: 2 型文法与 BNF 表示相等价。 (右线性) P : U::=t 或 U::=t W 其中 U 、 W ∈ V N t ∈ V T 3 型语言: L3 又称正则语言、正则集合 这种语言可以由 有穷自动机 接受 . 3 型文法又被称为 正则文法 。它是对 2 型文法进行进一步限制。 (左线性) P : U::=t 或 U::= W t 其中 U 、 W ∈ V N t ∈ V T 定义 12 : 3 型文法: 根据上述讨论, L0 L1 L2 L3 0 型文法可以产生 L0 、 L1 、 L2 、 L3 ,但 2 型文法只能产 生 L2 ,不能产生 L1 。 ∪

文档评论(0)

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

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

版权声明书
用户编号:8140007116000003

1亿VIP精品文档

相关文档