計算機科學與技術(shù)論文_第1頁
計算機科學與技術(shù)論文_第2頁
計算機科學與技術(shù)論文_第3頁
計算機科學與技術(shù)論文_第4頁
計算機科學與技術(shù)論文_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、本 科 畢 業(yè) 論 文論 文 題 目 :多媒體技術(shù)及其在小學語文教學中的應用指 導 老 師 :胡圣榮學 生 姓 名 :學 號 :院 系 :專 業(yè) :計算機科學與技術(shù)寫 作 批 次 : 原 創(chuàng) 承 諾 書我承諾所呈交的畢業(yè)論文是本人在老師指導下進行的研究工作及取得的研究成果。據(jù)我查證,除了文中特別加以標注和致謝的地方外,論文中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果。若本論文及資料與以上承諾內(nèi)容不符,本人愿意承擔一切責任。畢業(yè)論文作者簽名:_ 日期: 目 錄摘要 IAbstract 一、概述 1二、多媒體教學的作用和優(yōu)勢 12.1、增強感官效應,提高學習效率 12.2、改變教學模式,達到自主學習

2、22.3、使教與學有機的結(jié)合 2三、多媒體技術(shù)在小學語文教學中的應用 33.1、利用多媒體解決難點 33.2、運用多媒體培養(yǎng)思維的獨創(chuàng)性 5四、多媒體教學需要注意的問題 64.1、樹立正確的多媒體教學觀念64.2、掌握并合理運用多媒體教學技術(shù) 64.3優(yōu)化教學環(huán)境,正確把握教學實踐 7五、結(jié)束語 7參考文獻 8謝 語9摘 要信息多媒體技術(shù)發(fā)展也給我們現(xiàn)在的教學方式帶來了很大的變化,也給傳統(tǒng)的教育教學方式帶來了沖擊。如何將傳統(tǒng)的教育教學模式中的優(yōu)缺點和多媒體技術(shù)的特點相結(jié)合,使得教師的課堂和學生的學習朝著更加理想化的方向去發(fā)展,是我們今后要探討的課題之一。論文首先介紹了多媒體教學的作用和優(yōu)勢,多

3、媒體的教育的優(yōu)勢在于增強感官,提高學習效率,在多媒體教學中可以達到改變教學模式,達到自主學習的效果。然后以小學語文教學為例,具體介紹了多媒體教學的作用和效果。其次指出,在多媒體教學中也需要注意一些問題,多媒體教學模式必須尊重學生學習的主體地位,激發(fā)學生的學習興趣和主動性,要深刻認識教師在教學過程中的主導作用。多媒體教學模式促使學生的學習方式變得更加自由和靈活,學生可以在沒有教師引導的情況下進行自學,但是教學過程是一個教學相長的過程,因此,多媒體教學必須強調(diào)教師在教學過程中的主導作用。關鍵詞:信息化多媒體技術(shù)教學 = 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多媒體技術(shù)及其在小學語文教學中的應用一、概述高度發(fā)展的科技已經(jīng)將我們?nèi)祟悗?/p>

11、了二十一世紀,目前我們面對的機遇和挑戰(zhàn)都是前所未有的,如何把握機遇,與時俱進,做到與社會、與時代同發(fā)展,共進步,是我們要應對的重要課題。隨著多媒體計算機技術(shù)的日益成熟,社會進入到了一個高度發(fā)達,高度文明的信息社會,多媒體技術(shù)在現(xiàn)代教育中已經(jīng)嶄露頭角,并且逐漸占據(jù)了重要的地位,對于傳統(tǒng)的教育手段和教育模式,多媒體技術(shù)是一種新奇的,優(yōu)越的教學方式,能夠彌補老的教學方式存在的一些不足,更好的激發(fā)學生的學習興趣。能夠有效的掌握多媒體教學方法,為課堂增加必要的活力和實時交互性,是每個老師都想要擁有的一項技能。多媒體技術(shù)使知識內(nèi)容可以通過文本、圖形、圖像、動畫、聲音、影像等各種單一形式或者是幾種形式的組合

