版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、目 錄實(shí)驗(yàn)一 詞法分析1實(shí)驗(yàn)二 預(yù)測分析法4實(shí)驗(yàn)三 LR分析法5附錄1:實(shí)驗(yàn)報(bào)告格式6 實(shí)驗(yàn)一 詞法分析一、實(shí)驗(yàn)?zāi)康?(實(shí)驗(yàn)日期:2011.11.17)通過設(shè)計(jì)編制調(diào)試一個具體的詞法分析程序,加深對詞法分析原理的理解。并掌握在對程序設(shè)計(jì)語言源程序進(jìn)行掃描過程中將其分解為各類單詞的詞法分析方法。二、實(shí)驗(yàn)要求編制一個讀單詞過程,源程序?yàn)橐粋€文件,讀取該文件,識別出各個具有獨(dú)立意義的單詞,即基本保留字、標(biāo)識符、常數(shù)、運(yùn)算符、界符五大類。并依次輸出各個單詞的內(nèi)部編碼及單詞符號自身值。單詞的內(nèi)部編碼如下:1、保留字:if、int、for、while、do、return、break、continue;單詞
2、種別碼為1;2、標(biāo)識符:除保留字外的以字母開頭,后跟字母、數(shù)字的字符序列;單詞種別碼為2;3、常數(shù)為無符號整形數(shù);單詞種別碼為3;4、運(yùn)算符包括:+、-、*、/、=;單詞種別碼為4;5、分隔符包括:,、;、(、); 單詞種別碼為5。三、預(yù)習(xí)提示1、詞法分析器的功能和輸出格式詞法分析器的功能是輸入源程序,輸出單詞符號。詞法分析器的單詞符號常常表示成以下的二元式(單詞種別碼,單詞符號的屬性值)。本實(shí)驗(yàn)中,采用的是一類符號一種種別碼的方式。2、各類單詞的文法| + | - | * | / | = , | ; | ( | ) | | 3、模塊結(jié)構(gòu)參照教材圖2.5詞法分析過程GETSYM。四、實(shí)驗(yàn)過程和
3、指導(dǎo)1、準(zhǔn)備(1) 課本有關(guān)章節(jié);(2) 編制好程序;(3) 準(zhǔn)備多組測試數(shù)據(jù)。2、程序思路(僅供參考):在詞法分析中,自文件頭開始掃描源程序字符,一旦發(fā)現(xiàn)符合“單詞”定義的源程序字符串時,將它翻譯成固定長度的單詞內(nèi)部表示,并填入適當(dāng)?shù)男畔⒈?。?jīng)過詞法分析后,源程序字符串(源程序的外部表示)被翻譯成具有等長信息的單詞串(源程序的內(nèi)部表示),并產(chǎn)生兩個表格:常數(shù)表和標(biāo)識符表,它們分別包含了源程序中的所有常數(shù)和所有標(biāo)識符。(1) 定義部分:定義常量、變量、數(shù)據(jù)結(jié)構(gòu)。(2) 初始化:從文件將源程序全部輸入到字符緩沖區(qū)中。(3) 取單詞前:去掉多余空白。(4) 取單詞:利用實(shí)驗(yàn)一的成果讀出單詞的每一個
4、字符,組成單詞,分析類型。(5) 顯示結(jié)果。3、為了能設(shè)計(jì)好程序,注意以下事情:(1) 模塊設(shè)計(jì):將程序分成合理的多個模塊(函數(shù)),每個模塊做具體的同一事情。(2) 寫出(畫出)設(shè)計(jì)方案:模塊關(guān)系簡圖、流程圖、全局變量、函數(shù)接口等。(3) 編程時注意編程風(fēng)格:空行的使用、注釋的使用、縮進(jìn)的使用等。五、例 源程序文件內(nèi)容如下:main()int a, b;a = 10; b = a + 20;要求輸出如下:(2,”main”)(5,”(”)(5,”)”)(5,”“(1,”int”)(2,”a”)(5,”,”)(2,”b”)(5,”;”)(2,”a”)(4,”=”)(3,10)(5,”;”)(2,
5、”b”)(4,”=”)(2,”a”)(4,”+”)(3,20)(5,”;”)(5,”)”)實(shí)驗(yàn)二 預(yù)測分析法一、實(shí)驗(yàn)?zāi)康?實(shí)驗(yàn)日期:2011.11.24)根據(jù)某一LL(1)文法編制調(diào)試預(yù)測分析程序,以便對任意輸入的符號串進(jìn)行分析。本次實(shí)驗(yàn)的目的主要是加深對預(yù)測分析法的理解。二、實(shí)驗(yàn)要求本次實(shí)驗(yàn)的LL(1)文法為表達(dá)式文法:EE+T | TTT*F | FFi | (E)編寫識別表達(dá)式文法的合法句子的預(yù)測分析程序,對輸入的任意符號串,給出分析過程及分析結(jié)果。分析過程要求輸出步驟、分析棧、剩余輸入串和所用產(chǎn)生式。如果該符號串不是表達(dá)式文法的合法句子,要給出盡量詳細(xì)的錯誤提示。三、實(shí)驗(yàn)過程1、準(zhǔn)備(
6、1) 閱讀課本有關(guān)章節(jié);(2) 初步編制好程序;(3) 準(zhǔn)備多組測試數(shù)據(jù)。2、上機(jī)調(diào)試3、思路將表達(dá)式預(yù)測分析表存到一個數(shù)組中,參照教材圖5.11預(yù)測分析程序的框圖編寫分析程序。4、為了能設(shè)計(jì)好程序,注意以下事情:(1) 模塊設(shè)計(jì):將程序分成合理的多個模塊(函數(shù)),每個模塊做具體的同一事情。(2) 寫出(畫出)設(shè)計(jì)方案:模塊關(guān)系簡圖、流程圖、全局變量、函數(shù)接口等。(3) 編程時注意編程風(fēng)格:空行的使用、注釋的使用、縮進(jìn)的使用等。實(shí)驗(yàn)三 LR分析法一、實(shí)驗(yàn)?zāi)康?實(shí)驗(yàn)日期:2011.12.1)掌握用LR分析法對表達(dá)式文法進(jìn)行自底向上語法分析的算法,加深對LR分析法的移進(jìn),歸約等操作理解。二、實(shí)驗(yàn)要
7、求本次實(shí)驗(yàn)的SLR(1)文法為表達(dá)式拓廣文法:(0) SE(1) EE+T(2) ET(3) TT*F(4) TF(5) F(E)(6) Fi改進(jìn)后的SLR(1)分析表如教材142頁圖7.8。編寫識別表達(dá)式拓廣文法的合法句子的SLR(1)分析程序,對輸入的任意符號串,給出分析過程及分析結(jié)果。分析過程要求輸出步驟、狀態(tài)棧、符號棧、輸入串和語法動作。如果該符號串不是表達(dá)式文法的合法句子,要給出盡量詳細(xì)的錯誤提示。三、實(shí)驗(yàn)過程1、準(zhǔn)備(1) 閱讀課本有關(guān)章節(jié);(2) 初步編制好程序;(3) 準(zhǔn)備多組測試數(shù)據(jù)。2、上機(jī)調(diào)試3、思路將改進(jìn)后的SLR(1)分析表存到一個數(shù)組中,參照教材118頁的LR分析程
8、序編寫分析程序。4、為了能設(shè)計(jì)好程序,注意以下事情:(1) 模塊設(shè)計(jì):將程序分成合理的多個模塊(函數(shù)),每個模塊做具體的同一事情。(2) 寫出(畫出)設(shè)計(jì)方案:模塊關(guān)系簡圖、流程圖、全局變量、函數(shù)接口等。(3) 編程時注意編程風(fēng)格:空行的使用、注釋的使用、縮進(jìn)的使用等。附錄1:實(shí)驗(yàn)報(bào)告格式_實(shí)驗(yàn)報(bào)告一、實(shí)驗(yàn)項(xiàng)目名稱根據(jù)實(shí)驗(yàn)教學(xué)大綱要求書寫。二、實(shí)驗(yàn)?zāi)康哪康囊鞔_,要抓住重點(diǎn),可以從理論和實(shí)踐兩個方面考慮。在理論上,驗(yàn)證定理、公式、算法,并使實(shí)驗(yàn)者獲得深刻和系統(tǒng)的理解;在實(shí)踐上,掌握使用實(shí)驗(yàn)設(shè)備的技能技巧和程序的調(diào)試方法。一般需說明是驗(yàn)證型實(shí)驗(yàn)還是設(shè)計(jì)型實(shí)驗(yàn),是創(chuàng)新型實(shí)驗(yàn)還是綜合型實(shí)驗(yàn)。三、實(shí)驗(yàn)環(huán)境實(shí)驗(yàn)用的軟硬件環(huán)境。四、實(shí)驗(yàn)內(nèi)容說明本次實(shí)驗(yàn)的具體內(nèi)容,要求實(shí)驗(yàn)內(nèi)容飽滿,難度適中
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國汽車經(jīng)銷行業(yè)開拓第二增長曲線戰(zhàn)略制定與實(shí)施研究報(bào)告
- 自動排序上料工作原理解析
- 關(guān)于大學(xué)校園真善美的調(diào)查
- 2025年中國海島旅游行業(yè)發(fā)展趨勢預(yù)測及投資戰(zhàn)略咨詢報(bào)告
- 蛹蟲草產(chǎn)業(yè)化項(xiàng)目可行性研究報(bào)告建議書
- 春節(jié)購房盛宴
- 年產(chǎn)2000萬米汽車密封條生產(chǎn)線技術(shù)升級改造項(xiàng)目可行性研究報(bào)告寫作模板-備案審批
- 二零二五年度房產(chǎn)購置專項(xiàng)貸款服務(wù)合同3篇
- 有機(jī)食品知識培訓(xùn)課件
- 2025年度數(shù)據(jù)中心EMC合同能源管理項(xiàng)目合同2篇
- 陜西2020-2024年中考英語五年真題匯編學(xué)生版-專題09 閱讀七選五
- 多源數(shù)據(jù)融合平臺建設(shè)方案
- 2023-2024學(xué)年上海市普陀區(qū)三年級(上)期末數(shù)學(xué)試卷
- 居家養(yǎng)老上門服務(wù)投標(biāo)文件
- 浙江省寧波市鄞州區(qū)2024年七年級上學(xué)期期末數(shù)學(xué)試題【含答案】
- 浙江省杭州市錢塘區(qū)2023-2024學(xué)年四年級上學(xué)期語文期末試卷
- GB/T 44713-2024節(jié)地生態(tài)安葬服務(wù)指南
- 小班班本課程《吃飯這件小事》
- 水文氣象報(bào)告
- 2022年sppb簡易體能狀況量表
- 錨桿、錨索框架梁施工方案
評論
0/150
提交評論