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

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

ID:58688259

大?。?05.50 KB

頁(yè)數(shù):63頁(yè)

時(shí)間:2020-10-04

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

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

1、第2章PL/0編譯程序的實(shí)現(xiàn)本章要點(diǎn)掌握語(yǔ)言的形式化描述:語(yǔ)法描述圖與巴科斯范式EBNF。以PL/0為例學(xué)習(xí)編譯程序?qū)崿F(xiàn)的基本步驟和相關(guān)技術(shù),熟悉并理解編譯程序的基本原理和概念。對(duì)于一段給定的程序,給出其形式化描述術(shù)語(yǔ)元語(yǔ)言(metalanguage):用以描述另一種語(yǔ)言的語(yǔ)法或語(yǔ)義的形式化的語(yǔ)言。2.1PL/0語(yǔ)言概述PL/0語(yǔ)言:PASCAL語(yǔ)言的子集數(shù)據(jù)類型只有整型。標(biāo)識(shí)符的有效長(zhǎng)度是10,以字母開始的字母數(shù)字串。數(shù)值最多為14位。過(guò)程無(wú)參數(shù),可嵌套定義(最多三層),可遞歸調(diào)用。變量的作用域同PASCAL,常量為全局的,無(wú)標(biāo)號(hào)。PL/0非形式化描述語(yǔ)句類型:賦值語(yǔ)句,read,w

2、rite,call,if...then...,while...do...,復(fù)合語(yǔ)句:begin...end,說(shuō)明語(yǔ)句:const...,var...,procedure…13個(gè)保留字:if,then,while,do,read,write,call,begin,end,const,var,procedure,odd2.1.1PL/0語(yǔ)言的語(yǔ)法描述圖程序語(yǔ)法描述圖程序分程序?內(nèi)的文字表示非終結(jié)符內(nèi)的文字或符號(hào)表示終結(jié)符分程序語(yǔ)法描述圖constidentnumber=,var;ident;,語(yǔ)句分程序(過(guò)程)語(yǔ)法描述圖procedureident;;分程序語(yǔ)句語(yǔ)法描述圖ident:=表達(dá)

3、式identcallendbegin語(yǔ)句語(yǔ)句;if條件語(yǔ)句then語(yǔ)句語(yǔ)法描述圖while表達(dá)式identdowrite語(yǔ)句,條件read()(),空語(yǔ)句條件語(yǔ)法描述圖odd>=表達(dá)式表達(dá)式<=<#=>表達(dá)式表達(dá)式語(yǔ)法描述圖項(xiàng)項(xiàng)+-+-項(xiàng)語(yǔ)法描述圖因子因子*/因子語(yǔ)法描述圖identnumber()表達(dá)式2.1.2PL/0語(yǔ)言文法的EBNF表示BNF(BACKUS-NAURFORM)是根據(jù)美國(guó)的JohnW.Backus與丹麥的PeterNaur來(lái)命名的,它從語(yǔ)法上描述程序設(shè)計(jì)語(yǔ)言的元語(yǔ)言(metalanguage)。采用BNF就可說(shuō)明哪些符號(hào)序列是對(duì)于某給定語(yǔ)言在語(yǔ)法上有效的程序。EB

4、NF—擴(kuò)展的巴科斯范式(ExtendedBACKUS-NAURFORM)PL/0語(yǔ)言文法的EBNF表示表示的符號(hào)說(shuō)明:<>語(yǔ)法單位,語(yǔ)法成分為非終結(jié)符::=語(yǔ)法定義,左部由右部定義

5、‘或’,多個(gè)右部定義{}花括號(hào)內(nèi)的語(yǔ)法成分可重復(fù)多次[]方括號(hào)內(nèi)的語(yǔ)法成分為任選項(xiàng)()圓括號(hào)內(nèi)的成分為優(yōu)先選項(xiàng)EBNF巴科斯范式<程序>::=<分程序>.<分程序>::=[<常量說(shuō)明部分>][<變量說(shuō)明部分>][<過(guò)程說(shuō)明部分>]<語(yǔ)句><常量說(shuō)明部分>::=CONST<常量定義>{,<常量定義>}<常量定義>::=<標(biāo)識(shí)符>=<無(wú)符號(hào)整數(shù)><無(wú)符號(hào)整數(shù)>::=<整數(shù)>{<整數(shù)>}EBNF巴科斯范式<變量說(shuō)

6、明部分>::=VAR<標(biāo)識(shí)符>{,<標(biāo)識(shí)符>}<標(biāo)識(shí)符>::=<字母>{<字母>

7、<數(shù)字>}<過(guò)程說(shuō)明部分>::=<過(guò)程首部><分程序>{,<過(guò)程說(shuō)明部分>}<過(guò)程首部>::=PROCEDURE<標(biāo)識(shí)符>;EBNF巴科斯范式<語(yǔ)句>::=<賦值語(yǔ)句>

8、<條件語(yǔ)句>

9、<當(dāng)型循環(huán)語(yǔ)句>

10、<過(guò)程調(diào)用語(yǔ)句>

11、<讀語(yǔ)句>

12、<寫語(yǔ)句>

13、<復(fù)合語(yǔ)句>

14、<空語(yǔ)句><賦值語(yǔ)句>::=<標(biāo)識(shí)符>:=<表達(dá)式><復(fù)合語(yǔ)句>::=BEGIN<語(yǔ)句>{;<語(yǔ)句>}END<條件>::=ODD<表達(dá)式>

15、<表達(dá)式><關(guān)系運(yùn)算符><表達(dá)式>EBNF巴科斯范式<表達(dá)式>::=[+

16、-]<項(xiàng)>{<加法運(yùn)算符><項(xiàng)>}<項(xiàng)

17、>::=<因子>{<無(wú)符號(hào)整數(shù)><因子>}<因子>::=<標(biāo)識(shí)符><乘法運(yùn)算符>

18、‘(’<表達(dá)式>‘)’<加法運(yùn)算符>::=+

19、-<乘法運(yùn)算符>::=*

20、/<關(guān)系運(yùn)算符>::==

21、#

22、<

23、<=

24、>

25、>=EBNF巴科斯范式<條件語(yǔ)句>::=IF<條件>THEN<語(yǔ)句><過(guò)程調(diào)用語(yǔ)句>::=CALL<標(biāo)識(shí)符><當(dāng)型循環(huán)語(yǔ)句>::=WHILE<條件>DO<語(yǔ)句><讀語(yǔ)句>::=READ(<標(biāo)識(shí)符>{,<標(biāo)識(shí)符>})<寫語(yǔ)句>::=WRITE(<表達(dá)式>{,<表達(dá)式>})<字母>::=a

26、b

27、c

28、……

29、X

30、Y

31、Z<數(shù)字>::=0

32、1

33、2

34、3

35、4

36、5

37、6

38、7

39、8

40、9PL/0編譯程序pcode解釋

41、程序PL/0源程序pcode代碼注:此處的pcode代碼專指PL/0的目標(biāo)碼,注意與傳統(tǒng)pcode的區(qū)別2.2PL/0編譯程序的結(jié)構(gòu)PL/0編譯程序PL/0源程序表格管理程序詞法分析程序代碼生成程序出錯(cuò)處理程序語(yǔ)法分析程序目標(biāo)程序PL/0程序示例CONSTA=10;(*常量說(shuō)明部分*) VARB,C;(*變量說(shuō)明部分*)PROCEDUREP;VARD; PROCEDUREQ;VARX;BEGIN READ(X);D:=X;WHILEX#0DOC

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

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

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