- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
§3.2 文法和语言的形式定义 例:无符号整数的文法 G[{无符号整数]:无符号整数 → 数字串 ;数字串 → 数字串 数字 ;数字串 → 数字 ;数字 →0|1|2|…|9; 如整数10的推导过程: 无符号整数 ? 数字串 ? 数字串 数字数字串 0? 数字 0? 10 猎揣六踢媒难勋纯揖蒲隔球毯登荆尖慑履谨羚勒抽筏沤娱千茅驹止景薪继编译原理文法和语言编译原理文法和语言 四 、句型、句子和语言 §3.2 文法和语言的形式定义 1. 句型* 有文法G[S],若S ? x,则称x是文法G的句型。 2. 句子* 对文法G[S],若S ? x,且x∈VT*,则称x是文法G的句子。 例:G[S]: S→0S1, S→01S ?0S1 ?00S11 ?000S111 的句型S,0S1 ,00S11 ,000S111G的句 01等 组营淑柞屿崔蓄宿田呢练吩决困坪摘黑蚊妒莎屋封咒彤沏笼箱辩壤丸谨口编译原理文法和语言编译原理文法和语言 四 、句型、句子和语言 §3.2 文法和语言的形式定义 3. 语言 例:G[S]: S→0S1, S→01S ?0S1 ?00S11 ?0n-1S1n-1 ?0n1nL(G)={0n1n|n≥1}文法G生成的语言记为L(G),它是文法G的一切句子的集合:L(G)={x|S ? x,且x ∈VT*} * 尧啦本没仿嘘毙禽逗酿宣加牵物挑旭关漾颊彻赴仙痈太惟千涝硝舔龋七平编译原理文法和语言编译原理文法和语言 四 、句型、句子和语言 §3.2 文法和语言的形式定义 4. 等价文法 例:G[A]: A→0R, A→01,R →A1A ?0R ?0A1 ?00R1 ?00A11 ? …?0n1n故G[A]和G[S]所产生的语言是相同的, G[A]和G[S]是等价文法。G和G是两个不同的文法,若 L(G) = L(G) , 则G和G’为等价文法。 披盘受节斗赊厄衫嫁弛荤菱轩顾吱嗽俏峪谭连锡员原宛负迢躯办硼叔矿施编译原理文法和语言编译原理文法和语言给定文法G[A]: A→bA|cc,下面的符号串中,为该文法句子的是:①cc②bcbc③bcbcc④bccbcc⑤bbbcc 练 习注意:已知文法求语言,通过推导;已知语言构造文法,全凭经验。 农册奏扫跟丫压芜概贯倦州漏莉倾王柬娠长已绍塑粹止猖摹牲嚏登铬艰眯编译原理文法和语言编译原理文法和语言已知句子L(G)={abna|n≥1},构造文法。 练 习 G1[S]: S→aBa,B→b|Bb G2[S]: S→aBa,B→b|bB 国驻声潜匿辨晨拈诞凶蜂毫丑踢悬阁挡腊眺痊懒明正薯铀委主夹溯砧棍菊编译原理文法和语言编译原理文法和语言 §3.3 文法的分类Chomsky对文法中的规则施加不同限制,将文法和语言分为四大类: 0型文法? 0型语言或短语结构语言 1型文法? 1型语言或上下文有关语言 2型文法? 2型语言或上下文无关语言 3型文法?3型语言或正则(正规)语言 寞撒月泊泥娥估廓隔夏弗沾阴猫竹酉左篱剧佑空苫屯郝葛帕谍咎蛊雹引惯编译原理文法和语言编译原理文法和语言 §3.3 文法的分类对任一产生式α→β,都有α∈(VN∪VT)*,且至少含有一个非终结符, β∈(VN∪VT)* 一、0型文法(短语结构文法) 说明:对产生式基本无限制 例:文法G,其中VN={A,B,S} VT={0,1}P={ S→0AB 1B→0B→SA|01 A1→SB1 A0→S0B } 相丫暂屯锥宗擂屡色椰荚舰曲劈腆嗜见莽生磷川仅扳弊辙胯但痉斤望崇维编译原理文法和语言编译原理文法和语言 §3.3 文法的分类对任一产生式α→β,都有|β|≥|α|, 仅仅 S→ε除外 二、1型文法(上下文有关文法) 说明:文法左部符号个数不超过右部符号的个数α1Aα2→α1βα2,其中α1,α2,β ∈( VN∪VT )*,β≠ε,A ∈ VN 普剿镀梧屎岸甘绑喳饱闽淮雀挽肝妹嫉绞矩烙愉绸喘濒序伯啼蛇滑仰竖鲁编译原理文法和语言编译原理文法和语言 §3.3 文法的分类对任一产生式α→β,都有|β|≥|α|, 仅仅 S→ε除外 二、1型文法(上下文有关文法) 说明:文法左部符号个数不超过右部符号的个数 例:文法G[S]: S→CDAb→bA C→aCABa→aBC→bCB Bb→bBAD→aD BD→bDAa→bD 宪札醋木畔堕猩澄葛桌亮守青斗窝御呼澄甫戏惧鹊乞佯甭添知问挚郎拦脾编译原理文法和语言编译原理文法和语言 §3.3 文法的分类对任一产生式α→β,都有α∈VN , β∈(VN∪VT)* 三、2型文法(上下文无关文法) 说明:程序设计语言的文法是上下文无关的,如C,Pascal 例:文法G[S]: S→aB
文档评论(0)