12、來表現(xiàn),幾乎所有具體學科都可以用多媒體技術(shù)生動地展示出來,在課堂教學中,教師可利用計算機多媒體進行活潑的課堂教學,激發(fā)學生的學習熱情,發(fā)揮學生的想象力和創(chuàng)造力,以達到最優(yōu)的教學效果。在教學中引入多媒體技術(shù),拓展了學生的思維想象力,也使得教師的課堂更加生動,形象。到底多媒體技術(shù)給現(xiàn)代教學帶來了什么樣的影響,它的好處和弊端是什么,怎樣才能將它和現(xiàn)代教育的特點相結(jié)合,使之發(fā)揮更大的作用?在此本文簡單的論述和介紹一下。二、多媒體教學的作用和優(yōu)勢多媒體技術(shù)強調(diào)實時性,交互性,能夠反映時代的特征和當下一些社會流行的元素,更加符合學生的思維習慣和接受方式。學生在面對一個具體生動形象實物時的注意力要比平時集中

13、很多,他們也很希望老師平時能夠多運用電腦和影視多媒體技術(shù)來創(chuàng)造一個色彩斑斕的視聽形象氛圍,而不是一味呆板的口述,很多學生也說這讓他們感覺和時代以及生活緊密聯(lián)系起來了,更有益于學習。由此看來,在學生的立場上,對于運用多媒體教學是持支持和肯定的態(tài)度的,那么對于課堂教學上到底有什么改觀呢?本文想主要體現(xiàn)在以下幾個方面:2.1、增強感官效應,提高學習效率相信我們都曾有過一個體會,上課時老師在講臺上滔滔不絕的講述著長篇大論,而教室里的學生卻在“各自為戰(zhàn)”,打瞌睡,看小說,很少有人集中注意力來跟著老師一起學些。我想這并不全是老師的問題,有些老師的理論知識很扎實,講述的也很到位,但課堂氣氛卻總是平平淡淡,沒

14、有重點,沒有激情,學生也就自然提不起興趣。運用了多媒體技術(shù)后,通過視覺和聽覺所獲取到的信息最容易被人接受而且容易記住。創(chuàng)設一個情景或者是講述一個故事將知識點表達出來,學生以后復習時會回想:這個東西老師以前曾經(jīng)講過一個故事,我曾經(jīng)親身經(jīng)歷過,原來是這樣的等等。所以使用多媒體技術(shù)可以將形式單一、直線展開的教學內(nèi)容變得直觀、形象,從而激發(fā)學生的學習積極性,更利于學習效率的提高(比如2)。多媒體技術(shù)實際上就是視聽技術(shù)的拓展,它是一門新興,前衛(wèi)而又富于內(nèi)涵的技術(shù),也是一門藝術(shù)。它不僅對于小孩子,同樣的對于我們成年人來說也極具魅力,擁有獨特的吸引力。比如,語文老師用PPT做了一篇關于寫春景的文章的課件,在

15、課堂上老師就能夠向?qū)W生展示春天的樣子,美麗的綠草,明媚的陽光,用生動形象的圖形甚至是動畫來加深學生的印象,物理老師可以用FLASH動畫來模擬各種實驗效果,或者是條件達不到而無法開展的實驗也可以通過動畫展示出來,這樣就比老師單純講述要好多了。多媒體技術(shù)的運用,能夠刺激多種感覺器官,有利于學生的記憶,增強學生進行聯(lián)想的線索。2.2、改變教學模式,達到自主學習多媒體技術(shù)不僅具有模擬性,且可生動直觀地展示原來無法直接展示的東西,而且具有交互性,擺脫了傳統(tǒng)的、被動的注入式的教學方式。以前的課堂總是秉持著這樣的模式:老師講,學生聽,然后老師提問,學生回答。在這樣的環(huán)境下,學生很少有機會自主思考,老師也沒有

16、什么好的辦法來引導學生自主學習。但是在多媒體技術(shù)的支持下,教師可以通過各種教學軟件來改變上課的程序,可以給學生提供一個開放的平臺,其實現(xiàn)在的遠程教育就是這樣的一個典型例子,教師可以運用一些好的學習軟件或者是自己制作一些教學課件,給學生多設置一些問題,其中又配以聲情并茂的圖文解釋,從而引導學生自主學習,并為其實現(xiàn)探索和發(fā)現(xiàn)知識創(chuàng)造有利條件,在這種教學模式下,則有可能真正達到讓學習者主動獲取知識甚至自我創(chuàng)造新的知識。2.3、使教與學有機的結(jié)合前已指出,教師利用教學軟件進行教學,可以改變課堂教學程序和模式,有利于學生的自主學習,構(gòu)造一個開放自由的學習平臺,讓所有的學生和教師在同樣的環(huán)境下一起學習。試

