PL/0語(yǔ)言是Pascal語(yǔ)言的一個(gè)子集,我們這里分析的PL/0的編譯程序包括了對(duì)PL/0語(yǔ)言源程序進(jìn)行分析處理、編譯生成類(lèi)PCODE代碼,并在虛擬機(jī)上解釋運(yùn)行生成的類(lèi)PCODE代碼的功能。
PL/0語(yǔ)言編譯程序采用以語(yǔ)法分析為核心、一遍掃描的編譯方法。詞法分析和代碼生成作為獨(dú)立的子程序供語(yǔ)法分析程序調(diào)用。語(yǔ)法分析的同時(shí),提供了出錯(cuò)報(bào)告和出錯(cuò)恢復(fù)的功能。在源程序沒(méi)有錯(cuò)誤編譯通過(guò)的情況下,調(diào)用類(lèi)PCODE解釋程序解釋執(zhí)行生成的類(lèi)PCODE代碼。以下源程序是以清華大學(xué)出版社《編譯原理》中的源代碼為基礎(chǔ)作了少量改動(dòng)而成。
程序在Turbo Pascal 7.0上編譯運(yùn)行通過(guò)。
標(biāo)簽:
Pascal
語(yǔ)言
PL
上傳時(shí)間:
2015-04-24
上傳用戶(hù):SimonQQ