亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        “編譯原理”教學(xué)改革思考與實踐

        2008-12-31 00:00:00王翠青陳未如
        計算機教育 2008年11期

        文章編號:1962-5913(2008)11-0049-02

        摘要:本文介紹了我院以培養(yǎng)專業(yè)素質(zhì)為目標(biāo),從教學(xué)內(nèi)容、授課方式、實驗設(shè)計等方面對“編譯原理”課程教學(xué)進(jìn)行的改革,并介紹了教學(xué)效果。

        關(guān)鍵詞:編譯原理;教學(xué)改革;實驗設(shè)計

        中圖分類號:G642

        文獻(xiàn)標(biāo)識碼:B

        “編譯原理”是計算機專業(yè)的一門核心課程,在計算機學(xué)科的教學(xué)體系中占有重要的地位。編譯技術(shù)包含的算法和思想比較特殊,理論性較強,抽象度也較高。學(xué)習(xí)編譯程序的構(gòu)造原理和實現(xiàn)技術(shù),不僅可以掌握編譯程序本身的實現(xiàn)技術(shù),同時也能夠提高對程序設(shè)計語言的理解,提高語言的設(shè)計能力,提高元級程序的設(shè)計能力,提高開發(fā)大型軟件的能力,能夠培養(yǎng)學(xué)生的抽象思維能力和形式化描述能力[1]。但由于涉及的理論非常多,而且都是學(xué)生在學(xué)習(xí)其他課程時沒有遇到的,所以教學(xué)效果一直不理想。

        1理論教學(xué)

        我院在教學(xué)過程中綜合運用了任務(wù)驅(qū)動法[2]和案例教學(xué)法[3]兩種方法,達(dá)到了不錯的效果。但“編譯原理”課程理論性非常強,內(nèi)容也較多,若在短短一個學(xué)期將其全部內(nèi)容不論巨細(xì)都囊括其中是非常不現(xiàn)實的,而且教學(xué)效果也一定不會理想。這就需要在教學(xué)內(nèi)容、教學(xué)手段方面做一些工作。

        1.1精選授課內(nèi)容

        通?!熬幾g原理”都是按照編譯的六個階段進(jìn)行組織的:詞法分析、語法分析、語義分析、中間代碼生成、中間代碼優(yōu)化,以及目標(biāo)代碼生成。但在教學(xué)內(nèi)容方面,詞法分析部分注重正規(guī)表達(dá)式及其與DFA的轉(zhuǎn)換,而忽略DFA的識別功能;語法分析部分對自上而下、自下而上語法分析方法逐一進(jìn)行介紹;中間代碼部分過多描述,都使得學(xué)生在學(xué)習(xí)中分不清主次,造成混亂。因此在講授內(nèi)容方面,需要作適當(dāng)?shù)木x,突出重點,使學(xué)生從編譯技術(shù)核心的內(nèi)容入手。

        詞法分析方面,正規(guī)表達(dá)式、確定的優(yōu)先自動機的概念及兩者之間的轉(zhuǎn)換固然是重要的理論基礎(chǔ),但需要強調(diào)的是使用DFA進(jìn)行單詞的識別是詞法分析階段的最終目標(biāo)。正規(guī)表達(dá)式是對單詞的形式化的描述方法,如何讓計算機能識別這種形式化的描述方法,就需要將其進(jìn)行轉(zhuǎn)換。此部分在實驗題目的設(shè)計中也要有所體現(xiàn)。先讓學(xué)生知道為什么,再講授怎么做,帶著問題進(jìn)行學(xué)習(xí)。

        語法分析部分,包括兩大類的方法:自上而下語法分析和自下而上語法分析。首先根據(jù)兩類分析方法的特點,找出每類分析方法待解決的關(guān)鍵問題,然后根據(jù)關(guān)鍵問題,介紹每種分析方法是如何實現(xiàn)的。

        自上而下語法分析需要解決的關(guān)鍵問題是,在推導(dǎo)過程中若待替換的非終結(jié)符對應(yīng)不同的產(chǎn)生式右部,應(yīng)該如何選擇產(chǎn)生式。LL(1)分析方法和遞歸下降子程序法都是通過計算每個產(chǎn)生式的Select集來解決這個關(guān)鍵問題。對于遞歸下降子程序,不但應(yīng)該介紹其構(gòu)造方法,還應(yīng)該加入使用其進(jìn)行語法分析的過程,如圖1所示。這樣才能加深學(xué)生的認(rèn)識,使學(xué)生真正理解這種方法。

        自下而上語法分析方法需要解決的關(guān)鍵問題是尋找句柄。算符優(yōu)先分析方法通過尋找素短語來尋找句柄,而LR分析方法通過尋找可歸約活前綴來尋找句柄。有了這兩種指導(dǎo)思想,學(xué)生在學(xué)習(xí)過程中就不會覺得無所是從。另外,在LR系列分析方法中,SLR(1)已經(jīng)能夠適應(yīng)大多數(shù)的文法,所以在講授過程中,僅將LR(1)方法的概念提出,而不做進(jìn)一步深層次的介紹,這樣的思路,使學(xué)生不必陷入很深的原理中而忽略學(xué)習(xí)原理的目的。

        其他章節(jié)方面,我們也對可有可無的周邊內(nèi)容進(jìn)行了刪減,只保留與編譯技術(shù)思路大體一致的內(nèi)容。通過對授課內(nèi)容進(jìn)行優(yōu)化、精選,使學(xué)生在學(xué)習(xí)過程中總是從編譯技術(shù)的角度去理解各部分的內(nèi)容,而不是僅學(xué)到孤立的知識點和原理。

        1.2選擇適當(dāng)?shù)慕梯o材料

        編譯技術(shù)各部分原理都比較深奧,在課堂教學(xué)中除使用板書、多媒體教學(xué)等常規(guī)方式外,選擇適當(dāng)?shù)慕梯o材料對學(xué)生理解和掌握原理也非常有幫助。

        例如,在使用LR語法分析方法中,根據(jù)文法構(gòu)造識別活前綴的DFA、根據(jù)識別活前綴的DFA構(gòu)造Action表和Goto表,以及使用Action表和Goto表進(jìn)行分析的這一系列過程,使用常規(guī)的課堂教學(xué)手段將原理講解清楚,然后使用教輔軟件舉例將各部分的構(gòu)造進(jìn)行動態(tài)演示。在04級教學(xué)過程中,此部分的軟件使用網(wǎng)上的材料,而教學(xué)完成后,讓學(xué)生結(jié)合自己的理解,針對課堂教學(xué)中他們對使用軟件的認(rèn)識自己設(shè)計編寫教輔軟件。這部分內(nèi)容也作為實驗環(huán)節(jié)的一項內(nèi)容進(jìn)行考核。而05屆學(xué)生在學(xué)習(xí)時就采用上屆學(xué)生編寫的教輔軟件,學(xué)習(xí)完成后再進(jìn)行設(shè)計,以此類推。通過這種方式,一方面利用多種方式講授了原理知識,另一方面激發(fā)了學(xué)生的學(xué)習(xí)熱情及設(shè)計能力,使他們在不斷的學(xué)習(xí)中進(jìn)步。

        1.3結(jié)合實際程序講授原理

        編譯原理課程的教學(xué),除了在實驗方面需要體現(xiàn)理論聯(lián)系實踐,在原理講授過程中結(jié)合學(xué)生在編寫程序過程中容易出現(xiàn)的編譯錯誤進(jìn)行講授,也會使學(xué)生不僅在編譯原理方面,更在程序設(shè)計方面加深理解。

        例如,在介紹運行時存儲空間分配部分,在介紹棧式存儲空間分配時,結(jié)合C++語言中參數(shù)的三種形式:值、指針、引用,進(jìn)行介紹,使學(xué)生不僅理解了編譯技術(shù)此部分的原理,更加深了對程序設(shè)計語言的理解。

        另外,在介紹編譯各個階段時,結(jié)合實際程序在編譯中的報錯信息,讓學(xué)生理解編譯程序的運行原理。

        2實驗環(huán)節(jié)

        實驗環(huán)節(jié)在編譯原理的教學(xué)過程中占有舉足輕重的位置,而在以提高素質(zhì)為目標(biāo)的教學(xué)活動中,實驗環(huán)節(jié)的設(shè)計就顯得額外重要。在實際教學(xué)中,實驗的設(shè)置從三個角度來進(jìn)行,通過完成這方面的實驗,學(xué)生對編譯技術(shù)就有了全方位的認(rèn)識。

        首先,是驗證性的實驗。在課程初期的講授過程中,學(xué)生的知識是離散的,對于這些離散的知識,設(shè)計小型的驗證性實驗,例如給定一個僅包含幾個關(guān)鍵字的小型語言,根據(jù)學(xué)習(xí)的知識,分別設(shè)計其對應(yīng)的詞法分析器,使其能識別單詞;語法分析器(使用不同的方法),使其能分析句子的結(jié)構(gòu)等等。

        其次,在學(xué)習(xí)完成課程后,將前述的離散的驗證性實驗,進(jìn)行綜合,使學(xué)生設(shè)計并實現(xiàn)一個小型的編譯系統(tǒng)。利用參考文獻(xiàn)4介紹的虛擬裸機,要求學(xué)生實現(xiàn)編譯技術(shù)從詞法分析到目標(biāo)代碼生成的全部過程。

        再次,就是要求學(xué)生根據(jù)自己的理解,重新設(shè)計實現(xiàn)他們在學(xué)習(xí)過程中使用的教輔軟件,通過這部分的練習(xí),更加加深對原理的理解。

        這三方面的實驗深度不同,對學(xué)生也有不同要求。對于優(yōu)創(chuàng)班,三部分實驗都是必需的,每部分都要求寫出設(shè)計文檔和實驗報告,作為最終成績評定的重要依據(jù)。對于其他的學(xué)生,第一、二部分必做,而第三部分選做。通過這種方式形成了一個編譯原理實踐的完整體系。

        3結(jié)論

        通過在教學(xué)過程中從內(nèi)容精選、授課方式改革、實驗環(huán)節(jié)設(shè)計等方面的改革,“編譯原理”課程的教學(xué)效果有了很大的改善,而且培養(yǎng)的學(xué)生的動手能力和能動性。在培養(yǎng)學(xué)生專業(yè)素質(zhì)方面積累了經(jīng)驗。

        參考文獻(xiàn)

        [1] 劉磊,郭德貴. “編譯原理”課程建設(shè)研究[J]. 計算機教育,2006,(6):8-10.

        [2] 張立彪,劉磊. 基于建構(gòu)主義教學(xué)觀的編譯原理教學(xué)改革探索[J]. 古林大學(xué)學(xué)報(信息科學(xué)版),2005,23(8):90-94.

        [3] 高晗. 案例教學(xué)在“編譯原理”課程中的嘗試[J]. 天津城市建設(shè)學(xué)院學(xué)報,2005,11(3):228-230.

        [4] 溫敬和. “編譯原理”課程教學(xué)研究與教材編寫[J]. 計算機教育,2006,(5):77-79.

        久久天堂av综合合色| 蜜桃av多人一区二区三区| 看中文字幕一区二区三区| 男女男精品视频网站免费看| 久久久老熟女一区二区三区 | 欧美亚洲国产另类在线观看| 三级黄色片一区二区三区| 亚洲国产熟女精品传媒| 天天爽夜夜爱| 国产亚洲欧美日韩综合一区在线观看 | 精品一区二区在线观看免费视频| 无遮挡呻吟娇喘视频免费播放 | 国产人与zoxxxx另类| 在线一区不卡网址观看| 中文字幕亚洲乱码熟女在线| 变态另类手机版av天堂看网| 国产精品ⅴ无码大片在线看 | 久久亚洲精品成人av| 波多野结衣一区二区三区视频| 隔壁人妻欲求不满中文字幕| 欧洲女人与公拘交酡视频| 成年午夜无码av片在线观看| 免费视频成人 国产精品网站| 精品久久人妻av中文字幕| 中文字幕日本人妻久久久免费| 精品乱码一区二区三区四区| 国产在线观看不卡网址| 亚洲中文字幕精品乱码2021| 无码国产精品一区二区高潮| 亚洲中文久久久久无码| 人妻蜜桃日产一本久道综合在线| 免费观看羞羞视频网站| 中文字幕天堂网| 午夜精品人妻中字字幕| 久久婷婷五月综合色高清| 久久久精品2019免费观看| 日本熟妇中文字幕三级| 色熟妇人妻久久中文字幕| a级毛片成人网站免费看| 午夜国产精品久久久久| 国产精品成人av一区二区三区|