17、想教師在機房中進行授課,所有學生都通過自己的電腦與教師主機相連接,學生們一邊自學一邊完成老師布置的題目,完成及時上傳至教師機,當某一個學生出現(xiàn)錯誤時,老師可以及時切換至目標機器,然后進行實際操作的講解,只需進行簡單的連接和操作即可,不僅能實現(xiàn)學生與計算機之間交流,還能實現(xiàn)學生與學生之間、教師與教師之間、學生與教師之間的多向交流(比如1)。教師在總控臺上能及時了解每個學生上機操作的具體情況,了解學生的思維活動,調(diào)節(jié)教學過程,同時利用雙向交流功能進行學生之間的對話。從而大大提高學生學習的主動性和積極性,真正做到因材施教,使得所有學院都能取得滿意的學習效果。多媒體教學使教師由單一的向?qū)W生傳授知識技能

18、的方式向教師與媒體組合向?qū)W生傳授知識技能的方式演變,要突出教師的主導地位和學生的主體地位。 不可取代與優(yōu)勢互補原則 不同教學手段各有利弊,沒有一種是十全十美的。教學中要相輔相成、取長補短,將多媒體與其他教學手段完美結(jié)合。三、多媒體技術(shù)在小學語文教學中的應用3.1、利用多媒體解決難點我國古代大教育家荀子早已提出:“不聞不若聞之,聞之不若見之”。由此可見,聞見是教學的基礎,借助計算機教學能有效地化抽象為具體,把難以理解的內(nèi)容或者對理解課文起重要作用的內(nèi)容,用計算機展現(xiàn)出來,調(diào)動學生視覺功能,通過直觀形象、生動的感官刺激,讓學生最大限度地發(fā)揮潛能,在有限的時間里,全方位感知更多的信息,提高教學效率,

19、激活學習的內(nèi)因。如教海底世界一課,課文的重點是要使學生了解,海底景色奇異在什么地方,學生很難理解這一點,為了平緩教學的坡度,突破這個難點,更好地激活學生的學習氣氛,我在教學過程中有意識地運用錄像這一電教媒體,讓學生觀察海底世界的景色,并輔之以配樂解說,讓學生真切地體味海底景色的神奇與絢麗。又如蝙蝠與雷達是一篇常識性課文,其教學的難點是飛機在飛行過程中是如何辨別障礙物和方向的(見圖一)。這一原理源于蝙蝠,用語言進行描述的話很難使學生全面、正確地理解。為此我們制作了動畫,將“(蝙蝠飛機)在飛行過程中發(fā)出超聲波,超聲波遇到障礙物立即反射回來”這一原理直觀地再現(xiàn)出來,使學生一看就懂,有效地解決了學習中

20、的難點問題,提高了課堂效率(見圖二)。圖1 蝙蝠與超聲波圖2 結(jié)論現(xiàn)行的小學語文教材中,古代詩歌占有一定的比重。這些詩歌語言精煉,意境優(yōu)美,寓意深邃。但由于小學生知識面狹窄,生活閱歷淺,表象儲備貧乏,對詩歌中所描繪的社會時代、人物思想、風土人情感到疏遠,因而古詩教學一直是小語教學中的一大難題。古詩教學中采用電化教學媒體并合理地運用,不僅有助于激發(fā)學生學習興趣,發(fā)展學生想象能力,促進學生對古詩的學習理解,還能有效地培養(yǎng)學生的審美情操。如古詩望廬山瀑布“日照香爐生紫煙”中的“生”字用得十分絕妙,但僅憑教師口頭講解,學生始終難以理解、體會。而錄像地恰當運用就解決了這一難題。教學時,教師先提問:“生”

