编译原理第三讲讲义.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.文法的定义 例 文法G=(VN,VT,P,S) VN = { S }, VT ={ 0, 1 } P={ S→0S1, S→01 } S为开始符号 例 文法G=(VN,VT,P,S) VN ={标识符,字母,数字} VT ={a,b,c,…x,y,z,0,1,…,9} P={标识符→字母 标识符→标识符字母 标识符→标识符数字 字母→a,…, 字母→z 数字→0,…, 数字→9 } S=标识符 文法的写法 1 G:S→aAb A→ab A→aAb A→ε 2 G[S]: A→ab A→aAb A→ε S→aSb 3 G[S]: A→ab |aAb |ε S→aSb 例1 设∑={a,b}试设计文法描述语言 L={a2n |n ≥ 1 } 例2 设∑={a,b}试设计文法描述语言 L={a2n ,b2n |n ≥ 1 } 例3 设∑={a,b}试设计文法描述语言 L={abna |n ≥ 0 } 例4 写文法,是其语言是自然数的集合 例5 写文法,是其语言是奇数集合,但不允许有以0打头的奇数 例6 试设计一个表示所有标识符的文法 2.推导的定义 直接推导“?” α→β是文法G的产生式,若有v,w满足:v=γαδ,w= γβδ, 其中γ∈V*,δ∈V* 则称v直接推导到w,记作 v ? w 例:G: S→0S1, S→01 注意: ?和→的区别 推导的定义 推导“ ” 若存在v ?w0 ?w1 ?... ?wn=w,(n0) 则记为v w,v推导出w 广义推导“ ” 若有v w,或v=w, 则记为v w 例:G: S→0S1, S→01 S ?0S1 ?00S11 ?000S111 0S1 ?00S11 00S11 ?000S111 000S111 S S 000 S 111 S S 00S11 000S111 3.归约 直接归约: w ? v(当且仅当v ? w) 例:0S1 ?00S11 00S11 ? 0S1 归约: w v(当且仅当v w) 例: S S 广义归约: w v(当且仅当v w) 例: 00S11 00S11 00S11 00S11 例:G[E]: E→E+T|T T→T*F|F F→(E)|a 构造a+a*a的推导和归约过程 4.句型、句子的定义 句型 有文法G,若S x,且x∈V*则称x是文法G的句型。 句子 有文法G,若S x,且x∈VT*,则称x是文法G的句子。 例:G: S→0S1, S→01 S ?0S1 ?00S11 ?000S111 G的句型S,0S1 ,00S11 ,000S111G的句 01 例:G[E]: E→E+T|T T→T*F|F F→(E)|a E?E+T ?T+T ?F+T ?a+T ?a+T*F ?a+F*F ?a+a*F ?a+a*a 句子:用符号a,+,*,(和)构成的算术表达式 5.语言的定义 由文法G生成的语言记为L(G),它是文法G的一切句子的集合: L(G)={x|S =* x,其中S为文法的开始符号,且 x ∈VT*} 例1:G: S→0S1, S→01 L(G)={0n1n|n≥1} 例2 设有文法G[A] A →yB B → xB|x 求该文法所描述的语言 例3 设有文法G[S ] : S?aSb? ab 求该文法所描述的语言 S?aSb ? aaSbb ? a3Sb3 ? …… ? an-1Sbn-1 ? anbn 例4 文法G[S]: (1)S→aSBE (2)S→aBE (3)EB→BE (4)aB→ab (5)bB→bb (6)bE→be (7)eE→ee L(G)={ anbnen | n≥1 } S ?a S BE

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档