




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第2頁共7頁《編譯原理》實驗指導(dǎo)書課程編號:24003416課程名稱:編譯原理/CompilerPrinciples實驗總學(xué)時數(shù):8適用專業(yè):計算機科學(xué)與技術(shù)承擔(dān)實驗室:計算機系實驗室一、實驗教學(xué)的目的與要求上機實習(xí)是對學(xué)生的一種全面綜合訓(xùn)練,是與課堂聽講、自學(xué)和練習(xí)相輔相成的必不可少的一個教學(xué)環(huán)節(jié)。通常,實習(xí)題中的問題比平時的練習(xí)題要復(fù)雜,也更接近實際。編譯原理這門課程安排的上機實驗都屬于一種設(shè)計類型的實驗,每個實驗的訓(xùn)練重點在于基本的編譯技術(shù)和方法,而不強調(diào)面面俱到;實驗的目的是旨在使學(xué)生進一步鞏固課堂上所學(xué)的理論知識,深化理解和靈活掌握教學(xué)內(nèi)容;培養(yǎng)學(xué)生編制算法的能力和編程解決實際問題的動手能力。要求學(xué)生在上機前應(yīng)認真做好各種準備工作,熟悉機器的操作系統(tǒng)和語言的集成環(huán)境,獨立完成算法編制和程序代碼的編寫;上機時應(yīng)隨帶有關(guān)的編譯原理教材或參考書;要學(xué)會程序調(diào)試與糾錯。實驗后要交實驗報告,實驗報告的內(nèi)容應(yīng)包括:實驗題目、班級、學(xué)號、姓名、完成日期;簡要的需求分析與概要設(shè)計;詳細的算法描述;源程序清單;給出軟件的測試方法和測試結(jié)果;實驗的評價、收獲與體會。開發(fā)工具:DOS環(huán)境下使用TurboC;Windows環(huán)境下使用VisualC++。
二、實驗項目名稱與學(xué)時分配序號實驗項目名稱學(xué)時數(shù)必/選開01詞法分析器的設(shè)計8選開02語法分析器的設(shè)計8選開說明:以上兩實驗01、02中必須選一個。三、單項實驗的內(nèi)容和要求要求每個實驗保證每個學(xué)生一臺微機。詞法分析器設(shè)計(一)目的與要求1.目的通過設(shè)計、編制、調(diào)試一個具體的詞法分析程序,加深對詞法分析原理的理解,并掌握在對程序設(shè)計語言源程序進行掃描過程中將其分解為各類單詞的詞法分析方法。2.要求(1)選擇常用高級程序設(shè)計語言(如Pascal、C語言、PL/0語言)的源程序作為詞法分析對象。(2)根據(jù)教學(xué)要求和學(xué)生具體情況,從上列語言之一中選取它的一個適當(dāng)大小的子集,可以選取一類典型單詞,也可以盡可能使各種類型的單詞都能兼顧到。其基本要求是:對源程序從左到右進行掃描,對組成源程序的字符串拼接成為單詞;并把其轉(zhuǎn)換成屬性字輸出。(3)實習(xí)時間為8學(xué)時。(二)實驗內(nèi)容:完成對某一種常用高級語言(如Pascal、C語言、PL/0語言)的各類單詞進行詞法分析。PL/0語言文法的EBNF描述:〈程序〉∷=〈分程序〉?!捶殖绦颉怠耍絒〈常量說明部分〉][〈變量說明部分〉][〈過程說明部分〉]〈語句〉〈常量說明部分〉∷=CONST〈常量定義〉{。〈常量定義〉};〈常量定義〉∷=〈標(biāo)志符〉=〈無符號整數(shù)〉〈無符號整數(shù)〉∷=〈數(shù)字〉{〈數(shù)字〉}〈變量說明部分〉∷=VAR〈標(biāo)志符〉{,〈標(biāo)志符〉};〈標(biāo)志符〉∷=〈字母〉{〈字母〉|〈數(shù)字〉}〈過程說明部分〉∷=〈過程首部〉〈分程序〉{;〈過程說明部分〉};〈過程首部〉∷=PROCEDURE〈標(biāo)志符〉;〈語句〉∷=〈賦值語句〉|〈條件語句〉|〈當(dāng)型循環(huán)語句〉|〈過程調(diào)用語句〉|〈讀語句〉|〈寫語句〉|〈復(fù)合語句〉|〈空〉〈賦值語句〉∷=〈標(biāo)志符〉:=〈表達式〉〈復(fù)合語句〉∷=BEGIN〈語句〉{;〈語句〉}END〈條件〉∷=〈表達式〉〈關(guān)系運算符〉〈表達式〉|ODD〈表達式〉〈表達式〉∷=[+|-]〈項〉{〈加法運算符〉〈項〉}〈項〉∷=〈因子〉{〈乘法運算符〉〈因子〉}〈因子〉∷=〈標(biāo)志符〉|〈無符號整數(shù)〉|‘(’〈表達式〉‘)’〈加法運算符〉∷=+|-〈乘法運算符〉∷=*|/〈關(guān)系運算符〉∷==|#|<|>|<=|>=〈條件語句〉∷=IF〈條件〉THEN〈語句〉〈過程調(diào)用語句〉∷=CALL〈標(biāo)志符〉〈當(dāng)型循環(huán)語句〉∷=WHILE〈條件〉DO〈語句〉〈讀語句〉∷=READ‘(’〈標(biāo)志符〉{,〈標(biāo)志符〉}‘)’〈寫語句〉∷=WRITE‘(’〈表達式〉{,〈表達式〉}‘)’〈字母〉∷=a|b|…..|X|Y|Z〈數(shù)字〉∷=0|1|2|…..|8|9(三)提示把常用高級程序設(shè)計語言中的單詞分為下幾類:關(guān)鍵字、標(biāo)識符、運算符、無符號數(shù)(常數(shù))、界限符,其中關(guān)鍵字、運算符、界限符三類單詞對于任何一種高級語言來說其數(shù)量和意義均是固定的,所以此三類單詞可以事先構(gòu)造好相應(yīng)的表進行管理;而對于標(biāo)識符、無符號數(shù)兩類單詞則需要邊識別邊建表填表。設(shè)計者要為給定語言的每類單詞定義其單詞屬性字的結(jié)構(gòu)。詞法分析程序的輸入為給定語言的任意用戶源程序(在用ASCII碼保存的文件中),輸出為設(shè)計者定義的單詞屬性字序列(也是用ASCII碼保存的文件)。
(四)示例 下面給出詞法分析總控程序和無符號數(shù)詞法分析子程序的流程圖:結(jié)束符結(jié)束符“#”界限符開始到輸入流中讀下一字符CharChar是什么?初始化標(biāo)識符和關(guān)鍵字詞法分析子程序字母數(shù)字運算符無符號數(shù)詞法分析子程序運算符詞法分析子程序界限符詞法分析子程序結(jié)束圖1詞法分析總控程序
開始開始0N,P,j;1e數(shù)字d;N*10+dN是數(shù)字?Y讀字符charNYN整型量標(biāo)記C1是’-’嗎?讀字符char是’e’嗎?是’-’嗎?-1e讀字符charYNYN讀字符char是數(shù)字?Y數(shù)字d;N*10+dN;j+1j是數(shù)字?Y讀字符charERRORNN實型量標(biāo)記C1是數(shù)字?Y數(shù)字d;P*10+dPY讀字符charERRORNN實型量標(biāo)記C1N*10e*P-jt結(jié)束YN整數(shù)部分小數(shù)部分是’.’嗎?是數(shù)字?指數(shù)部分N圖2無符號數(shù)詞法分析流程圖
語法分析器的設(shè)計(一)目的與要求1.目的通過設(shè)計、編制、調(diào)試一個典型的語法成分的語法分析程序,實現(xiàn)對詞法分析程序所提供的單詞序列進行語法檢查和結(jié)構(gòu)分析工作,進一步掌握常用的語法分析方法。2.要求選擇最有代表性的語法分析方法,如算符優(yōu)先法(或簡單優(yōu)先法)、遞歸下降分析法、LL分析法和LR分析法之一進行語法分析。選擇對各種常見程序語言都通用的語法結(jié)構(gòu),如賦值語句(尤指表達式)作為分析對象,并且與所選語法分析方法要比較貼切。實習(xí)時間為8小時。(二)實驗內(nèi)容對于常用高級語言(如Pascal、C語言)的某些語法結(jié)構(gòu)用所學(xué)過的語法分析方法分析其結(jié)構(gòu)是否正確;或?qū)τ诔S酶呒壵Z言(如Pascal、C語言)的某些語法結(jié)構(gòu)(如賦值語句)用所學(xué)過的語法分析方法和語義分析方法進行語法分析、語義分析,并把其翻譯成為中間代碼形式。(三)提示對詞法分析程序所提供的單詞序列程序從左到右進行掃描,把其中賦值語句用所學(xué)過的語法分析方法(遞歸下降分析法、算符優(yōu)先分析法(或簡單優(yōu)先法)、LL分析法和LR分析法)進行語法分析,采用語法制導(dǎo)翻譯方法將其轉(zhuǎn)換為中間代碼(逆波蘭式、四元式)形式輸出。
四、課程特色《編譯原理》課程是理論性較強的課程。其特點是概念多、內(nèi)容抽象。尤其是文法、形式語言及自動機的概念是計算機專業(yè)的理論學(xué)習(xí)和研究的基礎(chǔ)。編譯原理與方法對于深刻理解程序設(shè)計語言、深入了解程序在計算機中的運行機制、掌握程序設(shè)計語言的翻譯方法起到不可替代的作用。同時《編譯原理》課程也是實踐性很強的課程,要求學(xué)生在基本掌握了編譯理論和技術(shù)的基礎(chǔ)上,綜合應(yīng)用先修課程及本課程的知識,完成課程的實驗和課程設(shè)計。五、教材及參考書教材:《編譯原理》主編:呂映芝、張素琴、蔣維杜出版社:清華大學(xué)出版社出版時間:1998年1月參考書:[1]何炎祥.編譯原理.華中理工大學(xué)出版社,2000,10[2]陳火旺,劉春林,譚慶平,趙克佳,劉越.程序設(shè)計語言編譯原理(第3版).國防工業(yè)出版社,2001,8[2]AlfredV.Aho,RaviSethi,JeffreyD.Ullman.編譯原理技術(shù)與工具(英文版).人民郵電出版社,2002,2[4]
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度木工雕刻技藝傳承與勞務(wù)合作合同
- 2025年度旅游管理公司高層管理人員聘用合同
- 二零二五年度茶葉電商平臺合作合同
- 二零二五年度學(xué)校臨時教師聘用合同書-體育教練員合作合同
- 2025年度飯店員工績效考核與薪酬管理合同
- 二零二五年度無固定期限勞動合同解除賠償金支付及賠償金執(zhí)行協(xié)議
- 2025年度汽修廠修理工勞動合同續(xù)簽與調(diào)整合同
- 藝術(shù)團發(fā)言稿
- 網(wǎng)絡(luò)安全風(fēng)險評估與控制測試題
- 交易員保密合同理想股票技術(shù)論壇
- 失語癥的分類及臨床特征
- 循環(huán)流化床鍋爐操作工安全技術(shù)操作規(guī)程模版(3篇)
- 2024院感培訓(xùn)課件
- 2024-2030年中國稅務(wù)師事務(wù)所行業(yè)管理模式及投資前景展望報告版
- 2024年全國高考英語試題及答案-湖南卷
- 《少兒汽車知識講座》課件
- 部編人教版小學(xué)四年級下冊道德與法治全冊教案及每課教學(xué)反思
- 中建吊籃安拆專項施工方案(專家論證版)
- 《汽車維修接待實務(wù)》 課件全套 孫麗學(xué)習(xí)情景1-8 汽車維修服務(wù)接待認知 -新能源汽車維修接待
- 2020年礦建監(jiān)理工作總結(jié)
- 獸醫(yī)學(xué)英語詞匯【參考】
評論
0/150
提交評論