第三章文法和语言探究.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章?文法和语言; 本章主要内容:; 几个基本定义:;语 言;语 法;语 义; 语法分析和语义分析的比较;文 法; 字母表; 符 号; 符号串;;连接: 设x和y是符号串,则 xy为它们的连接。例如,假定有 x=aa, y=bb, 则有: xy = aabb。 特别对任一符号串β 有 εβ=βε=β 集合乘积:设A和B是符号串的集合,则用 AB表示集合A、B的乘积。; AB={ xy |x?A,y?B}。因为εβ=βε=β所以有 {ε}A = A{ε}= A 空集: 不包含任何元素的集合称为空集合,记为φ。 对任一集合,有φA = Aφ = φ;方幂: 同一符号串的序列可表示成方幂形式 x0 =ε x1 = x x2 = xx … xn = xx…x (n个x) 对符号串集合也定义方幂: A0 ={ε} A1 = A A2=AA … An = An-1A 其中A是任一集合;闭包: 设∑为字母表或一集合, ∑上的所有有穷长的串的集合用∑*表示, 称为集合∑的闭包。 写成: ∑*= ∑0 ∪ ∑ 1 ∪ ∑2 …∪ ∑n… 正闭包: 设??为任一字母表或集合,则用∑+ 表示∑的正闭包。其定义如下: ∑ + = ∑1 ∪ ∑2 ∪ ∑3 ∪… ∑n … ∑*= ∑0 ∪ ∑+ = {ε}∪∑+ ;§3.2 文法及语言的形式定义 定义:设VN和VT都是非空有穷集,S∈ VN 且VN∩VT =Φ。 记 V=VN∪VT,称G =(VN,VT,P,S)为文法。其中: VN :G的变量集,非终结符的有穷集合(大写字母表示) VT :终结符的非空有穷集合(小写字母表示) P :G的产生式集(形为 ?→β的产生式的有穷集合) S : 被指定为文法的开始符号。( S ∈VN ) 其中: ? ∈(VN∪VT)+,β∈(VN∪VT)? 终结符:不能再推导的符号 非终结符:可再推导下去的符号;句型分析算法; 从上而下分析—推导;直接推导:设X和Y是符号串,若用一次规则式可从X推导出Y,则称为X的直接推导,并记为X?Y。 推导:如果用若干次规则式可从符号串X推导出符号Y,则称Y为X的推导,并记为: X ?+ Y 为方便起见,再引进符号 ??,其定义如下: X ?* Y 当且仅当 X = Y 或X ?+ Y。 显然,根据定义对任一符号串X都有 X ?* X ; 长度为n的推导; 从下而上分析;归约和推导是相对的概念,推导是把句型中的非终极符用规则式的一个右部来替换的过程。而归约是把句型中的某子串用一个非终极符替换的过程。 令G是一文法,且 U → u 是G中的规则式。 有x U y ? x u y (直接推导),则有 x u y ? x U y(规约)。;句型:设G[S]是一文法,如果符号串X是从识别符号(开始符)推导出来的,即有S?* x,则称x是文法G的句型。 句子:不包含非终极符的句型称为句子。也就是说,x是一个句子当且仅当Z?* x 且x ∈VT*。 语言:所有句子的集合称为语言。设G是给定文法, S是开始符,由文法G所定义的语言L(G)可描述如下: L(G)={ x | S ?* x 且 x ∈VT* };设G1和G2是给定文法,若有 L(G1)= L(G2)则称G1和G2等价。 这就是说,不同的文法可定义相同的语言。;形式语言的文法按结构可分为四类: 0型文法(短语结构文法):规则式具有下面形式; ?→β, 其中α、β都是符号串, ? ,β ∈(VN∪VT)*,且?至少含有一个非终极符;1型文法(上下文有关文法):规则式限制为下面形式: ? Aβ→ ? uβ 其中 A∈VN,u是非空串,显然有 | ? Aβ|≤ | ? uβ|(产生式非缩减的) 这里把A替换为符号串u是有条件的,即A前面必须是? ,A后面必须是β,因此称为上下文有关文法。 ;2型文法(上下文无关文法):规则式限制为下面形式:A → β 所有产生式左端是一非终极符,其中A∈VN,β∈(VN∪VT)*,β为非空串,β取代A时与A所在的上下文无关。大部分程序设计语言的文法近似于2型文法,因此2型文法是我们研究对象。 ;3型文法(正规文法):规则式限制为下面形式之一: A→ a A→ a B 其中 A、B∈VN,a∈VT*。3型文法与自动机有密切关系。上面的分类格式是由Chomsky与1959年提出的。 ;3型文法?2型文法?1型文法?0型文法;文法的递归性:说A是直接左递归的,其 规则

文档评论(0)

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

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

1亿VIP精品文档

相关文档