• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    編譯原理教學(xué)改革的探討與實(shí)踐

    2016-01-19 22:20:59付立平趙彩虹
    關(guān)鍵詞:匯編語(yǔ)言編譯器

    付立平+趙彩虹

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

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

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

    一、編譯原理教學(xué)中存在的問(wèn)題

    (一)教學(xué)內(nèi)容理論性太強(qiáng)

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

    (二)實(shí)驗(yàn)內(nèi)容抽象

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

    (三)實(shí)驗(yàn)內(nèi)容缺乏實(shí)踐性

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

    二、教學(xué)改革措施

    (一)因材施教,注重實(shí)驗(yàn)教學(xué)

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

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

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

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

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

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

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

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

    2.掌握形式語(yǔ)言與自動(dòng)機(jī)的概念,能構(gòu)造識(shí)別相應(yīng)符號(hào)串的自動(dòng)機(jī)。

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

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

    5.掌握語(yǔ)法制導(dǎo)生成中間語(yǔ)言的算法。

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

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

    (三)實(shí)驗(yàn)考核標(biāo)準(zhǔn)

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

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

    實(shí)驗(yàn)二:構(gòu)造識(shí)別符號(hào)串的自動(dòng)機(jī),要求學(xué)生用高級(jí)語(yǔ)言實(shí)現(xiàn),分別編寫識(shí)別各類單詞的程序。

    實(shí)驗(yàn)三:詞法分析程序的構(gòu)造,要求以PL/O編譯程序?yàn)闃颖?,改編其總控程序和詞法分析程序,使其能對(duì)擴(kuò)充后的PL/O語(yǔ)言進(jìn)行詞法分析。

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

    實(shí)驗(yàn)五:掌握語(yǔ)法制導(dǎo)生成中間語(yǔ)言的算法,用高級(jí)語(yǔ)言編寫程序,使其能將任意表達(dá)式翻譯成逆波蘭式,并用語(yǔ)法制導(dǎo)的方法生成表達(dá)式的四元式序列。

    實(shí)驗(yàn)六:目標(biāo)代碼生成,以PL/O編譯程序?yàn)闃颖?,改編總控制程序及代碼生成程序。

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

    (四)創(chuàng)新性的考核標(biāo)準(zhǔn)

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

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

    2.要求學(xué)生對(duì)簡(jiǎn)單的算術(shù)表達(dá)式進(jìn)行語(yǔ)法分析,可以更好地理解LL1語(yǔ)法分析過(guò)程。學(xué)生對(duì)PL/0程序進(jìn)行語(yǔ)法分析,可以更好地掌握語(yǔ)法分析器的構(gòu)造原理。

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

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

    參考文獻(xiàn):

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

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

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

    ■ ?編輯∕高 ?偉

    猜你喜歡
    匯編語(yǔ)言編譯器
    高等學(xué)校計(jì)算機(jī)專業(yè)課程教學(xué)改革實(shí)踐——以匯編語(yǔ)言與接口技術(shù)課程為例
    基于相異編譯器的安全計(jì)算機(jī)平臺(tái)交叉編譯環(huán)境設(shè)計(jì)
    運(yùn)行速度大突破華為《方舟編譯器》詳解
    匯編語(yǔ)言與C語(yǔ)言的混合程序設(shè)計(jì)技術(shù)研究
    電子制作(2019年10期)2019-06-17 11:45:16
    提高《匯編語(yǔ)言程序設(shè)計(jì)》教學(xué)效率的思考與實(shí)踐
    Microchip為MPLAB XC系列專業(yè)版編譯器推出低成本可續(xù)訂包月許可證
    試論匯編語(yǔ)言與C語(yǔ)言的混合程序設(shè)計(jì)技術(shù)
    電子世界(2015年18期)2015-03-26 22:36:05
    通用NC代碼編譯器的設(shè)計(jì)與實(shí)現(xiàn)
    編譯器無(wú)關(guān)性編碼在微控制器中的優(yōu)勢(shì)
    基于ARM嵌入式平臺(tái)的x86譯碼SOC架構(gòu)設(shè)計(jì)
    台南县| 大冶市| 比如县| 富蕴县| 三门县| 新余市| 璧山县| 彩票| 堆龙德庆县| 沁源县| 芮城县| 石首市| 安乡县| 孟州市| 漳浦县| 梅河口市| 崇礼县| 宁武县| 温泉县| 兴文县| 渑池县| 绥棱县| 白银市| 沈丘县| 襄垣县| 上蔡县| 清水县| 定襄县| 会昌县| 元谋县| 改则县| 江西省| 浪卡子县| 泸溪县| 义马市| 新丰县| 吴川市| 通江县| 重庆市| 沂源县| 灵宝市|