第2章PL0編譯程序的實(shí)現(xiàn)編譯原理ppt課件.ppt

第2章PL0編譯程序的實(shí)現(xiàn)編譯原理ppt課件.ppt

ID:59019095

大小:362.00 KB

頁數(shù):37頁

時間:2020-09-26

第2章PL0編譯程序的實(shí)現(xiàn)編譯原理ppt課件.ppt_第1頁
第2章PL0編譯程序的實(shí)現(xiàn)編譯原理ppt課件.ppt_第2頁
第2章PL0編譯程序的實(shí)現(xiàn)編譯原理ppt課件.ppt_第3頁
第2章PL0編譯程序的實(shí)現(xiàn)編譯原理ppt課件.ppt_第4頁
第2章PL0編譯程序的實(shí)現(xiàn)編譯原理ppt課件.ppt_第5頁
資源描述:

《第2章PL0編譯程序的實(shí)現(xiàn)編譯原理ppt課件.ppt》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第2章PL/0編譯程序的實(shí)現(xiàn)2.1PL/0語言描述2.2PL/0編譯程序的結(jié)構(gòu)2.3PL/0編譯程序的詞法分析2.4PL/0編譯程序的語法語義分析2.5PL/0編譯程序的目標(biāo)代碼結(jié)構(gòu)和代碼生成2.6PL/0編譯程序的語法錯誤處理2.7PL/0編譯程序的目標(biāo)代碼解釋執(zhí)行時的存儲分配2021/9/171何為PL/0語言?PL/0語言:PASCAL語言的子集,功能簡單,結(jié)構(gòu)清晰,可讀性強(qiáng),具備了一般高級語言的必備部分。PL/0程序示例:CONSTA=10;VARB,C;PROCEDUREP; VARD;PROCEDUREQ; VAR

2、X; BEGIN READ(X); D:=X; WHILEX#0DOCALLP; END;BEGIN WRITE(D); CALLQ; END;BEGIN CALLP;END.2021/9/172PL/0程序示例CONSTA=10;(*常量說明部分*)VARB,C;(*變量說明部分*)PROCEDUREP;(*過程說明部分*)VARD;(*P的局部變量說明部分*)PROCEDUREQ;(*P的局部過程說明部分*)VARX;BEGIN READ(X);D:=X;WHILEX#0DOCALLP; END;BEGIN WRITE(D

3、); CALLQ; END;BEGIN CALLP; END.Q過程體p過程體主程序體2021/9/173輸入圓柱的半徑和高,計算一些面積、體積等varr,h,len,a1,a2,volumn;beginread(r);read(h);len:=2*3*r;a1:=3*r*r;a2:=a1+a1+len*h;volumn:=a1*h;write(len);write(a1);write(a2);write(volumn);end.2021/9/174計算最大公約數(shù)varm,n,r,q;{計算m和n的最大公約數(shù)}procedur

4、egcd;beginwhiler#0dobeginq:=m/n;r:=m-q*n;m:=n;n:=r;endend;beginread(m);read(n);{為了方便,規(guī)定m>=n}ifm

5、llrec;end.2021/9/176計算sum=1!+2!+...+n!, n從控制臺讀入varn,m,fact,sum;{遞規(guī)計算fact=m!}procedurefactorial;beginifm>0thenbeginfact:=fact*m;m:=m-1;callfactorial;end;end;begin{讀入n}read(n);sum:=0;whilen>0dobeginm:=n;fact:=1;callfactorial;sum:=sum+fact;n:=n-1;end;{輸出n!}write(sum);e

6、nd.2021/9/177PL/0編譯程序pcode解釋程序PL/0源程序注:此處的pcode代碼專指PL/0的目標(biāo)代碼,與傳統(tǒng)pcode有區(qū)別pcode代碼2021/9/1782.1PL/0語言描述語法描述的目的:用有窮的文法形式,描述(驗(yàn)證)無窮的句子形式。語法描述的常用形式:非形式化描述(不規(guī)范)語法描述圖:直觀、易讀。EBNF(擴(kuò)充的巴科斯-瑙爾范式)NEXT2021/9/179PL/0語言的非形式描述數(shù)據(jù)類型只有整型標(biāo)識符的有效長度是10,以字母開始的字母數(shù)字串過程無參,可嵌套(最多三層),可遞歸調(diào)用變量的作用域同P

7、ASCAL,常量為全局的,無標(biāo)語句類型:賦值語句,if...then...,while...do...,read,write,call,復(fù)合語句begin...end,說明語句:const...,var...,procedure…13個保留字:if,then,while,do,read,write,call,begin,end,const,var,procedure,odd2021/9/1710PL/0語言的語法描述圖(1)終結(jié)符VT語法成分中的最小單位,構(gòu)成語言文法的單詞。橢圓或圓圈內(nèi)的單詞表示VT(2)非終結(jié)符VN語法成分

8、,在書寫程序時并不出現(xiàn),但可一直追溯成VT表示的形式。矩形內(nèi)的符號表示VN2021/9/1711程序分程序.內(nèi)的文字表示語法成分(短語)或內(nèi)的文字表示單詞符號程序.內(nèi)的文字表示語法成分(短語)語法圖2021/9/1712constidentnumber=,;varident,

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。