深入編譯原理課程改革論文
時間:2022-06-03 10:20:00
導語:深入編譯原理課程改革論文一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
編者按:本文主要從引言;課程實驗的重要性;課程實驗的設(shè)計;小結(jié)進行論述。其中,主要包括:編譯原理課程是計算機科學與技術(shù)專業(yè)的重要專業(yè)課、編譯原理是集理論與實踐于一體的一門課程、設(shè)計一組與理論內(nèi)容相配套的實驗是十分必要、掌握C語言文件的基本操作、編寫程序?qū)斎氲脑闯绦蜃址M行詞法分析、根據(jù)給定的文法編制調(diào)試遞歸下降分析程序、加深對語法分析中自頂向下分析法中的預測分析法的理解、利用預分析法對實驗一中詞法分析產(chǎn)生的符號進行語法分析、通過該實驗使學生加深對語法分析中自下而上分析法中的LR分析法的理解、編譯原理課程在計算機課程體系中的重要地等,具體請詳見。
【摘要】本文根據(jù)編譯原理課程的特點,結(jié)合自己的教學經(jīng)驗,探討了普通本科院校編譯原理的實踐教學內(nèi)容的設(shè)置,對普通高校更深入的教學改革和創(chuàng)新人才的培養(yǎng)具有一定的意義。
1引言
編譯原理課程是計算機科學與技術(shù)專業(yè)的重要專業(yè)課,它不僅能幫助學生更深入地了解計算機以及計算機程序的本質(zhì),還能提高學生進行問題求解的能力。本課程的理論性和實踐性都很強。國外和國內(nèi)分別從二十世紀六十和八十年代開始設(shè)置“編譯原理”課程,從文獻[1,2]兩本專著的內(nèi)容可以看出,幾十年來,“編譯原理”課程可以講授的內(nèi)容越來越多。設(shè)置該課程的目的在于系統(tǒng)地向?qū)W生講敘編譯程序設(shè)計的基本理論、編譯系統(tǒng)的結(jié)構(gòu)及編譯程序各部分的設(shè)計原理和實現(xiàn)技術(shù)。通過對這些知識的學習,使學生既能掌握編譯理論和編譯方法等方面的基本知識,又具有設(shè)計、分析、實現(xiàn)和維護編譯程序等各方面的綜合能力。該課程一般包括理論教學和實驗教學兩部分。編譯原理理論知識包括形式語言、有窮自動機等抽象內(nèi)容及大量的算法,較難理解和掌握,因此“編譯原理”的實驗教學對于深化學生對所學理論知識的理解,提高學生的理論聯(lián)系實踐的能力和編程水平具有重要的作用。
本文根據(jù)編譯原理課程的特點,結(jié)合自己的教學經(jīng)驗與我院的實際情況,探討了普通本科院校編譯原理的實踐教學內(nèi)容的設(shè)置。
2課程實驗的重要性
編譯原理是集理論與實踐于一體的一門課程,在理論課中所介紹的基本概念、原理、方法和算法,一定要通過實驗加以理解和吸收,才能能夠達到真正的理解、吸收和掌握。編譯原理課程實驗的內(nèi)容主要放在對詞法分析、語法分析和語義分析、中間代碼生成、中間代碼優(yōu)化和目標代碼生成的方法上。由于編譯原理課程有很強的理論性與實踐性,在學習時普遍感到內(nèi)容抽象,不易理解,掌握起來難度很大。因此通過教學實踐和對學生所做的調(diào)查表明,設(shè)計一組與理論內(nèi)容相配套的實驗是十分必要的。
3課程實驗的設(shè)計
針對編譯原理課程的特點及要求,共設(shè)置了五個實驗項目。這組實驗既和理論課內(nèi)容相輔相承,同時相互之間又互相關(guān)聯(lián),構(gòu)成了一個實驗整體。
實驗一
題目:消去C、C++程序中的注釋(2學時,必做)
實驗目的:掌握C語言文件的基本操作,消除源C語言程序中的注釋,為以后的編譯提供方便。
實驗要求:對給定的帶注釋的C語言源程序,利用該程序去掉注釋,輸出去除注釋的源程序。
實驗二
題目:詞法分析(必做,4學時)
目的:通過設(shè)計編制調(diào)試一個具體的詞法分析程序,加深對詞法分析原理的理解。并掌握在對程序設(shè)計語言源程序進行掃描過程中將其分解為各類單詞的詞法分析方法。
要求:編寫程序?qū)斎氲脑闯绦蜃址M行詞法分析,對符合下述文法描述的字符串,建立單詞符號表,不符合的字符串給出錯誤信息。
內(nèi)容:用擴充的BNF表示如下:
<標識符>→<字母>{<字母><數(shù)字>}
<整型常數(shù)>→<數(shù)字>{<數(shù)字>}
<算符>→+-*/()=
<字母>→abc…yABC…Y
<數(shù)字>→1234567890
實驗三
題目:遞歸下降分析法(4學時,選做)
目的:根據(jù)給定的文法編制調(diào)試遞歸下降分析程序,以便對任意輸入的符號串進行分析。本次實驗的目的主要是加深對遞歸下降分析法的理解。
要求:對給定的文法,利用遞歸下降分析法對任意輸入的符號串進行分析語法分析,對符合下述文法描述的字符串(表達式或賦值語句),給出中間代碼,不符合的字符串給出錯誤信息。轉(zhuǎn)中國論文聯(lián)盟-內(nèi)容:用擴充的BNF表示如下:
<賦值語句>→<標識符>=<表達式>
<表達式>→<表達式>{+<項>-<項>}<項>
<項>→<項>{*<因子>/<因子>}<因子>
<因子>→<標識符>(<表達式>)
即:S→i=E
E→E+TE-TT
T→T*FT/FF
F→i(E)
實驗四
題目:語法分析程序LL(1)(4學時,必做)
目的:通過該實驗使學生掌握描述語法規(guī)則的文法,以及加深對語法分析中自頂向下分析法中的預測分析法的理解。
要求:對給定的文法建立預測分析表,利用預分析法對實驗一中詞法分析產(chǎn)生的符號進行語法分析,對符合下述文法描述的字符串(表達式或賦值語句),給出中間代碼,不符合的字符串給出錯誤信息。
內(nèi)容:用擴充的BNF表示(同實驗三)。
實驗五
題目:語法分析程序LR(1)(4學時,必做)
目的:通過該實驗使學生加深對語法分析中自下而上分析法中的LR分析法的理解。
要求:對給定的文法手工建立LR(1)分析表;利用LR分析法對實驗二中詞法分析產(chǎn)生的符號進行語法分析,對符合實驗中文法描述的字符串(表達式或賦值語句)給出中間代碼;不符合的字符串給出錯誤信息。
內(nèi)容:用擴充的BNF表示(同實驗三)
4小結(jié)
編譯原理課程在計算機課程體系中的重要地位,決定了其課程建設(shè)和改革的長期性,對培養(yǎng)計算機專業(yè)的人才也有著重要的作用,探索該課程的教學方法,提高教學質(zhì)量是從事計算機教育工作者的必須重視的問題,也是一個永遠值得探討的問題,我們根據(jù)我系的實際情況合理的運用現(xiàn)代手段,綜合考慮多種因素,將該課程的教學改革推向更科學的發(fā)展道路。