實驗二--語法分析(算符優(yōu)先).doc

實驗二--語法分析(算符優(yōu)先).doc

ID:55027737

大?。?1.00 KB

頁數(shù):6頁

時間:2020-04-26

實驗二--語法分析(算符優(yōu)先).doc_第1頁
實驗二--語法分析(算符優(yōu)先).doc_第2頁
實驗二--語法分析(算符優(yōu)先).doc_第3頁
實驗二--語法分析(算符優(yōu)先).doc_第4頁
實驗二--語法分析(算符優(yōu)先).doc_第5頁
資源描述:

《實驗二--語法分析(算符優(yōu)先).doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、實驗二語法分析算符優(yōu)先分析程序一.實驗要求⑴選擇最有代表性的語法分析方法,如算符優(yōu)先法、遞歸子程序法或LR分析法⑵選擇對各種常見程序語言都用的語法結(jié)構(gòu),如賦值語句(尤指表達(dá)式)作為分析對象,并且與所選語法分析方法要比較貼切。⑶實習(xí)時間為6學(xué)時二.實驗內(nèi)容及要求(1)根據(jù)給定文法,先求出FirstVt和LastVt集合,構(gòu)造算符優(yōu)先關(guān)系表(要求算符優(yōu)先關(guān)系表輸出到屏幕或者輸出到文件);(2)根據(jù)算法和優(yōu)先關(guān)系表分析給定表達(dá)式是否是該文法識別的正確的算術(shù)表達(dá)式(要求輸出歸約過程)(3)給定表達(dá)式文法為:G(E’

2、):E’→#E#E→E+T

3、TT→T*F

4、FF→(E)

5、i(4)分析的句子為:(i+i)*i和i+i)*i三、實驗主要代碼#defineMAX100char*SR;//輸入串charSY[MAX];//移近或規(guī)約后剩余串charS[MAX];//堆棧chargrammer[10][30];//保存輸入的語法規(guī)則charchanshengshi[20][10];charfeizhongjie[10];//存放非終結(jié)符charzhongjie[15];//存放終結(jié)符intnumf=0;//非終結(jié)符個數(shù)intnu

6、m=0;//終結(jié)符個數(shù)intM=0;//轉(zhuǎn)換后產(chǎn)生式個數(shù)charRelation[6][6];//存放優(yōu)先關(guān)系intFIRSTVT[3][6];//存放firstvt集intLASTVT[3][6];//存放lastvt集inttype(chars)//在終結(jié)符串里查找字符a若a在其中返回下標(biāo),否則返回-1{intlen=strlen(zhongjie);inttp=-1;for(inti=0;i

7、ype_fei(chars){intlen=strlen(feizhongjie);inttp=-1;for(inti=0;i