计算机科学与技术论文_第1页
计算机科学与技术论文_第2页
计算机科学与技术论文_第3页
计算机科学与技术论文_第4页
计算机科学与技术论文_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本 科 毕 业 论 文论 文 题 目 :多媒体技术及其在小学语文教学中的应用指 导 老 师 :胡圣荣学 生 姓 名 :学 号 :院 系 :专 业 :计算机科学与技术写 作 批 次 : 原 创 承 诺 书我承诺所呈交的毕业论文是本人在老师指导下进行的研究工作及取得的研究成果。据我查证,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果。若本论文及资料与以上承诺内容不符,本人愿意承担一切责任。毕业论文作者签名:_ 日期: 目 录摘要 IAbstract 一、概述 1二、多媒体教学的作用和优势 12.1、增强感官效应,提高学习效率 12.2、改变教学模式,达到自主学习

2、22.3、使教与学有机的结合 2三、多媒体技术在小学语文教学中的应用 33.1、利用多媒体解决难点 33.2、运用多媒体培养思维的独创性 5四、多媒体教学需要注意的问题 64.1、树立正确的多媒体教学观念64.2、掌握并合理运用多媒体教学技术 64.3优化教学环境,正确把握教学实践 7五、结束语 7参考文献 8谢 语9摘 要信息多媒体技术发展也给我们现在的教学方式带来了很大的变化,也给传统的教育教学方式带来了冲击。如何将传统的教育教学模式中的优缺点和多媒体技术的特点相结合,使得教师的课堂和学生的学习朝着更加理想化的方向去发展,是我们今后要探讨的课题之一。论文首先介绍了多媒体教学的作用和优势,多

3、媒体的教育的优势在于增强感官,提高学习效率,在多媒体教学中可以达到改变教学模式,达到自主学习的效果。然后以小学语文教学为例,具体介绍了多媒体教学的作用和效果。其次指出,在多媒体教学中也需要注意一些问题,多媒体教学模式必须尊重学生学习的主体地位,激发学生的学习兴趣和主动性,要深刻认识教师在教学过程中的主导作用。多媒体教学模式促使学生的学习方式变得更加自由和灵活,学生可以在没有教师引导的情况下进行自学,但是教学过程是一个教学相长的过程,因此,多媒体教学必须强调教师在教学过程中的主导作用。关键词:信息化多媒体技术教学 = 1 * ROMAN IAbstractThe development of i

4、nformation technology has brought great changes to our teaching methods, but also brings the impact to the traditional teaching methods. How to combine the advantages and disadvantages of the traditional teaching mode and the characteristics of the multimedia technology, the teachers classroom and s

5、tudents learning is to develop in the direction of more ideal, and it is one of the topics that we should explore in the future.This paper first introduces the role of multimedia teaching and the advantages of multimedia education is to enhance the sense of the senses, improve the learning efficienc

6、y, in the multimedia teaching can achieve the change of teaching mode, to achieve the effect of autonomous learning. In Chinese teaching, the multimedia teaching has solved the difficulty for teachers, it can be difficult to understand the content through the computer display, but also mobilize the

7、students visual function, through vivid sensory stimulation. For example, teach marine world lesson, the text focus is to enable students to understand the singular, undersea scenery in what place, it is difficult for students to understand this, but the use of audio-visual media to watch the underw

8、ater world view of the students, accompanied by music commentary, magic and beautiful for students to truly appreciate the scenery of the sea bottom. Secondly, it also needs to pay attention to some problems in the teaching of multimedia, the multimedia teaching mode must respect the subject status

9、of students learning, stimulate students learning interest and initiative, and have a deep understanding of the leading role of teachers in the teaching process. The multimedia teaching model to become more free and flexible way of students learning, students can study in the absence of teachers gui

10、dance situation, but the teaching process is a process of the Teaching benefits teachers as well as students., multimedia teaching must emphasize the leading role of teachers in teaching process.Key words: informationMultimedia technology teaching = 2 * ROMAN II多媒体技术及其在小学语文教学中的应用一、概述高度发展的科技已经将我们人类带入

11、了二十一世纪,目前我们面对的机遇和挑战都是前所未有的,如何把握机遇,与时俱进,做到与社会、与时代同发展,共进步,是我们要应对的重要课题。随着多媒体计算机技术的日益成熟,社会进入到了一个高度发达,高度文明的信息社会,多媒体技术在现代教育中已经崭露头角,并且逐渐占据了重要的地位,对于传统的教育手段和教育模式,多媒体技术是一种新奇的,优越的教学方式,能够弥补老的教学方式存在的一些不足,更好的激发学生的学习兴趣。能够有效的掌握多媒体教学方法,为课堂增加必要的活力和实时交互性,是每个老师都想要拥有的一项技能。多媒体技术使知识内容可以通过文本、图形、图像、动画、声音、影像等各种单一形式或者是几种形式的组合

