![編譯原理實(shí)驗(yàn)報(bào)告遞歸下降分析法_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/13/42964d5b-a808-47e4-9272-30b6e67fdfa1/42964d5b-a808-47e4-9272-30b6e67fdfa11.gif)
![編譯原理實(shí)驗(yàn)報(bào)告遞歸下降分析法_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/13/42964d5b-a808-47e4-9272-30b6e67fdfa1/42964d5b-a808-47e4-9272-30b6e67fdfa12.gif)
![編譯原理實(shí)驗(yàn)報(bào)告遞歸下降分析法_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/13/42964d5b-a808-47e4-9272-30b6e67fdfa1/42964d5b-a808-47e4-9272-30b6e67fdfa13.gif)
![編譯原理實(shí)驗(yàn)報(bào)告遞歸下降分析法_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/13/42964d5b-a808-47e4-9272-30b6e67fdfa1/42964d5b-a808-47e4-9272-30b6e67fdfa14.gif)
![編譯原理實(shí)驗(yàn)報(bào)告遞歸下降分析法_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/13/42964d5b-a808-47e4-9272-30b6e67fdfa1/42964d5b-a808-47e4-9272-30b6e67fdfa15.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)硬件實(shí)驗(yàn)室實(shí)驗(yàn)報(bào)告姓名學(xué)號(hào)班 級(jí)成 績(jī) 設(shè)備名稱及軟件環(huán)境遞歸下降分析一、實(shí)驗(yàn)?zāi)康模?根據(jù)某一文法編制調(diào)試遞歸下降分析程序,以便對(duì)任意輸入的符號(hào)串進(jìn)行分析。本次實(shí)驗(yàn)的目的主要是加深對(duì)遞歸下降分析法的理解。二、實(shí)驗(yàn)要求:對(duì)下列文法,用遞歸下降分析法對(duì)任意輸入的符號(hào)串進(jìn)行分析: (1)E->TG(2)G->+TG|TG(3)G->(4)T->FS(5)S->*FS|/FS(6)S->(7)F->(E)(8)F->i輸出的格式如下:(1)遞歸下降分析程序,編制人:姓名,學(xué)號(hào),班級(jí)(2)輸入一以#結(jié)束的符號(hào)串(包括+*/()i#):在此位置輸入符號(hào)
2、串例如:i+i*i# (3)輸出結(jié)果:i+i*i#為合法符號(hào)串備注:輸入一符號(hào)串如i+i*#,要求輸出為“非法的符號(hào)串”。注意:1.表達(dá)式中允許使用運(yùn)算符(+-*/)、分割符(括號(hào))、字符i,結(jié)束符#; 2.如果遇到錯(cuò)誤的表達(dá)式,應(yīng)輸出錯(cuò)誤提示信息(該信息越詳細(xì)越好);三、實(shí)驗(yàn)過(guò)程:程序設(shè)計(jì):1.模塊設(shè)計(jì):將程序分成合理的多個(gè)模塊(函數(shù)),每個(gè)模塊做具體的同一事情。2.寫出(畫出)設(shè)計(jì)方案:模塊關(guān)系簡(jiǎn)圖、流程圖、全局變量、函數(shù)接口等。程序編寫:1.定義部分:定義常量、變量、數(shù)據(jù)結(jié)構(gòu)。2.初始化:從文件將輸入符號(hào)串輸入到字符緩沖區(qū)中。3.利用遞歸下降分析法,對(duì)每個(gè)非終結(jié)符編寫函數(shù),在主函數(shù)中調(diào)用
3、文法開始符號(hào)的函數(shù)。四、實(shí)驗(yàn)結(jié)果(1)程序流程圖(2)運(yùn)行結(jié)果示例程序:#include <stdio.h>#include<dos.h>#include<stdlib.h>#include<string.h>char a50 ,b50,d500,e10;char ch;int n1,i1=0,flag=1,n=5;int E();int E1();int T();int G();int S();int F();void input();void input1();void output();void main() /*遞歸分析*/int f,p
4、,j=0;char x; d0='E' d1='=' d2='>' d3='T' d4='G' d5='#'printf("遞歸下降分析程序,編制人:武普泉,20號(hào),1020562班n");printf("輸入一以#結(jié)束的符號(hào)串(包括+ - * / ( ) i #,且長(zhǎng)度小于50):");doscanf("%c",&ch);aj=ch;j+;while(ch!='#');n1=j;ch=b0=a0;printf
5、("文法t分析串ttt分析字符tt剩余串n");f=E1();if(f=0) return ;if (ch='#') printf("acceptn"); p=0;x=dp;/printf("%c",x);p=p+1;x=dp; /*輸出推導(dǎo)式*/while(ap!='#') printf("%c",ap+);printf("為合法字符!n");else /printf("errorn");j=0;while(aj!='#')
6、printf("%c",aj+);printf("非法字符!n");printf("回車返回n");getchar();getchar(); return; printf("n");printf("回車返回n");getchar();getchar();int E1() int f,t;printf("E->TGt"); flag=1;input();input1();f=T();if (f=0) return(0);t=G();if (t=0) return(0);e
7、lse return(1);int E() int f,t;printf("E->TGt"); e0='E'e1='='e2='>'e3='T'e4='G'e5='#'output();flag=1;input();input1();f=T();if (f=0) return(0);t=G();if (t=0) return(0);else return(1);int T() int f,t;printf("T->FSt");e0='
8、T'e1='='e2='>'e3='F'e4='S'e5='#' output();flag=1;input();input1();f=F();if (f=0)return(0);t=S(); if (t=0) return(0);else return(1);int G() int f;if(ch='+') bi1=ch;printf("G->+TGt"); e0='G'e1='='e2='>'e3=
9、39;+'e4='T'e5='G'e6='#'output(); flag=0;input();input1();ch=a+i1;f=T();if (f=0)return(0);f=G();if(f=0)return 0;else return 1;else if(ch='-') bi1=ch;printf("G->-TGt"); e0='G'e1='='e2='>'e3='-'e4='T'e5='G
10、39;e6='#'output(); flag=0;input();input1();ch=a+i1;f=T();if (f=0)/printf("G=%dn",f);return(0);f=G();if(f=0)return 0;else return 1;elseprintf("G->t");e0='G'e1='='e2='>'e3=''e4='#'output();flag=1; input();input1();return(1);int
11、S()int f,t;if(ch='*') bi1=ch;printf("S->*FSt"); e0='S'e1='='e2='>'e3='*'e4='F'e5='S'e6='#'output();flag=0;input();input1();ch=a+i1;f=F();if (f=0)return(0);t=S();if (t=0)return(0);else return(1);else if(ch='/') bi
12、1=ch;printf("S->/FSt"); e0='S'e1='='e2='>'e3='/'e4='F'e5='S'e6='#'output();flag=0;input();input1();ch=a+i1;f=F();if (f=0)return(0);t=S();if (t=0)return(0);else return(1);elseprintf("S->t");e0='S'e1='=
13、9;e2='>'e3=''e4='#'output();flag=1; ai1=ch;input();input1();return(1);int F() int f;int j;if(ch='(') bi1=ch;printf("F->(E)t");e0='F'e1='='e2='>'e3='('e4='E'e5=')'e6='#'output();flag=0;input();i
14、nput1();ch=a+i1;f=E();if (f=0) return(0);if(ch=')') bi1=ch;printf("F->(E)t"); flag=0;input();input1(); ch=a+i1;else printf("errorn"); j=0; while(aj!='#') printf("%c",aj+);printf("非法字符!n"); return(0); else if(ch='i') bi1=ch;printf(&qu
15、ot;F->it");e0='F'e1='='e2='>'e3='i'e4='#'output();flag=0;input();input1();ch=a+i1; else printf("errorn");j=0;while(aj!='#') printf("%c",aj+);printf("非法字符!n");return(0);return(1);void input() int j=0; for (;j<
16、=i1-flag;j+) printf("%c",bj); /*輸出分析串*/ printf("ttt"); printf("%cttt",ch); /*輸出分析字符*/ void input1() int j; for (j=i1+1-flag;j<n1;j+) printf("%c",aj); /*輸出剩余字符*/ printf("n");void output() /*推導(dǎo)式計(jì)算*/int m,k,j,q; int i=0;m=0;k=0;q=0; i=n;dn='='dn+1='>'dn+2='#'n=n+2;i=n;i=i-2;while(di!=&
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國(guó)變速箱第一軸市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)兩用拉力器市場(chǎng)調(diào)查研究報(bào)告
- 2025至2031年中國(guó)閉路監(jiān)控器材行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年聚氨酯耐用油底漆項(xiàng)目可行性研究報(bào)告
- 2025年石油公司油票管理系統(tǒng)項(xiàng)目可行性研究報(bào)告
- 2025年燃?xì)獬瑝呵袛嚅y項(xiàng)目可行性研究報(bào)告
- 2025年橫梁總成項(xiàng)目可行性研究報(bào)告
- 惠州2025年廣東惠州龍門縣總醫(yī)院第一批招聘編外人員25人筆試歷年參考題庫(kù)附帶答案詳解
- 2025年平紋桃皮絨面料項(xiàng)目可行性研究報(bào)告
- 2025年沖壓模具項(xiàng)目可行性研究報(bào)告
- 2024年04月浙江義烏農(nóng)商銀行春季招考筆試歷年參考題庫(kù)附帶答案詳解
- 涉密計(jì)算機(jī)保密培訓(xùn)
- 掛靠免責(zé)協(xié)議書范本
- 2024年浙江省五校聯(lián)盟高考地理聯(lián)考試卷(3月份)
- 在線心理健康咨詢行業(yè)現(xiàn)狀分析及未來(lái)三至五年行業(yè)發(fā)展報(bào)告
- 電動(dòng)三輪車購(gòu)銷合同
- 淋巴瘤的免疫靶向治療
- 炎癥性腸病的自我管理
- 國(guó)防動(dòng)員課件教學(xué)課件
- 《地理信息系統(tǒng)GIS》全套教學(xué)課件
- 技術(shù)序列學(xué)習(xí)地圖(2023年)
評(píng)論
0/150
提交評(píng)論