文法和语言的基本知识.pptVIP

  1. 1、本文档共92页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
文法和语言的基本知识

* 设A={a,;},则A≡⊙∷=∞∝!≠=##12◆,.┍┎ 2.3.3 语言的形式定义 例如 设有文法G[E]=({E,T,F},{i,+,*,(,)},P,E) 对 i+i*i 有如下直接推导序列: 我们可记为 其中P为:E→E+T | T T→T*F | F F→(E) | i E ?E+T ?T+T ?F+T ?i+T ?i+T*F ?i+F*F ?i+i*F ?i+i*i E?i+i*i + 2.3.3 语言的形式定义 3.广义推导 我们有: ?0??n表示从?0出发,经0步或若干步, 可推导出?n。 * 也就是说?0??n意味着?0??n或者?0=?n。 * + E?E * E?i+i*i * 对上例 E→E+T | T T→T*F | F F→(E) | i 2.3.3 语言的形式定义 区别:直接推导的长度为1,推导的长度大于等于1,而广义推导的长度大于等于0。 句型和句子 4. 句型和句子 设有文法G[S](S是文法G的开始符号) 如果S? x, x ∈(VN∪VT)* 则称符号串x 为文法G[S]的句型。 * 如果S? x, x ∈VT* 则称符号串x为文法 G[S]的句子。 * 2.3.3 语言的形式定义 例1 设有文法G[S]: 我们有: 显然,符号串01、0S1、00S11和000111 都是文法G[S]的句型,而01和000111又是文法G[S]的句子。 S→01 | 0S1 S? 01 * S? 0S1 * S? 00S11 * S? 000111 * 2.3.3 语言的形式定义 例2 设有文法G[E]: 试证明符号串 (i*i+i) 是文法G[E]的一个句子。 分析 只要证明符号串 (i*i+i) 对文法 G存在一个推导,就可证明符号串 (i*i+i) 是文法G[E]的一个句子。 E→E+E | E*E | (E) | i 2.3.3 语言的形式定义 E→E+E | E*E | (E) | i E ?(E) ?(E+E) ?(E*E+E) ?(i*E+E) ?(i*i+E) ?(i*i+i) 即有 E?(i*i+i), 所以符号串(i+i*i)是文法 G[E]的一个句子。 * (2)L(G)是VT* 的子集。即属于VT* 的符 号串 x 不一定属于L(G)。 2.3.3 语言的形式定义 5.语言 文法G[S]产生的所有句子的集合称为文 法G所定义的语言,记为L(G[S]): 由语言定义可知: (1)一当文法给定,语言也就确定。 L(G[S])={x|S?x且x∈VT*} * 2.3.3 语言的形式定义 例3 设有文法G[S] :S→01 | 0S1 求该文法所描述的语言是什么? 分析 由识别符号S出发,将推出一些什么样的句子,也就是说,L(G[S])将由什么样的一些符号串所组成的集合,找出其中的规律,用式子或自然语言描述出来。 2.3.3 语言的形式定义 我们应用第二个规则n-1次,然后再应用第一个规则1次,有: S ?0S1 ?00S11 … ?0n-1S1n-1 ?0n1n 即S?0n1n * 可见,此文法定义的语言为 L(G[S])={ 0n1n | n≥1} S→01 | 0S1 2.3.3 语言的形式定义 例4 设有文法G[S]:S→0S | 1S |ε 该文法所定义的语言是什么? 由该文法所确定的语言为 L(G[S])={ε, 0, 1, 00, 01, 10, 11, …} ={ x | x∈{0,1}* } 2.3.3 语言的形式定义 例5 设有文法G[A]: 该文法所定义的语言是什么? 分析 从文法开始符号A出发可推导出以y开头后面跟一个或多个x结尾的符号串,所以该文法定义的语言为 A→yB B →xB | x L(G[A])={ yxn | n≥1} 2.3.3 语言的形式定义 由此可见,从已知文法确定语言的中心思想是:从文法的开始符号出发,反复连续地使用规则替换、展开非终结符,找出句子的规律,用式子或自然语言描述出来。 2.3.3 语言的形式定义 形式语言理论可以证明如下两点: (1) 给定一种语言,能确定其文法,但这种文法不是唯一的,即:L→G1或G2或… (2) 给定一个文法,就能从结构上唯一确 定其语言,即:G→L(G); 2.3.4 规范推导和规范归约 文法和语言是密切相关的,文法所定义的任一句型和句子,

文档评论(0)

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

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

1亿VIP精品文档

相关文档