版權(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)及其單詞種類的序?qū)ΧM。 具體輸出形式為:二元組:(單詞種類,單詞內(nèi)碼值)單詞種類見(jiàn)五。 四、實(shí)驗(yàn)方法 構(gòu)造識(shí)別單詞集的自動(dòng)機(jī),編寫(xiě)程序?qū)崿F(xiàn)。 五、實(shí)驗(yàn)的處理單詞集 (注:?jiǎn)卧~種類統(tǒng)一分類如下:) 單詞
2、符號(hào)單詞種類任意變量名(以字母開(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)換圖;帶有注釋(簡(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=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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 儀器儀表制造業(yè)風(fēng)險(xiǎn)管理與內(nèi)控策略考核試卷
- 胃潴留應(yīng)急預(yù)案
- 2024訴訟委托代理合同(出庭代理)范文
- 農(nóng)貿(mào)市場(chǎng)年終總結(jié)
- 托兒所服務(wù)的創(chuàng)造思維考核試卷
- 一年級(jí)學(xué)期班級(jí)工作總結(jié)(5篇)
- 蘇州科技大學(xué)天平學(xué)院《理論力學(xué)》2021-2022學(xué)年第一學(xué)期期末試卷
- 蘇州科技大學(xué)天平學(xué)院《混凝土結(jié)構(gòu)設(shè)計(jì)原理道橋》2022-2023學(xué)年第一學(xué)期期末試卷
- 蘇州科技大學(xué)天平學(xué)院《合唱與指揮一》2022-2023學(xué)年第一學(xué)期期末試卷
- 2024簡(jiǎn)單贈(zèng)與合同格式
- 《成人有創(chuàng)機(jī)械通氣氣道內(nèi)吸引技術(shù)操作》標(biāo)準(zhǔn)解讀
- 國(guó)家開(kāi)放大學(xué)(廣西)《云計(jì)算及應(yīng)用》作業(yè)1-5參考答案
- 2020海灣GST-HX-240B火災(zāi)聲光警報(bào)器安裝使用說(shuō)明書(shū)
- GB/T 44068-2024LTE移動(dòng)通信終端支持北斗定位的技術(shù)要求
- 2024年秋新北師大版七年級(jí)上冊(cè)數(shù)學(xué)教學(xué)課件 4.2.1 角
- PFMEA課件培訓(xùn)學(xué)習(xí)
- 2024-2030年中國(guó)CVD和和ALD前體行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- 《建筑施工測(cè)量標(biāo)準(zhǔn)》JGJT408-2017
- 中學(xué)語(yǔ)文教學(xué)法智慧樹(shù)知到答案2024年山東航空學(xué)院
- 2024年上海市各區(qū)高三語(yǔ)文一模試題匯編:現(xiàn)代文二
- 風(fēng)險(xiǎn)管理方法及應(yīng)急方案
評(píng)論
0/150
提交評(píng)論