在本編譯程序中,源語(yǔ)言為PL/0語(yǔ)言,目標(biāo)語(yǔ)言為假想棧式計(jì)算機(jī)的匯編語(yǔ)言.PL/0語(yǔ)言是Pascal語(yǔ)言的一個(gè)子集,PL/0的編譯程序包括了對(duì)PL/0語(yǔ)言源程序進(jìn)行分析處理、編譯生成類PCODE代碼,并在虛擬機(jī)上解釋運(yùn)行生成的類PCODE代碼的功能。
PL/0語(yǔ)言編譯程序采用以語(yǔ)法分析為核心、一遍掃描的編譯方法。詞法分析和代碼生成作為獨(dú)立的子程序供語(yǔ)法分析程序調(diào)用。語(yǔ)法分析的同時(shí),提供了出錯(cuò)報(bào)告功能。在源程序沒(méi)有錯(cuò)誤編譯通過(guò)的情況下,調(diào)用類PCODE解釋程序解釋執(zhí)行生成的類PCODE代碼。
該軟件為PL/0語(yǔ)言編譯程序,所實(shí)現(xiàn)的擴(kuò)充功能如下:
1.增加單詞:保留字 ELSE,F(xiàn)OR,TO, DOWNTO
2.增加運(yùn)算 +=,-=,++,--
3.不等號(hào)# 改為 <>
4.增加條件語(yǔ)句的ELSE子句
5.擴(kuò)充語(yǔ)句:
①FOR <變量>:=<表達(dá)式> TO <表達(dá)式> DO <語(yǔ)句>
②FOR <變量>:=<表達(dá)式> DOWNTO<表達(dá)式> DO <語(yǔ)句>
其中,語(yǔ)句①的循環(huán)變量的步長(zhǎng)為1,
語(yǔ)句②的循環(huán)變量的步長(zhǎng)為-1。
概述
源文件: *.plo
目標(biāo)文件: *.COD
實(shí)現(xiàn)平臺(tái):C++ Builder6.0
標(biāo)簽:
Pascal
語(yǔ)言
PL
編譯
上傳時(shí)間:
2015-06-22
上傳用戶:hanli8870