一、 實驗內(nèi)容
S語言的編譯程序的詞法分析部分實現(xiàn)
從左到右掃描每行S語言源程序的符號,拼成單詞,換成內(nèi)部表示(token)
二、 實驗要求
要求實現(xiàn)編譯器的以下功能:
組織源程序的輸入
按規(guī)則拼寫單詞,并轉(zhuǎn)換成二元形式
刪除空格及無用符號(如回車符,字符常數(shù)的引號符等)
發(fā)現(xiàn)并定位錯誤
建立單詞表、符號表、常數(shù)表等文件
三、 實現(xiàn)方法
數(shù)據(jù)結(jié)構(gòu)
1、 輸入
S語言源程序,為文本文件
2、 輸出
詞法分析程序的運行結(jié)果是:產(chǎn)生一個單詞序列文件(token文件)和一個常數(shù)表、一個符號表文件,并輸出錯誤信息。
(1) token文件結(jié)構(gòu)
token文件用于存放從S語言源程序中掃描出來的一個個單詞符號的機內(nèi)表示,其文件結(jié)構(gòu)如下:
typedef struct token
{
nt label
char name[30]
int code
int addr
}token
說明:
label:單詞序號;
name[30]:單詞本身;
code:單詞的編輯;
addr:地址,單詞本身保留字時值為-1,為標識符成常數(shù)時為大于0常數(shù),即該標識符成常數(shù)在符號表中的入口地址。
標簽:
分
語言
實驗
編譯
上傳時間:
2015-04-29
上傳用戶:refent