- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8、文法: S ?AB S ?DC A ?aA A ? ? Bb ? Bc B ? ? C ? cC C ? ? D ? aDb D ? ? 给出下列句型的推导: (1) aaabbbcc (2) aaDbbcc 例 文法G=(VN,VT,P,S),其中 VN ={标识符,字母,数字} ,S=标识符 VT ={a,b,c,…x,y,z,0,1,…,9} P={标识符 字母 标识符 标识符字母 标识符 标识符数字 字母 a …… 字母 z 数字 0 …… 数字 9 } 思考:S=? 2 推导与归约 定义2: 直接推导:文法G:v=x Uy,w=xuy, 其中x、y ∈V* ,U∈VN, u ∈V*, 若U →u∈P,则v ?w,即x Uy ? xuy 。 若x=y=ε,有U → u,则U ? u 换句话说,x和y是符号串,若使用一次产生式可以从x变换出y,则称x直接推导出y(或者说y是x的直接推导),记为x? y。 当符号串已没有非终结符号时,推导就必须终止。 例如:G[N]: N → ND | D D → 0| 1| 2| 3| 4| 5| 6| 7| 8| 9 N ND NDD ND9 N09 D09 109 (6) ? ? (1) ? (3) (4) ? ? (2) (5) ? + N ? 109 定义3: +推导:x和y是符号串,若使用若干次产生式可以从x变换出y,则称x推导出y(或者说y是x的推导),记为 x? y。 + 例: 则有: 定义4: *推导:x和y是符号串,若使用0次或若干次产生式可以从x变换出y,则称x*推导出y(或者说y是x的*推导),记为x? y。 * * N ? 109 则有: * N ? N 或者说:若有直接推导序列: x=U0 ? U1 ? U2 ? …… ? Un=y,则 x ? y 。 + N ND NDD ND9 N09 D09 109 (6) ? ? (1) ? (3) (4) ? ? (2) (5) ? 直观意义:规范推导=最右推导 定义5: 最右推导:若符号串α中有两个以上的非终结符时,对推导的每一步坚持把α中的最右非终结符进行替换,称为最右推导。 最左推导:若符号串α中有两个以上的非终结符时,对推导的每一步坚持把α中的最左非终结符进行替换,称为最左推导。 定义6: 推导的逆过程称之为归约。 例:x ? y,可称为x直接推导出y,也可称为y直接归约出x。 + x ? y ,可称为x推导出y,也可称为y归约出x。 3 语言的形式定义 文法G[S]所产生的 所有句子的集合 定义7:文法G[S] (1)句型:x是句型 ? S ? x,且x∈V*; * * (2)句子:x是句子 ? S ? x, 且x∈VT*; * (3)语言:L(G[S])={x| S ? x, x∈VT* }; 即:句型是由文法开始符号推导出来的 由终结符和非终结符组成的符号串。 即:句子是由文法开始符号推导出来的 由终结符组成的符号串。 例:{abna|n≥1},构造其文法 G1[Z]: Z→aBa, B→b|bB G2[Z]: Z→aBa, B→b|Bb 定义8: G和G是两个不同的文法,若 L(G) = L(G) , 则G和G’为等价文法。 编译感兴趣的问题是: 给定x, G, 求x ? L(G) ? x 算法1 算法2 x ? L(G) ? G y n 出错处理 停机 4 递归文法 1.递归产生式:产生式右部有与左部相同的符号 对于 U→ xUy 若x=ε,即U → Uy,左递归; 若y=ε,即U → xU,右递归
文档评论(0)