




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
實(shí)驗(yàn)一詞法分析程序的設(shè)計(jì)與實(shí)現(xiàn)一、實(shí)驗(yàn)內(nèi)容【實(shí)驗(yàn)?zāi)康暮鸵蟆吭O(shè)計(jì)、編制、調(diào)試一個(gè)具體的詞法分析程序,加深對(duì)詞法分析原理的理解。【實(shí)驗(yàn)內(nèi)容】通過(guò)對(duì)PL/0詞法分析程序(GETSYM)的分析,并在此基礎(chǔ)上按照附錄A中給出的PL/0語(yǔ)言的語(yǔ)法描述,編寫一個(gè)PL/0語(yǔ)言的詞法分析程序。此程序應(yīng)具有如下功能:輸入為字符串(待進(jìn)行詞法分析的源程序),輸出為單詞串,即由(單詞、類別)所組成的二元組序列。有一定檢查錯(cuò)誤的能力,例如發(fā)現(xiàn)2A這類不能作為單詞的字符串。【實(shí)驗(yàn)環(huán)境】WindowsPC機(jī),任何語(yǔ)言。【提交內(nèi)容】提交實(shí)驗(yàn)報(bào)告,報(bào)告內(nèi)容如下:目的要求、算法描述、程序結(jié)構(gòu)、主要變量名說(shuō)明、程序清單、調(diào)試情況、設(shè)計(jì)技巧、心得體會(huì)。提交源程序和可執(zhí)行文件。【學(xué)時(shí)】4課時(shí)。二、實(shí)驗(yàn)說(shuō)明詞法分析程序的任務(wù)就是掃描源程序,依據(jù)詞法規(guī)則識(shí)別單詞并報(bào)告構(gòu)詞錯(cuò)誤信息。通常將單詞分為5種類型。1)基本字:也叫關(guān)鍵字、保留字,是程序設(shè)計(jì)語(yǔ)言用來(lái)表示特定語(yǔ)法含義的一種標(biāo)識(shí)符,如if、begin等。2)運(yùn)算符:如+、-、*、/、:=、>、<等。3)標(biāo)識(shí)符:用戶定義的變量名、常數(shù)名、函數(shù)名等。不同的高級(jí)程序設(shè)計(jì)語(yǔ)言對(duì)關(guān)鍵字是否可以作為普通標(biāo)識(shí)符有不同的要求,有的語(yǔ)言允許程序員使用關(guān)鍵字作為普通標(biāo)識(shí)符,有的程序設(shè)計(jì)語(yǔ)言則不允許程序員將關(guān)鍵字用著普通標(biāo)識(shí)符(如C/C++、Pascal等都不允許)。在允許程序員將關(guān)鍵字用作普通標(biāo)識(shí)符的程序設(shè)計(jì)語(yǔ)言的編譯器中,編譯器必須具備能夠區(qū)分一個(gè)標(biāo)識(shí)符到底是關(guān)鍵字還是普通標(biāo)識(shí)符的功能。4)常數(shù):如23、6等。5)界符:如“,”、“;”、“(”、“)”、“.”等。注意事項(xiàng)空格的作用僅僅是將一個(gè)個(gè)單詞分割開(kāi)來(lái),源程序中的空格不具備別的語(yǔ)法意義,在語(yǔ)法分析及其后續(xù)階段都沒(méi)有任何作用,因此,詞法分析的另一個(gè)工作是過(guò)濾空格。注釋對(duì)整個(gè)源程序的編譯也沒(méi)有任何語(yǔ)法意義,只是為了便于閱讀和交流,因此,有的編譯程序的詞法分析程序也負(fù)責(zé)過(guò)濾注釋。輸出的單詞符號(hào)采用[單詞類別,單詞自身值]的二元組形式來(lái)表示。為了使掃描程序盡可能的高效,在進(jìn)行詞法分析程序的設(shè)計(jì)和實(shí)現(xiàn)時(shí)還需十分注意掃描程序結(jié)構(gòu)的實(shí)際細(xì)節(jié)問(wèn)題。用于間隔單詞的空格和我們通常所說(shuō)的鍵盤上的空格是不同的,這里的空格指的是所有能引起一個(gè)單詞結(jié)束的字符,它們包括空格、制表或回車換行符。a*(b+c)這樣的沒(méi)有空格間隔的情況時(shí)要正確地識(shí)別出所有的單詞123ab這樣的字符串時(shí),一般字符串的首字符必須為字母,不要將123識(shí)別為數(shù)字,將ab識(shí)別為標(biāo)識(shí)符轉(zhuǎn)換圖說(shuō)明 } returnfalse; case7://關(guān)系符號(hào)1 for(intj=0;j<relation2.length;j++){ if(relation2[j].equals(buffer)){ System.out.println(buffer+"關(guān)系符"+j); returntrue; } } returnfalse; default:System.out.println(buffer+"未知");returnfalse; } } /** *@paramargs *@throwsException */ publicstaticvoidmain(String[]args)throwsException{ reader=newInputStreamReader(newFileInputStream("d://source.c")); charcbuffer; cbuffer=(char)reader.read(); while(!isOver){ if(Character.isLetter(cbuffer)){ cbuffer=alphaprocess(cbuffer); }elseif(Character.isDigit(cbuffer)){
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖南省郴州市2024-2025學(xué)年八年級(jí)下學(xué)期5月期中英語(yǔ)試題(含筆試答案無(wú)聽(tīng)力答案、原文及音頻)
- 建筑施工特種作業(yè)-建筑起重機(jī)械安裝拆卸工(施工升降機(jī))真題庫(kù)-3
- 日食月食地理題目及答案
- 國(guó)家標(biāo)準(zhǔn)關(guān)于《機(jī)械制圖》的基本規(guī)定(二)
- 2023-2024學(xué)年山東省濱州市高二下學(xué)期7月期末數(shù)學(xué)試題(解析版)
- 2023-2024學(xué)年湖南省株洲市炎陵縣高二下學(xué)期6月期末考試數(shù)學(xué)試題(解析版)
- 2023-2024學(xué)年河南省安陽(yáng)市林州市高二下學(xué)期期末考試數(shù)學(xué)試卷(解析版)
- 2025屆河南省新鄉(xiāng)市高三二模語(yǔ)文試題(解析版)
- 2024-2025學(xué)年浙江省杭州市聯(lián)誼學(xué)校高二3月月考語(yǔ)文試題(解析版)
- 江蘇阿爾法生物制藥有限公司新建制劑、生物發(fā)酵及機(jī)械加工建設(shè)項(xiàng)目環(huán)評(píng)資料環(huán)境影響
- 基建項(xiàng)目建設(shè)綜合管理信息系統(tǒng)建設(shè)方案
- 汽車吊塔吊防碰撞安全技術(shù)交底
- 一年級(jí)下冊(cè)音樂(lè)教案 (簡(jiǎn)譜) (演唱)同坐小竹排(7) 湘藝版
- 砂石料加工廠勞務(wù)外包服務(wù)采購(gòu)項(xiàng)目
- 列車網(wǎng)絡(luò)控制技術(shù)-復(fù)習(xí)打印版
- 福建高考名著《紅樓夢(mèng)》填空題+答案
- 商標(biāo)法期末復(fù)習(xí)
- 材料力學(xué)計(jì)算試題(庫(kù))完整
- 投資控股集團(tuán)有限公司安全生產(chǎn)責(zé)任制暫行辦法
- NGW型行星齒輪傳動(dòng)系統(tǒng)的優(yōu)化設(shè)計(jì)
- 三年級(jí)上冊(cè)數(shù)學(xué)教案-第七單元 分?jǐn)?shù)的初步認(rèn)識(shí) 蘇教版
評(píng)論
0/150
提交評(píng)論