




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)題目:詞法分析器 院系班級:計(jì)科系0901班 姓名學(xué)號: 2009210603實(shí)驗(yàn)時(shí)間:2011-10-21 1 / 7實(shí)驗(yàn)?zāi)康脑O(shè)計(jì)。編制并調(diào)試一個(gè)詞法分析程序,加深對詞法分析原理的理解。實(shí)驗(yàn)要求設(shè)計(jì)出一個(gè)簡單的詞法分析程序,能夠識別關(guān)鍵字(包含begin、if、end、 while、else、 then)、標(biāo)識符、數(shù)字及數(shù)種符號(+、-、*、/、(、)、:、=、:=、#、>、<、<>、<=、>=、;)。返回并打印各類字符所對應(yīng)的種類編碼及該字符所組成的二元組。算法設(shè)計(jì)流程圖源代碼 # include <stdio.h> # incl
2、ude <string.h> # include <stdlib.h> # include <ctype.h> typedef struct int num; char *word; WORD; char token255="" char input255; int t=0; int i=0; char gjz610="begin","if","then","while","do","end" char ch; WORD
3、* start() WORD*myword=new WORD; myword->num=1; myword->word="" t=0;ch=inputi;i+;while(ch=' '|ch=10)ch=inputi; i+;if (isalpha(ch) while(isalpha(ch)|isdigit(ch) tokent=ch; t+; tokent='0' ch=inputi; i+; i-; int n=0; while(n<=6) if(!strcmp(token,gjzn) myword->num=n+
4、1; myword->word=token; return myword; n+; /關(guān)鍵字 myword->num=10; myword->word=token; return(myword);/標(biāo)識符else if(isdigit(ch) while (isdigit(ch) tokent=ch; t+; tokent='0' ch=inputi; i+; i-; myword->num=11; myword->word=token; return(myword); /數(shù)字elseswitch(ch) case'+':mywor
5、d->num=13; myword->word="+" return(myword);break; case'-':myword->num=14; myword->word="-" return(myword);break; case'*':myword->num=15; myword->word="*" return(myword);break; case'/':myword->num=16; myword->word="/&q
6、uot; return(myword);break; case'<':ch=inputi; i+; if(ch='>') myword->num=21; myword->word="<>" return(myword); else if (ch='=') myword->num=22; myword->word="<=" return(myword); i-; myword->num=20; myword->word="<&q
7、uot; return(myword);break; case'>':ch=inputi; i+; if(ch='=') myword->num=24; myword->word=">=" return(myword); i-; myword->num=23; myword->word=">" return(myword);break; case':':ch=inputi; i+; if (ch='=') myword->num=18; myw
8、ord->word=":=" return(myword); i-; myword->num=17; myword->word=":" return(myword); break; case'':myword->num=26; myword->word="" return(myword);break; case'(':myword->num=27; myword->word="(" return(myword);break; case'
9、;)':myword->num=28; myword->word=")" return(myword);break; case'=':myword->num=27; myword->word="=" return(myword);break; case'#':myword->num=0; myword->word="#"break; case'0':myword->num=1000; myword->word="OVER"break; default: myword->num=-1; myword->word="error" return(myword);break;/符號 void main() WORD* newword=new WORD; printf("input your words:(end with #)n"); scanf("%#s",input); while(newword->num!=1000) newword=start();pr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年唐詩宋詞與文學(xué)鑒賞考研復(fù)習(xí)試題及答案
- 2025年國際市場營銷管理能力測試卷及答案
- 2025年比較教育學(xué)碩士研究生入學(xué)考試題及答案
- 2025年甘肅省武威市古浪縣民權(quán)鎮(zhèn)招聘大學(xué)生村文書筆試參考題庫帶答案詳解
- 2025年中國郵政集團(tuán)有限公司安徽省分公司招聘筆試備考試題含答案詳解
- 特殊學(xué)校印章管理制度
- 特種作業(yè)工人管理制度
- 特種車輛作業(yè)管理制度
- 玩具公司午餐管理制度
- 廣東省廣州市天河區(qū)2023-2024學(xué)年八年級下學(xué)期期末歷史試卷(含答案)
- 2025年高考作文全國二卷范文《贈君星火夢照我天地心》
- 2025年家庭教育指導(dǎo)師資格考試試題及答案
- 2025年入黨積極分子培訓(xùn)結(jié)業(yè)測試題及答案
- 人教版(2024)七年級下冊生物期末復(fù)習(xí)重點(diǎn)知識點(diǎn)提綱
- 2025年中考語文二輪復(fù)習(xí):標(biāo)點(diǎn)符號 專題練習(xí)題(含答案解析)
- 跌倒墜床防范試題及答案
- 2024-2025學(xué)年人教版(2024)初中英語七年級下冊(全冊)知識點(diǎn)歸納
- 2025年江蘇蘇州市昆山市惠民物業(yè)管理有限公司招聘筆試參考題庫附帶答案詳解
- 國家開放大學(xué)Python程序設(shè)計(jì)形考任務(wù)實(shí)驗(yàn)六-互聯(lián)網(wǎng)評論數(shù)據(jù)分析及其展示綜合案例
- 天津市部分區(qū)2023-2024學(xué)年八年級下學(xué)期期末練習(xí)道德與法治試卷
評論
0/150
提交評論