第二章PL0編譯程序的實現(xiàn).ppt

第二章PL0編譯程序的實現(xiàn).ppt

ID:48912384

大小:669.00 KB

頁數(shù):67頁

時間:2020-02-01

第二章PL0編譯程序的實現(xiàn).ppt_第1頁
第二章PL0編譯程序的實現(xiàn).ppt_第2頁
第二章PL0編譯程序的實現(xiàn).ppt_第3頁
第二章PL0編譯程序的實現(xiàn).ppt_第4頁
第二章PL0編譯程序的實現(xiàn).ppt_第5頁
資源描述:

《第二章PL0編譯程序的實現(xiàn).ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、復(fù)習(xí)編譯程序的邏輯階段?編譯程序的構(gòu)成?編譯程序與解釋程序的區(qū)別?書上12頁練習(xí)。第2章PL/0編譯程序本章目的:PL/0語言基礎(chǔ)、PL/0編譯程序?qū)崿F(xiàn)的基本步驟和相關(guān)技術(shù)1.PL/0語言基礎(chǔ)知識2.PL/0語言描述(語法圖、EBNF)3.PL/0編譯程序的結(jié)構(gòu)4.PL/0編譯程序的分析工作(詞法、語法和語義)5.PL/0編譯程序的錯誤處理方法6.目標(biāo)代碼生成和類pcode代碼解釋器PL/0語言:PASCAL語言的子集PL/0程序示例PL/0的語法描述圖PL/0語言的EBNF表示1.PL/0語言基

2、礎(chǔ)知識PL/0程序示例CONSTA=10;(*常量說明部分*)VARB,C;(*變量說明部分*)BEGINCALLP;END.程序體說明部分PL/0程序示例CONSTA=10;(*常量說明部分*)VARB,C;(*變量說明部分*)BEGINREAD(B);C:=B;WHILEB#0DOBEGINC:=C+B;B:=B-1;END; WRITE(C);END.程序體說明部分PL/0程序示例CONSTA=10;(*常量說明部分*)VARB,C;(*變量說明部分*)PROCEDUREP;(*過程說明部分

3、*)VARD;(*P的局部變量說明部分*)BEGIN WRITE(D); CALLQ; END;BEGIN CALLP; END.p過程體主程序體說明部分PL/0程序示例CONSTA=10;(*常量說明部分*)VARB,C;(*變量說明部分*)PROCEDUREP;(*過程說明部分*)VARD;(*P的局部變量說明部分*)PROCEDUREQ;(*P的局部過程說明部分*)BEGIN WRITE(D); CALLR; END;BEGIN CALLP; END.p過程體主程序體說明部分PL/0程序示例

4、CONSTA=10;(*常量說明部分*)VARB,C;(*變量說明部分*)PROCEDUREP;(*過程說明部分*)VARD;(*P的局部變量說明部分*)PROCEDUREQ;(*P的局部過程說明部分*)VARX;BEGIN READ(X);D:=X;WHILEX#0DOCALLP; END;BEGIN WRITE(D); CALLQ; END;BEGIN CALLP; END.Q過程體p過程體主程序體說明部分輸入圓柱的半徑和高,計算一些面積、體積等varr,h,len,a1,a2,volumn;

5、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.計算最大公約數(shù)varm,n,r,q;{計算m和n的最大公約數(shù)}proceduregcd;beginwhiler#0dobeginq:=m/n;r:=m-q*n;m:=n;n:=r;end;end;beginread(m);read(n);{為了方便,規(guī)定m>=n

6、}ifm

7、eginifm>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);end.第2章PL/0編譯程序1.PL/0語言基礎(chǔ)知識2.PL/0語言描述(語法圖、EBNF)3.PL/0編譯程序的結(jié)構(gòu)4.PL/0編譯程序的分析工作(詞法、語法和

8、語義)5.PL/0編譯程序的錯誤處理方法6.目標(biāo)代碼生成和類pcode代碼解釋器程序分程序或內(nèi)的文字表示單詞符號(終結(jié)符).內(nèi)的文字表示語法成分(非終結(jié)符)非終結(jié)符:可由其它文法符號定義。終結(jié)符:語法成分的最小單位,不能由其它文法符號定義。2.PL/0語言描述(語法圖、EBNF)PL/0語言的EBNF(巴科斯-瑙爾范式)表示構(gòu)成EBNF的元素:非終結(jié)符,終結(jié)符,開始符,規(guī)則。EBNF的表示符號說明:<>:用左右尖括號括起來的內(nèi)容為非終結(jié)符∷=:讀做‘定義為’,∷=的左部由右部定義→

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

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

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