第2章文法和语言分析.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理 第2章 文法和语言 安庆师范学院计算机与信息学院 本章目标 给出文法和语言的形式定义 定义一些基本概念,如上下文无关文法、推导、语法树、句型、句子等 介绍文法的二义性及其消除方法 介绍文法的等价及其变换方法 介绍文法的chomsky分类法 教学内容 2.4 文法和语言的二义性 2.5 文法的等价及其变换 2.6 本章小结 2.1 符号和符号串 2.2 文法和语言的形式定义 2.3 Chomsky文法分类 2.1 符号和符号串 符号串的相关概念 1 符号串的运算 2 符号串集合的运算 3 1、符号串的相关概念 (1)字母表 字母表是元素的非空有穷集合。 例如:字母表U={a, b, c};字母表V={0, 1, 2}。 (2)符号 符号是字母表中的元素。 例如:a, b, c是字母表U中的符号;0, 1, 2是字母表V中的符号。 (3)符号串 符号串是由符号组成的任何有穷序列。 例如:字母表U={a, b, c}中的符号串有:a, b, c, aa, ab, ac, ba, bb, bc, …,aaa,… 1、符号串的相关概念 (4)空符号串(空字) 不含任何符号的符号串,记为?。 (5)符号串集合 字母表上的符号串组成的集合。 例如:若有字母表U={a, b, c},则A={a, ab},B={aa, ab,ac}等都是字母表U上的集合。 2、符号串的运算 (1)符号串的长度 符号串中所包含的符号个数。符号串s的长度记为|s|。 例如:|x|=1,|xyz|=3,|?|=0。 (2)符号串的连接 符号串x和符号串y的连接,是把y的所有符号相继写在x的符号之后得到的符号串,记为xy。 例如: x=ab,y=cd 则 xy=abcd ,yx=cdab。a?= ?a=a。 (3)符号串的方幂 符号串a自身连接n次得到的符号串称为a的n次方幂。记为an 。 例如: a1=a, a2=aa,a0=?。 3、符号串集合的运算 (1)符号串集合的乘积 符号串集合A和B的乘积定义为:AB ={xy|x∈A且y∈B},即AB是由A中的符号串x和B中的符号串y连接而成的串xy组成的集合。 例如:若符号串集合A = {ab,cde}, B = {0,1} 则 AB = {ab0,ab1,cde0,cde1}。 显然, {?}A = A{?} = A。 (2)符号串集合的方幂 设A是符号串的集合,则称Ai 为符号串集A的方幂,其中i是非负整数。具体定义如下: A0 ={?} A1 = A A2 = A A …… AK = AA….A(k个) 3、符号串集合的运算 例如:若符号串集合A ={ ab,cd},则 A0 ={?} A1 ={ab,cd} A2 = {ab,cd}{ab,cd}={abab,abcd,cdab,cdcd} A3 = {ab,cd}{ab,cd}{ab,cd} ={ababab,ababcd,abcdab,abcdcd,cdabab,cdabcd,cdcdab,cdcdcd} …… 3、符号串集合的运算 (3)符号串集合的闭包与正闭包 字符串集合A的闭包A* 定义为: A* = A0∪A1∪A2∪A3∪… 字符串集合A的正闭包A+定义为: A+= A1∪A2∪A3∪A4∪… 显然有:A*= A0∪A+={?}∪A+ 例如:设A={a, b},则 A*= {?,a,b,aa,ab,ba,bb,aaa, …} A+= {a,b,aa,ab,ba,bb,aaa, …} 2.2 文法和语言的形式定义 文法和上下文无关文法 1 推导和语法分析树 2 句型、句子和语言 3 1、文法和上下文无关文法 (1)文法 文法G是一个4元组,G=( VT, VN, S, P),其中 VT 是一个非空有限的符号集合,它的每个元素称为终结符号; VN也是一个非空有限的符号集合,它的每个元素称为非终结符号,并且有VT∩VN=?; S∈VN,称为文法G的开始符号; P是一个产生式的集合,产生式的形式为α→β,其中α、β∈(VT∪VN)*,α≠?;开始符号S至少必须在某个产生式的左部出现一次。 1、文法和上下文无关文法 (2)上下文无关文法 文法G=( VT, VN, S, P),若P中的每一个产生式A→β满足:A∈VN,β∈( VN∪VT )* ,则此文法称为2型的或上下文无关的。 【例2.1】 文法G=( VT, VN, S, P),其中VN ={S}

文档评论(0)

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

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档