編譯原理實驗報告2詞法分析程序的設計9頁.doc
《編譯原理實驗報告2詞法分析程序的設計9頁.doc》由會員分享,可在線閱讀,更多相關《編譯原理實驗報告2詞法分析程序的設計9頁.doc(9頁珍藏版)》請在匯文網(wǎng)上搜索。
1、實驗2 詞法分析程序的設計一、實驗目的掌握計算機語言的詞法分析程序的開發(fā)方法。二、實驗內(nèi)容編制一個能夠分析三種整數(shù)、標識符、主要運算符和主要關鍵字的詞法分析程序。三、實驗要求1、根據(jù)以下的正規(guī)式,編制正規(guī)文法,畫出狀態(tài)圖;標識符 (|)*十進制整數(shù)0 | ((1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*)八進制整數(shù) 0(1|2|3|4|5|6|7)(0|1|2|3|4|5|6|7)*十六進制整數(shù)0x(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)*運算符和界符+ - * /
2、= ( ) ;關鍵字if then else while do 2、根據(jù)狀態(tài)圖,設計詞法分析函數(shù)int scan( ),完成以下功能:1) 從文本文件中讀入測試源代碼,根據(jù)狀態(tài)轉(zhuǎn)換圖,分析出一個單詞,2) 以二元式形式輸出單詞其中單詞種類用整數(shù)表示:0:標識符1:十進制整數(shù)2:八進制整數(shù)3:十六進制整數(shù)運算符和界符,關鍵字采用一字一符,不編碼其中單詞屬性表示如下:標識符,整數(shù)由于采用一類一符,屬性用單詞表示運算符和界符,關鍵字采用一字一符,屬性為空3、編寫測試程序,反復調(diào)用函數(shù)scan( ),輸出單詞種別和屬性。四、實驗環(huán)境PC微機DOS操作系統(tǒng)或 Windows 操作系統(tǒng)Turbo C 程序
3、集成環(huán)境或 Visual C+ 程序集成環(huán)境五、實驗步驟1、 根據(jù)正規(guī)式,畫出狀態(tài)轉(zhuǎn)換圖;01字母空白字母或數(shù)字非字母與數(shù)字3194092非數(shù)字5061707非0778x909或af非09與af1011+ 或或* 或/ 或 或= 或 (或 ) 或 ;12if then else while do*非17與x09或af2、 根據(jù)狀態(tài)圖,設計詞法分析算法;觀察狀態(tài)圖,其中狀態(tài)2、4、7、10(右上角打了星號)需要回調(diào)一個字符。聲明一些變量和函數(shù):ch:字符變量,存放最新讀進的源程序字符。strToken:字符串變量,存放構(gòu)成單詞符號的字符串。GetChar():子函數(shù),將下一輸入字符讀到ch中,搜
4、索指示器前移一字符位置。GetBC():子函數(shù),檢查ch中的字符是否為空白。若是,則調(diào)用GetChar()直至ch中進入一個非空白字符。Concat():子函數(shù),將ch中的字符連接到strToken之后。IsLetter():布爾函數(shù),判斷ch中的字符是否為字母。IsDigit():布爾函數(shù),判斷ch中的字符是否為數(shù)字。Reserve():整型函數(shù),對strToken中的字符串查找保留字表,若它是一個保留字則返回它的編碼,否則返回0。SearchOp():整型函數(shù),對ch查找運算符和界符,若它是一個運算符或界符,則返回它的編碼,否則返回0。Retract():子函數(shù),將搜索指示器回調(diào)一個字符位
5、置,將ch置為空白字符。ProError():錯誤處理函數(shù)。關鍵字保存在字符數(shù)組中,定義編碼為相對數(shù)組首地址的位置 + 1。保留子表順序如下: if ,then,else,while,do ,則相應編碼為:1,2,3,4,5。運算符和界符保存在字符數(shù)組中,編碼定義與關鍵字相同,順序如下: + ,- , * , / , , , = , ( , ) , ;,編碼為:110。二元表單詞單詞種類屬性標識符0單詞自身十進制整數(shù)1單詞自身八進制整數(shù)2單詞自身十六進制整數(shù)3單詞自身運算符和界符單詞自身-關鍵字單詞自身-算法如下:ch= ;strToken=” ”;GetBC();if(IsLetter()
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關 鍵 詞:
- 編譯 原理 實驗 報告 詞法 分析 程序 設計