12、来表现,几乎所有具体学科都可以用多媒体技术生动地展示出来,在课堂教学中,教师可利用计算机多媒体进行活泼的课堂教学,激发学生的学习热情,发挥学生的想象力和创造力,以达到最优的教学效果。在教学中引入多媒体技术,拓展了学生的思维想象力,也使得教师的课堂更加生动,形象。到底多媒体技术给现代教学带来了什么样的影响,它的好处和弊端是什么,怎样才能将它和现代教育的特点相结合,使之发挥更大的作用?在此本文简单的论述和介绍一下。二、多媒体教学的作用和优势多媒体技术强调实时性,交互性,能够反映时代的特征和当下一些社会流行的元素,更加符合学生的思维习惯和接受方式。学生在面对一个具体生动形象实物时的注意力要比平时集中

13、很多,他们也很希望老师平时能够多运用电脑和影视多媒体技术来创造一个色彩斑斓的视听形象氛围,而不是一味呆板的口述,很多学生也说这让他们感觉和时代以及生活紧密联系起来了,更有益于学习。由此看来,在学生的立场上,对于运用多媒体教学是持支持和肯定的态度的,那么对于课堂教学上到底有什么改观呢?本文想主要体现在以下几个方面:2.1、增强感官效应,提高学习效率相信我们都曾有过一个体会,上课时老师在讲台上滔滔不绝的讲述着长篇大论,而教室里的学生却在“各自为战”,打瞌睡,看小说,很少有人集中注意力来跟着老师一起学些。我想这并不全是老师的问题,有些老师的理论知识很扎实,讲述的也很到位,但课堂气氛却总是平平淡淡,没

14、有重点,没有激情,学生也就自然提不起兴趣。运用了多媒体技术后,通过视觉和听觉所获取到的信息最容易被人接受而且容易记住。创设一个情景或者是讲述一个故事将知识点表达出来,学生以后复习时会回想:这个东西老师以前曾经讲过一个故事,我曾经亲身经历过,原来是这样的等等。所以使用多媒体技术可以将形式单一、直线展开的教学内容变得直观、形象,从而激发学生的学习积极性,更利于学习效率的提高(比如2)。多媒体技术实际上就是视听技术的拓展,它是一门新兴,前卫而又富于内涵的技术,也是一门艺术。它不仅对于小孩子,同样的对于我们成年人来说也极具魅力,拥有独特的吸引力。比如,语文老师用PPT做了一篇关于写春景的文章的课件,在

15、课堂上老师就能够向学生展示春天的样子,美丽的绿草,明媚的阳光,用生动形象的图形甚至是动画来加深学生的印象,物理老师可以用FLASH动画来模拟各种实验效果,或者是条件达不到而无法开展的实验也可以通过动画展示出来,这样就比老师单纯讲述要好多了。多媒体技术的运用,能够刺激多种感觉器官,有利于学生的记忆,增强学生进行联想的线索。2.2、改变教学模式,达到自主学习多媒体技术不仅具有模拟性,且可生动直观地展示原来无法直接展示的东西,而且具有交互性,摆脱了传统的、被动的注入式的教学方式。以前的课堂总是秉持着这样的模式:老师讲,学生听,然后老师提问,学生回答。在这样的环境下,学生很少有机会自主思考,老师也没有

16、什么好的办法来引导学生自主学习。但是在多媒体技术的支持下,教师可以通过各种教学软件来改变上课的程序,可以给学生提供一个开放的平台,其实现在的远程教育就是这样的一个典型例子,教师可以运用一些好的学习软件或者是自己制作一些教学课件,给学生多设置一些问题,其中又配以声情并茂的图文解释,从而引导学生自主学习,并为其实现探索和发现知识创造有利条件,在这种教学模式下,则有可能真正达到让学习者主动获取知识甚至自我创造新的知识。2.3、使教与学有机的结合前已指出,教师利用教学软件进行教学,可以改变课堂教学程序和模式,有利于学生的自主学习,构造一个开放自由的学习平台,让所有的学生和教师在同样的环境下一起学习。试

17、想教师在机房中进行授课,所有学生都通过自己的电脑与教师主机相连接,学生们一边自学一边完成老师布置的题目,完成及时上传至教师机,当某一个学生出现错误时,老师可以及时切换至目标机器,然后进行实际操作的讲解,只需进行简单的连接和操作即可,不仅能实现学生与计算机之间交流,还能实现学生与学生之间、教师与教师之间、学生与教师之间的多向交流(比如1)。教师在总控台上能及时了解每个学生上机操作的具体情况,了解学生的思维活动,调节教学过程,同时利用双向交流功能进行学生之间的对话。从而大大提高学生学习的主动性和积极性,真正做到因材施教,使得所有学院都能取得满意的学习效果。多媒体教学使教师由单一的向学生传授知识技能

