版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、本課題針對于“數(shù)據(jù)結(jié)構(gòu)”的教學(xué)現(xiàn)狀,規(guī)范了類C語言的定義,并在此基礎(chǔ)上設(shè)計實(shí)現(xiàn)了將類C語言源算法翻譯成可執(zhí)行的C語言目標(biāo)程序的編譯器——LC/C編譯器。定義的類C語言,其實(shí)是一個C語言的子集,但是擁有自身的詞法和語法規(guī)則。定義的類C語言,包括了一個高級語言所必須的如函數(shù)、指針、數(shù)組和數(shù)據(jù)類型等基本部分。定義類C語言的目標(biāo)是語言功能簡單、結(jié)構(gòu)清晰,能夠方便的應(yīng)用到“數(shù)據(jù)結(jié)構(gòu)”課程的教學(xué)中。在LC/C編譯器的設(shè)計中,包括了詞法分析、語法分析
2、、語義分析、中間代碼生成以及目標(biāo)代碼生成等編譯器設(shè)計所必要的部分。
本文實(shí)現(xiàn)的是一個教學(xué)語言及其編譯系統(tǒng)?,F(xiàn)在幾乎每本“數(shù)據(jù)結(jié)構(gòu)”課程的教材都采用了類C語言作為描述語言,但是現(xiàn)在的類C語言并沒有一種統(tǒng)一的定義。同時,到目前為止,還沒有一種編譯器可以直接編譯類C語言寫出的算法或程序。本文中的解決方法是將類C源算法通過LC/C編譯系統(tǒng),編譯得到可在VC++平臺上執(zhí)行的C語言源程序,通過運(yùn)行C語言源程序得到類C源算法的實(shí)驗(yàn)結(jié)果。本文
3、的主要工作是定義了一種規(guī)范的類C語言,并設(shè)計實(shí)現(xiàn)LC/C編譯器。
本文的主要內(nèi)容分為兩個部分:第一部分是對類C語言進(jìn)行定義,另一部分是LC/C編譯器的設(shè)計與實(shí)現(xiàn)。在類C語言的定義中,選取了一個C語言的核心子集,并對其做了若干的擴(kuò)充,以增強(qiáng)類C語言的描述功能。針對于LC/C編譯器的設(shè)計,編譯器的實(shí)現(xiàn)目標(biāo)是準(zhǔn)確率高,易于用于我們的“數(shù)據(jù)結(jié)構(gòu)”課程的教學(xué)中。同時,由于編譯器還擁有較大的擴(kuò)充空間,為了方便進(jìn)一步的擴(kuò)充,編譯器代碼程序規(guī)
4、模比較適度,沒有非常復(fù)雜的算法,編譯器的各個環(huán)節(jié)清晰,并在程序的關(guān)鍵部分加入了必要的注釋。
本文詳細(xì)闡述了編譯器的組織形式以及設(shè)計方法,并將編譯器分為三遍掃描來完成。第一遍掃描時對我們的類C算法進(jìn)行詞法分析,將詞法分析得到的輸出作為語法和語義檢查的輸入。第二遍掃描是語法、語義掃描。語法、語義掃描完成后,將處理輸出的符號作為代碼生成部分的輸入。第三遍掃描首先是掃描輸入,將單詞符號用四元組的形式表示出來,形成中間代碼,由代碼生成函
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)結(jié)構(gòu)鏈表c語言實(shí)現(xiàn)
- 譚浩強(qiáng)c語言_數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)結(jié)構(gòu)的c語言算法
- c語言與數(shù)據(jù)結(jié)構(gòu)考試大綱
- 數(shù)據(jù)結(jié)構(gòu)c語言版
- 數(shù)據(jù)結(jié)構(gòu)(c語言版)
- c語言與數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告
- c語言(數(shù)據(jù)結(jié)構(gòu))-文章編輯系統(tǒng)
- 清華嚴(yán)蔚敏《數(shù)據(jù)結(jié)構(gòu)》的全部代碼實(shí)現(xiàn)c語言
- 數(shù)據(jù)結(jié)構(gòu) --隊列 --- c++實(shí)現(xiàn)
- 《數(shù)據(jù)結(jié)構(gòu)(c語言版)》復(fù)習(xí)重點(diǎn)
- c語言數(shù)據(jù)結(jié)構(gòu)題集解答集
- 數(shù)據(jù)結(jié)構(gòu)-使用c語言朱戰(zhàn)立
- 數(shù)據(jù)結(jié)構(gòu)與c語言程序設(shè)計考試大綱
- 數(shù)據(jù)結(jié)構(gòu)c語言版期末題庫
- 數(shù)據(jù)結(jié)構(gòu)c語言經(jīng)典題庫含答案
- 數(shù)據(jù)結(jié)構(gòu)(c語言)【經(jīng)典題庫】含答案
- c語言數(shù)據(jù)結(jié)構(gòu)題集解答集
- 數(shù)據(jù)結(jié)構(gòu)與算法分析—c語言描述課后答案2
- 數(shù)據(jù)結(jié)構(gòu)c語言版課程設(shè)計
評論
0/150
提交評論