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