21、字是什么意思?詩人為什么不用“升”而用“生”呢?緊接著引導學生帶著問題觀看錄像,畫面上:草木蔥籠,蒼翠欲滴,危峰兀立,山巒疊障,而香爐峰此時正被煙霧籠罩,在陽光的照耀下,一團團紫煙不斷從山谷中升起,景象美不勝收,錄像將古詩中抽象的文字轉(zhuǎn)化為具體的動態(tài)畫面,給學生以美享受。學生學習興趣極為濃厚,他們積極觀察、思索,很快從香爐峰的云霧源源不斷地升騰的動態(tài)畫面中領悟到“生”字的妙處:“升”字僅僅只能看到煙霧升起,不一會就散去;而“生”字還含有“產(chǎn)生”的意思,這說明香爐峰始終處于云霧級繞之中。通過此環(huán)節(jié)的教學,學生不僅理解了語言文字的表層意思,而且使他們體會到語言文字的深層含義及感情色彩。 在作文教學

22、中,教者不難發(fā)現(xiàn)有許多學生怕寫作文,寫作文時常是敲額頭、皺眉頭、咬筆頭,好半天也開不了頭,即使寫了也是三言兩語,且病句錯字連篇。在教學中,教師可以選用視聽媒體創(chuàng)設情景,強化學生情感體驗,激發(fā)學生的寫作興趣。古人云:“知之者不如好之者,好知者不如樂之者?!庇辛伺d趣,產(chǎn)生了寫作欲望,才能用心作文,從而提高作文教學效果。如在“三、八”婦女節(jié)前,讓學生寫夸夸我的好媽媽、媽媽,我想對您說等,但容易寫空話、套話。為此,安排在世上只有媽媽好的樂曲聲中,讓學生看從VCD碟片中轉(zhuǎn)錄的懂你,那樸實而真摯感人的畫面及凄婉動人的音樂強烈地沖擊著學生的感官,學生的寫作欲望被激發(fā),完全進入角色,紛紛拿起筆,將心中對媽媽的

23、愛盡情地寫出來。這樣按學生習作的心理特點,適時選用錄像媒體的形、聲、色并茂的特殊功能,調(diào)動了學生的視覺、聽覺、觸覺等各種感官齊上陣,讓他們始終處于興奮狀態(tài),注意力集中,不斷將間接經(jīng)驗內(nèi)化為直接經(jīng)驗和表象,豐富了寫作素材,使“巧婦”常為“有米之炊”。3.2、運用多媒體培養(yǎng)思維的獨創(chuàng)性在閱讀教學中,計算機作為一種認知工具,將學生的思維過程與動畫演示有機結(jié)合,運用求異思維,培養(yǎng)觀察力和想象力,使學生顯示出與眾不同的帶有個性的答案來。如教學狼和小羊一課,課文最后一句:“狼說著就往小羊身上撲去(見圖三)?!卑凑枕樝蛩季S定勢,柔弱的小羊是狼的腹中之物已成定局。為了點燃學生獨創(chuàng)思維的火花,教師采用求異法,邊

24、用電腦演示狼惡狠狠撲向小羊的動畫邊有意提問:“狼是不是把小羊吃掉呢?”有位學生說:“狼向前撲的時侯,掉在前面的陷阱里去了。”我隨機演示出狼掉進陷阱里的樣子,同學們看了高興地直拍手,求異思維一下活躍起來。有的說:“狼向前撲的時侯,小羊一躲,狼一頭撞在大石頭上?!庇械恼f:“狼向前撲的時侯,被樹后的獵人一槍給打死了?!庇钟幸粋€學生站起來大聲說:“柔弱的小羊從力氣上斗不過狼,可是它憑自己的聰明智慧,從理智上斗倒了狼,躲過了這場劫難。”學生們突破了思維的定勢,從不同的方向去思考問題,把自己的想象和小羊活下來的愿望聯(lián)系在一起,培養(yǎng)思維的獨創(chuàng)性。圖3 狼往小羊身上撲去四、多媒體教學需要注意的問題多媒體教學中

25、存在的這些問題,影響了教學效果,降低了教學效率,破壞了學生獲取知識和經(jīng)驗的傳統(tǒng)環(huán)境。為此,我們必須從觀念認識、技術(shù)應用和教學實施等方面抓起,揚長避短,使多媒體教學發(fā)揮更大的作用。4.1、樹立正確的多媒體教學觀念首先,要充分認識學生在教學過程中的主體地位。多媒體教學模式必須尊重學生學習的主體地位,激發(fā)學生的學習興趣和主動性;其次,要深刻認識教師在教學過程中的主導作用。多媒體教學模式促使學生的學習方式變得更加自由和靈活,學生可以在沒有教師引導的情況下進行自學,但是教學過程是一個教學相長的過程,因此,多媒體教學必須強調(diào)教師在教學過程中的主導作用。再次,要正確理解多媒體教學手段的優(yōu)勢和劣勢。盡管多媒體

