資源簡介
(1)擴充賦值運算:*= 和 /=
(2)擴充語句(Pascal的FOR語句):
①FOR <變量>:=<表達式> TO <表達式> DO <語句>
②FOR <變量>:=<表達式> DOWNTO <表達式> DO <語句>
其中,語句①的循環變量的步長為2,
語句②的循環變量的步長為-2。
(3)增加運算:++ 和 --。
選做內容:
(1)增加類型:① 字符類型; ② 實數類型。
(2)擴充函數:① 有返回值和返回語句;② 有參數函數。
(3)增加一維數組類型(可增加指令)。
(4)其他典型語言設施。
代碼片段和文件信息
//A.2?????C??????版???本
/*編譯和運行環境:
*1Visual?C++6.0VisualC++.NET?and?Visual?C++.NET?2003
*WinNT?Win?200?WinXP?and??Win2003?
*2?gcc?version?3.3.2??20031022(Red?Hat?Linux?3.3.2-1)
*Redhat?Fedora?core?1
*Intel?32?platform
*使用方法:
*運行后輸入PL/0?源程序文件名
*回答是否輸出虛擬機代碼
*回答是否輸出名字表
*fa.tmp?輸出虛擬機代碼
*fa1.tmp??輸出源文件及其各行對應的首地址
*fa2.tmp??輸出結果?
*fas.tmp??輸出名字表
*/
#include
#include
#include“pl0.h“
#include“string.h“
/*解釋執行時使用的棧*/
#define?stacksize?500
int?main()
{
bool?nxtlev[symnum];
printf(“Input?pl/0?file??“);
scanf(“%s“fname);?????????????????????????????????????/*輸入文件名*/
fin=fopen(fname“r“);
if(fin)
{
printf(“List?object?code??(Y/N)“);????????????????/*是否輸出虛擬機代碼*/
scanf(“%s“fname);
listswitch=(fname[0]==‘y‘||fname[0]==‘Y‘);
printf(“L
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????6190??2013-01-01?14:33??PL0.h
?????文件???????44242??2013-01-04?21:53??PL0.cpp
評論
共有 條評論