【精品】【考研计算机专业课】天津大学 编译原理讲义 概述5.1精品ppt课件.ppt
《【精品】【考研计算机专业课】天津大学 编译原理讲义 概述5.1精品ppt课件.ppt》由会员分享,可在线阅读,更多相关《【精品】【考研计算机专业课】天津大学 编译原理讲义 概述5.1精品ppt课件.ppt(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【考研计算机专业课】天津大学 编译原理讲义 概述5.1例例,设计一个处理器,其输入为中缀表达式,输出为后缀表,设计一个处理器,其输入为中缀表达式,输出为后缀表达式。达式。例,中缀式例,中缀式a+b*c,后缀式,后缀式abc*+。输入序列是输入序列是:a+b*c 处理器的输入输出活动是处理器的输入输出活动是:RD(a)PT(a)RD(+)RD(b)PT(b)RD(*)RD(c)PT(c)PT(*)PT(+)用输入符号本身代表输入操作,用用输入符号本身代表输入操作,用开始的符号串代表开始的符号串代表输出操作输出操作:a a+b b*c c*+输出结果是输出结果是:a b c*+称为动作符号标记,由
2、称为动作符号标记,由开始的符号串称为一个动作符号。开始的符号串称为一个动作符号。由文法构造翻译文法由文法构造翻译文法:1.E E+T 2.E 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 结论结论:通过输入文法推导产生出某个输入序列通过输入文法推导产生出某个输入序列 通过翻译文法的推导,便可得到相应的活动序列通过翻译文法的推导,便可得到相应的活动序列 例例,句型句型(a+b)*c 输入文法的最左推导输入文法的最左推导:E T T*F F*
3、F (E)*F (E+T)*F (a+b)*c*翻译文法的最左推导翻译文法的最左推导:E T T*F*F*F*(E)*F*(a a+b b+)*c c*ab+c*定义定义:翻译文法翻译文法是一个上下文无关文法。在该文法中终是一个上下文无关文法。在该文法中终结符号集由输入符号结符号集由输入符号(即原来终结符即原来终结符)和动作符号组成。和动作符号组成。例例,上述文法,上述文法:GT=(VN,VT,P,E)VN=E,T,F VT=a,b,c,+,*,(,),a,b,c,+,*P=产生式产生式 在此文法中,在此文法中,(语义动作语义动作)仅仅是输出该动作符号的动作标记仅仅是输出该动作符号的动作标记符
4、符后面的符号串。这里后面的符号串。这里,该翻译文法是符号串翻译文法。该翻译文法是符号串翻译文法。语法树为语法树为 例例,输入序列:输入序列:(C3+C9)*(C2+C41)“数字串数字串”表示该符号表示该符号的值部分的值部分 接受接受:输出输出:显然显然,语法树中的非终结符语法树中的非终结符E,T,F的每次出现都是表示该输的每次出现都是表示该输入表达式的一个子表达式,其值部分应是其子表达式的计入表达式的一个子表达式,其值部分应是其子表达式的计算结果。算结果。例例,产生式产生式:F c T F 则则F的值部分等于的值部分等于c的值部分,的值部分,T的值部分等于的值部分等于F的值部分。的值部分。计
5、算表达式的实际过程是计算表达式的实际过程是:先分别计算各子表达式的值,先分别计算各子表达式的值,再计算父表达式的值,直到求得整个表达值。再计算父表达式的值,直到求得整个表达值。表示属性计算的语法树表示属性计算的语法树(2)为了形式地表示上述表达式的求值过程,可以将产为了形式地表示上述表达式的求值过程,可以将产生式改写,对出现在每一个产生式中的每一个值赋以一生式改写,对出现在每一个产生式中的每一个值赋以一个不同的名字,而后使用这些名字说明各产生式中各符个不同的名字,而后使用这些名字说明各产生式中各符号的值部分之间的关系号的值部分之间的关系(求值规则求值规则)。例例,计算表达式值的符号串翻译文法可
6、改写为:,计算表达式值的符号串翻译文法可改写为: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.Fp cq p=q 产生式左部符号的属性值是通过计算右部符号的属性产生式左部符号的属性值是通过计算右部符号的属性值得来的。值得来的。在语法树中,每个非终结符的属性值都是由它下面的在语法树中,每个非终结符的属性值都是由它下面的那些符号那些符号(子结点子结点)来确定。来确定。这种可通过自底向上进行求值的属性,称这种可通过自底向上进行求值的属性,称综合属性综合属性。2.继承属
7、性继承属性例例,(说明句说明句)文法文法:1.1.说明说明TYPE V变量表变量表2.2.变量表变量表,V变量表变量表3.3.变量表变量表integer a,b,c翻译文法翻译文法:1.1.说明说明TYPE V SET-TYPE 变量表变量表 2.2.变量表变量表,V SET-TYPE 变量表变量表 3.3.变量表变量表 动作符号动作符号SET-TYPE调用过程调用过程SET-TYPE,把,把TYPE的值的值(类型类型)填到各个变量在符号表中的项的类型域中。填到各个变量在符号表中的项的类型域中。动作符号动作符号SET-TYPE的值部分有两个属性的值部分有两个属性:SET-TYPE变量变量,类型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 考研计算机专业课 【精品】【考研计算机专业课】天津大学 编译原理讲义 概述5.1精品ppt课件 考研 计算机 专业课 天津大学 编译 原理 讲义 概述 5.1 ppt 课件
限制150内