网站大量收购闲置独家精品文档,联系QQ:2885784924

〔编译方法〕第2章形式语言和文法.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
〔编译方法〕第2章形式语言和文法

* * * * 4.3型文法 (正规文法或正则文法) 【例2-20】 3型文法G[S] : S → aA A → aA A → a S → a A → dA A → d 定义2-10 设G=(VN,VT,P,S),如果它的每个产生式均形如 A→aB 或 A→a 其中A、B∈VN,a∈VT。 2.3.1 文法的分类 2.3 文法的分类和化简 0型文法 1型文法 2型文法 3型文法 0型语言 递归可枚举 1型语言 上下文有关 3型语言 正规 2型语言 上下文无关 描述句法 描述词法 |β|≥|α| α∈VN β = aB | a 2.3 文法的分类和化简 2.3.1 文法的分类 定理2-1:含有A→ε的文法产生的语言也可由不含 A→ε的另一个 文法产生(S→ε除外)。 定理2-2:若存在一个上下文有关文法 G,则必存在另一个上下文有 关文法 G1,使得 L(G1) = L(G) ,且 G1 的开始符号不出现在 任何产生式的右边。 在使用上下文无关文法描述语言时不限制ε产生式的使用。 2.3 文法的分类和化简 2.3.2 两个定理 文法应没有多余的或有害的规则。 化简:(1) 删除形如A→A的产生式。 (2) 删除不可到达的文法符号及其相应的产生式。 (3) 删除不可终止的非终结符及其相应的产生式。 【例2-21】 文法G: S → aS | W | U U → a V → bV | ac W → aW W 是不可终止的 V 是不可到达的。 化简后的文法G: S → aS | U U → a 2.3.3 文法的化简 2.3 文法的分类和化简 1. 语法树 <整数> = x z <变量> <表达式> y % * + 3 a <表达式> <表达式> <表达式> <表达式> <表达式> <表达式> <变量> <变量> <变量> <赋值语句> 2.4 文法的二义性 2.3 文法的二义性 定义:语法树是 一棵数据结构意义上的“树”,满足四个条件: (1)每个结点都有一个标记 (字母表V的一个符号); (2)根的标记是S(文法的开始符号); (3)若一个结点n至少有一个它自身除外的子孙,且有标记 A,则A必在VN中(是非终结符); (4)若标记为A的结点n的直接子孙从左到右的次序是结点 n1、n2、……、nk ,其标记分别为A1、A2、……、 Ak, 则A→A1A2……Ak 必是文法产生式集P中的一个产生式。 对给定文法G,它的任何句型均能构造与之相关的语法树。 2.4 文法的二义性 2.3 文法的二义性 i*i+i 的语法树 【例2-22】对算术表达式文G: E→i E→E+E E→E*E E→(E) E * + i E E E E i i “i*i+i ” 的推导过程可以是: (1) E ? E+E ? E*E+E ? i*E+E

文档评论(0)

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

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

1亿VIP精品文档

相关文档