第二章形式语言与自动机理论基础(形式语言).ppt
《第二章形式语言与自动机理论基础(形式语言).ppt》由会员分享,可在线阅读,更多相关《第二章形式语言与自动机理论基础(形式语言).ppt(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章第二章 形式语言与自动机理论基础形式语言与自动机理论基础2.1 预备知识2.2 文法的讨论2.3 文法和语言的定义2.4 分析树和二义性2.5 形式语言概观2.1 预备知识预备知识2.1.1 字母表字母表2.1.2 符号串符号串 一、符号串的定义一、符号串的定义 二、术语二、术语 三、符号串的运算三、符号串的运算 四、符号串集合的运算四、符号串集合的运算 字母表是字母表是符号符号的的非空有穷非空有穷集合;集合;例:例:=a a,b b,c c 任何程序语言都有自己的字母表。任何程序语言都有自己的字母表。2.1.1 字母表字母表 1.计算机语言:由符号“0”和“1”组成的字 母表:=0,1
2、 2.Pascal语言字母表:=AZ,az,09,+,-,*,/,:,”,;,.,,(,),3.C语言字母表:=AZ,az,09,+,-,*,/,_,&,:,”,;,.,?,(,),空格,!,#,%一一.符号串的定义符号串的定义 由字母表字母表中的符号所组成的的任何有穷序列有穷序列被称之为该字母表上的符号串。空符号串空符号串:无任何符号的符号串,记作 2.1.2 符号串符号串 符号串的形式定义符号串的形式定义:(1)字母表上字符是上的符号串。(2)若x是上的符号串,而a是的元素,则xa 是上的符号串。(3)y是上的符号串,当且仅当它由(1)和(2)导出。二二 术语术语(设s是符号串banana
3、)前前 缀缀:移走s的尾部的零个或多于零个符号所得符号串 ,b,ba,ban,bana,banan,banana后后 缀缀:删去s的头部的零个或多于零个符号所得符号串 banana,anana,nana,ana,na,a,子子 串串:从s中删去一个前缀和一个后缀所得符号串 banana,anana,banan真前缀、真后缀和真子串真前缀、真后缀和真子串:不是s和的前缀、后缀和子串子序列子序列:从s中删去零个或多于零个符号(不要求是连续)而得到的符号串。如baaabaaa长长 度度:是符号串中符号的个数。例如|aab|=3,|=0语语 言言:确定字母表上字符串的任何集合确定字母表上字符串的任何集
4、合例如例如:不含任何元素的空集合不含任何元素的空集合,即即 只含有空符号串的集合只含有空符号串的集合 符合符合Pascal语法的程序语法的程序组成的集合组成的集合 (Pascal语言)语言)符合英文语法的句子符合英文语法的句子组成的集合组成的集合1.连接连接:设x和y是符号串,它们的连接xy是把符号串y写在符号串x的之后得到的符号串。例如 x=ba,y=nana,xy=banana.x=x =ba2.方幂方幂:x0=x1=x x2=xx xn=xn-1x 例如 x=ba x1=ba x2=baba x3=bababa,三三.符号串的运算符号串的运算(语言L和M)1.合并合并:LMs|sL or
5、 sM 属于L或属于M的符号串s所组成的集合 2.连接连接:LMst|sL and tM s s属于L和t t属于M的的所有符号串st组成的集合 L L=L L=L 3.方幂方幂:L0=L1L LnL(n-1)L (n0)四四.语言语言(符号串集合)的运算符号串集合)的运算4.语言语言L L的的正闭包正闭包,记作L+L+L1L2L3L45.语言语言L L的的KleeneKleene闭包闭包(自反闭包自反闭包),记作L*L*L0 L L0L1L2L3例:A=x,y A?A*?x,y,xx,xy,yx,yy,A1 A2,x,y,xx,xy,yx,yy,A0 A1 A2例:(语言 L=AZ,az D
6、=09)1LDLD=A Z,a z,0 9 2LD LD 所有一字母后跟一数字组成的符号串构成的集合 3L L4 4 所有的四个字母的符号串构成的集合 4L L(LD)LD)*所有字母打头的字母和数字符号串构成的集合 5D D+所有长度大于等于1的数字串构成的集合2.2 文法的讨论文法的讨论 例:有一英文句子:例:有一英文句子:“The grey wolf will eat the goat.”。这是一个在语法、语义上都正确的句子。如何用语这是一个在语法、语义上都正确的句子。如何用语法单位如法单位如、等推导出该句子?等推导出该句子?ThegreywolfwilleatthegoatBNF范式表
7、示法:范式表示法:如果用符号如果用符号“”(或或“:=”)表示表示“定义为定义为”,用符号,用符号“|”表示表示“或或”,表表示语法成分示语法成分 句子 主语 谓语 (1)主语 冠词 形容词 名词 (2)冠词the (3)形容词 grey (4)谓语 动词 直接宾语 (5)动词 助动词 动词原形 (6)助动词will(7)动词原形 eat (8)直接宾语 冠词 名词 (9)名词wolf (10)名词 goat (11)名词wolf|goat 由规则推导句子由规则推导句子:有了一组规则之后,可以按照一定的方式:有了一组规则之后,可以按照一定的方式用它们去用它们去推导或产生句子推导或产生句子。推导
8、方法:从一个要识别的符号开始推导,即用相应规则的推导方法:从一个要识别的符号开始推导,即用相应规则的右部右部来替代规则的来替代规则的左部左部,每次仅用一条规则去进行推导。,每次仅用一条规则去进行推导。=冠词冠词 形容词形容词 名词名词 这种推导一直进行下去,直到所有带这种推导一直进行下去,直到所有带的符号都由终结符号的符号都由终结符号替代为止。替代为止。1、终结符号集终结符号集 V VT T=the,gray,wolf,will,eat,goat2、非终结符号集非终结符号集 V VN N=句子,主语,谓语,冠词,形容词,名词,动词,直接宾语,助动词,动词原形 3、语法规则集语法规则集 P P=
9、句子 主语谓语,4、开始符号开始符号 S S=句子推导句子所需的四部分推导句子所需的四部分2.3 2.3 文法和语言的形式定义文法和语言的形式定义 一一.文法的形式定义文法的形式定义 二二.直接推导和推导直接推导和推导 三三.语言的形式定义语言的形式定义 四四.短语、直接短语、句柄短语、直接短语、句柄一一.文法和语言的形式定义文法和语言的形式定义定义定义1.11.1:一个上下文无关文法一个上下文无关文法G G是一个四元组G=(V VT T,V VN N S,P S,P),其中:1.V VT T 是一个非空有穷终结符号集合;2.V VN N 是一个非空有穷的非终结符号集合,且VTVN,表示一类具
10、有某种性质的符号 3.S S VN 开始符号。4.P P是一个产生式的非空有穷集合,每个产生式的形式是A,其中 AV VN N,(V VT TVVN N)*开始符号S至少必须在某个产生式的左部出现一次(V(VT TVVN N)*表示什么集合表示什么集合?一般情况下(缺省)符号指称:一般情况下(缺省)符号指称:1 1、A A,B B,C C等,等,表示非终结符号表示非终结符号2 2、a,b,c,da,b,c,d等,等,表示终结符号表示终结符号3 3、,,等等,表示文法符号串表示文法符号串(终结终结符号和非终结符号组成的符号串符号和非终结符号组成的符号串)G=(a,+,*,(,),,P)P:*()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二章 形式语言与自动机理论基础形式语言 第二 形式语言 自动机 理论基础
限制150内