第2-1章 前后文无关文法定义.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 用图形化方式表示这种推导,形成一颗语法分析树。 句子 主语 代词 冠词 He a 谓语 间接宾语 直接宾语 动词 gave 代词 me 名词 book 语法成分(在形式 语言中又称“非终 结符”) 单词符号(在形 式语言中又称 “终结符号”) 桂林电子科技大学计算机科学与工程学院 上述定义英文句子的规则可以说就是一个上下文无关文法 归纳起来,一个上下文无关文法G包括四个组成部分: 一组终结符号 一组非终结符号 一个开始符号 一组产生式 * * 桂林电子科技大学计算机科学与工程学院 定义2.1文法形式化定义 文法定义成一个四元组G=(VN, VT, S, P) VN : 非空有限的非终结符集; VT : 非空有限的终结符集; S: 开始符号; P: 产生式集合。 其中, VN ∩ VT =Φ,S∈ VN P中产生式一般形式为: A?α|β,其中 A∈ VN ,α, β ∈( VN ∪ VT )* * * 桂林电子科技大学计算机科学与工程学院 例2.1 文法G=(VN, VT, S, P),其中VN ={S}, VT ={0,1},P={S→0S1,S→01}。 这里,非终结符集中只含一个元素S;终结符集由两个元素0和1组成;有两条产生式;开始符号是S * * 桂林电子科技大学计算机科学与工程学院 一个文法的几种写法 ① G=({S,A},{a,b},P,S)   其中P:S→aAb       A→ab      A→aAb      A→ε ② G:S→aAb     A→ab     A→aAb     A→ε ③ G[S]: A→ab A→aAb A→ε S →aAb ④ G[S]: A→ab |aAb |ε S→aAb    * * 桂林电子科技大学计算机科学与工程学院 例2.2 文法G=(VN, VT, S, P),其中VN ={S}, VT ={0,1},P={S→0S1,S→01}。这里,非终结符集中只含一个元素S;终结符集由两个元素0和1组成;有两条产生式;开始符号是S * * 桂林电子科技大学计算机科学与工程学院 文法和语言 上下文无关文法定义的语言 从文法的开始符号出发,反复使用产生式,对非终结符进行替换和展开,直至推导出语言的各种句子来 推导与归约的概念 推导、最左推导、最右推导、规范推导 归约、最左归约、最右归约、规范归约 句型、句子、语言的形式定义 * * 桂林电子科技大学计算机科学与工程学院 上述定义中的?、?、?都可以是空串?。另外,推导符号‘?’下面的G表示推导是以文法G的规则进行的,若G无须指明,则可简写为??? 文法和语言--推导 桂林电子科技大学计算机科学与工程学院 * * 文法和语言--推导、句型、句子 桂林电子科技大学计算机科学与工程学院 * * 直接推导示例 对于例2.2的文法G,有如下直接推导示例   u=0S1,w=0011,直接推导:0S1=0011,使用的规则:S→01,这里γ=0,δ=1。   u=S,w=0S1,直接推导:S=0S1使用的规则:S→0S1,这里γ=ε,δ=ε   u=0S1,w=00S11,直接推导:0S1= 00S11,使用的规则:S→0S1,这里γ=0,δ=1。 * * 桂林电子科技大学计算机科学与工程学院 对例2.2的文法,存在直接推导序列v=0S1=00S11 = 000S111 =w,即0S1 = 也可记作0S1 S,0S1,000111都是例2.2文法G的句型,其中000111是G的句子 * * * ? 桂林电子科技大学计算机科学与工程学院 当语言是无限集时,能否用有限的规则来描述呢? 回答是肯定的, 只需使用文法的递归定义即可。 例如,文法G1[标识符]: 标识符? 字母|标识符字母|标识符数字 字母 ? A|B|…|Z 数字? 0|1|2|…|9 文法和语言—递归文法 桂林电子科技大学计算机科学与工程学院 * * 文法G2[E]: E ? E+T | T T ? T*F | F F ? (E) | i 显然,G1,G2都是递归定义的。所谓递归定义,指在定义一个语法成分时,直接或间接地使用了语法成分自身。 文法和语言—递归文法 桂林电子科技大学计算机科学与工程学院 * * 考虑例2.2的文法G,有两条产生式(规则):(1)S→0S1和(2)S→01,通过对第一个产生式使用n-1次,然后使用第2个产生式一次,得到: S=0S1 = 00S11 = …= 0n-1S1n-1 = 0n1n 可以推知L(G)中的元素仅是这样的串(0n1n)。从而可证明L(G)={0n1n|n≥1}. * * 桂林电子科技大学计算机科学与工

文档评论(0)

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

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

1亿VIP精品文档

相关文档