26、教學具有以往教學模式所無法達到的技術(shù)高度,但是這結(jié)合不同教學環(huán)節(jié),配合使用合理的教學技術(shù)組合模式,提高教學效果。此外,要高度重視多媒體教學對學生的情感培養(yǎng)(比如3)。4.2、掌握并合理運用多媒體教學技術(shù)首先,要掌握多種課件制作軟件的使用方法。有利于最大化課件的展現(xiàn)效果,有利于激發(fā)課堂中學生的求知欲望,有利于教學效果的提高;其次,要提高多媒體課件的制作水平及品質(zhì)。多媒體課件作為當今教學過程中知識傳授的主要媒介,它的質(zhì)量高低和品質(zhì)優(yōu)劣在很大程度上決定了課堂教學效果的好壞;再次,要根據(jù)教學目標和內(nèi)容制作精致課件。以教學的目標、內(nèi)容、實施方法和策略等教學要素為依據(jù),突出教學內(nèi)容的重要性,以此體現(xiàn)多媒體

27、技術(shù)的教學輔助功能,避免多媒體教學中之間聲音圖像的運用而不見教學質(zhì)量的提高。(比如6)4.3優(yōu)化教學環(huán)境,正確把握教學實踐首先,要建設和及時更新多媒體教學硬件設備。其次,要提高教師利用多媒體進行教學實踐的能力。教師除了要制作好的多媒體課件外,在個人的語言表達能力、情感的傳遞能力以及各種教學手段的綜合應用能力等方面,必須遵照教學目的、內(nèi)容和要求,以及多媒體技術(shù)及信息技術(shù)的發(fā)展趨勢(比如4),不斷學習和研究多媒體教學的理論及實踐方法,逐步提高多媒體教學的理論水平和實踐能力。第三,要促使多媒體技術(shù)和傳統(tǒng)教學手段的融合,綜合利用兩者的優(yōu)勢,取長補短,才能起到相得益彰、促進教學效果提高的作用。第四,要利

28、用多媒體資源加強課堂教學中的師生互動。多媒體教學可以優(yōu)化課堂環(huán)境,激活教學過程的重要環(huán)節(jié)和元素,最大限度發(fā)揮學生的主動性和創(chuàng)造性。教學過程中,還要注重并加強師生之間的交流和互動,充分發(fā)揮教師引導作用,培養(yǎng)學生利用網(wǎng)絡資源進行學習和創(chuàng)新的能力,以教師的人格魅力感染學生,調(diào)動學生的學習熱情,達到事半功倍的教學效果。五、結(jié)束語在教學實踐中,要為計算機多媒體輔助教學準確定位,把握好先進技術(shù)的特點與規(guī)律,消除認識誤區(qū),充分發(fā)揮教師的主導地位,正確引導學生,使多媒體教學為推動教學改革做出貢獻。有人說,孩子們的心就象一塊奇妙的土地,播下思想的種子,就會獲得行為的收獲;播下行為的種子,就會獲得習慣的收獲;播下

29、習慣的種子,就會獲得性格的收獲;播下性格的種子,就會獲得命運的收獲;前蘇聯(lián)著名教育家馬卡連柯也曾說過,一個教師,如果能夠用25種語調(diào)說出同一句話“請你過來”,用不同的手勢姿態(tài)說這一句話,還愁學生有什么樣的情感世界不能把握呢?從某種意義上說,教師就是主宰每個學生命運的人。我們即將作為知識的傳播者,更應該時時更新,時時汲取新的知識。參考文獻:1 朱小英,馬德俊 基于多媒體技術(shù)的思維導圖在小學語文教學中的應用研究J.中小學電教上:教師版 2010(1)56-582 宋三平 多媒體技術(shù)在小學語文教學中的應用現(xiàn)狀及思考J.讀寫算:教育教學研究2014年 (08)3 趙淑芳 正確處理多媒體教學與常規(guī)教學的