18、的方式向教师与媒体组合向学生传授知识技能的方式演变,要突出教师的主导地位和学生的主体地位。 不可取代与优势互补原则 不同教学手段各有利弊,没有一种是十全十美的。教学中要相辅相成、取长补短,将多媒体与其他教学手段完美结合。三、多媒体技术在小学语文教学中的应用3.1、利用多媒体解决难点我国古代大教育家荀子早已提出:“不闻不若闻之,闻之不若见之”。由此可见,闻见是教学的基础,借助计算机教学能有效地化抽象为具体,把难以理解的内容或者对理解课文起重要作用的内容,用计算机展现出来,调动学生视觉功能,通过直观形象、生动的感官刺激,让学生最大限度地发挥潜能,在有限的时间里,全方位感知更多的信息,提高教学效率,

19、激活学习的内因。如教海底世界一课,课文的重点是要使学生了解,海底景色奇异在什么地方,学生很难理解这一点,为了平缓教学的坡度,突破这个难点,更好地激活学生的学习气氛,我在教学过程中有意识地运用录像这一电教媒体,让学生观察海底世界的景色,并辅之以配乐解说,让学生真切地体味海底景色的神奇与绚丽。又如蝙蝠与雷达是一篇常识性课文,其教学的难点是飞机在飞行过程中是如何辨别障碍物和方向的(见图一)。这一原理源于蝙蝠,用语言进行描述的话很难使学生全面、正确地理解。为此我们制作了动画,将“(蝙蝠飞机)在飞行过程中发出超声波,超声波遇到障碍物立即反射回来”这一原理直观地再现出来,使学生一看就懂,有效地解决了学习中

20、的难点问题,提高了课堂效率(见图二)。图1 蝙蝠与超声波图2 结论现行的小学语文教材中,古代诗歌占有一定的比重。这些诗歌语言精炼,意境优美,寓意深邃。但由于小学生知识面狭窄,生活阅历浅,表象储备贫乏,对诗歌中所描绘的社会时代、人物思想、风土人情感到疏远,因而古诗教学一直是小语教学中的一大难题。古诗教学中采用电化教学媒体并合理地运用,不仅有助于激发学生学习兴趣,发展学生想象能力,促进学生对古诗的学习理解,还能有效地培养学生的审美情操。如古诗望庐山瀑布“日照香炉生紫烟”中的“生”字用得十分绝妙,但仅凭教师口头讲解,学生始终难以理解、体会。而录像地恰当运用就解决了这一难题。教学时,教师先提问:“生”

21、字是什么意思?诗人为什么不用“升”而用“生”呢?紧接着引导学生带着问题观看录像,画面上:草木葱笼,苍翠欲滴,危峰兀立,山峦叠障,而香炉峰此时正被烟雾笼罩,在阳光的照耀下,一团团紫烟不断从山谷中升起,景象美不胜收,录像将古诗中抽象的文字转化为具体的动态画面,给学生以美享受。学生学习兴趣极为浓厚,他们积极观察、思索,很快从香炉峰的云雾源源不断地升腾的动态画面中领悟到“生”字的妙处:“升”字仅仅只能看到烟雾升起,不一会就散去;而“生”字还含有“产生”的意思,这说明香炉峰始终处于云雾级绕之中。通过此环节的教学,学生不仅理解了语言文字的表层意思,而且使他们体会到语言文字的深层含义及感情色彩。 在作文教学

22、中,教者不难发现有许多学生怕写作文,写作文时常是敲额头、皱眉头、咬笔头,好半天也开不了头,即使写了也是三言两语,且病句错字连篇。在教学中,教师可以选用视听媒体创设情景,强化学生情感体验,激发学生的写作兴趣。古人云:“知之者不如好之者,好知者不如乐之者。”有了兴趣,产生了写作欲望,才能用心作文,从而提高作文教学效果。如在“三、八”妇女节前,让学生写夸夸我的好妈妈、妈妈,我想对您说等,但容易写空话、套话。为此,安排在世上只有妈妈好的乐曲声中,让学生看从VCD碟片中转录的懂你,那朴实而真挚感人的画面及凄婉动人的音乐强烈地冲击着学生的感官,学生的写作欲望被激发,完全进入角色,纷纷拿起笔,将心中对妈妈的

