下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)一源程序的預(yù)處理及詞法分析程序設(shè)計(jì)(6學(xué)時(shí))一、實(shí)驗(yàn)?zāi)康脑O(shè)計(jì)并實(shí)現(xiàn)一個(gè)包含預(yù)處理功能的詞法分析程序,加深對(duì)編譯中詞法分析過程的 理解。二、實(shí)驗(yàn)要求1、實(shí)現(xiàn)預(yù)處理功能源程序中可能包含有對(duì)程序執(zhí)行無意義的符號(hào),要求將其剔除。首先編制一個(gè)源程序的輸入過程,從鍵盤、文件或文本框輸入若干行語句,依次存 入輸入緩沖區(qū)(字符型數(shù)據(jù));然后編制一個(gè)預(yù)處理子程序,去掉輸入串中的回車符、 換行符和跳格符等編輯性文字;把多個(gè)空白符合并為一個(gè);去掉注釋。2、實(shí)現(xiàn)詞法分析功能輸入:所給文法的源程序字符串。輸出:二元組(syn,token或sum)構(gòu)成的序列。其中,syn為單詞種別碼。Token為存放的單詞自身字符串
2、。Sum為整型常量。具體實(shí)現(xiàn)時(shí),可以將單詞的二元組用結(jié)構(gòu)進(jìn)行處理。3、待分析的C語言子集的詞法1)關(guān)鍵字main if then while do static int double struct break elselong switch case typedef char return const float shortcontinue for void default sizeof do所有的關(guān)鍵字都是小寫。2)運(yùn)算符和界符+ - * / : := = = ; ( ) #3)其他標(biāo)記ID和NUM通過以下正規(guī)式定義其他標(biāo)記:IDf letter(letter|digit)*NUMf dig
3、it digit*lettera| |z|A| |Zdigitf 0| |94)空格由空白、制表符和換行符組成空格一般用來分隔ID、NUM、專用符號(hào)和關(guān)鍵字,詞法分析階段通常被忽略。4、各種單詞符號(hào)對(duì)應(yīng)的種別碼表1 各種單詞符號(hào)的種別碼單詞符號(hào)種別碼單詞符號(hào)種別碼main1;41if2(42then3)43while4int7do5double8static6struct9ID25break10NUM26else11+27long12-28switch13*29case14/30typedef15:31char16:=32return1733const1834float1936continue
4、21=37for22=38void23default39sizeof24do40#05、詞法分析程序的主要算法思想算法的基本任務(wù)是從字符串表示的源程序中識(shí)別出具有獨(dú)立意義的單詞符號(hào),其基 本思想是根據(jù)掃描到的單詞符號(hào)的第一個(gè)字符的種類,拼出相應(yīng)的單詞符號(hào)。主程序示意圖主程序示意圖如圖1所示。圖1詞法分析主程序示意圖其中初值包括如下兩方面:(1)關(guān)鍵字表初值關(guān)鍵字作為特殊標(biāo)識(shí)符處理,把它們預(yù)先安排在一張表格中(稱為關(guān)鍵字表),當(dāng)掃 描程序識(shí)別出標(biāo)識(shí)符時(shí),查關(guān)鍵字表。如能查到匹配的單詞,則該單詞為關(guān)鍵字,否則為一般標(biāo)識(shí)符。關(guān)鍵字表為一個(gè)字符串?dāng)?shù)組,其描述如下:char *rwtab27 = mai
5、n, if”, then”, while”, do”, ”static”, ”int”,”double, “struct”, “break”, ”else”,”long”,”switch”, ”case”,”typedef”,”c har, return”,”const”,”float”,”short,continue”, ”for”,”void”,”defa ult”,”sizeof,”do”;(2)程序中需要用到的主要變量:syn,token和sum。掃描子程序的算法思想首先設(shè)置三個(gè)變量:token用來存放構(gòu)成單詞符號(hào)的字符串;sum用來存放整型單 詞;syn用來存放單詞符號(hào)的種別編碼。掃描子程序主要部分流程如圖2所示。圖2詞法分析程序流程三、實(shí)驗(yàn)報(bào)告要
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 5G+急救響應(yīng)效率:急危重癥救治時(shí)間縮短策略
- 5G+AI在基層醫(yī)聯(lián)體精準(zhǔn)診療應(yīng)用
- 3D打印行業(yè)職業(yè)性皮膚病的風(fēng)險(xiǎn)評(píng)估
- 2025年雅安市名山區(qū)茶城建設(shè)工程公司招聘備考題庫完整參考答案詳解
- 2025年黃山太平經(jīng)濟(jì)開發(fā)區(qū)投資有限公司公開招聘高管人員備考題庫及參考答案詳解
- 高中英語詞匯教學(xué)中詞塊理論的情境創(chuàng)設(shè)與教學(xué)效果分析教學(xué)研究課題報(bào)告
- 2025年浙江大學(xué)杭州國際科創(chuàng)中心吳新科教授課題組招聘備考題庫及完整答案詳解1套
- 2026年度化州市衛(wèi)生健康系統(tǒng)赴高?,F(xiàn)場招聘事業(yè)單位工作人員備考題庫參考答案詳解
- 2025年某物業(yè)國企單位招聘外包制人員備考題庫附答案詳解
- 2025年福建圖書聯(lián)合發(fā)行有限責(zé)任公司招聘備考題庫及完整答案詳解1套
- 沃柑銷售合同范本
- PS板繪課件教學(xué)課件
- 2025年居家養(yǎng)老助餐合同協(xié)議
- 公安車輛盤查課件
- 生產(chǎn)性采購管理制度(3篇)
- 2026年遠(yuǎn)程超聲診斷系統(tǒng)服務(wù)合同
- 國壽臻耀傳家終身壽險(xiǎn)(分紅型)(2025版)產(chǎn)品說明書
- 高考語文復(fù)習(xí)二元思辨作文結(jié)構(gòu)模式+課件42張
- GB/T 33248-2016印刷技術(shù)膠印橡皮布
- GB/T 18487.1-2015電動(dòng)汽車傳導(dǎo)充電系統(tǒng)第1部分:通用要求
- 高三期末考試心態(tài)調(diào)整和考試技巧指導(dǎo)課件
評(píng)論
0/150
提交評(píng)論