30、關系趙淑芳 J.考試周刊 2009年第20期(26)4 傅德榮 媒體技術(shù)及其教育應用 M.高等教育出版社 5 岳黎云 多媒體技術(shù)在小學語文教學中的應用探討J. 小學時代(教育研究) 2011(11)108-1086 修彩紅 現(xiàn)代多媒體技術(shù)在小學語文教學中的合理運用J. 新課程(小學) 2014(09)97-98致謝:歷時將近兩個月的調(diào)研、收集資料及論文撰寫工作,自始至終得到我的指導老師胡加老師的熱心關懷和真誠的幫助,胡加老師具有扎實的專業(yè)知識和知道技巧,悉心地對論文的每一個環(huán)節(jié)給予了指導和修訂。在老師的指導與幫助下終于完稿了。非常感謝胡老師對我的幫助,使我在專業(yè)知識的鞏固和論文的撰寫都有了進一

31、步的提高。為我在今后的學習歷程上奠定了基礎。是您讓我有了今天的成績和收獲附錄資料:不需要的可以自行刪除C語言編譯器的設計與實現(xiàn) 我們設計的編譯程序涉及到編譯五個階段中的三個,即詞法分析器、語法分析器和中間代碼生成器。編譯程序的輸出結(jié)果包括詞法分析后的二元式序列、變量名表、狀態(tài)棧分析過程顯示及四元式序列程序,整個編譯程序分為三部分:(1) 詞法分析部分(2) 語法分析處理及四元式生成部分 (3) 輸出顯示部分一詞法分析器設計 由于我們規(guī)定的程序語句中涉及單詞較少,故在詞法分析階段忽略了單詞輸入錯誤的檢查,而將編譯程序的重點放在中間代碼生成階段。詞法分析器的功能是輸入源程序,輸出單詞符號。我們規(guī)定

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函數(shù)說明 讀取函數(shù) readline( )、readch( )詞法分析包含從源文件讀取字符的操作,但頻繁的讀文件操作會影響程序執(zhí)行效率,故實際上是從源程序文件” source.dat ”中讀取一行到輸入緩沖區(qū),而詞法分析過程中每次讀取一個字符時則是通過執(zhí)行 readch( )從輸入緩沖區(qū)獲得的;若緩沖區(qū)已被讀空,則

34、再執(zhí)行readline( )從 source.dat 中讀取下一行至輸入緩沖區(qū)。掃描函數(shù) scan( ) 掃描函數(shù) scan( )的功能是濾除多余空格并對主要單詞進行分析處理,將分析得到的二元式存入二元式結(jié)果緩沖區(qū)。變量處理 find( )變量處理中首先把以字母開頭的字母數(shù)字串存到 spelling 數(shù)組中,然后進行識別。識別過程是先讓它與保留關鍵字表中的所有關鍵字進行匹配,若獲得成功則說明它為保留關鍵字,即將其內(nèi)碼值寫入二元式結(jié)果緩沖區(qū);否則說明其為變量,這時讓它與變量名表中的變量進行匹配( 變量匹配函數(shù) find( ) ),如果成功,則說明該變量已存在并在二元式結(jié)果緩沖區(qū)中標記為此變量(

35、值填為該變量在變量名表中的位置),否則將該變量登記到變量名表中,再將這個新變量存入二元式緩存數(shù)組中。數(shù)字識別 number( ) 數(shù)字識別將識別出的數(shù)字填入二元式結(jié)果緩存數(shù)組。顯示函數(shù) 顯示函數(shù)的功能在屏幕上輸出詞法分析的結(jié)果( 即二元式序列程序),同時給出二元式個數(shù)及源程序行數(shù)統(tǒng)計。二語法分析器設計 語法分析器的核心是三張 SLR 分析表以及針對這三張 SLR 分析表進行語義加工的語義動作。編譯程序中語法分析處理及四元式生成部分主要是以二元式作為輸入,并通過 SLR 分析表對語法分析處理過程進行控制,使四元式翻譯的工作有條不紊的進行,同時識別語法分析中的語法錯誤。在處理 if 和 while

