




已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
編譯實(shí)驗(yàn) 任課教師 王曉斌806教研室主樓中338 一 概述1 源語言 擴(kuò)展MINI PL 簡(jiǎn)化的Pascal 語言定義見文法 1 不允許標(biāo)號(hào)說明 類型說明和函數(shù)說明 2 不允許指針 集合 記錄 文件和子界型 3 不允許過程作為參數(shù) 4 沒有REPEAT CASE WITH和GOTO語句 2 工具語言 Pascal C或其它3 語法分析采用遞歸下降分析法4 目標(biāo)代碼 P碼5 編譯程序MINI CP的結(jié)構(gòu) 源程序字符串 pas 詞法分析器 語法分析器 語義分析 中間代碼生成器 代碼優(yōu)化器 目標(biāo)代碼生成器 二元式序列 dyd 二元式序列 dys 中間代碼序列 qud 中間代碼序列 qdo 符號(hào)表管理程序 出錯(cuò)處理程序 編譯程序的結(jié)構(gòu) P碼 二 各階段的輸入輸出1 詞法分析 詞法分析器 源程序 pas 二元式 文本文件 dyd 2 語法分析 語法分析器 dyd dys 同時(shí) 產(chǎn)生文本文件 var pro arr 3 語義分析 語義分析器 dys qud 文本文件 同時(shí) 產(chǎn)生二進(jìn)制文件 ooj varfil procfil arrfil 4 優(yōu)化 優(yōu)化段 qud ooj qdo 文本文件 同時(shí) 產(chǎn)生二進(jìn)制文件 coj 5 目標(biāo)代碼生成 目標(biāo)代碼生成器 qdo coj obj P碼 同時(shí) 產(chǎn)生二進(jìn)制文件proct 變更后的過程名表 pf 目標(biāo)指令 三 數(shù)據(jù)結(jié)構(gòu)1 二元式文件 dyd 1 二元式形式 單詞符號(hào) 種別 長(zhǎng)度為16 長(zhǎng)度為2 一個(gè)空格 2 每行后加一 EOLN 34 3 文件結(jié)尾加 EOF 37 2 錯(cuò)誤信息文件 err 1 錯(cuò)誤信息格式 LINE 行號(hào) 錯(cuò)誤性質(zhì) 2 注意 進(jìn)入每一階段 首先打開 err 如果無錯(cuò)誤 則 err為空 3 dys同 dyd 4 變量表變量名vname char 16 分類vkind 0 1 0 變量 1 形參 變量類型vtype types變量層次vlev int變量在變量表中的位置vadr int 相對(duì)第一個(gè)變量而言 types ints reals bools chars arrays 5 過程名表過程名proname char 16 層次prolev int直接外層proc char 16 第一個(gè)變量的位置firstvar int最后一個(gè)變量的位置lastvar int地址proadr int參數(shù)個(gè)數(shù)parnum int第一個(gè)參數(shù)的位置firstpar int 6 數(shù)組名表數(shù)組名arrname char 16 基類型 types下界low int上界high int 7 四元式表 oprd op1 op2 result oprd 整數(shù)碼op1 第一操作數(shù)op2 第二操作數(shù)result 結(jié)果op1 op2 result可用二元組表示 類型 值 地址 8 目標(biāo)代碼 P碼參見目標(biāo)代碼 P碼 指令表 四 實(shí)現(xiàn)難點(diǎn)1 文件名的分解多數(shù)文件均和源文件同名 僅擴(kuò)展名不同 2 詞法分析時(shí) 注意行尾和文件尾 3 設(shè)一個(gè)總的變量名表 查 填表時(shí)注意嵌套 也可能涉及到過程名表 4 語法錯(cuò)分類 1 缺少符號(hào)錯(cuò) 2 符號(hào)匹配錯(cuò) 3 符號(hào)無定義或重復(fù)定義 5 遞歸下降分析時(shí) 必須先消除左遞歸 6 遞歸下降分析時(shí) 跟蹤符號(hào)的位置當(dāng)進(jìn)入某過程時(shí) 其第一個(gè)符號(hào)必須已經(jīng)讀出 退出該過程時(shí) 必須讀出該語法成分的右界符 例 G E E E T TT T F FF E i消除左遞歸 E T E E TE T FT T FT F E i 過程match 匹配單詞符號(hào) 并讀入下一符號(hào)變量lookahead 即將處理但尚未處理的符號(hào)procedurematch t token beginiflookahead tthenlookahead nexttokenelseerrorend procedureE beginT E end procedureT beginF T end procedureE iflookahead thenbeginmatch T E end procedureT iflookahead thenbeginmatch F T end 7 進(jìn)行自上而下語法制導(dǎo)翻譯時(shí) 各過程返回的是指針 五 實(shí)驗(yàn)要求1 至少完成詞法 語法 語義分析 2 提交 軟盤 文檔 1 軟盤 說明各文件名稱 源程序 測(cè)試程序 運(yùn)行結(jié)果 2 文檔設(shè)計(jì)思想 總控算法 主要服務(wù)子程序算法 總結(jié) 心得 收獲 建議等 測(cè)試程序 PROGRAMEXAM INPUT OUTPUT CONSTM 10 N 99 VARI J INTEGER A ARRAY 1 10 OFREAL PROCEDUREPP X Y INTEGER VARZ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦文辦會(huì)辦事管理制度
- 基金公司公司管理制度
- 公司境內(nèi)投資管理制度
- 外包客服店鋪管理制度
- 廣西建工安全管理制度
- 定制校服銷售方案(3篇)
- 初級(jí)工廠車間管理制度
- DB6103T 93-2025 獼猴桃高溫?zé)岷︻A(yù)警等級(jí)劃分規(guī)范
- 水庫(kù)參數(shù)復(fù)核方案(3篇)
- 車位成本控制方案(3篇)
- 藝術(shù)基金授課協(xié)議書
- 2025年入團(tuán)考試時(shí)事熱點(diǎn)及試題與答案
- 醫(yī)務(wù)科工作制度
- 神奇校車 測(cè)試題及答案
- 人流綜合征試題及答案
- 家政考試題及答案大全
- 中華人民共和國(guó)民營(yíng)經(jīng)濟(jì)促進(jìn)法
- 《政策性金融工具》課件
- 武漢大學(xué)研究生畢業(yè)論文模板
- 代建管理制度安徽省
- 2025-2030中國(guó)定向能量激光系統(tǒng)行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析研究報(bào)告
評(píng)論
0/150
提交評(píng)論