编译原理笔记(1)
編譯原理筆記(1)
課程安排:
教材:陳火旺,《程序設(shè)計(jì)語言編譯原理》, 國防工業(yè)出版社
第一章 引論
1.1 什么是編譯程序
- 機(jī)器語言
- 匯編語言
- 高級(jí)語言
- 腳本(描述)語言
低級(jí)語言: 字位碼、 機(jī)器語言、 匯編語言
高級(jí)語言: …
編譯程序: 能夠把某一種語言程序(稱為源語言程序)轉(zhuǎn)換成另一種語言程序(稱為目標(biāo)程序),而后者與前者在邏輯上等價(jià),這種程序成為編譯程序。
鏈接程序的兩個(gè)主要任務(wù):
解釋程序同時(shí)處理源程序和數(shù)據(jù),邊解釋邊執(zhí)行。
編譯程序的分類
- 診斷編譯程序
- 優(yōu)化編譯程序
- 交叉編譯程序
- 可變目標(biāo)編譯程序
1.2 編譯過程概述
編譯過程的5個(gè)階段:
目標(biāo)代碼生成
詞法分析:識(shí)別出單詞符號(hào),符號(hào)表
工具: 正規(guī)式,有限自動(dòng)機(jī)語法分析: 根據(jù)語法規(guī)則,把單詞符號(hào)串分解為各類語法單位
工具: 語法規(guī)則語義分析(識(shí)別表達(dá)的實(shí)際意義)與中間代碼產(chǎn)生 : 靜態(tài)語義檢查,中間代碼翻譯
工具: 屬性文法優(yōu)化:公共子表達(dá)式的提取,循環(huán)優(yōu)化,刪除無用代碼
目標(biāo)代碼生成:中間代碼 —> 目標(biāo)機(jī)器上的機(jī)器語言代碼
1.3 編譯程序結(jié)構(gòu)
編譯程序總框
中間走流程,左表格,右出錯(cuò)
表格與表格管理
登記信息
出錯(cuò)處理
語法錯(cuò)誤、語義錯(cuò)誤
遍(PASS)
五個(gè)基本階段:是將源程序翻譯為目標(biāo)程序在邏輯上要完成的工作。遍:是指完成上述5個(gè)基本階段的工作,要經(jīng)過幾次掃描處理。一遍掃描即可完成整個(gè)編譯工作的稱為一遍掃描編譯程序
分遍《==========》分工
編譯前端和后端
1.4 編譯程序與程序設(shè)計(jì)環(huán)境
1.5 編譯程序的生成
自編譯方式總結(jié)
- 上一篇: 笔记本重新启动计算机,电脑正在重新启动很
- 下一篇: 词法分析器|编译原理|陈火旺