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