36、 語句時,需要進行真值或假值的拉鏈和返填工作,以便轉(zhuǎn)移目標的正確填入。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方法構(gòu)造LR(0)項目規(guī)范簇為: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òu)造文法G中非終結(jié)符的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 , #, 在()項目規(guī)范簇中,只有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 個移進狀態(tài)( 即 Si);-1表示出錯;ACC 表示分析成功;而 100106 對應 7 個歸約產(chǎn)生式:S SS if e S else SS while e SS L S a;L SL SL2. 算術(shù)表達式的 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 分析表控制語義加工的實現(xiàn):當掃描 LR 分析表的當前狀態(tài)為歸約狀態(tài)時,則在

48、調(diào)用與該狀態(tài)對應的產(chǎn)生式進行歸約的同時,調(diào)用相應的語義子程序進行有關的翻譯工作?,F(xiàn)在對 LR 分析器的分析棧加以擴充,使得每個文法符號之后都跟著它的語義值。為了清晰起見,我們把這個棧的每一項看成由三部分組成:狀態(tài) state ,文法符號 syl 和語義值 val。編譯程序?qū)崿F(xiàn)算術(shù)表達式、布爾表達式及程序語句的語義加工時,都是按這種狀態(tài)棧加工方式進行的。例如:( 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)步操作后的狀態(tài)棧為 023,根據(jù)棧頂狀態(tài)“ 3”和現(xiàn)行輸入符號“ +”( input 欄字符串的第一個字符)查分析表 ACTION3,+=R4,即按第(4)個產(chǎn)生式 En 來進行歸約;由于產(chǎn)生式右部僅含一項,故去掉狀態(tài)棧棧頂“3”;此時 2 變?yōu)樾碌臈?/p>

50、頂狀態(tài),再查( 2,E)的下一狀態(tài) s:GOTO2,E=6,即將狀態(tài) 6 和文法符號 E 壓棧,最后得到第( 4)步的狀態(tài)。第( 7)步操作后也是如此,當前狀態(tài)棧為 02647,根據(jù)棧頂狀態(tài) 7 和現(xiàn)行輸入符號“ )”查分析表 ACTION7,)=R1,即按第(1)個產(chǎn)生式 EE1+E2進行歸約;由于產(chǎn)生式右部有三項,故去掉狀態(tài)棧棧頂?shù)?647 三項;此時 2 變?yōu)樾碌臈m敔顟B(tài),再查( 2,E)的下一狀態(tài) s:GOTO2,E=6,即將狀態(tài) 6 和文法符號 E 壓棧,最后得到第(8)步的狀態(tài)。三中間代碼生成器設計:布爾表達式 布爾表達式在程序語言中有兩個基本作用:一是用作控制語句( 如 if -

51、else 或 while語句)的條件式;二是用于邏輯演算,計算邏輯值。布爾表達式是由布爾算符( &、| 、?。┳饔糜诓紶栕兞浚?或常數(shù))或關系表達式而形成的。關系表達式的形式是 E1 rop E2,其中 rop 是關系符( 如或),E1和 E2是算術(shù)式。在這里,我們只考慮前面給定文法所產(chǎn)生的布爾表達式:BB &B | B | B | ! B | (B) | i rop i | i遵照我們的約定,布爾算符的優(yōu)先順序( 從高到低)為:!、&、|,并假定&和|都服從左結(jié)合規(guī)則。所有關系符的優(yōu)先級都是相同的,而且高于任何布爾算符,低于任何算術(shù)算符,關系算符不得結(jié)合。表達式的真、假出口的確定:考慮表達式

52、 B1 | B2 ,若 B1為真,則立即知道 B 也為真;因此,B1的真出口也就是整個 B 的真出口。若 B1?為假,則 B2必須被計值,B2的第一個四元式就是 B1的假出口。當然,B2的真、假出口也就是整個 B的真、假出口。類似的考慮適用于對 B1 & B2的翻譯,我們將 B1 | B2和 B1 & B2 的翻譯用下圖表示,在自下而上的分析過程中,一個布爾式的真假出口往往不能在產(chǎn)生四元式的同時就填上。我們只好把這種未完成的四元式的地址( 編號)作為 B 的語義值暫存起來,待到整個表達式的四元式產(chǎn)生完畢之后再來回填這個未填入的轉(zhuǎn)移目標。條件語句對條件語句 if e S1 else S2 中的布

