freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[電腦基礎(chǔ)知識(shí)]編譯原理課程設(shè)計(jì)報(bào)告-wenkub

2023-04-07 02:06:54 本頁(yè)面
 

【正文】 reak。processShift(fpread,level)。skip(fpread)。printf(\nERROR: line %d,lineLocation)。break。processPL(fpread)。}processShift(fpread,level)。printf(\nERROR: line %d缺少關(guān)鍵字begin.,lineLocation)。elsebackPatch()。}temp,sizeof(struct record),1,fpread)。backPatch()。break。//轉(zhuǎn)移處理backPatch()。//printf(\nbegin.)。//程序再次轉(zhuǎn)移,看后續(xù)代碼的形式skip(fpread)。//處理代碼過(guò)程,在lR分析階段這一過(guò)程是主要的過(guò)程//printf(\nbegin.)。//如果有多個(gè)過(guò)程定義fread(amp。}/*回退一條記錄*///printf(\nprocedure.)。case 3://處理過(guò)程procedure定義{fread(amp。//跳過(guò)換行符,增加了程序的靈活性,一行代碼可以寫(xiě)在若干行switch()//查看讀出的單詞的編碼,按照編碼決定程序的走向if(level==0)//如果處理的是主程序,主程序是第零層}}processProc(fpread,level)。//printf(\nprocedure.)。(level==0))||((==3)amp。temp,sizeof(struct record),1,fpread)。遞歸分析的詳細(xì)設(shè)計(jì)從二元式文件中讀入單詞種類的編碼,根據(jù)編碼判斷單詞種類,并做相應(yīng)的程序處理void procProcess(FILE *fpread,int level)//遞歸的過(guò)程{查到后,給出該變量在變量表的位置。 ? 符號(hào)按出現(xiàn)的順序填入符號(hào)表設(shè)置填變量表模塊,填過(guò)程名表模塊。 ?調(diào)PP過(guò)程遞歸下降分析中的語(yǔ)義處理符號(hào)表的填、查工作? 利用過(guò)程名表來(lái)查找變量。 = ‘end’ sym sym endProcedure以下為這兩個(gè)程序的示意性形式PP → [IDP ] then 判斷二元式文件是否結(jié)束,若沒(méi)有結(jié)束則出錯(cuò),否則結(jié)束。 sym = . then sym =‘ 。 getword then sym = ident then PP .的示意性子程序Procedure產(chǎn)生式(1) PROG → program(5) 參數(shù)說(shuō)明 → var [ 參數(shù)說(shuō)明 ] ; 子程序 { PRP } → programif x=0 then x:=x+1。? 若第一個(gè)字符為其它類型,則根據(jù)字符本身就可識(shí)別,有的雙字符運(yùn)算符(如= , :=等)需要再向后設(shè)備一個(gè)字符才能識(shí)別。數(shù)據(jù)類型:只有一種整型數(shù)據(jù)。 procedure 標(biāo)識(shí)符 [ 參數(shù)表 ]要求輸入minipascal語(yǔ)言寫(xiě)的源程序(以文件形式存儲(chǔ)),首先經(jīng)過(guò)詞法分析,輸出原程序分析后的二元式文件,供語(yǔ)法制導(dǎo)翻譯用。經(jīng)過(guò)語(yǔ)法制導(dǎo)翻譯將詞法分析器產(chǎn)生的二元式翻譯成等價(jià)的四元式形式,也就是中間代碼的生成。 program 標(biāo)識(shí)符 。begin數(shù)據(jù)結(jié)構(gòu):只有簡(jiǎn)單變量(整型) 編譯程序的任務(wù)是將高級(jí)語(yǔ)言程序翻譯成低級(jí)語(yǔ)言程序(匯編語(yǔ)言或者機(jī)器語(yǔ)言).也就是說(shuō)編譯程序接受的對(duì)象是以字符串形式存在文件中的高級(jí)語(yǔ)言,經(jīng)過(guò)編譯處理生成一個(gè)等價(jià)的匯編語(yǔ)言或者機(jī)器語(yǔ)言程序.測(cè)試簡(jiǎn)例beginend詞法分析測(cè)試結(jié)果 名字 ; begin → 過(guò)程PRP → procedure PP。 變量名 (變量名 ident 。 getword begin end ’ getword else { PRP } PP begin =‘ procedure’ =‘ begin’ else 出錯(cuò)endPRP → procedure PP。通過(guò)上一個(gè)例子了解怎樣利用過(guò)程名表來(lái)查找變量。? 變量名填入變量表之前,應(yīng)先查變量表,以確定該變量在本過(guò)程是否重復(fù)定義設(shè)置查變量表模塊1。skipLine(fpread)。//讀一條記錄,記錄是二元式形式amp。if(==1)//這個(gè)單詞是program}{//處理procedure這一行程序elseprintf(\nERROR: line %d 缺少program.,lineLocation)。} struct record temp。fread(amp。{{//printf(\nvar.)。temp,sizeof(struct record),1,fpread)。}while(==2)。switch()dobackPatch()。skipLine(fpread)。temp,sizeof(struct record),1,fpread)。if(==4)//處理beginend這段代碼過(guò)程}}printf(\nERROR: line %d缺少關(guān)鍵字begin.,lineLocation)。//錯(cuò)誤處理}/*當(dāng)前過(guò)程有參數(shù)但沒(méi)有填寫(xiě)過(guò)程表的就填寫(xiě)*/break。skip(fpread)。break。skip(fpread)。break。}{//printf(\nprocedure.)。/*當(dāng)前過(guò)程有參數(shù)但沒(méi)有填寫(xiě)過(guò)程表的就填寫(xiě)*/}procProcess(fpread,level+1)。/*當(dāng)前過(guò)程有參數(shù)但沒(méi)有填寫(xiě)過(guò)程表的就填寫(xiě)*/}processPL(fpread)。}//printf(\nbegin.)。if(varLocation!=1){backPatch()。}default:正確程序結(jié)構(gòu)和各種說(shuō)明語(yǔ)句是否可順利分析,檢查變量表,過(guò)程名表填寫(xiě)的內(nèi)容是否正確。3.var x1,y1。beginendend因?yàn)長(zhǎng)R分析器只分析可執(zhí)行語(yǔ)句,所以只對(duì)minipascal語(yǔ)言的可執(zhí)行語(yǔ)句部分進(jìn)行語(yǔ)法分析,在分析過(guò)程中加上適當(dāng)?shù)恼Z(yǔ)義處理,實(shí)現(xiàn)“邊分析,邊翻譯”,當(dāng)一條語(yǔ)句分析完也同時(shí)生成符合此語(yǔ)句語(yǔ)義的四元式代碼。如果從語(yǔ)法樹(shù)的角度看,它的過(guò)程是以輸入符號(hào)串作為末端結(jié)點(diǎn)符號(hào)串,向著根結(jié)點(diǎn)的方向往上構(gòu)造語(yǔ)法樹(shù),使識(shí)別符號(hào)正好是該語(yǔ)法樹(shù)的根結(jié)點(diǎn)。分析程序每次從輸入緩沖區(qū)讀一個(gè)符號(hào),它使用棧存儲(chǔ)形式為s0X1s1X2s2…Xmsm的串,sm在棧頂。分析表由兩部分組成,動(dòng)作函數(shù)action和轉(zhuǎn)移函數(shù)goto。對(duì)于規(guī)約狀態(tài),應(yīng)適合所有單詞,對(duì)于移進(jìn)狀態(tài),則只列出與狀態(tài)有關(guān)的單詞。另外設(shè)一個(gè)一維數(shù)組SL作為指示器,Sl的下標(biāo)為狀態(tài)號(hào),SL存放的是此狀態(tài)從SA數(shù)組的第幾行開(kāi)始。1099956709411-313015017 42用一個(gè)二維數(shù)組GL存放GOTO表,第一列為原狀態(tài),第二列為GOTO后的下一個(gè)狀態(tài)。現(xiàn)狀態(tài)—1-1-1:主要程序模塊如下:LRAnalysise 功能:查GOTO表模塊printAct 功能:執(zhí)行出棧操作4. 分析程序分析程序比較簡(jiǎn)單,開(kāi)始將狀態(tài)0進(jìn)棧,讀入一個(gè)二元式(包括單詞符號(hào)和編碼),調(diào)用查ACTION表的子程序,得到相應(yīng)的動(dòng)作ACT(正數(shù),負(fù)數(shù),999,0 四種情況)。歸約的動(dòng)作
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1