




已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
編譯原理實(shí)驗(yàn)報(bào)告項(xiàng)目名稱 詞法分析程序設(shè)計(jì)與實(shí)現(xiàn) 專業(yè)班級 學(xué) 號 姓 名 實(shí)驗(yàn)成績:批閱教師:年 月 日實(shí)驗(yàn)1詞法分析程序設(shè)計(jì)與實(shí)現(xiàn)實(shí)驗(yàn)學(xué)時(shí): 2 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 一、實(shí)驗(yàn)?zāi)康募由顚υ~法分析器的工作過程的理解;加強(qiáng)對詞法分析方法的掌握;能夠采用一種編程語言實(shí)現(xiàn)簡單的詞法分析程序;能夠使用自己編寫的分析程序?qū)唵蔚某绦蚨芜M(jìn)行詞法分析。二、實(shí)驗(yàn)內(nèi)容自定義一種程序設(shè)計(jì)語言,或者選擇已有的一種高級語言,編制它的詞法分析程序。詞法分析程序的實(shí)現(xiàn)可以采用任何一種編程語言和編程工具。從輸入的源程序中,識(shí)別出各個(gè)具有獨(dú)立意義的單詞,即關(guān)鍵字、標(biāo)識(shí)符、常數(shù)、運(yùn)算符、界符。并依次輸出各個(gè)單詞的內(nèi)部編碼及單詞符號自身值。(遇到錯(cuò)誤時(shí)可顯示“Error”,然后跳過錯(cuò)誤部分繼續(xù)顯示)三、實(shí)驗(yàn)方法算法的基本任務(wù)是從字符串表示的源程序中識(shí)別出具有獨(dú)立意義的單詞符號,其基本思想是根據(jù)掃描到單詞符號的第一個(gè)字符的種類,拼出相應(yīng)的單詞符號。主程序初始包括以下兩個(gè)方面: 關(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 *rwtab6 = “begin”, “if”, “then”, “while”, “do”, “end”,; 圖3-1(2)程序中需要用到的主要變量為syn,token和sum掃描子程序的算法思想:首先設(shè)置3個(gè)變量:token用來存放構(gòu)成單詞符號的字符串;sum用來整型單詞;syn用來存放單詞符號的種別碼。四、實(shí)驗(yàn)步驟1. 定義目標(biāo)語言的可用符號表和構(gòu)詞規(guī)則;2. 依次讀入源程序符號,對源程序進(jìn)行單詞切分和識(shí)別,直到源程序結(jié)束;3. 對正確的單詞,按照它的種別以的形式保存在符號表中;4. 對不正確的單詞,做出錯(cuò)誤處理。五、實(shí)驗(yàn)結(jié)果輸入begin x:=9: if x9 then x:=2*x+1/3; end #顯示結(jié)果如下:六、實(shí)驗(yàn)結(jié)論該詞法分析器可以進(jìn)行輸入、預(yù)處理;關(guān)鍵字的識(shí)別;標(biāo)識(shí)符的識(shí)別、常數(shù)的識(shí)別、算符和界符的識(shí)別等。#include#include#includechar prog80,token8;char ch;int syn,p,m=0,n,row,sum=0;char *rwtab6=begin,if,then,while,do,end; void scaner()for(n=0;n=a&ch=A&ch=0&ch=a&ch=A&ch=Z)tokenm+=ch;ch=progp+;tokenm+=0;p-;syn=10;for(n=0;n=0&ch=0&ch32767)syn=-1;else switch(ch)case)syn=21;tokenm+=ch;else if(ch=)syn=22;tokenm+=ch;elsesyn=23;p-;break;case:m=0;tokenm+=ch;ch=progp+;if(ch=)syn=24;tokenm+=ch;elsesyn=20;p-;break;case:m=0;tokenm+=ch;ch=progp+;if(ch=)syn=18;tokenm+=ch;elsesyn=17;p-;break;case*:syn=13;token0=ch;break;case/:syn=14;token0=ch;break;case+:syn=15;token0=ch;break;case-:syn=16;token0=ch;break;case=:syn=25;token0=ch;break;case;:syn=26;token0=ch;break;case(:syn=27;token0=ch;break;case):syn=28;token0=ch;break;case#:syn=0;token0=ch;break;casen:syn=-2;break;default: syn=-1;break;void main()p=0;row=1;coutPlease input string:endl;docin.get(ch);progp+=ch;while(ch!=#);p=0;doscaner();switch(syn)case 11: cout(syn,sum)endl; break; case -1: coutError in row row!endl; break;case -2: row=row+;break;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)游戲服務(wù)器測試機(jī)柜租賃與設(shè)備升級服務(wù)合同
- 建筑工程知識(shí)產(chǎn)權(quán)許可與侵權(quán)糾紛解決協(xié)議
- 工業(yè)廠房門窗加固與高效密封系統(tǒng)建設(shè)協(xié)議
- 展商參展安全責(zé)任協(xié)議及風(fēng)險(xiǎn)預(yù)防
- 抖音短視頻內(nèi)容創(chuàng)作者內(nèi)容審核規(guī)范協(xié)議
- 生物質(zhì)能源專利技術(shù)轉(zhuǎn)移及項(xiàng)目實(shí)施合作協(xié)議
- 鄉(xiāng)村振興基金份額分割及贖回操作協(xié)議
- 網(wǎng)絡(luò)直播設(shè)備采購、升級與全面維護(hù)服務(wù)協(xié)議
- 礦產(chǎn)投資顧問合同(含礦產(chǎn)資源投資咨詢與實(shí)施)
- 消防安全教材版權(quán)授權(quán)合作框架協(xié)議
- 達(dá)美樂比薩線上整合營銷規(guī)劃方案
- 水泥產(chǎn)品生產(chǎn)許可證實(shí)施細(xì)則
- 德意志意識(shí)形態(tài)
- YY/T 1778.1-2021醫(yī)療應(yīng)用中呼吸氣體通路生物相容性評價(jià)第1部分:風(fēng)險(xiǎn)管理過程中的評價(jià)與試驗(yàn)
- GB/T 20041.21-2008電纜管理用導(dǎo)管系統(tǒng)第21部分:剛性導(dǎo)管系統(tǒng)的特殊要求
- GB/T 14054-1993輻射防護(hù)用固定式X、γ輻射劑量率儀、報(bào)警裝置和監(jiān)測儀
- 《馬克思主義發(fā)展史》第六章 毛澤東思想是馬克思主義在中國發(fā)展的第一個(gè)重大成果
- 粵教版地理七年級下冊全冊課件
- 工商企業(yè)管理專業(yè)模擬實(shí)訓(xùn)報(bào)告
- 八年級英語15篇完形填空(附答案)
- 會(huì)寶嶺選礦廠集中控制技術(shù)方案
評論
0/150
提交評論