23、爱尽情地写出来。这样按学生习作的心理特点,适时选用录像媒体的形、声、色并茂的特殊功能,调动了学生的视觉、听觉、触觉等各种感官齐上阵,让他们始终处于兴奋状态,注意力集中,不断将间接经验内化为直接经验和表象,丰富了写作素材,使“巧妇”常为“有米之炊”。3.2、运用多媒体培养思维的独创性在阅读教学中,计算机作为一种认知工具,将学生的思维过程与动画演示有机结合,运用求异思维,培养观察力和想象力,使学生显示出与众不同的带有个性的答案来。如教学狼和小羊一课,课文最后一句:“狼说着就往小羊身上扑去(见图三)。”按照顺向思维定势,柔弱的小羊是狼的腹中之物已成定局。为了点燃学生独创思维的火花,教师采用求异法,边

24、用电脑演示狼恶狠狠扑向小羊的动画边有意提问:“狼是不是把小羊吃掉呢?”有位学生说:“狼向前扑的时侯,掉在前面的陷阱里去了。”我随机演示出狼掉进陷阱里的样子,同学们看了高兴地直拍手,求异思维一下活跃起来。有的说:“狼向前扑的时侯,小羊一躲,狼一头撞在大石头上。”有的说:“狼向前扑的时侯,被树后的猎人一枪给打死了。”又有一个学生站起来大声说:“柔弱的小羊从力气上斗不过狼,可是它凭自己的聪明智慧,从理智上斗倒了狼,躲过了这场劫难。”学生们突破了思维的定势,从不同的方向去思考问题,把自己的想象和小羊活下来的愿望联系在一起,培养思维的独创性。图3 狼往小羊身上扑去四、多媒体教学需要注意的问题多媒体教学中

25、存在的这些问题,影响了教学效果,降低了教学效率,破坏了学生获取知识和经验的传统环境。为此,我们必须从观念认识、技术应用和教学实施等方面抓起,扬长避短,使多媒体教学发挥更大的作用。4.1、树立正确的多媒体教学观念首先,要充分认识学生在教学过程中的主体地位。多媒体教学模式必须尊重学生学习的主体地位,激发学生的学习兴趣和主动性;其次,要深刻认识教师在教学过程中的主导作用。多媒体教学模式促使学生的学习方式变得更加自由和灵活,学生可以在没有教师引导的情况下进行自学,但是教学过程是一个教学相长的过程,因此,多媒体教学必须强调教师在教学过程中的主导作用。再次,要正确理解多媒体教学手段的优势和劣势。尽管多媒体

26、教学具有以往教学模式所无法达到的技术高度,但是这结合不同教学环节,配合使用合理的教学技术组合模式,提高教学效果。此外,要高度重视多媒体教学对学生的情感培养(比如3)。4.2、掌握并合理运用多媒体教学技术首先,要掌握多种课件制作软件的使用方法。有利于最大化课件的展现效果,有利于激发课堂中学生的求知欲望,有利于教学效果的提高;其次,要提高多媒体课件的制作水平及品质。多媒体课件作为当今教学过程中知识传授的主要媒介,它的质量高低和品质优劣在很大程度上决定了课堂教学效果的好坏;再次,要根据教学目标和内容制作精致课件。以教学的目标、内容、实施方法和策略等教学要素为依据,突出教学内容的重要性,以此体现多媒体

27、技术的教学辅助功能,避免多媒体教学中之间声音图像的运用而不见教学质量的提高。(比如6)4.3优化教学环境,正确把握教学实践首先,要建设和及时更新多媒体教学硬件设备。其次,要提高教师利用多媒体进行教学实践的能力。教师除了要制作好的多媒体课件外,在个人的语言表达能力、情感的传递能力以及各种教学手段的综合应用能力等方面,必须遵照教学目的、内容和要求,以及多媒体技术及信息技术的发展趋势(比如4),不断学习和研究多媒体教学的理论及实践方法,逐步提高多媒体教学的理论水平和实践能力。第三,要促使多媒体技术和传统教学手段的融合,综合利用两者的优势,取长补短,才能起到相得益彰、促进教学效果提高的作用。第四,要利

28、用多媒体资源加强课堂教学中的师生互动。多媒体教学可以优化课堂环境,激活教学过程的重要环节和元素,最大限度发挥学生的主动性和创造性。教学过程中,还要注重并加强师生之间的交流和互动,充分发挥教师引导作用,培养学生利用网络资源进行学习和创新的能力,以教师的人格魅力感染学生,调动学生的学习热情,达到事半功倍的教学效果。五、结束语在教学实践中,要为计算机多媒体辅助教学准确定位,把握好先进技术的特点与规律,消除认识误区,充分发挥教师的主导地位,正确引导学生,使多媒体教学为推动教学改革做出贡献。有人说,孩子们的心就象一块奇妙的土地,播下思想的种子,就会获得行为的收获;播下行为的种子,就会获得习惯的收获;播下

