




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實驗報告實驗題目:詞法分析器 院系班級:計科系0901班 姓名學號: 2009210603實驗時間:2011-10-21 1 / 7實驗目的設計。編制并調試一個詞法分析程序,加深對詞法分析原理的理解。實驗要求設計出一個簡單的詞法分析程序,能夠識別關鍵字(包含begin、if、end、 while、else、 then)、標識符、數字及數種符號(+、-、*、/、(、)、:、=、:=、#、>、<、<>、<=、>=、;)。返回并打印各類字符所對應的種類編碼及該字符所組成的二元組。算法設計流程圖源代碼 # 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+; /關鍵字 myword->num=10; myword->word=token; return(myword);/標識符else if(isdigit(ch) while (isdigit(ch) tokent=ch; t+; tokent='0' ch=inputi; i+; i-; myword->num=11; myword->word=token; return(myword); /數字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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國家用電動扳手行業市場全景分析及前景機遇研判報告
- 設備裝配單位管理制度
- 設計開發評審管理制度
- 2025年中國機器人集成行業市場全景分析及前景機遇研判報告
- 診所衛生應急管理制度
- 診所藥房員工管理制度
- 試驗人員考核管理制度
- 財務費用報銷管理制度
- 財政罰款票據管理制度
- 貨場淘汰設備管理制度
- 初一幾何綜合練習題
- DBJ∕T 13-261-2017 福建省二次供水不銹鋼水池(箱)應用技術規程
- GB∕T 16422.3-2022 塑料 實驗室光源暴露試驗方法 第3部分:熒光紫外燈
- 新建區2018年中小學(幼)教師、特崗教師
- 中國歷史地理復習資料
- 05示例:玉米脫粒機的設計(含全套CAD圖紙)
- 冷庫項目施工組織設計方案
- 年中總結會策劃方案
- (最新)污水處理池施工方案
- 肺膿腫護理查房ppt課件
- 我要建一座王宮(正譜)
評論
0/150
提交評論