53、爾表達式 e,其作用僅在于控制對 S1和 S2的選擇。因此,作為轉(zhuǎn)移條件的布爾式e,我們可以賦予它兩種“ 出口”:一是“ 真”出T口,出向 S1;一是“ 假”出口,出向 S2。于是,e的代碼F條件語句可以翻譯成如圖的一般形式。非終結(jié)符 e 具有兩項語義值 e _TC 和e_FC,它們分別指出了尚待回填真、S2的代碼假出口的四元式串。e 的“ 真”出口只有在往回掃描到if時才能知道,而它圖 3-2 條件語句的代碼結(jié)構(gòu) 的“ 假”出口則需到處理過 S1并且到達 else 才能明確。這就是說,必須把 e_FC 的值傳下去,以便到達相應的 else時才進行回填。另外,當 S1語句執(zhí)行完時意味著整個 i

54、f-else 語句也已執(zhí)行完畢;因此,在 S1的編碼之后應產(chǎn)生一條無條件轉(zhuǎn)移指令。這條轉(zhuǎn)移指令將導致程序控制離開整個 if-else 語句。但是,在完成 S2的翻譯之前,這條無條件轉(zhuǎn)移指令的轉(zhuǎn)移目標是不知道的。甚至,在翻譯完 S2之后,這條轉(zhuǎn)移指令的轉(zhuǎn)移目標仍無法確定。這種情形是由于語句的嵌套性所引起的。例如下面的語句:if e1 if e2 S1 else S2 else S3 在 S1的代碼之后的那條無條件轉(zhuǎn)移指令不僅應跨越 S2而且應跨越 S3。這也就是說,轉(zhuǎn)移目標的確定和語句所處的環(huán)境密切相關。條件循環(huán)語句條件循環(huán)語句 while e S 通常被翻譯成圖的代碼結(jié)構(gòu)。布爾式 e 的“ 真

55、”出口出向 S 代碼段的第一個四元式。緊接 S 代碼段之后應產(chǎn)生一條轉(zhuǎn)向測試 e 的無條件轉(zhuǎn)移指令。e 的“ 假”出口將導致程序控制離開整個 while 語句。e 的“ 假”出口目標即使在整個 while 語句翻譯完之后也未必明確。例如: if e1 while e2 S1 else S2這種情況仍是由于語句的嵌套性引起的。所以,我們只好把它作為語句的語義值 SCHAIN 暫留下來,以便在處理外層語句時再伺機回填。語法翻譯實現(xiàn)方法 將上述語法翻譯付諸實現(xiàn)過程中,我們僅保留了算術(shù)表達式和布爾表達式翻譯的文法和語義動作;面對程序語句的翻譯,由于改造后含有較多的非終結(jié)符且語義動作又相對簡單,故仍恢復

56、為改造之前的程序語句文法。由于總體上構(gòu)造一個 SLR 分析表來實現(xiàn)語法分析及語義加工將使得所構(gòu)造的 SLR 分析表過大,所以將其分為下面三部分處理:對算術(shù)表達式單獨處理,即為算術(shù)表達式構(gòu)造一個 SLR 分析表,并將賦值語句A=E 與算術(shù)表達式歸為一類處理,處理之后的賦值語句僅看作為程序語句文法中的一個終結(jié)符 a。對布爾表達式也單獨處理,并為其構(gòu)造一個 SLR 分析表,經(jīng) SLR 分析表處理后的布爾表達式看作為程序語句文法中的一個終結(jié)符 e。程序語句文法此時變?yōu)椋篠 if e S else S | while e S | L | a;L SL | S此時為程序語句構(gòu)造相應的 SLR 分析表就簡單多了。前面的程序語句文法中所添加的非終結(jié)符是為了能及時回填有關四元式轉(zhuǎn)移目標而引入的,在取消了這些非終結(jié)符后又如何解決及時回填轉(zhuǎn)移目標的問題呢?我們采取的解決方法是增加兩個數(shù)組 labelmark 和 labeltemp 來分別記錄語句嵌套中每一層布爾表達式( 如果有的話)e 的首地址以及每一層else( 如果有的話)之前的四元式地址( 即無條件轉(zhuǎn)出此層 if 語句的四元式)。也即,對程序語句的翻譯來說:在處理完布爾表達式 e 后,回填 if 或 while 語句的真值鏈;在歸約完每一個語句 S 之后檢查符號棧,看在 S 之前的文法

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論