第2章 文法和语言概览.ppt

  1. 1、本文档共75页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
§2.12 有关文法的实用限制 多余规则:指文法中任何句子的推导都不会用到的规则,若有,则删去。 文法中某些非终结符不在任何规则的右部出现,该非终结符称为不可到达。 文法中某些非终结符,由它不能推出终结符号串,该非终结符称为不可终止。 §2.12 有关文法的实用限制 例:G[Z] : 1)Z→Aa 2) A→Ca|Bb 3) B→Ba|a 4) C→Cb 5) D→b 多余规则,C为不可终止非终结符 多余规则,D为不可到达非终结符 多余规则 §2.12 有关文法的实用限制 练习:G[S] : 1) S→Be 2) B→Ce 3) B→Af 4) A→Ae 5) A→e 6) C→Cf 7) D→f 推不出终结符号串,为多余规则 推不出终结符号串,为多余规则。 C为不可终止的非终结符。 D不在右部出现,为多余规则。 D为不可到达的非终结符。 §2.13 文法的分类 Chomsky对文法中的规则施加不同限制,将文法和语言分为四大类: 0型文法? 0型语言或短语结构语言 1型文法? 1型语言或上下文有关语言 2型文法? 2型语言或上下文无关语言 3型文法?3型语言或正则(正规)语言 §2.13 文法的分类 对任一产生式α→β,都有α∈V+,β∈V*,即α,β均是V上的符号序列,但α不能为空, β可为空。 1、0型文法(短语结构文法) 说明:对产生式基本无限制 例:文法G,其中VN={A,B,S} VT={0,1} P={ S→0AB 1B→0 B→SA|01 A1→SB1 A0→S0B } §2.13 文法的分类 有如下形式规则:αUβ→ αuβ ,其中U ∈Vn, α,β ∈V*,u ∈V+,左部可为符号序列,其中U为非终结符号且只有左右为α,β 的环境下U可变为u。 2、1型文法(上下文有关文法) 说明:文法左部符号个数不超过右部符号的个数 α1Aα2→α1βα2,其中α1,α2,β ∈( VN∪VT )*,β≠ε,A ∈ VN §3.3 文法的分类 对任一产生式α→β,都有|β|≥|α|, 仅仅 S→ε除外 二、1型文法(上下文有关文法) 说明:文法左部符号个数不超过右部符号的个数 例:文法G[S]: S→CD Ab→bA C→aCA Ba→aB C→bCB Bb→bB AD→aD BD→bD Aa→bD §2.13 文法的分类 对任一产生式α→β,都有α∈VN , β∈(VN∪VT)* 3、2型文法(上下文无关文法) 说明:程序设计语言的文法是上下文无关的,如 C,Pascal 例:文法G[S]: S→aB|bA A→a|aS|bAA B→b|bS|aBB §2.13 文法的分类 任一产生式α→β的形式都为A→aB或A→a,其中A∈VN ,B∈VN ,a∈VT 4、3型文法(正规文法) 说明: 通常用来描述单词结构,其中包括标识符、常量、保留字、运算符、界符等。 例:文法G[S]: S→0A|1B|0 A→0A|1B|0S B→1B|1|0 此处限定产生式形如A→aB或A→a为右线性文法;若限定为A→Ba或A→a即为左线性文法 标识符→l|l字母数字   字母数字→l|d|l字母数字|d字母数字   无符号整数→d|d无符号整数   运算符→+|-|*|/|=|等号|等号……   等号→=   界符→,|;|(|)|……   其中l表示a~z中的任何一英文字母,d表示0~9中的任一数字。 例:标识符等单词的定义的规则 §3.3 文法的分类 §2.13 文法的分类 5、四种文法的关系 由于四种文法是按照将产生式做进一步限制而定义的,所以它们之间是逐级“包含”的关系,由四种文法产生的语言也是逐级“包含”的关系。 即: 3型语言类 2型语言类 1型语言类 0型语言

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档