29、习惯的种子,就会获得性格的收获;播下性格的种子,就会获得命运的收获;前苏联著名教育家马卡连柯也曾说过,一个教师,如果能够用25种语调说出同一句话“请你过来”,用不同的手势姿态说这一句话,还愁学生有什么样的情感世界不能把握呢?从某种意义上说,教师就是主宰每个学生命运的人。我们即将作为知识的传播者,更应该时时更新,时时汲取新的知识。参考文献:1 朱小英,马德俊 基于多媒体技术的思维导图在小学语文教学中的应用研究J.中小学电教上:教师版 2010(1)56-582 宋三平 多媒体技术在小学语文教学中的应用现状及思考J.读写算:教育教学研究2014年 (08)3 赵淑芳 正确处理多媒体教学与常规教学的

30、关系赵淑芳 J.考试周刊 2009年第20期(26)4 傅德荣 媒体技术及其教育应用 M.高等教育出版社 5 岳黎云 多媒体技术在小学语文教学中的应用探讨J. 小学时代(教育研究) 2011(11)108-1086 修彩红 现代多媒体技术在小学语文教学中的合理运用J. 新课程(小学) 2014(09)97-98致谢:历时将近两个月的调研、收集资料及论文撰写工作,自始至终得到我的指导老师胡加老师的热心关怀和真诚的帮助,胡加老师具有扎实的专业知识和知道技巧,悉心地对论文的每一个环节给予了指导和修订。在老师的指导与帮助下终于完稿了。非常感谢胡老师对我的帮助,使我在专业知识的巩固和论文的撰写都有了进一

31、步的提高。为我在今后的学习历程上奠定了基础。是您让我有了今天的成绩和收获附录资料:不需要的可以自行删除C语言编译器的设计与实现 我们设计的编译程序涉及到编译五个阶段中的三个,即词法分析器、语法分析器和中间代码生成器。编译程序的输出结果包括词法分析后的二元式序列、变量名表、状态栈分析过程显示及四元式序列程序,整个编译程序分为三部分:(1) 词法分析部分(2) 语法分析处理及四元式生成部分 (3) 输出显示部分一词法分析器设计 由于我们规定的程序语句中涉及单词较少,故在词法分析阶段忽略了单词输入错误的检查,而将编译程序的重点放在中间代码生成阶段。词法分析器的功能是输入源程序,输出单词符号。我们规定

32、输出的单词符号格式为如下的二元式: (单词种别,单词自身的值)#define ACC -2#define syl_if 0#define syl_else 1#define syl_while 2#define syl_begin 3#define syl_end 4#define a 5#define semicolon 6#define e 7#define jinghao 8#define s 9#define L 10#define tempsy 11#define EA 12#define EO 13#define plus 14#define times 15#define bec

33、omes 16#define op_and 17#define op_or 18#define op_not 19#define rop 20#define lparent 21#define rparent 22#define ident 23#define intconst 24函数说明 读取函数 readline( )、readch( )词法分析包含从源文件读取字符的操作,但频繁的读文件操作会影响程序执行效率,故实际上是从源程序文件” source.dat ”中读取一行到输入缓冲区,而词法分析过程中每次读取一个字符时则是通过执行 readch( )从输入缓冲区获得的;若缓冲区已被读空,则

34、再执行readline( )从 source.dat 中读取下一行至输入缓冲区。扫描函数 scan( ) 扫描函数 scan( )的功能是滤除多余空格并对主要单词进行分析处理,将分析得到的二元式存入二元式结果缓冲区。变量处理 find( )变量处理中首先把以字母开头的字母数字串存到 spelling 数组中,然后进行识别。识别过程是先让它与保留关键字表中的所有关键字进行匹配,若获得成功则说明它为保留关键字,即将其内码值写入二元式结果缓冲区;否则说明其为变量,这时让它与变量名表中的变量进行匹配( 变量匹配函数 find( ) ),如果成功,则说明该变量已存在并在二元式结果缓冲区中标记为此变量(

35、值填为该变量在变量名表中的位置),否则将该变量登记到变量名表中,再将这个新变量存入二元式缓存数组中。数字识别 number( ) 数字识别将识别出的数字填入二元式结果缓存数组。显示函数 显示函数的功能在屏幕上输出词法分析的结果( 即二元式序列程序),同时给出二元式个数及源程序行数统计。二语法分析器设计 语法分析器的核心是三张 SLR 分析表以及针对这三张 SLR 分析表进行语义加工的语义动作。编译程序中语法分析处理及四元式生成部分主要是以二元式作为输入,并通过 SLR 分析表对语法分析处理过程进行控制,使四元式翻译的工作有条不紊的进行,同时识别语法分析中的语法错误。在处理 if 和 while

