




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上實(shí)驗(yàn)一 詞法分析 一、實(shí)驗(yàn)?zāi)康模?通過(guò)本實(shí)驗(yàn)理解詞法分析的整個(gè)過(guò)程,處理對(duì)象和處理的結(jié)果,了解詞法分析在整個(gè)編譯過(guò)程中的作用。 二、實(shí)驗(yàn)學(xué)時(shí): 2學(xué)時(shí)。 三、實(shí)驗(yàn)內(nèi)容 根據(jù)給出的簡(jiǎn)單語(yǔ)言的詞法構(gòu)成規(guī)則和單詞集合,編制詞法分析程序,要求能用給定的簡(jiǎn)單語(yǔ)言書(shū)寫(xiě)的源程序進(jìn)行詞法分析,同時(shí)建立相應(yīng)的符號(hào)表文件存放正確的單詞。輸出分析結(jié)果于文件中,包括: (1) 正確的單詞符號(hào)及其單詞種類(lèi)的序?qū)ΧM。 具體輸出形式為:二元組:(單詞種類(lèi),單詞內(nèi)碼值)單詞種類(lèi)見(jiàn)五。 四、實(shí)驗(yàn)方法 構(gòu)造識(shí)別單詞集的自動(dòng)機(jī),編寫(xiě)程序?qū)崿F(xiàn)。 五、實(shí)驗(yàn)的處理單詞集 (注:?jiǎn)卧~種類(lèi)統(tǒng)一分類(lèi)如下:) 單詞
2、符號(hào)單詞種類(lèi)任意變量名(以字母開(kāi)頭由字母和數(shù)字組成的符號(hào)串)0(1)234;5=6+7*8>9<10,1112整型常數(shù)(由數(shù)字組成的符號(hào)串)30main26int21if22then23else24return25其它100六、處理程序例和處理結(jié)果例 例1:源程序: main() y=x-1; 處理結(jié)果: (26,"main") (1,"(") (2,")") (3,"") (0,"y") (6,"=") (0,"x") (100,"
3、-") (20,"1") (5,"") (4,")") 例2:源程序 main() int a,b; b!=a-1; 處理結(jié)果: (26,"main") (1,"(") (2,")") (3,"" )(21,”int”) (0,"a") (11,",") (0,"b") (5,”;”) (0,"b")(100,"! ") (6,"=&qu
4、ot;) (0,"a") (100,"-") (30,"1") (5,”;”) (4,”)七、實(shí)驗(yàn)報(bào)告要求給出單詞識(shí)別的狀態(tài)轉(zhuǎn)換圖;帶有注釋?zhuān)ê?jiǎn)單說(shuō)明)的源程序。程序運(yùn)行截圖,要求運(yùn)行結(jié)果內(nèi)有輸出自己的名字和學(xué)號(hào).源程序:#include <iostream>#include <string.h> /strcmp函數(shù)所需using namespace std;char token8;/關(guān)鍵字比較臨時(shí)存儲(chǔ)空間char ch;/每次輸入字符存儲(chǔ)char prog100=0;/所有的輸入存入int p=0;/計(jì)數(shù)變量
5、int syn;/關(guān)鍵字或其他代碼的數(shù)字標(biāo)號(hào)int n,i;char *keyword6="int","if","then","else","return","main"void scaner();void main()int select=-1;/選擇變量p=0;printf("輸入需要分析的語(yǔ)句, 以'#'結(jié)尾!n");do/將所有字符存入prog數(shù)組中ch=getchar();progp+=ch;while(ch!='#
6、9;);p=0;while (select!=2)printf("請(qǐng)輸入1 或 2 n 1.開(kāi)始詞法分析n 2.退出n");scanf("%d",&select);if(select=1) doscaner();switch(syn)case -1:printf("詞法分析 出錯(cuò)n");break;default :if (syn=-2)printf("語(yǔ)句結(jié)束!n");break;printf("< %d,%s >n",syn,token);break; while(syn
7、!=-2);printf("詞法分析 成功n");else continue;void scaner()for(n=0;n<10;n+)tokenn='0'n=0;ch=progp+;while(ch=' ')|(ch=int(13)|(ch=int(10)/排除空格和回車(chē)ch=progp+;if(ch>='a'&&ch<='z')|(ch>='A'&&ch<='Z')dotokenn+=ch;ch=progp+;wh
8、ile(ch>='a'&&ch<='z')|(ch>='A'&&ch<='Z')|(ch>='0'&&ch<='9');syn=0;for(n=0;n<6;n+)if(strcmp(token,keywordn)=0)/對(duì)輸入字符和關(guān)鍵字進(jìn)行比較syn=n+21;/對(duì)關(guān)鍵字標(biāo)號(hào)進(jìn)行輸出p-;else if(ch>='0'&&ch<='9')p-;dot
9、okenn+=progp+;ch=progp; while(ch>='0'&&ch<='9');syn=20;else/ch=progp+;switch(ch)case '(':syn=1;token0=ch;break;case ')':syn=2;token0=ch;break;case '':syn=3;token0=ch;break;case '':syn=4;token0=ch;break;case '':syn=5;token0=ch;brea
10、k;case '=':syn=6;token0=ch;break;case '+':syn=7;token0=ch;break;case '-':syn=100;token0=ch;break;case '*':syn=8;token0=ch;break;case '>':syn=9;token0=ch;ch=progp;/退格操作break;case '<':syn=10;token0=ch;ch=progp;break;case ',':syn=11;token0=ch;break;case '':syn=12;token0=ch;break;case '#':syn=-2;token0=ch;break;default: printf("詞法分析出錯(cuò)! 請(qǐng)檢查是否輸入非法字符n");syn=-1;break;截圖:狀態(tài)轉(zhuǎn)換圖0213756891011417空白字母或數(shù)字字母非字母與數(shù)字字?jǐn)?shù)字非數(shù)字字?jǐn)?shù)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度企業(yè)研發(fā)成果知識(shí)產(chǎn)權(quán)轉(zhuǎn)讓合同范本
- 2025年度醫(yī)療設(shè)備改造與售后服務(wù)協(xié)議
- 2025年度出租車(chē)公司車(chē)輛租賃合同修訂版
- 2025抖音主播品牌代言合作框架協(xié)議書(shū)
- 2025年C301-I型低壓甲醇合成催化劑合作協(xié)議書(shū)
- 2025年度咖啡廳店鋪轉(zhuǎn)讓合同范本
- 2025年創(chuàng)客中心項(xiàng)目發(fā)展計(jì)劃
- 科研部研究項(xiàng)目進(jìn)展與未來(lái)規(guī)劃計(jì)劃
- 教學(xué)資源的有效整合與利用計(jì)劃
- 度假村行業(yè)保安工作總結(jié)計(jì)劃
- 應(yīng)急小組成立通知
- 關(guān)于如何做好清單招標(biāo)控制價(jià)的幾點(diǎn)建議
- 地鐵前期工程交通疏解施工方案
- NB-T32019-2013太陽(yáng)能游泳池加熱系統(tǒng)技術(shù)規(guī)范
- 小學(xué)升初中六年級(jí)數(shù)學(xué)考試試卷含答案(達(dá)標(biāo)題)
- 2024年長(zhǎng)沙航空職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)完整
- 醫(yī)療器械市場(chǎng)部年終總結(jié)
- 4M變更管理培訓(xùn)
- DBJ33-T 1009-2023 園林植物種植與養(yǎng)護(hù)技術(shù)規(guī)程
- 2024年岳陽(yáng)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及答案解析
- 婦產(chǎn)科醫(yī)療質(zhì)控月匯報(bào)
評(píng)論
0/150
提交評(píng)論