聊城大學(xué)編譯基本知識實(shí)驗(yàn)二語法分析器_第1頁
聊城大學(xué)編譯基本知識實(shí)驗(yàn)二語法分析器_第2頁
聊城大學(xué)編譯基本知識實(shí)驗(yàn)二語法分析器_第3頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、LIAOCHENG UNIVERSITY計(jì)算機(jī)學(xué)院實(shí)驗(yàn)報(bào)告【2016 2017 學(xué)年第 2學(xué)期】【一、基本信息】【實(shí)驗(yàn)課程】編譯原理【設(shè)課形式】獨(dú)立口非獨(dú)立【課程學(xué)分】4【實(shí)驗(yàn)項(xiàng)目】實(shí)驗(yàn)二語法分析器的設(shè)計(jì)【項(xiàng)目類型】基礎(chǔ)口綜合 設(shè)計(jì)口研究創(chuàng)新口其它【項(xiàng)目學(xué)時】4【學(xué)生姓名】【學(xué)號】【系別專業(yè)】軟件開發(fā)【實(shí)驗(yàn)班組】級班組臺【同組學(xué)生】【實(shí)驗(yàn)室名】綜合實(shí)驗(yàn)樓【實(shí)驗(yàn)日期】【報(bào)告日期】【二、實(shí)驗(yàn)教師對報(bào)告的最終評價及處理意見】實(shí)驗(yàn)成績:(涂改無效)指導(dǎo)教師簽名:年 月日注:要將實(shí)驗(yàn)項(xiàng)目、實(shí)驗(yàn)課程的成績評定及課程考核辦法明確告知學(xué)生,并報(bào)實(shí)驗(yàn)管理中心備案【三、實(shí)驗(yàn)預(yù)習(xí)】實(shí)驗(yàn)?zāi)康暮鸵螅?. 掌握自上而下

2、語法分析的基本思想;2. 掌握利用預(yù)測分析法進(jìn)行語法分析的原理和過程;3. 熟悉文法的機(jī)內(nèi)表示;4. 掌握語法分析器的設(shè)計(jì)與調(diào)試,提高編程能力、動手能力以及獨(dú)立分析問題、解決問題的能力和綜合運(yùn)用所學(xué)知識的能力。實(shí)驗(yàn)內(nèi)容和原理或涉及的知識點(diǎn)(綜合性實(shí)驗(yàn)):1. 輸入任意文法,改寫文法使其成為 LL(1)文法。2. 構(gòu)造文法的預(yù)測分析表;3. 設(shè)計(jì)堆棧和預(yù)測分析表的機(jī)內(nèi)表示;4. 設(shè)計(jì)并書寫語法分析程序;5. 調(diào)試并運(yùn)行語法分析程序;6. 實(shí)驗(yàn)結(jié)果分析分析程序中文法存儲所采用的數(shù)據(jù)結(jié)構(gòu)分析結(jié)果并寫出自己的心得體會提示:對于所選定的分析方法,如有需要,應(yīng)選擇一種合適的數(shù)據(jù)結(jié)構(gòu),以構(gòu)造所給文法的機(jī)內(nèi)表

3、示。實(shí)驗(yàn)條件(實(shí)驗(yàn)設(shè)備、軟件、材料等):1. 裝有Codeblocks 的電腦一臺。2. 實(shí)驗(yàn)環(huán)境:WINDOWS 下,工具為 Turbo C2.0 或 Visual C 6.0 。實(shí)驗(yàn)考核方式:1. 提交實(shí)驗(yàn)報(bào)告2. 演示程序和答辯(抽查)實(shí)驗(yàn)預(yù)習(xí)實(shí)驗(yàn)設(shè)計(jì)方案(實(shí)驗(yàn)方法、步驟、操作過程、設(shè)計(jì)型實(shí)驗(yàn)、實(shí)驗(yàn)數(shù)據(jù)記錄表格):實(shí)驗(yàn)預(yù)習(xí)成績(涂改無效)合格口不合格口【四、實(shí)驗(yàn)過程、數(shù)據(jù)和實(shí)驗(yàn)結(jié)果記錄】實(shí)驗(yàn)方法、步驟、操作過程的記錄描述或程序代碼。實(shí)驗(yàn)過程中輸入/輸岀數(shù)據(jù)、程序運(yùn)行結(jié)果的記錄。(可加附頁)1. 輸入任意文法,改寫文法使其成為 LL(1)文法。答:輸入文法GE:E T|EATT F|TMF