36、 语句时,需要进行真值或假值的拉链和返填工作,以便转移目标的正确填入。1. 控制语句的 SLR 分析表1 设计过程如下: 将扩展文法GS S1)S if e S else S2)S while e S3)S L 4)S a;5)L S6)L SL用_CLOSURE方法构造LR(0)项目规范簇为:I0: S SS if e S else SS while e S S L S a ;I1: S SI2: S ife S else SI3: S while e SI4: S L L S L SL S if e S else SS while e S S L S a ; I5: S a; I6: S

37、if e S else S S if e S else SS while e S S L S a ; I7: S while e S S if e S else SS while e S S L S a ; I8: S L I9: L S L SL L SL L S S if e S else SS while e S S L S a ; I10: S a ; I11: S if e S else SI12: S while e S I13: S L I14: S SL I15: S if e S else S S if e S else SS while e S S L S a ; I16:

38、 S if e S else S 构造文法G中非终结符的FOLLOW集如下:FOLLOW(S) = # S if e S else S得FOLLOW(S) = else S L 得FOLLOW(L) = 3) S S 得FOLLOW(S) = else , # L S 因为FIRST(S) = ,所以FOLLOW(S) = else , #, 在()项目规范簇中,只有9有“移进归约”冲突,L SL SL因为FOLLOW(L) FIRST(L) = 所以可以用方法解决以上冲突,最后我们得到的分析表如下:ACTIONGOTO ifElsewhilea;e#SL0S2S3S4S511ACC2S63S

39、74S2S3S4S5985S106S2S3S4S5117S2S3S4S5128S139S2S3S4R5S591410R4R4R4111512R2R2R213R3R3R314R615S2S3S4S51616R1R1R1static int action2011=/* 0 */ 2, -1, 3, 4, -1, 5, -1, -1, -1, 1, -1,/* 1 */ -1, -1, -1, -1, -1, -1, -1, -1,ACC, -1, -1,/* 2 */ -1, -1, -1, -1, -1, -1, -1, 6, -1, -1, -1,/* 3 */ -1, -1, -1, -1,

40、 -1, -1, -1, 7, -1, -1, -1,/* 4 */ 2, -1, 3, 4, -1, 5, -1, -1, -1, 9, 8,/* 5 */ -1, -1, -1, -1, -1, -1, 10, -1, -1, -1, -1,/* 6 */ 2, -1, 3, 4, -1, 5, -1, -1, -1, 11, -1,/* 7 */ 2, -1, 3, 4, -1, 5, -1, -1, -1, 12, -1,/* 8 */ -1, -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,/* 9 */ 2, -1, 3, 4,105, 5, -1,

41、-1, -1, 9, 14,/* 10*/ -1,104, -1, -1,104, -1, -1, -1,104, -1, -1,/* 11*/ -1, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,/* 12*/ -1,102, -1, -1,102, -1, -1, -1,102, -1, -1,/* 13*/ -1,103, -1, -1,103, -1, -1, -1,103, -1, -1,/* 14*/ -1, -1, -1, -1,106, -1, -1, -1, -1, -1, -1,/* 15*/ 2, -1, 3, 4, -1, 5, -1,

42、 -1, -1, 16, -1,/* 16*/ -1,101, -1, -1,101, -1, -1, -1,101, -1, -1;其中,前 9 列为 action 值,后 2 列为 goto 值;016 表示 17 个移进状态( 即 Si);-1表示出错;ACC 表示分析成功;而 100106 对应 7 个归约产生式:S SS if e S else SS while e SS L S a;L SL SL2. 算术表达式的 LR 分析表 2 设计如下:S EE E+EE E*EE (E)E i (过程略)ACTIONGOTOI+*()#E0S3S211S4S5ACC2S3S263R4R4R

43、4R44S3S275S3S286S4S5S97R1R5R1R18R2R2R2R29R3R3R3R3static int action1107=/* 0 */ 3, -1, -1, 2, -1, -1, 1,/* 1 */ -1, 4, 5, -1, -1,ACC, -1,/* 2 */ 3, -1, -1, 2, -1, -1, 6,/* 3 */ -1,104,104, -1,104,104, -1,/* 4 */ 3, -1, -1, 2, -1, -1, 7,/* 5 */ 3, -1, -1, 2, -1, -1, 8,/* 6 */ -1, 4, 5, -1, 9, -1, -1,/

