《编译原理》教学过程中的思考与探讨论文
【摘 要】本文对《编译原理》教学过程中出现的一系列问题进行了分析,并根据实践,对编译原理课程的课堂教学和实验教学进行了思考和探索。
一、前言
《编译原理》是高等院校本科教育计算机专业中一门非常有用的核心课程之一,它对培养学生的抽象思维能力、独立解决复杂问题的能力以及增强编写和调试程序的能力等方面起着很大作用。但是,接触过编译原理的学生和老师都知道《编译原理》是一门难学难教的课程。这门课程的内容比较抽象,理论性很强,不容易理解,而且对实践也有较高的要求。学生普遍认为编译原理不实用,因而也就缺乏了学习的热情与积极性,存在畏难情绪。如何在教学过程中激发学生的兴趣,并解决教学中出现的一些问题,我觉得可以从以下几个方面去思考与探讨。
二、认清编译原理,明确学习意义,激发学生的热情
1.帮助学生认清编译原理的作用和地位
在教学过程中,很多学生都有这样的疑问:编译原理学的是什么?学习它有什么作用?
我们知道,目前的计算机能执行的都是非常低级的机器语言,一个用高级语言编写的源程序最终如何在计算机上执行呢?这就是编译原理要解决的问题。概括地说,编译原理课程介绍编译器构造的一般原理、基本设计方法和主要实现技术。编译原理课程通过编译器的各个组成部分来解释高级语言编写的源程序如何翻译成计算机能够执行的机器语言。这个翻译的过程涉及程序设计语言、机器结构、形式语言理论、类型论、算法和软件工程等方面的知识。例如,对软件工程来说,编译程序是一个很好的实例(基本设计、模块划分、基于事件驱动的编程等),编译原理课程所介绍的概念和技术可以用到一般的软件设计中。
事实上,通过编译原理的学习,有助于学生快速理解、定位和解决在程序编译、测试与运行中出现的问题。另外,编译原理的学习对熟悉编译过程、掌握计算机高级语言的生成机制、理解具体程序的运行状态起着关键作用。
2.帮助学生克服畏难心理,提高学生的兴趣
在教学的过程中,很多学生认为他们今后的工作不会涉及到编译原理的理论和技术,编译原理没有实际的用处,学习起来就非常的枯燥无味。其实这是对编译原理的一种错误认识。该课程中的原理除了可以用于分析编译器以外,还对诸如人工智能、并行处理技术等课程的学习具有指导作用。例如,利用编译原理的理论设计出“翻译风”这样的软件。与此同时编译原理课程可以帮助学生更进一步地理解和综合应用离散数学、高级语言、数据结构、汇编语言等专业基础课程的知识。例如,编译程序应用了多种数据结构,在词法分析阶段使用状态转换图来识别各种单词;在语法分析中使用语法树等来进行语法分析;在存储分配时使用栈式结构和堆式结构进行存储空间的分配。本门课程学习对其它课程的学习和今后很多领域的理论研究具有深远的意义,如计算机软件技术领域、计算机系统结构领域、人工智能系统的机器学习领域、并行处理技术等领域。
鉴于“编译原理”这门专业课程的特点,在教学过程中端正学生的认识,帮助学生克服畏难情绪,肯定学生所具有的能力,让学生明白以他们掌握的计算机知识,有足够的能力学好《编译原理》这门课程。鼓励他们同样可以利用学到的理论技术设计出类似“翻译风”这样的软件,帮助学生建立信心,发挥他们的才智,提高学习的热情。
三、把握课堂教学内容
1.整体把握一条主线,领会每个阶段的精髓,各个击破
编译器(编译程序)可以分为词法分析、语法分析、语义分析、中间代码生成,代码优化和目标代码生成这六个阶段,每个阶段还会伴有符号表管理和出错管理。在第一章编译器概述中就把编译器化分成这六个阶段,同时还简要的描述了这六个阶段各自的任务,这是贯穿整个课程的一个主线,整个课程就是按这六个阶段组织进行的。所以一开始让学生把握这条主线,对课程有一个总体的把握,理解编译的过程。
当学生从整体上理解编译器的结构之后,然后分章节对各个部分进行细致地教学。按照编译过程的划分,把课程分为六章内容,每章都有它的精髓所在,只要掌握了每章的精髓,就能掌握编译的整个过程。词法分析的精髓主要是词法分析的构造、有限自动机理论的应用;语法分析的精髓主要是语法分析的两种方法——自上而下分析法和自下而上分析法;语义分析主要是属性文法、语法制导定义以及翻译方案;中间代码主要描述了中间代码常见的几种表示形式、各种语法结构如何进行语法制导翻译形成中间代码;代码优化主要围绕如何从时间和空间上进行优化,尽可能提高执行的效率展开,分别讲述了局部优化和循环优化;目标代码生成主要是目标代码生成算法的实现及寄存器的分配。这六个部分相辅相成,互有联系,掌握每个阶段的精髓,各个击破,这样学生比较容易理解和接受。
2.课堂讨论式
在《编译原理》的教学过程中,课堂上不能采取“灌输式”教学,上面老师讲解的充满激情,下面学生听得昏昏欲睡,随着时间的积累,学生不理解的知识越来越多,就会慢慢失去学习的兴趣。所以,要注重与学生的交流,在课堂上可以采取集体讨论和分析的方法,让学生说出自己在学习的过程遇到的问题以及解决问题的方法。例如,数据对齐是由硬件特点造成的对存储分配的一点约束,这个概念有的教材并没有提到或者只是一带而过。针对数据对齐问题,有一个C语言的例子:
typedef struct a
{ char cl ;
long i;
char c2;
double f;
}a ;
typedef struct_b
{ char cl;
char c2;
long i;
double f;
)b ;
main ( )
{ printf( “Sizeof double,long,char= %d, %d , %d ”,sizeof(double) , siz eof( long),sizeof(char));
printf (“ Sizeof a ,b =%d, %d ,sizeof(a), sizeof(b)) ;
}
在X86/Linux机器上,该程序的运行的结果是:
Size of double,long,char= 8,4,1
Size of a, b = 20,16
在SPARC/Solaris工作站上,该程序的运行结果是:
Sizeof double,long,char=8,4 ,1
Sizeof a,b = 24,16
在这个例子中,结构体类型a和b的域名及类型都一样,仅次序不同,但是它们在同一机器上的存储分配字节数不一样,在不同机器上的情况也不一样。有的学生就会问为什么会要考虑数据对齐的问题?这时候,老师可以指导学生课后搜集相关资料,然后进行课堂讨论分析。
其实,数据对齐对用C语言编程、对构造编译器、对C程序的移植来说都是重要的。利用这样的例子考察实际编译器存储分配的对齐情况,让学生明白存储分配时要考虑到数据对齐以及数据对齐的作用。让学生自己去探索,不仅明白了概念的重要性,增强了学生的理解和应用能力,拓宽了知识面,而且培养了学生思考问题和解决问题的能力,培养了科学严谨的思维能力。
四、精心设计实验教学内容
《编译原理》对实践的要求比较高,所以实验课是培养学生实践能力的重要环节,是巩固和验证所学理论知识,培养学生分析问题、解决问题能力的重要环节。但是在教学的过程中,绝大部分学生无法完成编译原理的实验。即使告诉学生实验的思路和算法,有的还是不知如何入手,整个实验的效果很差。为了能达到好的实验效果,极大地促进学生对原理的理解,可以从以下几个方面思考:
1.认真设计合适的实验内容
编译技术中有很多经典的算法,由于课时有限,可以选择具有代表性的典型算法来实现。根据课程的特点和大纲的要求,可以设置三个实验内容:词法分析器的设计、递归下降分析器的设计、LR(0)分析器的设计。很多教材中都有相关的设计算法和程序代码片断,这样降低了《编译原理》实验课的难度。另外,根据老师可以根据的实验效果对实验内容再做适当调整。
2.采用适当的实验形式
根据课程的重难点和实验覆盖的知识点不同,将《编译原理》的实验内容分为两大部分:独立实验和分组实验。
在实验的过程中,将词法分析器的设计和递归下降分析器的设计作为独立的实验,由每一个学生自己独立完成,而将LR(0)分析器的设计作为分组实验。分组实验以学生自由组合的小组形式为单位进行,一般一个小组由3至4名学生组成,并推荐一人作为组长,负责师生之间的联系,采用分组实验的形式锻炼了团队分工协作的能力,培养了团队精神。
3.教师的耐心指导
教师在实验过程中的指导也很重要。教师对学生的指导要细心认真,让学生记录下每次实验的输入和输出形式,实现理论与实践的结合,注意调动学生的积极性,引导他们独立思考、独立完成;另外,更要加强实验结果的监督,提高实验教学质量。
五、结束语
以上结合自己的教学实际,在编译原理的课堂教学和实验教学中的一些思考。事实上学好编译原理课程需要老师和学生双方的共同努力,需要我们共同不断的思考、探索、实践和积累。
[1]张昱,陈意云,郑启龙.编译原理课程的教学方法和教材建设[J].中国大学教学,2005,(7):61-62.
[2]余玛俐,张海.《编译原理》教学方法探析[J].九江学院学报(自然科学版),2005,(4):114-118.
[3]陈意云,张昱.编译原理[M].高等教育出版社,2003.
[4]陈意云,张昱.编译原理习题精选[M].中国科学技术大学出版社,2002.
[5]侯惠芳.《编译原理》课程教改探讨[J].科技信息,2007,(17):152.193.
拓展阅读
1、考试制度对英语教学的意义论文
一、国内英语学习的现状
常年来中国的学生们为掌握这门英语这门外语而备受压力,而这种压力人们甚至担忧,长此以往,英语将压倒汉语。自今年8月开始在以央视为首的各大卫视热播的汉字听写大赛在全国掀起了浓浓的汉语国学热,北京教育科学研究院副院长桑锦龙说:“普通民众对重视英语胜过语文的教育体系感到不满,所以我们的*势在必行。”退一步讲,即便是继续这种长久以往我国国民所形成的学习英语的习惯,我们也应意识到,这貌似繁盛的局面背后暗藏着一些隐患。在我们投入大量人力物力财力学习英语的几十年里,其实也并未真正把英语学好,据报道:每年全国有近三分之一的人在学习英语,这些人每年学英语的花费近三百亿,包括*资料,参加各类培训班、补习班、夏令营,甚至是出国深造。但与此形成鲜明对比的是多数学英语的人心中其实对英语非常抵触,只是为了迎合社会对英语学习的需求或者说是潮流,故而缺乏内心中间真正的学习热情,即便有也不是由学习者自身由内而外散发的,而多是社会强加的一种“伪热情”。
二、高职英语顺应潮流的变化与发展
基于以上,针对我国英语*的大形势,我国大学英语教育的现状及发展趋势又该是怎样的,在中国这个世界第二大经济体,英语已不仅仅是一门科目,在教育和未来职业发展的每个节点都可以看到英语的身影。在我们的大学教育里,英语是必修课,可是在教学过程中我们会发现接受过正统教育的花了十多年的时间学习英语,最后多数学生难逃“哑巴英语”这一怪圈,不能讲也不会说,针对这一现状,我们高职院校的英语教育也需要跟着*的步调及学生英语学习的现状进行适时的调整。在我们包头轻工职业技术学院,早在2010年学院英语教学团队已经意识到了英语*的必然性,首先我院英语教师先后在2010年编写了《通识英语》教程,该教程所有单元内容全部围绕说的训练内容展开,具体来说每个单元选取生活中的一个话题为主题,这些话题源自生活,实用而多元,比如:问候、讨论天气、节日、求职面试等,单元设置以实用基本句型、口语对话、角色扮演、应用文写作几大部分组成。
这样的教材现在来看已经完全迎合了我国现在己在各地大肆兴起的英语考试制度*也响应了呼唤英语实用性的主流走向。在改变选用教材的同时,我院也大刀阔斧的进行了高职英语考试方式的变革,我们将原有的笔试考试转变为以口试为主笔试为辅的新的考试形式。考试内容以课本内容为蓝本,设置不同主题,口试采用题型涵盖了单词互译、对话、阅读、一分钟演讲等,每名学生考核时长约为六到八分钟,每场考试都采用与老师一对一、面对面的模式,经过近三年实践,我们在此过程中发现这种近乎于面试的考试形式不仅直接的起到了考核测验学生已掌握英语知识的作用,更锻炼了学生的口语会话能力,同时还进一步提升了学生们张嘴说英语的胆量,使学了十几年英语仍无法张嘴完整说英语的大学生,可以在一定程度上突破这一瓶颈,更在另一个侧面坚定了这一类学生几乎被摧残殆尽的对于学习英语的热情和信心。最初这种考试形式的*一开始只是在个别班级、系别里试点,但渐渐发现这一形式非常符合我院高职英语教学目标的定位也适应未来学生毕业走出校门,走进社会对应用英语的目标定位,于是我们就逐步在全院各班期中、期末考核中适用,经过近四年的'实践这种考试模式已经比较成熟,得到了全院师生的认可。
具体来说,在从教学之初我会引导学生认识到从进入大学的这一刻起,英语学习的重点已经从为了考试而去背诵语法词汇过渡到以“实用为主够用为度”为准则的学习方式,并且在这一个学期的教学任务开始我会抓住每次课堂上有限的时间,力求让更多的学生张嘴,最初往往会发现学生们经过多年的正统学习仍然无法说句完整的英语或者更准确的说学习者本身就羞于张口,可越是这样就越需要给学生们更多地机会锻炼。在之后的教学中,在课堂上每班学生会按人数多少被分为几大组,平均四到六人为一组,在之后的角色扮演和课堂阐释部分,学生们分组讨论,之后会有代表将小组讨论所得的结果,阐述出来或者以表演的形式演绎出来,为了让每个学生都有展示自己的机会,每一次每一组的发言代表都要更换,且不得重复,循环往复,这样似乎是“逼着”某些不够积极主动的学生在英语课堂上张开了嘴。同时在每个单元的对话练习部分,对话设置简短而实用,很适应英语低起点的学生掌握,因此在这部分,我们的学生被分为两到三人为一组,由他们分角色诵读、翻译此段对话,学生们不但在课堂上开了口,参与了课堂学习,更利用这一小节锻炼提升了他们翻译的能力,而翻译能力在大学阶段也被认为是英语教学的侧重点之一。经过实践,我发现学生们在此小节的积极性很高,往往会争先恐后的举手参与其中,因为是两到三人搭档,且课文内容较容易,进而降低了难度,即使是班里水平最低的学生对参与此部分也不会抗拒。从而起到了调动学生参与课堂的积极性和能动性。
就在2013年,由我院教师参与内蒙古高等教育英语教研组牵头,内蒙古相关高校教师共同编写了更具创新实用性的一套教材,名为《新编实用英语实训教程》,共分上下两册,每册八个单元,涉及内容为日常生活中通常会涉及的各个领域。单元设计由简到难,包含听力、说、对话、语法、课堂阐释、角色扮演、应用文写作等几大节。这本教材在《通识英语》的基础上,章节内容更为完善,也更好的诠释了以口语表达为重点,翻译、听力、写作纵深发展的树冠型高职英语教育路线。
总之,英语并非不再重要,相反其在如今蓬勃的国际交往中仍担负着举足轻重的作用,而我们高职英语教育也必然沿着强调实用性、够用性的大路而蓬勃向前。
2、文言文教学目的初探论文
1追求文从字顺
文言文的每个字都有确切注释吗?答案是否定的,例如“莫道不销魂,帘卷西风,人比黄花瘦”,若将“黄花”翻译成“菊花”,“怎能呈现在李清照眼前和我的感觉世界里的那朵特有的‘黄花’的色、香、形呢?”可以这样说,翻译是我们走近文言文的一架桥梁,但是追求文从字顺的翻译却消灭了那个时代语言的特点,使我们在貌似读懂的同时,永远也不可能真正理解这些语言的'内涵了。柳宗元谈写作是这样说的:“本之《书》以求其质,本之《诗》以求其恒,本之《礼》以求其宜,本之《易》以求其动。”“参之谷梁氏以厉其气,参之孟荀以畅其质,参之庄老以肆其端,参之《国语》以博其趣,参之《离**》以致其幽,参之太史以著其洁。”可见古人在学习方面更注重文章的神采,而不是盲目追求词句章法的整齐。然而为了应对考试,教材提供了大量的注释,以至于文言文的学习成为文白对译的工夫。例如,“邹忌讽齐王纳谏这样一篇较为浅显的文言短文,在高中语文教材中,其中有关文句的注释有27个。人教版的初中课本中的《陋室铭》,全文共9句不足百字,注释竟多达14条,足有四五百字,而《古文观止》中对该文的注释仅15字。”翻译似乎成了唯一目标,貌似会翻译就是懂文言文了,甚至一味做语法分析,这样的教法与学法完全消磨了中国古代汉语的魅力。
2以技术训练为目的
新课标明确提出,要让学生“具有阅读浅易文言文的能力”,于是,很多老师通过课文讲解,要求学生掌握文言实词和虚词,固定搭配,文言句式,这样不仅积累了古汉语知识,而且可以用来理解课外的文章,能够成功应对考试。这样的基本功确实不可缺少,但如果把文言文教学的全部力量都放到文字层面上来就会走向极端,很多高中生都有专门记文言文知识的笔记本,一个实词有十几项解释,分别出自哪些文章或句子,特别是虚词,有多少种用法,甚至形成模式,例如,“所”+动词=动词。再如,不及物动词的使动、意动,大量的语法知识记忆让古代汉语成了比英语还要难懂的怪异语言,在语文课上文言文完全丧失了中国传统文化的魅力,这与新课标的指向是背道而驰的,将语文这个学科推向了被人厌弃的深渊。例如,高中课本中节选了大量《史记》篇目,通过学习,拿来一篇课本之外的篇目,大部分学生也能读懂,但这就是懂得《史记》了吗?当然不是,鲁迅先生称它为史家绝唱无韵离**,是因为对这部史书来说,疏通字面意思只是其一,理解其思想与精神,特别是司马迁本人的情怀,才是最重要的。
3以道德教育为目的
新课标提出要“弘扬民族优秀文化”“提高国民素质”,有的教师就将课堂变成道德讲堂,篇篇都总结出爱国主义思想,搞得学生读懂读不懂都往爱国情怀上靠,这是对传统文化的扭曲,是不负责任的。例如《烛之武退秦师》,烛之武在国家危难之际挺身而出,成功地游说了秦穆公,这篇文章选自《左传》,稍微有一些历史文化常识的人都知道,春秋时期各国君主崇尚养士,士人可以忠于此君,亦可忠于彼君,忠与不忠一个重要因素是君主如何招贤纳士,正如曹孟德所说“月明星稀,乌鹊南飞,绕树三匝,何枝可依”。本文无疑要表现烛之武,作为士人,来郑国多年未被任用,如今不鸣则已,一鸣惊人。可是多少参考书将本文的思想归纳为爱国主义精神,试问若真是无私的爱国情怀,何来“臣之壮也,犹不如人;今老矣,无能为也已”一句呢?语文教学的德育是润物细无声的,无视文本内容,只知教化学生,是万万不可取的。综上所述,教学目的对教学内容起决定性作用,由于实际教学活动中错误地理解使得目的与内容南辕北辙,导致在新课标的指导下进行着旧的传统教学。归根结蒂,需要语文教师本着对学生负责、对传统文化负责的精神,探求新时代文言文教学的目的所在。
3、中俄能源领域合作问题探讨论文
中国经过三十几年的*开放,面临资源枯竭、环境污染严重以及人口红利趋于消失等问题,这些问题导致未来中国经济要过一个“减速关”。
俄罗斯*收入构成中,油气资源占据48%,而美俄之间在能源领域展开了一场决定未来的较量,这场较量造成国际油价持续走低,俄罗斯卢布汇率下滑,经济“雪上加霜”。
本文通过对中国和俄罗斯两国在相同世界经济现状和不同经济背景条件下的深入合作原因和条件进行分析,研究中俄双方合作的战略意义。
中俄能源合作存在一些问题,因为能源合作基本还是谁更需要谁的博弈,不完全是简单的商业行为。
1.中俄关于天然气管道铺设线路的问题已争执多年
俄罗斯希望在给中国东线输气的同时,能利用分支输到日本、韩国,以形成对中日韩三方的制衡,并借此攫取更大的经济利益。而中国则希望能够建立东西两条稳定的输气管线,获得稳定来源,在一定程度上降低对外依存度过高的风险。
2.是价格之争
天然气价格因素一直以来都是中俄天然气合作的主要障碍,俄罗斯希望能以出口欧洲的价格卖给中国,而中国方面则要求较低的价格。除天然气外,双方在电力出口价格方面也一直存在分歧。
3.企业方面,对双方国家战略决策的执行力还不够强
企业更关心合作给自己带来的利益,而国家关注更多的是能源政策带来的经济和社会利益。同时,两国企业间的合作模式还不成熟,但这可以在今后的合作中通过磨合得到解决。
俄罗斯能源资源丰富,是能源的输出大国,这一点是中俄两国能够深入发展合作的基本前提和保障。能源产业在俄罗斯经济发展中始终占据着主导地位,这为中俄能源合作提供了保障。
与此同时,随着中国经济的不断发展和增长,其对能源的需求在逐年上升。中俄互为最大邻国,能源合作具有不可比拟的地缘优势,加强中俄合作对我国能源的补?有着重要意义。
俄罗斯是能源输出大国,中国是能源消费大国和输入大国,两国的国情决定了一方是卖方市场,一方是买方市场,双方互补性很强。
2.乌克兰危机
“乌克兰危机”的影响不仅仅局限于*层面,它的影响一直延续到世界经济的格局和世界各国的能源合作等领域。自从克里米亚地区“脱乌入俄”,美国便开始在多个领域对俄罗斯实施制裁。而俄罗斯的经济发展中能源产业是一个重要支柱,其对外贸易的接近70%依赖着油气出口,能源收入占俄罗斯联邦预算收入超过50%,因此国际市场上的油价大幅度下降会导致俄罗斯出口能源战略的结构性变化。与此同时,欧盟也开始逐步摆脱对俄罗斯的能源依赖,不断恶化的`乌克兰局势使得欧盟开始通过利用替代品以及扩大进口渠道等措施逐步减少对俄罗斯能源方面的依赖。乌克兰危机的爆发使得世界各国之间开始了能源的博弈,导致了俄罗斯一直依赖的能源出口结构面临着前所未有的挑战,因此,俄罗斯开始调整能源的出口战略,逐渐的将出口的重心向亚太地区转移,这是基于国际局势的错综变化所作出的长期考量。
俄罗斯油气销售市场的东移,为中国获取战略资源创造了难得的历史机遇,2014年5月和11月,中俄先后达成东线和西线天然气供气协议,俄罗斯对华出口天然气将达到每年680亿立方米以上。中俄油气贸易迅速推进,正得益于乌克兰危机和油价下跌等外部因素的推动。
会议
在2014年5月,中俄两国签署了“世纪大单”之后,使得中俄能源合作取得最大进展的事件便是亚太经合组织第二十二领导人非正式会议的举办。2014年11月9日,中俄两国元首就发展中俄关系和促进战略合作等方面进行了深入的探讨。在此次APEC会议上,中俄东线天然气管道和东西两线增进原油、油田、水电和核电合作等一大批项目都取得了重大的进展。此次峰会两国围绕天然气领域共签署了24项协议,其中最重要的包括天然气、基础设施建设和能源安全等领域的文件。
从格局上看,中俄天然气合作实现历史性突破后,中国四大天然气进口通道格局已成,包括:中亚管道天然气、中缅管道天然气、中俄管道天然气,以及沿海进口液化天然气。
通过从俄罗斯引进石油和天然气,减少国内煤等矿产的开采,降低污染,同时采用清洁能源,减少PM2.5的排放。
三、结束语
由于能源地域分布的不均衡及现代工业发展对能源的高度依赖,能源成为世界贸易的第一大商品,而中国与俄罗斯均是世界能源贸易的重要参与者。中俄能源合作得益于地缘优势和能源安全的共同利益诉求,目前双边能源合作中存在的问题基本上属于阶段性的,随着两国*互信水平提高,能源合作方式调整及多边能源贸易机制的健全,这些问题将会逐步消解,中俄能源合作将会进入到一个稳定的快速发展的新阶段。
转载请注明出处:https://www.fanwen4.com/articles/36386.html