- 3
- 0
- 约3.97万字
- 约 495页
- 2023-11-16 发布于山东
- 举报
第一章 編譯概述;語言處理與編譯程序;語言處理與編譯程序;語言處理與編譯程序;語言處理與編譯程序;語言處理與編譯程序;語言處理與編譯程序;編譯程序概貌;;以賦值語句 pos:=init+rate*60 為例來瞭解編譯的全過程
詞法分析 (Lexical Analysis)
功能:
a) 掃描根源程式的字串,識別出意義獨立的最小的詞 法單位——單詞(Token)。
b) 刪除注解、空格、回車及與輸入介質有關的符號。
c) 報告詞法錯誤。
如上述賦值語句經過詞法分析後輸出為如下單詞:
(ID,pos) (OP,:=) (ID,init) (OP,+) (ID,rate) (OP,*) (CONST,60) ;語法分析 (Syntax Analysis)
功能:對輸入的單詞串,按程式設計語言的語法規則,檢查根源程式句法正確性。
例如某語言關於賦值語句的語法規則是:
賦值語句是:ID:=EXP
ID、CONST是EXP
若EXP1和EXP2是EXP,則EXP1+EXP2、 EXP1*EXP2、 (EXP1)是EXP。
可以通過自頂向下或自底向上的句法分析方法,建立分析樹(又稱 句法樹、推導樹)進行句法分析。 ;對此例,分析樹為:;語義分析 (Semantic Analysis)
功能:檢查語義的正確性,完成語義解釋及必要的轉換。
例如:此例中各變數的數據類型是float,由於rate與60的類型不同就應該進行轉換,即將60轉換為60.0。
中間代碼生成 (Intermediate Code Generation)
功能:將單詞串轉換為等價的中間代碼串。
常見的中間代碼 有:四元組、三元組、
逆波蘭(尾碼)表示等。
上例中的賦值語句可翻譯為(四元組形式):
(float, ,60,t1) (*,ID.rate,t1,t2)
(+,ID.init,t2,t3) (:=,t3, ,ID.pos)
其中t1,t2,t3是臨時變數、ID.x是x在符號表中的位置。 ;代碼優化 (Code Optimization)
功能:以提高目標代碼運行的時/空間效率為目的 的對中間代碼進行等價變換。
常見的方法有:刪除無用賦值和多餘運算、常量合併、運算強度削弱、代碼外提、複寫傳播等等。
此例中的中間代碼通過優化可為:
(*,ID.rate,60.0,t1) (+,ID.init,t1,t2)
(:=,t2, ,ID.pos)
代碼生成 (Code Generation)
功能:將中間代碼串轉換為彙編代碼或機器指令。
;代碼生成;出錯處理 (Error Handle)
功能:顯示出錯的位置、性質,限制出錯的影響,為盡可能多地發現錯誤做些恢復工作??
符號表管理 (Symbol-Table Management)
功能:管理根源程式中各種數據對象及其各種屬性,提供包括生成、查詢、更新等各種功能。 ;編譯程序的生成方法;1.3.3 其他編譯模式
前面討論的編譯模式稱為“完全編譯”。
其他編譯模式有:
互動式編譯——允許通過交互方式處理根源程式中的錯誤,及時改錯。允許部分或逐步測試。
增量編譯——允許在修改了部分程式結構後僅對該修改部分重新編譯,而不一定對整個程式進行編譯。
問題:如何實現?;第二章 文法與語言的基本知識;基本概念;符號與符號串;符號與符號串;2.2.2 符號串的運算
符號串x中的元素的個數稱為符號串x的長度,記以|x|。
設z=xy是字母表V上的符號串,則x是符號串z的頭(或符號串z的首碼),而y是符號串z的尾(或符號串z的尾碼)。
若|x|=1,則x是符號串z的頭符號。同樣,若|y|=1,則y是符號串z的尾符號。
注意,空串?是任何一個符號串的頭和尾。
當y≠ ? 稱x是z的真首碼。當x≠ ? 稱y是z的真尾碼。
並置(連接)是一種運算,滿足結合律,但不滿足交換律。;例2:字母表?1={0,1}
?,0,1,00,11,10,01,……是?1上的符號串
如x=1001 y=010 則連接xy=1001010 yx=0101001 都是?1上的符號串 |x|=4 |y|=3
?,1,10,100,1001都是x的頭,1是x的頭符號
?,1,01,001,1001都是x的尾,1是x的尾符號
?,1,10,100,1001都是x的首碼, ?,1,10,100 是真首碼
1001,001,01,1, ?都是x的尾碼, 001,01,1,? 是真尾碼;定義3:設A,B是二個符號串集合,定義:
A∩B={a|a∈A且a∈B}
A∪B={a|a∈A或者a∈B}
A0={?} An=AAn-1 (n0)
A*= A0∪ A1∪A2∪…∪An ∪
您可能关注的文档
最近下载
- 三年级数学寒假特色实践作业.pdf VIP
- 2025年设备监理师基于FIDIC条件的争议预防机制专题试卷及解析.pdf VIP
- 网络意识形态工作责任制实施细则.docx VIP
- 城市物联网管理平台感知设备接入规范.pdf VIP
- 排泥场施工方案图文.pdf VIP
- 小学奥数通用版讲义(全国通用)8-9构造与论证(学生版+解析).docx VIP
- 规范文件GB-T 13226-1991 工业雷管铅板试验方法.pdf VIP
- 6篇2026年民主生活会对照检查剖析材料(个人发言五个带头).docx VIP
- 2026年注册安全工程师题库300道及答案【全优】.docx VIP
- 非药品类制毒化学品销售品种销售量主要流向等情况的备案申请书.doc VIP
原创力文档

文档评论(0)