44、* 7 */ -1,101, 5, -1,101,101, -1,/* 8 */ -1,102,102, -1,102,102, -1,/* 9 */ -1,103,103, -1,103,103, -1;3.布尔表达式的 SLR 分析表3 设计如下:(过程略)S BB iB i rop iB ( B )B ! BA B &B ABO B |B OBACTIONGOTOiRop()!&|#BAO0S1S4S513781S2R1R1R1R12S33R2R2R2R24S1S4S511785S1S4S56786R4S9S10R47S1S4S514788S1S4S515789R5R5R510R7R7R

45、711S12S9S1012R3R3R3R313S9S10ACC14R6S9S10R615R8S9S10R8static int action21611=/* 0 */ 1, -1, 4, -1, 5, -1, -1, -1, 13, 7, 8,/* 1 */ 1, 2, -1,101, -1,101,101,101, -1, -1, -1,/* 2 */ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,/* 3 */ -1, -1, -1,102, -1,102,102,102, -1, -1, -1,/* 4 */ 1, -1, 4, -1, 5, -1,

46、 -1, -1, 11, 7, 8,/* 5 */ 1, -1, 4, -1, 5, -1, -1, -1, 6, 7, 8,/* 6 */ -1, -1, -1,104, -1, 9, 10,104, -1, -1, -1,/* 7 */ 1, -1, 4, -1, 5, -1, -1, -1, 14, 7, 8,/* 8 */ 1, -1, 4, -1, 5, -1, -1, -1, 15, 7, 8,/* 9 */ 105, -1,105, -1,105, -1, -1, -1, -1, -1, -1,/*10 */ 107, -1,107, -1,107, -1, -1, -1, -1

47、, -1, -1,/*11 */ -1, -1, -1, 12, -1, 9, 10, -1, -1, -1, -1,/*12 */ -1, -1, -1,103, -1,103,103,103, -1, -1, -1,/*13 */ -1, -1, -1, -1, -1, 9, 10,ACC, -1, -1, -1,/*14 */ -1, -1, -1,106, -1, 9, 10,106, -1, -1, -1,/*15 */ -1, -1, -1,108, -1, 9, 10,108, -1, -1, -1;LR 分析表控制语义加工的实现:当扫描 LR 分析表的当前状态为归约状态时,则在

48、调用与该状态对应的产生式进行归约的同时,调用相应的语义子程序进行有关的翻译工作。现在对 LR 分析器的分析栈加以扩充,使得每个文法符号之后都跟着它的语义值。为了清晰起见,我们把这个栈的每一项看成由三部分组成:状态 state ,文法符号 syl 和语义值 val。编译程序实现算术表达式、布尔表达式及程序语句的语义加工时,都是按这种状态栈加工方式进行的。例如:( 5 + 3 ) * 6的分析过程序号STATEValsylinput10-#( 5 + 3 ) * 6 #202-#(5 + 3 ) * 6 #3023-#(5+ 3 ) * 6 #4026-5#(E+ 3 ) * 6 #50264-5

49、-#(E+3 ) * 6 #602643-5-#(E+3 ) * 6 #702647-5-3#(E+E) * 6 #8026-8#(E) * 6 #90269-8-#(E)* 6 #1001-8#E* 6 #11015-8-#E* 6 #120153-8-#E*6#130158-8-6#E*E#1401-48#E#15ACC在分析过程中,第(3)步操作后的状态栈为 023,根据栈顶状态“ 3”和现行输入符号“ +”( input 栏字符串的第一个字符)查分析表 ACTION3,+=R4,即按第(4)个产生式 En 来进行归约;由于产生式右部仅含一项,故去掉状态栈栈顶“3”;此时 2 变为新的栈

50、顶状态,再查( 2,E)的下一状态 s:GOTO2,E=6,即将状态 6 和文法符号 E 压栈,最后得到第( 4)步的状态。第( 7)步操作后也是如此,当前状态栈为 02647,根据栈顶状态 7 和现行输入符号“ )”查分析表 ACTION7,)=R1,即按第(1)个产生式 EE1+E2进行归约;由于产生式右部有三项,故去掉状态栈栈顶的 647 三项;此时 2 变为新的栈顶状态,再查( 2,E)的下一状态 s:GOTO2,E=6,即将状态 6 和文法符号 E 压栈,最后得到第(8)步的状态。三中间代码生成器设计:布尔表达式 布尔表达式在程序语言中有两个基本作用:一是用作控制语句( 如 if -

51、else 或 while语句)的条件式;二是用于逻辑演算,计算逻辑值。布尔表达式是由布尔算符( &、| 、!)作用于布尔变量( 或常数)或关系表达式而形成的。关系表达式的形式是 E1 rop E2,其中 rop 是关系符( 如或),E1和 E2是算术式。在这里,我们只考虑前面给定文法所产生的布尔表达式:BB &B | B | B | ! B | (B) | i rop i | i遵照我们的约定,布尔算符的优先顺序( 从高到低)为:!、&、|,并假定&和|都服从左结合规则。所有关系符的优先级都是相同的,而且高于任何布尔算符,低于任何算术算符,关系算符不得结合。表达式的真、假出口的确定:考虑表达式

