国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

編譯原理教學改革的探討與實踐

2016-01-19 22:20付立平趙彩虹
黑龍江教育·理論與實踐 2015年1期
關(guān)鍵詞:匯編語言編譯器

付立平+趙彩虹

摘要: 本文針對編譯原理課程在教學過程中存在的問題,提出了“因材施教,注重實驗”的改革理念,并以編譯原理課程設(shè)計為依托進行了深入的探討與實踐。在介紹課程設(shè)計內(nèi)容和評分標準的基礎(chǔ)上,詳細討論了按編譯過程模塊劃分實驗內(nèi)容的創(chuàng)新性的評分標準,使學生在實驗過程中更好地理解編譯系統(tǒng)的理論知識,更容易將小型編譯器的系統(tǒng)實現(xiàn)。

關(guān)鍵詞:詞法分析;語法分析;四元式;匯編語言;編譯器

編譯原理課程是計算機專業(yè)中一門重要的專業(yè)理論課,是一門理論性和實踐性都很強的課程 。編譯原理課程是專門介紹如何將高級語言翻譯成低級語言的編譯程序的工作原理與方法的課程 。編譯原理作為一門比較難理解的課程,一直作為計算機科學與技術(shù)專業(yè)的必修課程,因為作為承接計算機硬件與軟件的關(guān)鍵技術(shù),對編譯原理課程的學習可以使學生加深對計算機的理解。因此,進一步深入探討編譯原理課程教學改革和實踐方法是非常有意義的。

一、編譯原理教學中存在的問題

(一)教學內(nèi)容理論性太強

課程中涉及許多理論知識,如形式語言與自動機、文法、語法制導等理論,這些理論抽象不好理解,學生學習過程中有很大的難度。編譯原理課程的重點是詞法分析和語法分析,這兩個部分的學習主要以理論為主。在教學過程中,對大量編譯理論進行教學,會使學生產(chǎn)生錯覺,認為編譯是一門理論課的學習,會做題就能學好編譯。這個錯誤的認識往往使很多學生忽略了編譯實踐性的重要性,這對課程的學習是非常不利的。課程中涉及到的LL(1),LR(1)等算法思想復雜,學生雖然學習過數(shù)據(jù)結(jié)構(gòu)的一些算法,但對于編譯課程中的算法還是感到難理解、難實現(xiàn),這種情況給后續(xù)實驗帶來一定的困擾。

(二)實驗內(nèi)容抽象

大部分編譯原理教材中,對小型編譯器這個實踐環(huán)節(jié)都是用PL/0語言進行描述的。PL/0語言具有結(jié)構(gòu)清晰、功能簡單、可讀性強的特點,是計算機高級語言的模擬語言。學生沒有實際接觸過PL/0語言,對用其描述的編譯原理實驗內(nèi)容雖然容易理解,但和實驗內(nèi)容所選的編程語言是脫節(jié)的,不利于學生上機實現(xiàn)。

(三)實驗內(nèi)容缺乏實踐性

許多編譯原理課程的實驗內(nèi)容是對現(xiàn)有編譯器進行改進,這樣的實驗內(nèi)容不能使學生充分理解編譯器的原理,使學生對編譯原理的學習停留在表面理論上,無法理解其精髓和內(nèi)核理論。

二、教學改革措施

(一)因材施教,注重實驗教學

在實際教學過程中,對不同專業(yè)、不同水平的學生可以采用不同的難易度教學。軟件工程專業(yè)和計算機科學技術(shù)專業(yè)的學生相比,就可以降低難度,注重實驗過程。這樣,就達到了因材施教,使學生在實驗過程中加深對理論的理解。

為解決上述教學內(nèi)容中的問題,本著本科教育以培養(yǎng)實用技術(shù)人才為主的主導思想,堅持理論與實踐緊密結(jié)合的原則,將編譯原理的實驗教學與課堂教學內(nèi)容、教學模式、教學方法等多方面進行結(jié)合,創(chuàng)新性地提出了以課程設(shè)計為依托的教學改革措施。

