计算理论 去某范式.pptxVIP

  • 1
  • 0
  • 约1.08万字
  • 约 86页
  • 2022-03-27 发布于上海
  • 举报
计算理论 去某范式第1页/共85页第2章 上下文无关文法研究内容上下文无关文法概述下推自动机非上下文无关语言第2页/共85页上下文无关文法的引入有穷自动机和正则表达式这两种不同但等价的描述语言的方法,虽然能描述许多语言,但还有一些简单的语言不能用它们描述,如:{0n1n | n=0}于是,需引入一种能力更强的描述语言数学模型-上下文无关文法,它能够描述某些应用广泛的具有递归结构特征的语言文法(grammar) 第3页/共85页对任何语言L,有一个字母表∑,使得L?∑* 。 L的具体组成结构是什么样的?一个给定的字符串是否为一个给定语言的句子?如果不是,它在结构的什么地方出了错?进一步地,这个错误是什么样的错?如何更正?……。这些问题对有穷语言来说,比较容易解决。这些问题对无穷语言来说,不太容易解决。用文法作为相应语言的有穷描述不仅可以描述出语言的结构特征,而且还可以产生这个语言的所有句子第4页/共85页例:1)哈尔滨是美丽的城市 2)北京是祖国的首都 3)集合是数学的基础 4)形式语言是很抽象的4个句子的主体结构名词短语动词短语句号 名词短语={哈尔滨,北京,集合,形式语言}动词短语={是美丽的城市,是祖国的首都,是数学的基础,是很抽象的} 句号={。} 第5页/共85页动词短语可以是动词形容词短语 或者动词名词短语 。名词短语={北京、哈尔滨、形式语言、集合、美丽的城市、祖国的首都、数学的基础}。 动词={是}。形容词短语={很抽象的}。把名词短语动词短语句号取名为句子。 第6页/共85页表示成α?β形式句子?名词短语动词短语句号动词短语?动词形容词短语动词短语?动词名词短语动词?是第7页/共85页第8页/共85页表示一个语言,需要4种东西 ⑴ 形如名词短语的 “符号” 它们表示相应语言结构中某个位置上可以出现的一些内容。每个“符号”对应的是一个集合,在该语言的一个具体句子中,句子的这个位置上能且仅能出现相应集合中的某个元素。所以,这种“符号”代表的是一个语法范畴。 ⑵ 句子 所有的“规则”,都是为了说明句子的结构而存在,相当于说,定义的就是句子。第9页/共85页 ⑶ 形如北京的“符号” 它们是所定义语言的合法句子中将出现的“符号”。仅仅表示自身,称为终极符号。 ⑷所有的“规则”都呈α?β的形式 在产生语言的句子中被使用,称这些“规则”为产生式。 第10页/共85页文法的形式定义 G=(V, ?, R, S) V——为变量(variable)的非空有穷集。?A∈V,A叫做一个语法变量(syntactic Variable),简称为变量,也可叫做非终极符号(nonterminal)。它表示一个语法范畴(syntactic Category)。?——为终极符(terminal)的非空有穷集。?a∈? ,a叫做终极符。由于?中变量表示语法范畴, ?中的字符是语言的句子中出现的字符,所以,有V∩? =Φ。 S——S∈V,为文法G的开始符号(start symbol)。第11页/共85页文法的形式定义 R——为产生式(production)的非空有穷集合。R中的元素均具有形式α?β,被称为产生式,读作:α定义为β。其中α∈(V∪?)+,且α中至少有V中元素的一个出现。β∈(V∪?)*。α称为产生式α?β的左部,β称为产生式α?β的右部。产生式又叫做定义式或者语法规则。 第12页/共85页文法例 1例 : 以下四元组都是文法。 ⑴ ({A},{0,1},{A?01,A?0A1,A?1A0},A)。⑵ ({A},{0,1},{A?0,A?0A},A)。⑶ ({A,B},{0,1},{A?01,A?0A1,A?1A0,B?AB,B?0},A)。⑷ ({A,B},{0,1},{A?0,A?1,A?0A,A?1A },A)。⑸ ({S,A,B,C,D}, {a,b,c,d,#},{S?ABCD,S?abc#,A?aaA,AB?aabbB,BC?bbccC,cC?cccC,CD?ccd#,CD?d#,CD?#d},S)。第13页/共85页约定 ⑴ 对一组有相同左部的产生式α?β1,α?β2 ,… ,α?βn可以简单地记为:α?β1|β2|…|βn读作:α定义为β1,或者β2,…,或者βn。并且称它们为α产生式。β1,β2,…,βn称为候选式(candidate)。 第14页/共85页⑵ 使用符号英文字母表较为前面的大写字母,如A,B,C,…表示语法变量;英文字母表较为前面的小写字母,如a,b,c,…表示终极符号;希腊字母α,β,γ…表示由语法变量和终极符号组成的行 第15页/共85页推导(derivation)设G= (V, ?, R, S)是一个文法,如果α?β∈R,γ,δ∈(V∪ ?)*,则称γαδ在G中直接推导出γβδ。 γαδ?G γ

文档评论(0)

1亿VIP精品文档

相关文档