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