52、 B1 | B2 ,若 B1为真,则立即知道 B 也为真;因此,B1的真出口也就是整个 B 的真出口。若 B1?为假,则 B2必须被计值,B2的第一个四元式就是 B1的假出口。当然,B2的真、假出口也就是整个 B的真、假出口。类似的考虑适用于对 B1 & B2的翻译,我们将 B1 | B2和 B1 & B2 的翻译用下图表示,在自下而上的分析过程中,一个布尔式的真假出口往往不能在产生四元式的同时就填上。我们只好把这种未完成的四元式的地址( 编号)作为 B 的语义值暂存起来,待到整个表达式的四元式产生完毕之后再来回填这个未填入的转移目标。条件语句对条件语句 if e S1 else S2 中的布

53、尔表达式 e,其作用仅在于控制对 S1和 S2的选择。因此,作为转移条件的布尔式e,我们可以赋予它两种“ 出口”:一是“ 真”出T口,出向 S1;一是“ 假”出口,出向 S2。于是,e的代码F条件语句可以翻译成如图的一般形式。非终结符 e 具有两项语义值 e _TC 和e_FC,它们分别指出了尚待回填真、S2的代码假出口的四元式串。e 的“ 真”出口只有在往回扫描到if时才能知道,而它图 3-2 条件语句的代码结构 的“ 假”出口则需到处理过 S1并且到达 else 才能明确。这就是说,必须把 e_FC 的值传下去,以便到达相应的 else时才进行回填。另外,当 S1语句执行完时意味着整个 i

54、f-else 语句也已执行完毕;因此,在 S1的编码之后应产生一条无条件转移指令。这条转移指令将导致程序控制离开整个 if-else 语句。但是,在完成 S2的翻译之前,这条无条件转移指令的转移目标是不知道的。甚至,在翻译完 S2之后,这条转移指令的转移目标仍无法确定。这种情形是由于语句的嵌套性所引起的。例如下面的语句:if e1 if e2 S1 else S2 else S3 在 S1的代码之后的那条无条件转移指令不仅应跨越 S2而且应跨越 S3。这也就是说,转移目标的确定和语句所处的环境密切相关。条件循环语句条件循环语句 while e S 通常被翻译成图的代码结构。布尔式 e 的“ 真

55、”出口出向 S 代码段的第一个四元式。紧接 S 代码段之后应产生一条转向测试 e 的无条件转移指令。e 的“ 假”出口将导致程序控制离开整个 while 语句。e 的“ 假”出口目标即使在整个 while 语句翻译完之后也未必明确。例如: if e1 while e2 S1 else S2这种情况仍是由于语句的嵌套性引起的。所以,我们只好把它作为语句的语义值 SCHAIN 暂留下来,以便在处理外层语句时再伺机回填。语法翻译实现方法 将上述语法翻译付诸实现过程中,我们仅保留了算术表达式和布尔表达式翻译的文法和语义动作;面对程序语句的翻译,由于改造后含有较多的非终结符且语义动作又相对简单,故仍恢复

56、为改造之前的程序语句文法。由于总体上构造一个 SLR 分析表来实现语法分析及语义加工将使得所构造的 SLR 分析表过大,所以将其分为下面三部分处理:对算术表达式单独处理,即为算术表达式构造一个 SLR 分析表,并将赋值语句A=E 与算术表达式归为一类处理,处理之后的赋值语句仅看作为程序语句文法中的一个终结符 a。对布尔表达式也单独处理,并为其构造一个 SLR 分析表,经 SLR 分析表处理后的布尔表达式看作为程序语句文法中的一个终结符 e。程序语句文法此时变为:S if e S else S | while e S | L | a;L SL | S此时为程序语句构造相应的 SLR 分析表就简单多了。前面的程序语句文法中所添加的非终结符是为了能及时回填有关四元式转移目标而引入的,在取消了这些非终结符后又如何解决及时回填转移目标的问题呢?我们采取的解决方法是增加两个数组 labelmark 和 labeltemp 来分别记录语句嵌套中每一层布尔表达式( 如果有的话)e 的首地址以及每一层else( 如果有的话)之前的四元式地址( 即无条件转出此层 if 语句的四元式)。也即,对程序语句的翻译来说:在处理完布尔表达式 e 后,回填 if 或 while 语句的真值链;在归约完每一个语句 S 之后检查符号栈,看在 S 之前的文法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论