最新【考研计算机专业课】天津大学 编译原理讲义 概述5.1(共23张PPT课件).pptx
《最新【考研计算机专业课】天津大学 编译原理讲义 概述5.1(共23张PPT课件).pptx》由会员分享,可在线阅读,更多相关《最新【考研计算机专业课】天津大学 编译原理讲义 概述5.1(共23张PPT课件).pptx(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、5.1 概述概述(i sh)5.1.1 翻译翻译(fny)文法文法文法文法用于描述用于描述(mio sh)构成语言的全部句子的集合。构成语言的全部句子的集合。翻译文法翻译文法是在文法的基础上增加翻译功能,一边进行语法是在文法的基础上增加翻译功能,一边进行语法分析,一边进行翻译。分析,一边进行翻译。第一页,共二十三页。例例,设计一个处理器,其输入为中缀表达式,输出,设计一个处理器,其输入为中缀表达式,输出(shch)(shch)为后缀表达式。为后缀表达式。 例,中缀式例,中缀式a+b*c,后缀式,后缀式abc*+。输入输入(shr)(shr)序列是序列是: : a + b * c 处理器的输入输
2、出活动是处理器的输入输出活动是: : RD(a) PT(a) RD(+) RD(b) PT(b) RD(*) RD(c) PT(c) PT(*) PT(+) 用输入符号本身用输入符号本身(bnshn)(bnshn)代表输入操作,用代表输入操作,用开始的符号串代表开始的符号串代表输出操作输出操作: : a a + b b * c c * + 输出结果是输出结果是: : a b c * + 称为动作符号标记,由称为动作符号标记,由开始的符号串称为一个动作符号。开始的符号串称为一个动作符号。 第二页,共二十三页。由文法由文法(wnf)构造翻译文法构造翻译文法(wnf):1. E E + T 2. E
3、 T 3. T T * F 4. T F 5. F ( E ) 6. F a 7. F b 8. F c 1. E E + T + 2. E T 3. T T * F * 4. T F 5. F ( E ) 6. F a a 7. F b b 8. F c c 第三页,共二十三页。结论结论(jiln):通过输入文法通过输入文法(wnf)(wnf)推导产生出某个输入序列推导产生出某个输入序列 通过翻译文法通过翻译文法(wnf)(wnf)的推导,便可得到相应的活动序的推导,便可得到相应的活动序列列 例例, 句型句型 (a+b)*c 输入文法的最左推导输入文法的最左推导: : E T T*F F*F
4、 (E)*F (E+T)*F (a+b)*c *翻译文法的最左推导翻译文法的最左推导: : E T T*F* F*F* (E)*F* (a a + b b +) * c c *ab+c*第四页,共二十三页。定义定义: : 翻译文法翻译文法是一个上下文无关是一个上下文无关(wgun)(wgun)文法。在该文法中终文法。在该文法中终结符号集由输入符号结符号集由输入符号 (即原来终结符即原来终结符)和动作符号组成。和动作符号组成。 例例,上述,上述(shngsh)文法文法: GT=(VN,VT, P, E) VN=E, T, F VT=a, b, c, +, *, (, ), a , b, c, +
5、, * P=产生式产生式 在此文法中,在此文法中,(语义动作语义动作(dngzu)(dngzu)仅仅是输出该动作符号的动作仅仅是输出该动作符号的动作标记符标记符后面的符号串。这里后面的符号串。这里, 该翻译文法是符号串翻译文法。该翻译文法是符号串翻译文法。 第五页,共二十三页。5.1.2 属性翻译属性翻译(fny)文法文法翻译文法中的符号,包括翻译文法中的符号,包括(boku)非终结符,终结符和动作非终结符,终结符和动作符号都是有穷集合中的符号,都没有值的概念。符号都是有穷集合中的符号,都没有值的概念。 扩充翻译文法的概念扩充翻译文法的概念(ginin),即让符号包含值部分。,即让符号包含值部
6、分。 符号所具有的值部分称符号的属性。符号所具有的值部分称符号的属性。 第六页,共二十三页。(1) 将符号将符号(fho)的属性与语法树的节点联系起来,输入和输出值的属性与语法树的节点联系起来,输入和输出值之间的关系可以通过产生式来表示。之间的关系可以通过产生式来表示。 例例,设有一词法,设有一词法(cf)分析程序能够输出下列单词符号:分析程序能够输出下列单词符号:(, ), +, *, c 考虑考虑(kol)(kol)设计一个语法分析程序,它设计一个语法分析程序,它接受接受上述符号组成的算术表达上述符号组成的算术表达式,并式,并输出输出这个表达式的值。这个表达式的值。 翻译文法是翻译文法是:
7、 : 1. S E ANSWER 5. T F 2. E E + T 6. F ( E ) 3. E T 7. F c 4. T T * F 1. 综合属性综合属性第七页,共二十三页。语法树为语法树为 例例,输入序列:输入序列:(C3 + C9) * (C2 + C41) “数字串数字串”表示该符表示该符号的值部分号的值部分 接受接受(jishu):第八页,共二十三页。输出输出(shch):显然显然, 语法树中的非终结符语法树中的非终结符E, T, F的每次出现都是表示的每次出现都是表示(biosh)(biosh)该该输入表达式的一个子表达式,其值部分应是其子表达式的计算结输入表达式的一个子表
8、达式,其值部分应是其子表达式的计算结果。果。例例,产生产生(chnshng)(chnshng)式式: F c T F 则则F的值部分等于的值部分等于c的值部分,的值部分,T的值部分等于的值部分等于F的值部分。的值部分。 计算表达式的实际过程是计算表达式的实际过程是: : 先分别计算各子表达式的值,再计先分别计算各子表达式的值,再计算父表达式的值,直到求得整个表达值。算父表达式的值,直到求得整个表达值。第九页,共二十三页。表示表示(biosh)(biosh)属性计算的语属性计算的语法树法树 第十页,共二十三页。(2) 为了形式地表示上述表达式的求值过程,可以将产生式改写,为了形式地表示上述表达式
9、的求值过程,可以将产生式改写,对出现在每一个产生式中的每一个值赋以一个不同的名字,而后使对出现在每一个产生式中的每一个值赋以一个不同的名字,而后使用这些用这些(zhxi)(zhxi)名字说明各产生式中各符号的值部分之间的关系名字说明各产生式中各符号的值部分之间的关系 (求求值规则值规则) 。 例例,计算表达式值的符号串翻译文法可改写为:,计算表达式值的符号串翻译文法可改写为: 1.S Eq ANSWERr r = q2.Ep Eq + Tr p = q + r 3.Ep Tq p = q 4.Tp Tq * Fr p = q * r 5.Tp Fq p = q6.Fp (Eq) p = q7.
10、Fp cq p = q 第十一页,共二十三页。产生式左部符号的属性值是通过产生式左部符号的属性值是通过(tnggu)(tnggu)计算右部符号的计算右部符号的属性值得来的。属性值得来的。 在语法树中,每个非终结符的属性值都是由它下面的那在语法树中,每个非终结符的属性值都是由它下面的那些些(nxi)(nxi)符号符号 (子结点子结点) 来确定。来确定。 这种可通过这种可通过(tnggu)(tnggu)自底向上进行求值的属性,称自底向上进行求值的属性,称综合属性综合属性。 第十二页,共二十三页。2.继承继承(jchng)属性属性例例,(说明句说明句)文法文法: : 1.1. 说明说明TYPE V变
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考研计算机专业课 最新【考研计算机专业课】天津大学 编译原理讲义 概述5.1共23张PPT课件 最新 考研 计算机 专业课 天津大学 编译 原理 讲义 概述 5.1 23 PPT 课件
限制150内