4、F( E ) | iA +| -M * | /(1)改寫文法。對形如:U Ux|y的產(chǎn)生式(其中x,y V+ , y不以U開頭),引入一 個新的非終結(jié)符U 后,可以等價地改寫成為:U yU U x U | 顯然改寫后,U和U 都不是左遞歸的非終結(jié)符。因此文法G E按上述方法消去左遞歸后可等價地寫成:ETPPt AT P| &TFW | &W MFW | &F( E ) | iM * | /2. 構(gòu)造文法的預(yù)測分析表;i+-+/()#EE-TEE-TE EE -ATE E-ATE E - ?E - ?TT-FT T-FT TT - ?T - ?TTT - ?T - ?-MFT -MFT FF-i

5、F-(E)AA-+A-MM-*M-/3. 設(shè)計(jì)堆棧和預(yù)測分析表的機(jī)內(nèi)表示;堆棧表示:預(yù)測分析表的機(jī)內(nèi)表示4.設(shè)計(jì)并書寫語法分析程序;語法分析程序代碼:#in clude#in clude#i ncludevstri ng.h#in cludechar A20;char B20;char v120=i,+,*,(,),#;char v220=E,G,T,S,F;int j=0,b=0,top=0,l;typedef struct typechar orig in;char array5;int len gth;type;type e,t,g,g1,s,s1,f,f1;type C1010;voi

6、d prin t()int a;for(a=0;a=top+1;a+)prin tf(%c,Aa); prin tf(tt);void prin t1() int j;for(j=0;jb;j+)printf();for(j=b;j=l;j+)prin tf(%c,Bj); prin tf(ttt);void mai n()int m,n, k=0,flag=0,fi ni sh=0;char ch,x;type cha;e.origi n=E;strcpy(e.array,TG);e. len gth=2;t.orig in=T;strcpy(t.array,FS);t.le ngth=2;

7、g.origi n=G;strcpy(g.array,+TG);g.len gth=3;g1.origi n=G;g1.array0=s:gl.len gth=1;s.origi n=S;strcpy(s.array,*FS);s.len gth=3;sl.origi n=S;s1.array0=A;sl.len gth=1;f. origi n=F;strcpy(f.array,(E);f.len gth=3;fl.origi n=F; f1.array0=i;f1e ngth=1;for(m=0;m=4;m+)for(n=0;n,cha.origi n); for(j=0;j=0;j-)A

8、+top=cha.arrayj;if(Atop=A)top-;elseprin t();prin t1();prin tf(%c 出錯 n,x);exit(1);while(fi nish=O);5.調(diào)試并運(yùn)行語法分析程序; hwd 2rtx?c 用冊世 三再滬巾 i;ooii,Bfor i嚴(yán) J JClM li&grlu ptLBllSrfi.-tJOAT | |pFicf - |1:| rfor i j- cha LuqrWs-. I tIlJjP叫|J3 t ar i |c=i:| pructNprziEl i :GlS.Nr4. (Ik J運(yùn)行結(jié)果:輸入i+ (i*i ) #運(yùn)行結(jié)果如

9、圖一exe本弟呈序JF.能時由VL尸構(gòu)J或的以,卅l要分析的早苻串=分析棧剜余字符所用產(chǎn)生式HEE-TGttGTT-FSttGSFF-iKGSi匹配GSs-A聃GG-/+TG#GT*+匹配ItGTT-FSttGSFF-XE)#GGEEid#E-TGKGSGTT-FS#GSGSFF-ittGSGSii匹配IIGSGS*i#S-*FSttCECSF*心H#GGGSFF-1itCOGSl1匹配HGSGSS-AttGSG#G-AttGS匹配ItCSflS-AttGttG-AICC ?輸入(i+i ) *i#運(yùn)行結(jié)果如圖i*i#” itt*itt剩余字符E-TGT-FSU A構(gòu)成的以?申結(jié)東的字符串進(jìn)行分析.LUL4ace T!2!3L7L8L7屮 E :code blacksfilesXte sta bc bi nDe bu gte sta be exei BAHAF 1 s G +G己 I I . I i T F -n + i E-匹-匹G s 已 T巳s 已 已F已 + i F i B A A i * H -匹-匹-匹乍匹- s G s F d sj趨舅謚翼舞養(yǎng)歸 ttE ttGT ttGSF ttGSEE ttGSGT ttGSGSF ttGSGSd ttGS )GS #GSG #GSGT* #GGT #GEGSF ttGSGSi tt

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論