資源描述:
《談述編譯課程教學(xué)相關(guān)工具資源論文》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、談述編譯課程教學(xué)相關(guān)工具資源論文編譯課程教學(xué)相關(guān)工具資源論文導(dǎo)讀:本論文是一篇關(guān)于編譯課程教學(xué)相關(guān)工具資源的優(yōu)秀論文范文,對(duì)正在寫有關(guān)于編譯論文的寫有一定的參考和指導(dǎo)作用,摘要:結(jié)合編譯課程教學(xué)特點(diǎn),收集當(dāng)前常用的編譯資源,并從編程語言和教學(xué)知識(shí)點(diǎn)兩個(gè)角度對(duì)這些資源進(jìn)行歸類分析;在此基礎(chǔ)上,探討如何利用這些資源開展編譯課程的課堂教學(xué)和實(shí)踐教學(xué)。 關(guān)鍵詞:編譯原理;工具資源;實(shí)踐教學(xué) 1.背景 編譯理論與技術(shù)是計(jì)算機(jī)科學(xué)中發(fā)展最迅速、最成熟的一個(gè)重要分支,程序設(shè)計(jì)語言和編譯的發(fā)展集中體現(xiàn)了計(jì)算機(jī)科學(xué)的重要成果與精華。編譯原理課程是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的專業(yè)
2、必修課程,主要講授程序設(shè)計(jì)語言編譯程序構(gòu)造的基本原理和策略。編譯程序的開發(fā)堪稱經(jīng)典理論和先進(jìn)技術(shù)緊密結(jié)合的典型示范,因此理論學(xué)習(xí)和實(shí)踐的緊密結(jié)合是本課程的突出特色。通過編譯程序構(gòu)造的理由,可以體驗(yàn)到如何從實(shí)際需求中提出理論理由、理論研究推動(dòng)技術(shù)進(jìn)步、運(yùn)用技術(shù)工具解決實(shí)際理由的過程?! ≡诮?jīng)典理論的支持下,在編譯程序的研制過程中,產(chǎn)生了非常豐富的工具資源。在這些工具資源的支持下,編譯程序開發(fā)的自動(dòng)化程度得到了顯著提高;相對(duì)其他軟件開發(fā)任務(wù),編譯程序開發(fā)在效率和質(zhì)量上的優(yōu)勢(shì)非常明顯。更為重要的是,編譯的理論和技術(shù)對(duì)于計(jì)算機(jī)科學(xué)中的其他領(lǐng)域也有重要的影響。一直以來,
3、編譯的理論和技術(shù)在程序設(shè)計(jì)語言的實(shí)現(xiàn)、針對(duì)計(jì)算機(jī)體系結(jié)構(gòu)的優(yōu)化、新的計(jì)算機(jī)體系結(jié)構(gòu)的設(shè)計(jì)、自然語言理解、X絡(luò)信息處理、X絡(luò)協(xié)議的分析與實(shí)現(xiàn)等領(lǐng)域都是不可或缺的。國外著名大學(xué)(如美國哥倫比亞大學(xué)、哈佛大學(xué)和斯坦福大學(xué)等)的編譯課程教學(xué)都特別重視相關(guān)的課程實(shí)踐項(xiàng)目。以哥倫比亞大學(xué)為例,在編譯原理的課程教學(xué)中開展了貫穿整個(gè)學(xué)期的課程實(shí)踐項(xiàng)目。在項(xiàng)目中,學(xué)生分成小組,自主設(shè)計(jì)并實(shí)現(xiàn)一個(gè)小的語言,而這個(gè)語言涉及了豐富的領(lǐng)域,包括量子計(jì)算、音樂合成、計(jì)算機(jī)圖形學(xué)、游戲、矩陣計(jì)算和很多其他領(lǐng)域。在這些教學(xué)實(shí)踐中,很多編譯開發(fā)工具都被應(yīng)用于各種案例中,包括ANTLR、LEX和
4、YACC等編譯領(lǐng)域經(jīng)典的開源軟件工具?! ⊥ㄟ^收集編譯資源(包括開源的編譯器和編譯程序開發(fā)工具),以及這些工具在計(jì)算機(jī)科學(xué)各領(lǐng)域中的成功應(yīng)用案例,可以為開展案例式教學(xué)改革打下堅(jiān)實(shí)的基礎(chǔ)。筆者收集了編譯領(lǐng)域常用的開源軟件工具及其應(yīng)用案例,并對(duì)其進(jìn)行歸類分析和整理,以形成支撐編譯課堂教學(xué)和實(shí)踐教學(xué)的資源庫?;谠撡Y源庫,在今后的編譯原理課程教學(xué)中,可以通過采取基于案例的教學(xué)策略,形象地向?qū)W生展示編譯研究中“經(jīng)典理論和先進(jìn)技術(shù)有機(jī)結(jié)合”的突出特點(diǎn),使學(xué)生能夠通過具體的案例切實(shí)體驗(yàn)編譯經(jīng)典理論在各領(lǐng)域的重要作用?! ?.編譯資源分析 在幾十年的研究過程中,編譯領(lǐng)域已
5、經(jīng)形成了很多編譯資源,如LEX、YACC、JavaCC為代表的編譯模塊開發(fā)工具,以及精簡(jiǎn)語言編譯器、產(chǎn)品級(jí)開源編譯器等。這些工具實(shí)現(xiàn)了從Ada、C、Pascal等面向過程語言到Java、C++等面向?qū)ο笳Z言的編譯程序,覆蓋了文法、詞法分析、語法分析、中間代碼生成、代碼優(yōu)化、目標(biāo)代碼生成等編譯原理教學(xué)中所有的知識(shí)點(diǎn)。基于這些工具也開發(fā)了SQL、XML分析等計(jì)算機(jī)科學(xué)其他領(lǐng)域的應(yīng)用。下面,筆者從生成語言、知識(shí)點(diǎn)覆蓋等角度對(duì)互聯(lián)X上的編譯資源進(jìn)行整理分析。 2.1從編程語言的角度分析 從編譯資源所面向的程序語言來看,從面向特殊領(lǐng)域的Fortran語言、DSP語言
6、,面向過程的C語言、Pascal語言,到常見的面向?qū)ο蟮腏ava語言、C++、C#語言等,均有種類繁多的分析器、生成器、目標(biāo)代碼優(yōu)化器等可用于案例教學(xué)的編譯資源。 1)面向過程語言的編譯資源?! ∵@方面的編譯資源主要針對(duì)C語言和Pascal語言。C語言作為最被廣泛使用的編程語言,也擁有最多的編譯工具資源,如YACC、LEX、ACCENT、BANSHEE等經(jīng)典工具均可用來產(chǎn)生C語言編程的分析器、生成器。其中,最知名的C語言剖析器生成器YACC已經(jīng)在各種場(chǎng)合得到了廣泛應(yīng)用。YACC也是常用于編譯課程教學(xué)的工具,它采用LALR(1)語法分析策略,最初由AT&T為U
7、nix操作系統(tǒng)開發(fā),在漫長(zhǎng)的演變中產(chǎn)生了如BerkeleyYACC、GNUBISON、MKSYACC和AbraxasYACC等變種版本,也出現(xiàn)了AYACC、YACC++等面向ADA、c++其他語言的編譯器。由于所產(chǎn)生的剖析器需要詞法分析器配合,因此YACC經(jīng)常和詞法分析器產(chǎn)生器LEX一起使用,目前已有IEEE相關(guān)標(biāo)準(zhǔn)對(duì)YACC和LEX的功能進(jìn)行了標(biāo)準(zhǔn)化描述。此外,ACCENT、BEG、CKIT等面向c語言的編譯資源也可以用于編譯課程教學(xué)。據(jù)我們初步統(tǒng)計(jì),目前互聯(lián)X上可用的針對(duì)c語言的編譯資源多達(dá)20余種,涵蓋了詞法分析、語法分析、前端、后端生成器、代碼優(yōu)化、程
8、序分析等編譯過程中的各個(gè)環(huán)節(jié)?! ?)