《2022年编译原理课程设计WHILE循环语句的翻译程序设计 .pdf》由会员分享,可在线阅读,更多相关《2022年编译原理课程设计WHILE循环语句的翻译程序设计 .pdf(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、学号:课 程 设 计题目WHILE 循环语句的翻译程序设计(递归下降法、输出四元式)学院计算机科学与技术专业计算机科学与技术班级计算机班姓名指导教师2012 年1 月6 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 19 页 - - - - - - - - - 武汉理工大学编译原理课程设计说明书1 目录1问题描述 . 31.1 问题描述 . . 31.2 主要任务 . . 31.3 测试数据 . . 32 文法及属性文法的描述. 32.1 文法的描述 . 32.2 w
2、hile-do循环语句的文法 . 42.3 递归文法的优化 . 42.4 属性文法的描述 . 53语法分析方法描述. 63.1 程序设计对文法的要求. 63.2 语法分析的思想 . 73.3 递归下降文法实现原理. 73.4 中间代码形式 . 84 简要的分析与概要设计. 841 全局程序的概要设计 . 84.2 词法分析 . . 94.3 递归下降翻译器的设计. 94.4 语法制导翻译 . 105 详细的算法描述. 105.1 算法描述 . . 105.2 运行结果 . . 146. 研制报告(研制过程,本设计的评价、特点、不足、收获与体会等). 156.1 研制过程 . . 156.2 本
3、设计的评价、特点 . 166.3 感受和体会 . 166.4 对程序改进的想法 . 17名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 19 页 - - - - - - - - - 武汉理工大学编译原理课程设计说明书2 课程设计任务书学生姓名:专业班级:计算机班指导教师:工作单位:计算机科学与技术学院题目: WHILE 循环语句的翻译程序设计(递归下降法、输出四元式)初始条件:理论:学完编译课程,掌握一种计算机高级语言的使用。实践:计算机实验室提供计算机及软件环境。如果自
4、己有计算机可以在其上进行设计。要求完成的主要任务 :(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1) 写出符合给定的语法分析方法的文法及属性文法。(2) 完成题目要求的中间代码四元式的描述。(3) 写出给定的语法分析方法的思想,完成语法分析和语义分析程序设计。(4) 编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。(5) 设计报告格式按附件要求书写。课程设计报告书正文的内容应包括:1 系统描述(问题域描述) ;2 文法及属性文法的描述;3 语法分析方法描述及语法分析表设计;4 按给定的题目给出中间代码形式的描述及中间代码序列的结构设计;5 编译系统的概要设计;
5、6 详细的算法描述(流程图或伪代码) ;7 软件的测试方法和测试结果;8 研制报告(研制过程,本设计的评价、特点、不足、收获与体会等);9 参考文献(按公开发表的规范书写) 。时间安排:设计安排一周:周1、周 2:完成系统分析及设计。周 3、周 4:完成程序调试及测试。周 5:撰写课程设计报告。设计验收安排:设计周的星期五第1 节课开始到实验室进行上机验收。设计报告书收取时间:设计周的次周星期一上午10 点。指导教师签名: 2012年 1 月 6 日系主任(或责任教师)签名: 2012年 1 月 6 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -
6、 - - - - - 名师精心整理 - - - - - - - 第 3 页,共 19 页 - - - - - - - - - 武汉理工大学编译原理课程设计说明书3 课程设计报告书1问题描述1.1 问题描述设计一个 WHILE 布尔表达式 DO 赋值语句循环语句的词法语法及语义分析程序,语法分析选择递归下降法,采用用语法制导翻译输出中间代码四元式。1.2 主要任务通过设计、编制、调试一个WHILE 循环语句的语法及语义分析程序,加深对语法及语义分析原理的理解,并实现词法分析程序对单词序列的词法检查和分析。首先写出一个能识别while 循环语句的文法,通过消除左递归使它符合LL(1) 即递归下降法
7、的要求,然后按照这个文法编写一个集词法分析,语法分析和语义分析为一体的程序,该程序首先可以检查输入语句是否符合词法要求,若符合则继续识别输入的语句是否符合 while 语句的文法,若符合则进行语义分析,输出用四地址代码表示的中间代码。1.3 测试数据编写好源代码后,进行调试,主要调试数据有:新建一个文本,输入一个while 循环语句的内容,保存;打开该文件,进行词法、语法的分析,给出分析结果。2 文法及属性文法的描述2.1 文法的描述用扩充巴科斯 - 瑙尔范式( EBNF )给出的 while 循环语句的文法描述,如下: := while () do := := | = | = 名师资料总结
8、- - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 19 页 - - - - - - - - - 武汉理工大学编译原理课程设计说明书4 := + | - | := * | / | :=() | | :=;2.2 while-do循环语句的文法产生式为 S- while E do A,为便于语法制导翻译将其改写如下:文法 G(s)如下:S-WEDG (意思是 while E do G)G-c=R R-dTe|d T-+|-|*|/ E-aFb F- |=| while (A) do B 2.
9、A - CDC 3.D - | = | = | C+E | C-E | E 5.E - E*F | E/F | E 6.F - (C) | i | n因为此 while 循环语句的翻译程序设计用的是递归下降法,而递归下降法对文法的要求是文法要满足是LL(1)文法,故文法中不能包含左递归,对上述的文法进行消除左递归之后,得到如下的递归文法: 1.S-while (A) do B 2.A-CDC 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 19 页 - - - - - -
10、 - - - 武汉理工大学编译原理课程设计说明书5 3.D- | = | = | EG 5.G-+EG | -EG | 6.E-FH 7.H-*FH | / FH | 8.F-(C) | i | n 9.B-i=C;2.4 属性文法的描述(1) 、任一非终结符 B都不是左递归的,否则会产生死循环。(2) 、对 A的任意两个右部 i , j , 有:first(i) first(j)= , First(i) 表i 所能导出串的第一个符号的集合。显然,每个i 的 first(i) 是互不相同的,否则则无法判断应执行哪个( i ) 。产生式语义规则S-while (A) do B S.first:=
11、newtemp; S.second:=newtemp; A.true:=newtemp; emit(A.false:=S.second; S1.second:=S.first; S.place:=(S.begin, :) | B.place |printf(S.true, :) |S1.place | printf( goto ,S.begin) | printf(B.false, : ) | printf(goto Lnext);) A-CDC A.place:=newpemt; emit(A.place:=C1.place D.place C2.place) .D- D.place:=ne
12、wtemp ; Emit(D.Place:=) .D- D.place:=newtemp ; Emit(D.Place:= = D.place:=newtemp ; Emit(D.Place:=) .D- = D.place:=newtemp ; Emit(D.Place:=) .D- = D.place:=newtemp ; Emit(D.Place:=EG C.Place:=newtemp; Emit(C.Place:=E.Place G .place) G-+EG G.Place:=newtemp; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
13、 - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 19 页 - - - - - - - - - 武汉理工大学编译原理课程设计说明书6 Emit(G1.Place:=+E.Place G2.place) G-EG G.Place:=newtemp; Emit(G1.Place:=-E.Place G2.place) G-G.Place:=newtemp; Emit(G.Place:= H-*FH H.Place:=newtemp; Emit(H1.Place:=*F.Place H2.place) H- / FH H.Place:=newtemp; Emit(H
14、1.Place:=+F.Place H2.place) H-G.Place:=newtemp; Emit(H1.Place:=+E.Place H2.place) F-(C) F.Place:=C.Place B-i=C; p:=lookup(i.name) If p!=nil then Emit(p:=C.Place Else error) 3语法分析方法描述3.1 程序设计对文法的要求递归下降法是一种比较简单直观,易于构造的语法分析方法。他要求文法满足LL(1)文法,他的设计思想是对应文法中每个非终结符编写一个递归过程,每个过程的功能是识别由该非终结符推出的单词(或串),当某非终结符的产生
15、式有多个候选时,能够按LL(1)形式可唯一地确定选择某个候选进行推导。它的优点是简单直观,易于构造,很多编译系统所实现缺点是对文法要求很高,由于递归调用多,影响分析器的效率其文法可以表示为 : ETE+T TFT*F Fi(E)可以用语法图来表示语言的文法,如图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 19 页 - - - - - - - - - 武汉理工大学编译原理课程设计说明书7 E T F 3.2 语法分析的思想递 归 下 降 程 序 是 由 一 组 子 程
16、 序 组 成 , 每 个 子 程 序 对 应 于 一 个 非 终 结(S,A,B,C,D,E,F,G,H)。每个子程序处理相应句型中相对于此非终结符号的产生式。在定义文法时,是递归定义的,所以这些子程序也是递归的。当一个子程序调用另一个子程序时,原子程序顺序执行语句,即总是先执行被调用的子程序,然后再执行后继的程序。程序中 9 个子程序,其中 S 是开始符号,也是递归下降分析的入口,通过调用词法分析器进行单词分析,并通过word=l.Yufa_Queue.front()来得到当前所分析到的单词,然后在递归语法分析中根据这个单词分析下一步要执行的子程序。其中要注意的是,当子程序G()和 H()
17、中出现匹配的是空字符串时,不做单词处理,该所取得的单词,应该为下一个匹配产生做准备。3.3 递归下降文法实现原理设 A是一个非终结符: A1 A2An则写(A) if char first(1 ) then(1 )else if charfirst(2 ) then ( 2 )else T T + F F *E i ( ) E 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 19 页 - - - - - - - - - 武汉理工大学编译原理课程设计说明书8 if char
18、first(n ) then ( n)else ERROR 其中( i) 表示调用处理符号串 i 的子程序。对 A的任一右部 i 设为:i = y1 y2 yn 则定义 ( i) begin (y1); (y2); ; (yn) end 其中 yj 可分为下列两种情况( j=1, ,n): 1) yjVT,则( yj) if char yj then ERROR else READ(char) 2) yjVN,则(yj) 表示调用关于 yj 的递归子程序。3.4 中间代码形式中间代码采用四元式输出,一个四元式是一个带有四个域的记录结构,这四个域分别称为 oparg1arg2 及 result
19、。域 op 包含一个代表运算符的内部码。语句while ab do a=a+b的四元式输出形式如下: 100( , a , b , 102 ) 101 ( j , _ , _ , 105 ) 102 ( + , a , b , n ) 103 ( = , n , _ , a ) 104 ( j , _ , _ , 100) 105 4 简要的分析与概要设计41 全局程序的概要设计递归下降分析技术就是通过对每个非终结符编写一个子程序来实现它的操作,然后通过递归的调用来实现对输入字符串的分析,这其中还包括对输入字符串的词法分析。在词法分析的时,得到的字符单词要和关键字比较,看是否是关键字,根据比较
20、结果进行返回名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 19 页 - - - - - - - - - 武汉理工大学编译原理课程设计说明书9 相应的单词类型。单词类型主要包括界限符,关键字,常量,标识符,运算符等,每种符号都是一种类型。在语法分析程序中,根据词法得到的结果,进行判断是否是当前需要的单词类型,如果不是就说明输入字符串不能由该文法推导出来;如果是当前需要的类型,就相应得做该单词类型分支程序。根据文法可以得到这个递归下降程序可以分析while 语句,在文法的开
21、始符号S 开始进行递归调用,因此这个文法的递归中就要考虑到调用以及递归。在递归子程序中,在嵌套调用其他子程序时都是有一定条件的,当满足这个条件的时候该程序可以按照满足的条件执行下去,当没有满足程序中的条件时就会显示语法错误。4.2 词法分析词法分析程序的任务是:从左至右逐个字符地对源程序进行扫描,产生一个个的单词符号,把作为字符串的源程序改造成为单词符号的中间程序。词法分析检查的错误主要是挑出源程序中出现的非法符号。所谓非法符号是指不是程序设计语言中允许出现的符号,就像自然语句中的错字。4.3 递归下降翻译器的设计对每个非终结符 A构造一个函数过程,对A的每个继承属性设置一个形式参数,函数的返
22、回值为 A 的综合属性, A 对应的函数过程中,为出现在A 的产生式中的每一个文法符号的每一个属性都设置一个局部变量。非终结符A对应的函数过程中,根据当前的输入符号决定使用哪个产生式候选。每个产生式对应的程序代码中,按照从左到右的次序,对于单词符号,非3:终结符和语义动作分别做以下工作。1. 对于带有综合属性x 的终结符 X,把 x 的值存入为 X,x 设置的变量中。然后产生一个匹配 X的调用,并继续读入一个输入符号。2. 对于每个非终结符号B,产生一个右边带有函数调用的赋值语句c=B(b1,b2, ,bk) 3. 对于语义动作,把动作的代码抄进分析器中,用代表属性的变量来代替对应属性的每一次
23、引用。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 19 页 - - - - - - - - - 武汉理工大学编译原理课程设计说明书10 4.4 语法制导翻译在语法分析过程中,随着分析的步步进展,根据每个产生式所对应的语义子程序(或语义规则描述的语义动作) 进行翻译。属性文法的每个符号有属性, 所以每个符号入栈时,必须连属性一起入栈,这样,栈符号就由文法符号及存放该符号属性的域所组成。由于属性类型不同,属性域存放的内容就要根据属性的类型来定。有的可能直接存放属性值,也
24、有的存放的是指向属性值的指针。对于综合属性,其属性域不存放其属性值,而是存放一个指针,指向存贮该属性值的单元。对于继承属性,其属性域直接保存其属性值。继承属性的属性域刚入栈时为空,但是在该栈符号变成栈顶符号之前的某一时刻,它们必须接受相应的属性值,即在成为栈顶时,继承属性的属性域必须有值。5 详细的算法描述5.1 算法描述按 照 递 归下 降 法 求WaDGWEn); printf(G-c=Rn); printf(R-dTe|dn); printf(T-+|-|*|/n); printf(E-aFbn); printf(F- |=|n); printf( 请输入 while-do 语句 (D
25、代表 do,W 代表 while), 并以 #结束 :n); do scanf(%c,&ch); aj=ch; j+; while(ch!=#); n1=j; ch=a0; S(); printf(n); if (ch=#) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 19 页 - - - - - - - - - 武汉理工大学编译原理课程设计说明书11 printf( 输出四元式为:n); printf(100 (WEDG 形式的调用分析void S() print
26、f(%dtS-WEDGn,total);total+; W(); E(); W()判断第一个输入字母是否合法:void W() if(ch!=W) printf( 有非法字符 %c 请按回车返回 !,ch); getchar(); getchar(); exit(1); E()给出 E-aFb 的推倒:void E() ch=a+i1; if(ch!=a) printf( 有非法字符 %c %c 请按回车返回!,ch); getchar(); getchar(); exit(1); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -
27、 名师精心整理 - - - - - - - 第 12 页,共 19 页 - - - - - - - - - 武汉理工大学编译原理课程设计说明书12 printf(%dtE-aFbn,total);total+; F(); F()给出 F-、F-=、F-: printf(%dtF-n,total);total+; break; case =: printf(%dtF-=n,total);total+; break; default: printf(%dtF-c=R 的形式分析:void D() +i1; ch=a+i1; if(ch!=D) printf( 有非法字符 %c 请按回车返回!,ch
28、); getchar(); getchar(); exit(1); ch=a+i1; void G() int i=i1+1; if(ch!=c&ai!=) printf( 有非法字符 %c %c 请按回车返回 !,ch,ai); getchar(); getchar(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 19 页 - - - - - - - - - 武汉理工大学编译原理课程设计说明书13 exit(1); printf(%dtG-c=Rn,total)
29、;total+; R(); R()给出 R-dTe 的形式分析、 T()给出 T-+/-/*/ 形式分析void R() int i; i=i1+1; i1=i1+2; ch=ai1; if(ai!=&ch!=d) printf( 有非法字符 %c %c 请按回车返回 !,ai,ch); getchar(); getchar(); exit(1); else if(ai1+1=+)|(ai1+1=-)|(ai1+1=*)|(ai1+1=/) printf(%dtR-dTen,total);total+; T(); else printf(%dtR-dn,total);total+; W();
30、E(); void T() ch=a+i1; switch(ch) case +: printf(%dtT-+n,total);total+; break; case -: printf(%dtT-n,total);total+; break; case *: printf(%dtT-*n,total);total+; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 19 页 - - - - - - - - - 武汉理工大学编译原理课程设计说明书14 break; de
31、fault: printf(%dtT-/n,total);total+; break; ch=#; 5.2 运行结果编写好源程序,连接运行无误后,用几个简单的while 语句检测其正确性,如:输入while 语句: WabDa=a+b#,看其输出结果是否与我们所预期的结果一致,如果不一致,则需对源程序进行检查修正,我们可以用逐步调试的方法来对源程序进行跟踪分析,找出出错的地方和原因,在对其进行修改,重新调试运行,直到输出正确的结果为止。若输出结果正确,还要多用几个while 语句对其进行检测,直到所有输出结果正确。测试结果如下:名师资料总结 - - -精品资料欢迎下载 - - - - - -
32、- - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 19 页 - - - - - - - - - 武汉理工大学编译原理课程设计说明书15 6. 研制报告(研制过程,本设计的评价、特点、不足、收获与体会等)6.1 研制过程在做本次实验之前我对LL(1) 文法的构成 , 递归下降原理不是很了解, 在查阅了相关资料后 , 对此有了深入了解 . 在整个设计过程中 , 将词法分析做为一个单独的模块, 它可以被任何语法分析调用 , 提高独立性 . 并且在编程之前就已经将程序的概要设计都做出来了,所以在编写程序的时候相对比较容易。词法分析,语法分析都是
33、很容易的,只要理解了分析方法的实现原理,编写程序判断输入字符串是否满足给定的文法是比较简单的。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 19 页 - - - - - - - - - 武汉理工大学编译原理课程设计说明书16 6.2 本设计的评价、特点本人设计的程序基本上实现了用递归下降分析法实现了while 语句的翻译,并能够用四元式将其输出,使人一目了然。同时,对复杂的赋值表达式也能够进行正确的翻译,如a=(a+b)/2+c 用四元式表示为: (1) (+,a,b
34、,t1) (2) (/,t1,2,t2)(3) (+,t2,c,t3) (4) (:=,t3,-,a)。在本次设计中 , 程序具有良好的用户界面, 独立的词法与语法接口,并且在语法分析过程中可以准确指出语句中有错误的位置。在编制整个设计的过程中, 利用了所学的软件工程 , 软件设计面向对象的方法。6.3 感受和体会编译原理这门课程是计算机专业一门基础性学科,重要性可见一斑,学好这门课程对以后学习具有深远的影响。而课程设计便是对学习效果的检验。课程设计不仅可以锻炼我们独立思考问题、解决问题的能力,而且可以培养我们的整体性思维的能力;通过课程设计,使我了解了很多编译原理应用的知识,比如:读取一个文
35、件、对一个输入语句进行词法分析、语法分析,给出分析结果,对基本的语法分析过程有了一定的了解等。虽然一开始对于此次课设的题目一头雾水,不知从何下手,但是最后通过查阅课本相关内容和实验手册的相关内容,最后渐渐明白;知道了如何对输入文件中的内容进行扫描读取, 对读取的字符或字符串进行词法和语法分析,确定关键字,同时提取出关键字while ,对 while 的循环条件进行扫描判断,最终确定一个满足while 语法要求的循环条件,对满足条件以后的语句进行分析,最终用四元式表示出分析的结果。这次课程设计,我明白了对于编写程序,解题的思路为重要。在编写程序之前,如果没有比较清晰的思路, 根本不可能编出好的程
36、序。 就算马马虎虎的编出来, 程序的逻辑性、健壮性、完善性、合理性也不会很强。在编程之前,我们应反复研究题目要求,对题目涉及的情况进行比较充分的分析,以便编写出更加符合题意的程序;其次要充分考虑各种临界情况,对一些错误的输入进行处理。因此在我们编程序之前一定要做好充分的准备,首先要理清自己的思路,然后再将思路分划成几个模块,逐块的写好算法,最后再将所有的模块有机的联系起来,组成一个完整的程序。在成功通过编译的情况下,对程序运行的结果进行系统的分析,检验其正确性,如果有错误,应立即去分析源程序的逻辑错误,直到得到正确的结果。名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
37、 - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 19 页 - - - - - - - - - 武汉理工大学编译原理课程设计说明书17 在这次课程设计的过程中,我也遇到了很多难题。在种种的困难中,我明白了在编写程序时要有耐心。如果你没有耐心,即使再好的思路也不会得到很好的表达,特别是在调试的过程中,对于各种各样的错误,要特别的有耐心去自习分析原因,特别是一些基本的语法错误,不能一看到错误很多就乱了阵脚,更不能轻易的放弃,半途而废。通过此次课程设计,再次对编译原理的基础知识和一些实际操作只是有了一定的了解,对高级语言在计算机上进行编译分析的过程
38、有了一定的了解。6.4 对程序改进的想法本次设计是采用递归下降的方法对输入的while-do 循环语句进行语法,语义分析,并输出四元式。因此程序中充分体现了递归下降的思想。本次的设计的不足主要是我没将程序一般化,实现不了用户自动输入代码进行词法分析的四元式输出,此程序只能实现对WabDa=a+b#的分析与四元式输出,由于我所设计的栈中只能一个字符一个字符的存放,因此只能用D W分别表示 do while ;而且我对语法制导翻译这一块很不熟悉,因此我始终不能用程序实现语法制导翻译输出四元式,于是根据自己的理解,直接把四元式写了出来。本次课程设计巩固了我所学习的关于递归下降法这一方面的知识,并且使
39、我对WHILEDO 循环语句也有了更深刻的理解, 提高了我的动手能力。参考文献:编译原理第 2 版 清华大学出版社张素琴等著C+ 程序设计教程武汉理工大学出版社闽联营、何克右著名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 19 页 - - - - - - - - - 武汉理工大学编译原理课程设计说明书18 本科生课程设计成绩评定表班级:计算机班姓名:学号:序号评分项目满分实得分1 学习态度认真、遵守纪律10 2 设计分析合理性10 3 设计方案正确性、 可行性、创造性20 4 设计结果正确性40 5 设计报告的规范性10 6 设计验收10 总得分 /等级评语:注:最终成绩以五级分制记。优(90-100分) 、良( 80-89 分) 、中( 70-79分) 、及格( 60-69分) 、60 分以下为不及格指导教师签名:2012 年 1 月 6 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 19 页 - - - - - - - - -