



版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、word 格式文檔裝訂線編譯原理實(shí)驗(yàn)報(bào)告題目:算符優(yōu)先分析法分析器學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)xxxxxxxxxxxxxxxx學(xué)號(hào)xxxxxxxxxxxx姓名寧劍專業(yè)整理word 格式文檔指導(dǎo)教師xxxx2015 年 xx 月 xx 日算符優(yōu)先分析法分析器一、實(shí)驗(yàn)?zāi)康?.理解自底向上優(yōu)先分析 ,比較和自頂向下優(yōu)先分析的不同。2.理解算符優(yōu)先分析的特點(diǎn),體會(huì)其和簡(jiǎn)單優(yōu)先分析方法的不同。3.加深對(duì)編譯器語(yǔ)法分析的理解。二、實(shí)驗(yàn)原理1.自底向上優(yōu)先分析方法,也稱移進(jìn) - 歸約分析 ,粗略地說(shuō)它的思想是對(duì)輸入符號(hào)串自左向右進(jìn)行掃描,并將輸入符號(hào)逐個(gè)移入一個(gè)后進(jìn)先出棧,邊移入邊分析 ,一旦棧頂符號(hào)串形成某個(gè)
2、句型的句柄或可歸約串時(shí),就將該產(chǎn)生式的左部非終極符代替相應(yīng)的右邊文法符號(hào)串。2.算符優(yōu)先分析法的基本思想首先確定算符 (確切地說(shuō)是終結(jié)符)之間的優(yōu)先關(guān)系和結(jié)合性質(zhì),然后借助這種關(guān)系 ,比較相鄰算符之間的優(yōu)先級(jí)來(lái)確定句型的可歸約串,并進(jìn)行歸約。注意:算符優(yōu)先分析過(guò)程是自下而上的歸約過(guò)程,但它的可歸約串未必是句柄,也就是說(shuō) ,算符優(yōu)先分析過(guò)程不是一種規(guī)范歸約。3.終結(jié)符號(hào)間優(yōu)先關(guān)系的確定,用 FIRSTVT和 LASTVT 計(jì)算。4.最左素短語(yǔ)專業(yè)整理word 格式文檔所謂素短語(yǔ)是指這樣一個(gè)短語(yǔ),它至少含有一個(gè)終結(jié)符,并且除它自身之外不再含有其它素短語(yǔ)。最左素短語(yǔ)是指處于句型最左邊的那個(gè)素短語(yǔ)。最
3、左素短語(yǔ)是算符優(yōu)先分析算法的可歸約串。5.計(jì)算得到所給文法的算符優(yōu)先矩陣6.算符優(yōu)先分析的基本過(guò)程專業(yè)整理word 格式文檔三、實(shí)驗(yàn)要求使用算符優(yōu)先分析算法分析下面的文法:E#E#E E+T|TT T*F|FF PF|PP (E)|i其中 i 可以看作是一個(gè)終結(jié)符 ,無(wú)需作詞法分析 。具體要求如下 :1.如果輸入符號(hào)串為正確句子,顯示分析步驟 ,包括分析棧中的內(nèi)容、優(yōu)先關(guān)系、輸入符號(hào)串的變化情況 ;2.如果輸入符號(hào)串不是正確句子,則指示出錯(cuò)位置 。四、實(shí)驗(yàn)結(jié)果 (程序)及分析#include #include #include #include #define MAX 100using nam
4、espace std;char SMAX;char shuruMAX,yuMAX;void scanner();int panyouxian(char x);專業(yè)整理word 格式文檔void shengyuchuan();int k;char youxian77=,$,$,$,$, 為大于, 為小于,= 為等于,$為空格int main()int l,j;專業(yè)整理word 格式文檔cout請(qǐng)輸入一個(gè)字符串 :;cin.get(shuru,MAX); /將輸入的字符串存到數(shù)組cout步驟棧優(yōu)先關(guān)系當(dāng)前符號(hào)剩余輸入串移進(jìn)或歸約 endl;k=0;Sk=#;Sk+1=0;l=strlen(shur
5、u); /求輸入字符串的長(zhǎng)度f(wàn)or(j=0;jl;j+)yuj=shuruj;yuj=0;scanner();return 0;void scanner() /掃描分析輸入串int i,j,l,h1,l1,h2,l2,h3,l3,y1,y2,r1,r2;int step=0;/分析步驟數(shù)char a; /存放正在分析的字符char p1,Q,p2;l=strlen(shuru); /算出輸入串長(zhǎng)度f(wàn)or(i=0;il;i+)專業(yè)整理word 格式文檔a=shurui;if(Sk=+|Sk=*|Sk=|Sk=i|Sk=(|Sk=)|Sk=#)j=k;elsej=k-1;h1=panyouxian
6、(Sj);/從優(yōu)先關(guān)系表中查出Sj 和 a 的優(yōu)先關(guān)系if(a=+|a=*|a=|a=i|a=(|a=)|a=#)l1=panyouxian(a);else / 如果句子含有不是終結(jié)符集合里的其它字符,不合法cout錯(cuò)誤 ! 不合法的句子 !)loop:Q=Sj;專業(yè)整理word 格式文檔if(Sj-1=+|Sj-1=*|Sj-1=|Sj-1=i|Sj-1=(|Sj-1=)|Sj-1=#)j=j-1;elsej=j-2;h2=panyouxian(Sj);l2=panyouxian(Q);p1=youxianh2l2;if(p1=) /Sj+1Sk 歸約為 Fk=j+1;shengyuchua
7、n();step+;coutleft(stepsetw(6)setw(10)Ssetw(10)p1setw(10)asetw(5)rightyusetw(15)歸約 endl;i-;Sk=F;r1=strlen(S);for(r2=k+1;r2r2;r2+)Sr2=0;/多個(gè)字符歸約 ,把棧頂后面的舍棄y1=strlen(yu);專業(yè)整理word 格式文檔for(y2=0;y2y1;y2+)yuy1-y2=yuy1-y2-1;yu0=i;elsegotoloop;elseif(p1=) /移進(jìn)如果上一步是不歸約,剩余的字符串減少一個(gè)shengyuchuan();shurul=0;step=st
8、ep+1;coutleft(stepsetw(6)setw(10)Ssetw(10)p1setw(10)asetw(5)rightyusetw(15)移近 endl;k=k+1;Sk=a;專業(yè)整理word 格式文檔elseif(p1=)h3=panyouxian(Sj);l3=panyouxian(#);p2=youxianh3l3;if(p2=)shengyuchuan();step+;coutleft(stepsetw(6)setw(10)Ssetw(10)p1setw(10)asetw(5)rightyusetw(15)接受 endl;cout合法的句子 !endl;break;elsek=k+1;Sk=a;專業(yè)整理word 格式文檔elsecout出錯(cuò) !endl;break;void shengyuchuan()int i,j;i=strlen(yu);for(j=0;ji;j+)yuj=yuj+1;yui-1=0;int panyouxian(char x)int m;專業(yè)整理word 格式文檔switch(x)case+:m=0;break;case*:m=1;break;case:m=2;break;casei:m=3;break
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程建設(shè)年度借款合同
- 二零二五年度高新技術(shù)企業(yè)員工租房補(bǔ)貼合同范本
- 二零二五年度快遞員服務(wù)質(zhì)量保障勞動(dòng)合同
- 二零二五年度溫室大棚租賃與農(nóng)產(chǎn)品質(zhì)量安全檢測(cè)合同
- 2025年度食堂工人聘用合同-含食品安全教育與員工培訓(xùn)計(jì)劃
- 二零二五年度歷史文化名城保護(hù)工程承包合同細(xì)則
- 2025年兩性離子聚合物泥漿處理劑項(xiàng)目經(jīng)濟(jì)效益評(píng)估報(bào)告
- 2025年串聯(lián)壓縮機(jī)組項(xiàng)目經(jīng)濟(jì)效益評(píng)估報(bào)告
- 信息技術(shù)助力智慧農(nóng)業(yè)開(kāi)發(fā)合同書(shū)
- 21《我們的呼吸》(教學(xué)設(shè)計(jì))-青島版科學(xué)三年級(jí)下冊(cè)
- 2024-2025學(xué)年第二學(xué)期天域全國(guó)名校協(xié)作體高三3月聯(lián)考 地理試卷(含答案)
- 學(xué)校2025年每日兩小時(shí)體育活動(dòng)方案-陽(yáng)光體育活力四溢
- B超的基本知識(shí)
- 錘擊式PHC預(yù)應(yīng)力混凝土管樁貫入度的控制
- GB/T 45107-2024表土剝離及其再利用技術(shù)要求
- 敘事醫(yī)學(xué)培訓(xùn)課件
- 《勞動(dòng)紀(jì)律》課件
- 小學(xué)數(shù)學(xué)一年級(jí)上冊(cè)數(shù)與代數(shù)
- 失能老年人健康管理模式研究進(jìn)展
- 5G優(yōu)化案例:5G波束配置優(yōu)化提升CQI優(yōu)良比案例
- 2024年機(jī)動(dòng)車檢測(cè)站質(zhì)量手冊(cè)程序文件記錄表格合集(根據(jù)補(bǔ)充要求編制)
評(píng)論
0/150
提交評(píng)論