牛用編譯原理實驗指導書1

牛用編譯原理實驗指導書1

ID:46255681

大?。?26.22 KB

頁數(shù):59頁

時間:2019-11-22

牛用編譯原理實驗指導書1_第1頁
牛用編譯原理實驗指導書1_第2頁
牛用編譯原理實驗指導書1_第3頁
牛用編譯原理實驗指導書1_第4頁
牛用編譯原理實驗指導書1_第5頁
資源描述:

《牛用編譯原理實驗指導書1》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在工程資料-天天文庫。

1、《編譯原理》上機指導牛冀平數(shù)學與計算機學院2011年9月《編譯原理》是計算機專業(yè)的重要專業(yè)課z—,主耍介紹程序設計語言編譯構(gòu)造的基本原理和基本實現(xiàn)方法。由于這門課程相對抽彖且內(nèi)容復雜,一直是最難學的一門課程。編譯原理是一門理論性和實踐性較強的課程,在學習過程中,實驗非常重耍,只有通過上機實驗,才能使學生對比較抽彖的課程內(nèi)容產(chǎn)生一個具體的感性認識。但是,目前國內(nèi)市場上很少有較詳細且比較適合我校實際的實驗指導書。為此,我們特編了這份指導書,希望能對我校的《編譯原理》教學工作有所幫助。由于這門課實驗難度

2、較大,所以希望任課教師在實驗前安排好學生的預習工作。在上機前要求學生寫好實驗預習報告。本書中c程序均在Turboc2.0卜調(diào)試通過。由于編者水平冇限,本書中必然存在著不少缺點,在此懇請大家給予批評和指正,我們將盡力糾正。如對本書有批評指正,請Ema訂至houhf72@163.com。在此特對關心支持編寫木書的院系領導表示感謝。一二三四五六七一二三驗驗驗驗驗驗驗錄錄錄實實實實實實實附附附源程序的輸入和掃描1詞法分析2遞歸下降分析法8LL(1)分析法14算符優(yōu)先法處理算術表達式與賦值語句19逆波蘭式的

3、產(chǎn)生及計算31LR(1)分析法36實驗報告樣例1詞法分析器生成工具FUEX簡介5語法分析器生成工具"0C簡介11.主程序的部分偽代碼:從輸入設備接收所有輸入到緩沖區(qū)While讀入-?字符成功顯示該字符endwhile2.讀入一字符的部分偽代碼:if緩沖區(qū)非空then讀出該字符改變緩沖區(qū)指針返回該字符else返回結(jié)束標記endif實驗一源程序的輸入和掃描一、實驗目的:編制一個源程序的輸入過程,從鍵盤、文件或文本框輸入若干行語句,依次存入輸入緩沖區(qū)(字符型數(shù)據(jù));并編制一個掃描了程序,該了程序屮每次調(diào)

4、用能依次從存放源程序的輸入緩沖區(qū)中讀出一個有效字符。二、估計實驗時間:1.課余準備2小時以上;2.上機一次2小時;3.完成實驗報告2小時。三、實驗過程和指導:(一)準備:確定開發(fā)工具,如TC、VC、VC卄、Delphi等;花一周時間熟悉開發(fā)工具。花一周時間確定被處理的語言的語法特點(初步確定,也町使用現(xiàn)成語言如Pascal、C等)。寫好實驗報告,編好程序。(-)上機:安裝所需的開發(fā)工具,輸入或拷貝程序,調(diào)試。(三)程序要求:如源程序為C語言。輸入如下一段:main(){inta,b,c;a=10;

5、b=20;c=a+b;}要求輸出與輸入相同。要點:讀字符的子程序作為單獨一個過程(函數(shù)),每調(diào)用它i次只返冋緩沖區(qū)里的一個字符,主程序連續(xù)調(diào)用它就得到完整的輸岀。(見右圖)(四)練習該實驗的目的和思路:1.程序非常簡單,但要明白該程序的作用,為什么要設計成獨立的子函數(shù)?要將它和在以后的實驗屮進行比較,可得出這樣處理的冃的。2.通過練習,掌握字符處理的方法。四、實驗報告要求:1?寫出編程思路、源代碼;2.寫岀上機調(diào)試時發(fā)現(xiàn)的問題,以及解決的過程;3.寫出你所使用的測試數(shù)據(jù);4.談談你的體會。五、上交

6、:1?實驗報告;2.程序源文件(通過網(wǎng)絡提交)。實驗二詞法分析一、實驗目的:通過設計編制調(diào)試-?個貝體的詞法分析程序,加深対詞法分析原理的理解。并掌握在對程序設計語言源程序進行掃描過程中將其分解為各類單詞的詞法分析方法。編制一個讀單詞過程,從輸入的源程序中,識別岀各個具有獨立意義的單詞,即基本保留字、標識符、常數(shù)、運算符、分隔符五大類。并依次輸出各個單詞的內(nèi)部編碼及單詞符號口身值。(遇到錯誤吋可顯示“Error”,然后跳過錯誤部分繼續(xù)顯示)二、實驗預習提示1、詞法分析器的功能和輸岀格式訶法分析器的

7、功能是輸入源程序,輸出單詞符號。詞法分析器的單詞符號常常表示成以下的二元式(單詞種別笑,單詞符號的屬性值)。木實驗屮,采用的是一類符號一?種別碼的方式。2、單詞的BNF表示v標識符>?>v字母〉v字母數(shù)字串〉v字母數(shù)字串〉x字母><字母數(shù)字串>lv數(shù)字x字母數(shù)字串>1V下劃線>V字母數(shù)字串>1£V無符號整數(shù)>>V數(shù)字>v數(shù)字串〉V數(shù)字串>?>V數(shù)字X數(shù)字串>I£V加法運算符》+V減法運算符〉?V大于關系運算符>->>V大于等于關系運算符>?>>=3、“超詢搜索”方法詞法分析吋,常常會用到超前搜索方

8、法。如當前待分析字符串為“a>+”,當前字符為此吋,分析器倒底是將其分析為人于關系運算符還是大于等于關系運算符呢?顯然,只有知道下一個字符是什么才能F結(jié)論。于是分析器讀入下一個字符這時可知應將、'解釋為大于運算符。但此時,超前讀了一個字符所以要回退一個字符,詞法分析器才能正常運行。在分析標識符,無符號整數(shù)等時也有類似情況。4、模塊結(jié)構(gòu)主函數(shù)main()結(jié)束三、實驗過程和指導:(―)準備:(2,”main”)(5,"(“)(5,,,)“)(5,(1,”int”)(2,”獷)(5,,,

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。