在充分研究制定編譯原理課程教學大綱及實驗大綱的基礎(chǔ)上,制定了大型綜合實驗的考核方案和實驗講義。提出了在計算機上做作業(yè)的理念,讓學生在學習理論的同時,親自上機將理論付諸實踐。從而有力地改善了高等教育理論與實踐嚴重脫節(jié)的情況,全面提高學生利用所學理論解決實際問題的能力、實際動手能力以及創(chuàng)新精神。使得學生將所學理論知識和實際應用相結(jié)合,讓理論、應用與實踐能夠相輔相承。編譯原理課程設(shè)計的開展,是教學改革的迫切需要,是全面提高學生素質(zhì)和培養(yǎng)創(chuàng)新人才的需要。

(二)課程設(shè)計的主要內(nèi)容

為配合編譯原理課程的教學,培養(yǎng)學生的實際工作能力,加深對課堂教學內(nèi)容的理解,通過設(shè)計一個小型編譯器,使學生更深刻地領(lǐng)會其基本概念、基本工作原理和實現(xiàn)方法,從而具有初步開發(fā)系統(tǒng)軟件和應用軟件的實際能力。

編譯器是將一種語言翻譯為另一種語言的計算機程序。一個現(xiàn)代編譯器的主要工作流程:源代碼(source code) → 預處理器 (preprocessor) → 編譯器 (compiler) → 匯編程序 (assembler) → 目標代碼 (object code) → 鏈接器 (Linker) → 可執(zhí)行程序 (executables)。編譯器的設(shè)計,深入地探討了編譯器設(shè)計方面的重要主題,包括詞法分析、語法分析、語法制導定義和語法制導翻譯、運行時刻環(huán)境、目標代碼生成、代碼優(yōu)化技術(shù)、并行性檢測以及過程間分析技術(shù),并強調(diào)編譯技術(shù)在軟件設(shè)計和開發(fā)中的廣泛應用。主要由語言基礎(chǔ)知識、詞法分析、語法分析、中間代碼生成、代碼優(yōu)化、目標代碼生成、符號表的構(gòu)造和運行時存儲空間的組織等部分組成。

具體內(nèi)容和要求如下:

1.掌握某種語言源程序的結(jié)構(gòu)及構(gòu)成規(guī)則。

2.掌握形式語言與自動機的概念,能構(gòu)造識別相應符號串的自動機。

3.掌握編譯程序的詞法分析程序的構(gòu)造。

4.掌握語法分析技術(shù),構(gòu)造相應的語法分析程序。

5.掌握語法制導生成中間語言的算法。

6.掌握編譯程序的代碼生成程序。

學生在對PL/0語言某一掃描的分析程序或主程序進行修改或擴充時,保存完整的源程序正本,只須在相應源文件副本上進行修改。然后再重新對修改的程序進行編譯,得到新的源文件和新的可執(zhí)行文件,并用來編譯用戶編制的含有增加或修改成分的新源程序。學生在詞法分析階段、語法分析階段、語義分析及代碼生成階段均要進行上機實踐,達到學以致用的目的。

(三)實驗考核標準

編譯原理課程設(shè)計共有8個實驗教學項目,學生完成所有實驗項目,就設(shè)計并實現(xiàn)了一個小型編譯器系統(tǒng)。

實驗一: PL/O源程序結(jié)構(gòu)及構(gòu)成規(guī)則,要求學生用高級語言編寫程序建立和訪問正文文件,并用PL/O語言編寫程序,擴充規(guī)則。

實驗二:構(gòu)造識別符號串的自動機,要求學生用高級語言實現(xiàn),分別編寫識別各類單詞的程序。

