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