版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本科實(shí)驗(yàn)報(bào)告課程名稱(chēng):程序設(shè)計(jì)訓(xùn)練 學(xué)院:電子信息與電氣工程學(xué)部 詞法分析器程序說(shuō)明: 此詞法分析器是一個(gè)能夠掃描輸入的字符流,并將掃描到的字符按照二元式的形式保存到word.txt文件中的一個(gè)程序(也可以通過(guò)屏幕輸出的方式輸出)。通過(guò)詞法分析可以為完成對(duì)應(yīng)語(yǔ)言的編譯程序做準(zhǔn)備,同時(shí)詞法分析器也可以完成對(duì)輸入流的字符統(tǒng)計(jì)。運(yùn)行環(huán)境: WINDOWS7,visualc++6.0。定義語(yǔ)言G={VN,VT,P,S}其中,VN={P,D,S,B,T’,L,L’,E,T,F,NUM,RELOP,ID}VT={int,if,then,else,while,do,read,write,;,&,|,{,},>=,<=,>,<,==,!=,=,+,-,*,/,++,--,(,),a~z,A~Z,0~9,}P={P→{DS}D→intID;{intID;}S→if(B)thenS[elseS]|while(B)doS|{L}|ID=E|write<E>;|readID;L→SL’L’→;L|eB→T’{∨T’}T’→F’{∧F’}F’→IDrelopID|IDE→T{+T|-T}T→F{*F|/F}F→(E)|NUM|IDNUM->0|1|2|3|4|5|6|7|8|9RELOP-><|<=|>|>=|==}S={P}P代表程序,D代表聲明語(yǔ)句,S代表語(yǔ)句,L代表語(yǔ)句的表列,B代表布爾表達(dá)式,非零代表真。實(shí)現(xiàn)的代碼如下#include<stdio.h>#include<string.h>#defineMAX80#defineIDMAX8//標(biāo)識(shí)符最大長(zhǎng)度為IDMAX個(gè)字符,最大輸入字符為MAX個(gè)字符,類(lèi)別編碼syn,保留字共8個(gè)rwtab[8]charprog[MAX],token[IDMAX],ch;intsyn,p,m,n,sum;char*rwtab[8]={"int","if","then","else","while","do","read","write"};//保留字voidscaner();intmain(){FILE*fout;fout=fopen("word.txt","w");//建立單詞本 p=0;printf("\npleaseinputastring(endwith'#'):\n");do{scanf("%c",&ch);prog[p++]=ch;}while(ch!='#');p=0;do{scaner();switch(syn){case-1:printf("youhaveinputawrongstring\n");return0;break;default: fprintf(fout,"%d\t%s\n",syn,token);//文件輸出和屏幕輸出切換 //printf("%s\t%d\n",token,syn);break;}}while(syn!=0);getchar();}voidscaner(void){sum=0;for(m=0;m<8;m++)token[m++]='\0';ch=prog[p++];m=0;while((ch=='')||(ch=='\n'))ch=prog[p++];if(((ch<='z')&&(ch>='a'))||((ch<='Z')&&(ch>='A'))){while(((ch<='z')&&(ch>='a'))||((ch<='Z')&&(ch>='A'))||((ch>='0')&&(ch<='9'))){token[m++]=ch;ch=prog[p++];}//匹配為標(biāo)識(shí)符p--;syn=24;for(n=0;n<8;n++)//匹配為保留字if(strcmp(token,rwtab[n])==0){syn=n+1;break;}}elseif((ch>='0')&&(ch<='9')){while((ch>='0')&&(ch<='9')){sum=sum*10+ch-'0';ch=prog[p++];}p--;syn=25;}//匹配為NUMelse{switch(ch){case'&':syn=13;token[m++]=ch;break;case'|':syn=14;token[m++]=ch;break;case'<':token[m++]=ch;ch=prog[p++];if(ch=='='){syn=15;token[m++]=ch;}else{syn=15;p--;}break;case'>':token[m++]=ch;ch=prog[p++];if(ch=='='){syn=15;token[m++]=ch;}else{syn=15;p--;}break;case'+':token[m++]=ch;ch=prog[p++];if(ch=='+'){syn=22;token[m++]=ch;}else{syn=9;p--;}break;case'-':token[m++]=ch;ch=prog[p++];if(ch=='-'){syn=23;token[m++]=ch;}else{syn=10;p--;}break;case'!':ch=prog[p++];if(ch=='='){syn=15;token[m++]=ch;}break;case'=':token[m++]=ch;ch=prog[p++];if(ch=='='){syn=15;token[m++]=ch;}else{syn=21;p--;}break;case'*':syn=11;token[m++]=ch;break;case'/':syn=12;token[m++]=ch;break;case'(':syn=19;token[m++]=ch;break;case')':syn=20;token[m++]=ch;break;case'{':syn=16;token[m++]=ch;break;case'}':syn=17;token[m++]=ch;break;case';':syn=18;token[m++]=ch;break;case'\"':syn=12;token[m++]=ch;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026 年中職掘進(jìn)技術(shù)(隧道掘進(jìn))試題及答案
- 直播運(yùn)營(yíng)考試題目及答案
- 愚公移山主要情節(jié)概括
- 沖突理論課件
- 2025年頂管施工試題答案及答案
- 2025年中考基礎(chǔ)押題試卷及答案
- 安徽高升專(zhuān)考試題及答案
- 體檢合同范本模板
- 電腦購(gòu)銷(xiāo)英文合同范本
- 銀行社會(huì)招聘題庫(kù)及答案
- 支撐梁鋼筋自動(dòng)計(jì)算表模板
- 請(qǐng)結(jié)合材料理論聯(lián)系實(shí)際分析如何正確評(píng)價(jià)人生價(jià)值?人生價(jià)值的實(shí)現(xiàn)需要哪些條件?參考答案
- 生物安全實(shí)驗(yàn)室自查報(bào)告及整改措施
- 2026年黨支部主題黨日活動(dòng)方案
- 醫(yī)療健康大數(shù)據(jù)的精準(zhǔn)營(yíng)養(yǎng)方案
- 幼兒園中班交通安全教育課件
- 食堂衛(wèi)生檢查與考核標(biāo)準(zhǔn)建立
- 2025 年國(guó)家層面數(shù)據(jù)資產(chǎn)政策匯編(全景解讀版)
- 2025新疆交通投資(集團(tuán))有限責(zé)任公司所屬公司招聘26人筆試歷年典型考點(diǎn)題庫(kù)附帶答案詳解2套試卷
- 2025年成本會(huì)計(jì)考試題及答案6
- 全域土地綜合整治項(xiàng)目社會(huì)穩(wěn)定風(fēng)險(xiǎn)評(píng)估報(bào)告
評(píng)論
0/150
提交評(píng)論