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

        ?

        “編譯原理”實(shí)驗(yàn)教學(xué)建設(shè)探討

        2018-04-24 05:01:00崔光宇
        無(wú)線互聯(lián)科技 2018年4期
        關(guān)鍵詞:編譯原理實(shí)驗(yàn)教學(xué)建設(shè)

        崔光宇

        摘 要:文章介紹了“編譯原理”在計(jì)算機(jī)專業(yè)中的重要地位,分析了學(xué)生學(xué)習(xí)該課程過(guò)程中存在的難點(diǎn)。提出了對(duì)“編譯原理”課程實(shí)驗(yàn)教學(xué)建設(shè)的一些想法和建議,并分析了這些變化對(duì)學(xué)生產(chǎn)生的影響。

        關(guān)鍵詞:編譯原理;實(shí)驗(yàn)教學(xué);建設(shè)

        “編譯原理”是計(jì)算機(jī)專業(yè)非常重要的一門(mén)專業(yè)課,在計(jì)算機(jī)教學(xué)中有著舉足輕重的地位。同時(shí),編譯系統(tǒng)是整個(gè)計(jì)算機(jī)系統(tǒng)中極其重要的系統(tǒng)軟件,它的作用是把計(jì)算機(jī)高級(jí)語(yǔ)言最終翻譯成等價(jià)的計(jì)算機(jī)指令,從而保證高級(jí)程序設(shè)計(jì)語(yǔ)言順利運(yùn)行。所以,“編譯原理”是計(jì)算機(jī)科學(xué)中基本研究?jī)?nèi)容之一。

        “編譯原理”課程主要介紹了編譯的基本原理、技術(shù)以及實(shí)現(xiàn)的方法。主要包括詞法分析、語(yǔ)法分析、語(yǔ)義分析、中間代碼生成、代碼優(yōu)化、目標(biāo)代碼生成等六大部分。通過(guò)以上學(xué)習(xí),使學(xué)生系統(tǒng)掌握設(shè)計(jì)一般編譯器的原理和方法,也能夠同時(shí)加深學(xué)生對(duì)高級(jí)語(yǔ)言的認(rèn)識(shí),提高學(xué)生的綜合編程水平和算法設(shè)計(jì)能力。

        “編譯原理”是計(jì)算機(jī)專業(yè)中最難的一門(mén)專業(yè)課之一,在理論上要求學(xué)生掌握形式語(yǔ)言和自動(dòng)機(jī)等比較抽象的概念,在技術(shù)上要求學(xué)生能熟練利用各種方法設(shè)計(jì)程序,因此對(duì)學(xué)生的各方面水平要求比較高,對(duì)學(xué)生來(lái)說(shuō)具有很大的挑戰(zhàn)性。

        1 “編譯原理”課程教學(xué)現(xiàn)狀

        “編譯原理”課程目前在教學(xué)中出現(xiàn)的問(wèn)題主要有以下幾方面。

        (1)編譯課程內(nèi)容抽象,采用以往灌輸式的教學(xué)模式,教學(xué)方法單一,無(wú)法讓學(xué)生提起興趣?!熬幾g原理”課程中的概念和算法大都是以符號(hào)、自動(dòng)機(jī)、屬性文法等抽象度很高的形式描述,光看教材會(huì)難免覺(jué)得枯燥無(wú)味。如果教師還是用以往的方式灌輸式教學(xué),那么因?yàn)樯鲜龅脑?,在整個(gè)教學(xué)中,學(xué)生學(xué)習(xí)知識(shí)很被動(dòng),學(xué)習(xí)知識(shí)缺乏動(dòng)力,造成課難學(xué)的印象。

        (2)學(xué)生學(xué)習(xí)過(guò)程中常常會(huì)認(rèn)為編譯在開(kāi)發(fā)軟件過(guò)程中應(yīng)用不多,因此也很難提起學(xué)生的主動(dòng)性。“編譯原理”這門(mén)課程包含的知識(shí)和算法,都有很高的難度。與此同時(shí),學(xué)生覺(jué)得教材中的理論知識(shí)和算法應(yīng)用性不強(qiáng)。編譯原理中很多算法,比如LL和LR語(yǔ)法分析算法,代碼優(yōu)化技術(shù)等,只有在編譯開(kāi)發(fā)中能用到,而學(xué)生也不會(huì)從事這方面的研發(fā),加上實(shí)現(xiàn)難度過(guò)大,會(huì)給學(xué)生造成難學(xué)的印象。

        (3)學(xué)生之前學(xué)習(xí)高級(jí)語(yǔ)言程序設(shè)計(jì),數(shù)據(jù)結(jié)構(gòu)等課程掌握程度不好,也會(huì)影響學(xué)生的學(xué)習(xí)情況?!熬幾g原理”是大三的課程,它的先修課程一般在大一大二學(xué)習(xí),如果學(xué)生之前就沒(méi)有很好的學(xué)習(xí)相關(guān)知識(shí),就會(huì)感到學(xué)習(xí)非常困難,比如數(shù)據(jù)結(jié)構(gòu)中的“?!?,如果不了解,就會(huì)直接影響語(yǔ)法分析的理解和上機(jī)操作。

        (4)課時(shí)有限,有時(shí)剛上完課,學(xué)期就結(jié)束了。由于高校的改革,很多課程都遭到壓縮,給教學(xué)帶來(lái)了一定的難度。很多高校在實(shí)驗(yàn)課上進(jìn)行了壓縮,僅僅學(xué)習(xí)編譯的理論和算法,沒(méi)有相應(yīng)的實(shí)踐,使得學(xué)生無(wú)法將理論具體、形象化,就難以更好地理解運(yùn)用,更難說(shuō)全面融會(huì)貫通整個(gè)編譯器。

        以上問(wèn)題的焦點(diǎn)在于,本身編譯就已經(jīng)很抽象了,學(xué)生晦澀難懂,如果再?zèng)]有相應(yīng)的實(shí)驗(yàn)做支撐,難免會(huì)讓學(xué)生有難學(xué)的印象,從而進(jìn)一步影響編譯課程的教學(xué)質(zhì)量。因此,在理論學(xué)習(xí)的同時(shí),如何在有限的時(shí)間做好相關(guān)的實(shí)驗(yàn)教學(xué),使得整個(gè)教學(xué)過(guò)程鮮活起來(lái),讓學(xué)生真正認(rèn)識(shí)到編譯是計(jì)算機(jī)的重要課程,必須學(xué)好,對(duì)以后算法設(shè)計(jì),程序設(shè)計(jì)都會(huì)帶來(lái)巨大幫助,是教學(xué)中必須面對(duì)并解決的問(wèn)題。

        近年來(lái),國(guó)內(nèi)學(xué)校在“編譯原理”教學(xué)方面也積累了大量的經(jīng)驗(yàn),上海交通大學(xué)張冬茉等[1]提出了現(xiàn)階段進(jìn)行大型“編譯原理”課程設(shè)計(jì)的教學(xué)模式和方法,使學(xué)生能夠通過(guò)實(shí)現(xiàn)一個(gè)實(shí)用的編譯系統(tǒng),提高對(duì)編譯原理的認(rèn)識(shí)。合肥師范學(xué)院祖弦等[2]針對(duì)每部分的核心知識(shí)點(diǎn),設(shè)計(jì)實(shí)驗(yàn)教學(xué)實(shí)例,探討在實(shí)驗(yàn)案例驅(qū)動(dòng)下的“編譯原理”課程教學(xué)創(chuàng)新方案。

        2 實(shí)驗(yàn)教學(xué)建設(shè)

        “編譯原理”課程理論性很強(qiáng),實(shí)踐性更強(qiáng),是兩者相結(jié)合的課程。理論部分抽象、難懂。所以,在理綸學(xué)習(xí)過(guò)程中,適當(dāng)?shù)卮┎鍖?shí)驗(yàn),可以加強(qiáng)學(xué)生對(duì)重要知識(shí)點(diǎn)的認(rèn)識(shí)和理解,同時(shí)也可以很好地培養(yǎng)學(xué)生的編程能力。實(shí)驗(yàn)總體分為兩部分:(1)對(duì)“編譯原理”中每一部分重要方法做相應(yīng)的實(shí)驗(yàn)。(2)最終整合這些部分,成為一個(gè)簡(jiǎn)單的編譯器。

        2.1 詞法分析器

        使用DOS環(huán)境輸入字符串序列(以‘#作為結(jié)束標(biāo)志)作為源程序,調(diào)用詞法掃描程序?qū)⒆址远M的形式進(jìn)行輸出(若有不屬于語(yǔ)言單詞的符號(hào)出現(xiàn),則做出錯(cuò)處理),詞法掃描程序包括了對(duì)源程序的預(yù)處理(忽略無(wú)用空格、回車(chē)符,換行符等空白符),以及對(duì)單詞的識(shí)別和分類,以形成(單詞種別,單詞自身的值)形式的二元組,并將用戶自定義變量信息存入程序變量信息表中。

        2.2 語(yǔ)法分析

        使用自上而下的遞歸下降分析法,從文法開(kāi)始符號(hào)出發(fā),根據(jù)文法規(guī)則正向推導(dǎo)出給定的句子。根據(jù)遞歸下降的分析函數(shù)編寫(xiě)規(guī)則來(lái)編寫(xiě)相應(yīng)函數(shù),在各個(gè)函數(shù)分析過(guò)程中調(diào)用詞法分析程序中掃描程序,發(fā)出“取下一個(gè)單詞”的命令,從而取得下一個(gè)單詞符號(hào)作語(yǔ)法分析。

        2.3 語(yǔ)義分析和中間代碼生成

        在語(yǔ)義分析和中間代碼生成的階段,采用語(yǔ)法制導(dǎo)翻譯方法,用屬性文法作為工具來(lái)描述程序設(shè)計(jì)語(yǔ)言的語(yǔ)義。首先審查詞法分析得到的每個(gè)語(yǔ)法結(jié)構(gòu)的靜態(tài)語(yǔ)義,如果靜態(tài)語(yǔ)義正確再生成中間代碼(課設(shè)中預(yù)采用四元式)。

        2.4 代碼優(yōu)化

        代碼優(yōu)化部分,設(shè)計(jì)開(kāi)發(fā)一個(gè)代碼優(yōu)化程序,將上一步出現(xiàn)的四元式,進(jìn)行包括局部、循環(huán)和全局等優(yōu)化,學(xué)生將優(yōu)化后的四元式和優(yōu)化前的作比較,了解優(yōu)化在編譯中的重要作用。

        2.5 目標(biāo)代碼生成

        目標(biāo)代碼生成是編譯的最后一個(gè)階段,根據(jù)符號(hào)表等信息,將中間代碼轉(zhuǎn)化成為等價(jià)的目標(biāo)代碼。為了減少訪問(wèn)計(jì)算機(jī)內(nèi)存的次數(shù),應(yīng)盡可能把基本塊內(nèi)仍然要被引用的變量放到寄存器中,而把基本塊內(nèi)不再使用的變量所占的寄存器釋放。為了隨時(shí)掌握寄存器使用情況和變量的存放情況,以便生成合適的目標(biāo)代碼,可以建立寄存器描述表以及變量地址描述表。

        2.6 簡(jiǎn)單編譯器的設(shè)計(jì)

        以上5組實(shí)驗(yàn)對(duì)于編譯過(guò)程中的六大部分重點(diǎn)方法進(jìn)行了實(shí)驗(yàn),由于內(nèi)容較為分散,大部分學(xué)生不能很好地了解編譯器每個(gè)部分是怎么在整個(gè)編譯系統(tǒng)中達(dá)到協(xié)調(diào)工作的。經(jīng)過(guò)一個(gè)學(xué)期的學(xué)習(xí),除了在平時(shí)上課過(guò)程中設(shè)計(jì)對(duì)于每一部分重要知識(shí)點(diǎn)的單獨(dú)編程,還將開(kāi)設(shè)四學(xué)時(shí)的集中課程設(shè)計(jì)。目的是為了設(shè)計(jì)一個(gè)比較完整的的編譯器。題目較為開(kāi)放(見(jiàn)圖1),是將一個(gè)高級(jí)語(yǔ)言的一個(gè)語(yǔ)句翻譯成最終的目標(biāo)代碼的過(guò)程,學(xué)生可以根據(jù)學(xué)生自身情況自行設(shè)計(jì)一個(gè)適合自己程度的做法:基礎(chǔ)較差的同學(xué),可以針對(duì)題目設(shè)計(jì)一些較為基礎(chǔ)的算法,而基礎(chǔ)較好的同學(xué)可以將編譯中諸多算法融入編譯器中,最終生成一個(gè)較為復(fù)雜的編譯器。通過(guò)這個(gè)設(shè)計(jì),能夠使學(xué)生系統(tǒng)地理解編譯的整個(gè)過(guò)程。由于現(xiàn)在大部分計(jì)算機(jī)系同學(xué)都配有電腦,加上本身編譯課程時(shí)間比較緊張,這次課程設(shè)計(jì)的大部分內(nèi)容學(xué)生可以自行實(shí)踐并上交實(shí)驗(yàn)報(bào)告。

        在做以上實(shí)驗(yàn)過(guò)程中,可以適當(dāng)?shù)刈龇纸M,讓組內(nèi)同學(xué)進(jìn)行實(shí)驗(yàn)內(nèi)容討論,研究出實(shí)驗(yàn)設(shè)計(jì)方案,并設(shè)計(jì)程序,以小組為單位上交實(shí)驗(yàn)報(bào)告,提高學(xué)生團(tuán)隊(duì)協(xié)作能力。

        3 結(jié)語(yǔ)

        在“編譯原理”實(shí)驗(yàn)教學(xué)中,對(duì)這門(mén)課程實(shí)驗(yàn)內(nèi)容以及形式做了以上改革,收到了一定的成效。這次改革最為主要的是讓學(xué)生把編譯器各個(gè)部分的實(shí)驗(yàn)整合為一個(gè)編譯器,把編譯所學(xué)的內(nèi)容能夠融會(huì)貫通,更好地學(xué)習(xí)了“編譯原理”這門(mén)課程,同時(shí)在一定程度上培養(yǎng)了學(xué)生編程能力以及團(tuán)隊(duì)協(xié)作能力。

        [參考文獻(xiàn)]

        [1]張冬茉,方習(xí)文.編譯原理課程設(shè)計(jì)的教學(xué)實(shí)踐和改革[J].實(shí)驗(yàn)室研究與探索,2012(11):134-137.

        [2]祖弦,朱強(qiáng),謝飛.實(shí)驗(yàn)案例驅(qū)動(dòng)的編譯原理教學(xué)改革探討[J].合肥師范學(xué)院學(xué)報(bào),2017(3):74-76.

        猜你喜歡
        編譯原理實(shí)驗(yàn)教學(xué)建設(shè)
        小議初中化學(xué)演示實(shí)驗(yàn)教學(xué)
        甘肅教育(2020年4期)2020-09-11 07:42:36
        電容器的實(shí)驗(yàn)教學(xué)
        物理之友(2020年12期)2020-07-16 05:39:20
        對(duì)初中化學(xué)實(shí)驗(yàn)教學(xué)的認(rèn)識(shí)和體會(huì)
        甘肅教育(2020年8期)2020-06-11 06:10:04
        自貿(mào)區(qū)建設(shè)再出發(fā)
        基于IUV的4G承載網(wǎng)的模擬建設(shè)
        電子制作(2018年14期)2018-08-21 01:38:28
        《人大建設(shè)》伴我成長(zhǎng)
        保障房建設(shè)更快了
        民生周刊(2017年19期)2017-10-25 10:29:03
        軟件學(xué)院編譯原理實(shí)踐課程的教學(xué)探索
        基于MOOC的編譯原理分階段課程教學(xué)研究
        幾何體在高中數(shù)學(xué)實(shí)驗(yàn)教學(xué)中的應(yīng)用
        天天爽夜夜爱| 青青草视频在线观看精品在线| 人妻制服丝袜中文字幕| 不卡一卡二卡三乱码免费网站| 国产乱理伦片在线观看| 激情 一区二区| 精品黄色国产一区二区| 97人伦影院a级毛片| 亚洲学生妹高清av| 69av视频在线| av成人综合在线资源站| 午夜天堂精品久久久久| 伴郎粗大的内捧猛烈进出视频观看 | 成人影片麻豆国产影片免费观看| 国产97在线 | 亚洲| 亚洲AV无码一区二区三区ba | 国产精品毛片一区二区三区| 色综合无码av网站| 国产精品亚洲一区二区极品| 国产精品亚洲一区二区麻豆| 亚洲a∨无码男人的天堂| 色丁香色婷婷| 免费啪啪av人妻一区二区| 国产一区二区三区视频网| 午夜无码片在线观看影视| 91热久久免费精品99| 日本女同av在线播放| 免费看又色又爽又黄的国产软件| 蜜臀av免费一区二区三区| 久久久婷婷综合亚洲av| 中文字幕乱码亚洲无限码| 亚洲午夜精品a片久久www慈禧| 欧美精品在线一区| 久久亚洲中文字幕精品一区四| 亚洲第一幕一区二区三区在线观看| 国产精品 人妻互换| 国产精品久久久久久久久免费观看| 国产精品女同二区五区九区| 中文人妻av久久人妻水蜜桃| 免费夜色污私人影院在线观看 | 成人丝袜激情一区二区|