實驗三:詞法分析程序的構(gòu)造,要求以PL/O編譯程序為樣本,改編其總控程序和詞法分析程序,使其能對擴充后的PL/O語言進行詞法分析。

實驗四:語法分析程序的構(gòu)造,用高級語言編寫程序,使其能對算術(shù)表達式進行LL(1)、算符優(yōu)先的語法分析。

實驗五:掌握語法制導生成中間語言的算法,用高級語言編寫程序,使其能將任意表達式翻譯成逆波蘭式,并用語法制導的方法生成表達式的四元式序列。

實驗六:目標代碼生成,以PL/O編譯程序為樣本,改編總控制程序及代碼生成程序。

實驗七:綜合設(shè)計,通過結(jié)構(gòu)化設(shè)計方法將上述各種程序綜合為一個完整的軟件系統(tǒng),以窗口、菜單做界面進入各個子系統(tǒng),最終實現(xiàn)編譯器的實現(xiàn)。

(四)創(chuàng)新性的考核標準

根據(jù)近10年的編譯原理課程設(shè)計的考核經(jīng)驗,在考核學生實驗時,創(chuàng)新性的將7個實驗項目分3次考核。第一次考核包括實驗一、二、三,占總分的30%。第二次考核包括實驗四、五,占總分的30%。第三次考核包括實驗六、七,占總分的30%,另外可以增加學生出勤和報告的考察,占總分的10%。具體的評分原則與優(yōu)勢有以下三點:

1.要求學生選取一個PL/0小程序進行詞法分析,并且程序從文件中讀入,詞法分析結(jié)果存入到文件中,可以使學生練習編程中文件讀寫的操作。程序中每個單詞進行分類,可以使學生更好地理解和掌握自動機的思想,實現(xiàn)標識符自動機的構(gòu)造和無符號數(shù)自動機的構(gòu)造。符號表進行擴展,可以使學生更好地理解詞法分析的過程和原理。

2.要求學生對簡單的算術(shù)表達式進行語法分析,可以更好地理解LL1語法分析過程。學生對PL/0程序進行語法分析,可以更好地掌握語法分析器的構(gòu)造原理。

3.要求學生生成中間代碼和目標代碼,最終連接成一個完整的編譯器,使學生對編譯原理課程有了系統(tǒng)化的認識,將復雜的實驗項目概括為整體,更容易進行程序設(shè)計和實現(xiàn)。

針對目前編譯原理課程教學中存在的問題,提出了因材施教,注重實驗教學的改革舉措。根據(jù)編譯原理課程設(shè)計的主要內(nèi)容和具體要求,設(shè)置合理的實驗考核標準以及經(jīng)過多年實踐摸索總結(jié)出的具體評分標準。

參考文獻:

[1]黃劍鋒. “編譯原理”教學內(nèi)容探討[J].電腦知識與技術(shù),2006.

[2]黃賢英等. “編譯原理”課程的地位及教改思路[J].重慶科技學院學報(社會科學版),2005.

[3]陳意云等. 編譯原理(第2版)[M].高等教育出版社,2008.

■ ?編輯∕高 ?偉

猜你喜歡
匯編語言編譯器
高等學校計算機專業(yè)課程教學改革實踐——以匯編語言與接口技術(shù)課程為例
基于相異編譯器的安全計算機平臺交叉編譯環(huán)境設(shè)計
運行速度大突破華為《方舟編譯器》詳解
匯編語言與C語言的混合程序設(shè)計技術(shù)研究
提高《匯編語言程序設(shè)計》教學效率的思考與實踐
匯編語言在大學生能力培養(yǎng)中的研究與探索
Microchip為MPLAB XC系列專業(yè)版編譯器推出低成本可續(xù)訂包月許可證
試論匯編語言與C語言的混合程序設(shè)計技術(shù)
通用NC代碼編譯器的設(shè)計與實現(xiàn)
編譯器無關(guān)性編碼在微控制器中的優(yōu)勢