資料介紹
1. 詞法分析
詞法分析器根據(jù)詞法規(guī)則識(shí)別出源程序中的各個(gè)記號(hào)(token),每個(gè)記號(hào)代表一類單詞(lexeme)。源程序中常見的記號(hào)可以歸為幾大類:關(guān)鍵字、標(biāo)識(shí)符、字面量和特殊符號(hào)。詞法分析器的輸入是源程序,輸出是識(shí)別的記號(hào)流。詞法分析器的任務(wù)是把源文件的字符流轉(zhuǎn)換成記號(hào)流。本質(zhì)上它查看連續(xù)的字符然后把它們識(shí)別為“單詞”。
2. 語法分析
語法分析器根據(jù)語法規(guī)則識(shí)別出記號(hào)流中的結(jié)構(gòu)(短語、句子),并構(gòu)造一棵能夠正確反映該結(jié)構(gòu)的語法樹。
3. 語義分析
語義分析器根據(jù)語義規(guī)則對(duì)語法樹中的語法單元進(jìn)行靜態(tài)語義檢查,如果類型檢查和轉(zhuǎn)換等,其目的在于保證語法正確的結(jié)構(gòu)在語義上也是合法的。
4. 中間代碼生成
中間代碼生成器根據(jù)語義分析器的輸出生成中間代碼。中間代碼可以有若干種形式,它們的共同特征是與具體機(jī)器無關(guān)。最常用的一種中間代碼是三地址碼,它的一種實(shí)現(xiàn)方式是四元式。三地址碼的優(yōu)點(diǎn)是便于閱讀、便于優(yōu)化。
5. 中間代碼優(yōu)化
優(yōu)化是編譯器的一個(gè)重要組成部分,由于編譯器將源程序翻譯成中間代碼的工作是機(jī)械的、按固定模式進(jìn)行的,因此,生成的中間代碼往往在時(shí)間和空間上有很大浪費(fèi)。當(dāng)需要生成高效目標(biāo)代碼時(shí),就必須進(jìn)行優(yōu)化。
6. 目標(biāo)代碼生成
目標(biāo)代碼生成是編譯器的最后一個(gè)階段。在生成目標(biāo)代碼時(shí)要考慮以下幾個(gè)問題:計(jì)算機(jī)的系統(tǒng)結(jié)構(gòu)、指令系統(tǒng)、寄存器的分配以及內(nèi)存的組織等。編譯器生成的目標(biāo)程序代碼可以有多種形式:匯編語言、可重定位二進(jìn)制代碼、內(nèi)存形式。
7 符號(hào)表管理
符號(hào)表的作用是記錄源程序中符號(hào)的必要信息,并加以合理組織,從而在編譯器的各個(gè)階段能對(duì)它們進(jìn)行快速、準(zhǔn)確的查找和操作。符號(hào)表中的某些內(nèi)容甚至要保留到程序的運(yùn)行階段。
8 出錯(cuò)處理
用戶編寫的源程序中往往會(huì)有一些錯(cuò)誤,可分為靜態(tài)錯(cuò)誤和動(dòng)態(tài)錯(cuò)誤兩類。所謂動(dòng)態(tài)錯(cuò)誤,是指源程序中的邏輯錯(cuò)誤,它們發(fā)生在程序運(yùn)行的時(shí)候,也被稱作動(dòng)態(tài)語義錯(cuò)誤,如變量取值為零時(shí)作為除數(shù),數(shù)組元素引用時(shí)下標(biāo)出界等。靜態(tài)錯(cuò)誤又可分為語法錯(cuò)誤和靜態(tài)語義錯(cuò)誤。語法錯(cuò)誤是指有關(guān)語言結(jié)構(gòu)上的錯(cuò)誤,如單詞拼寫錯(cuò)、表達(dá)式中缺少操作數(shù)、begin和end不匹配等。靜態(tài)語義錯(cuò)誤是指分析源程序時(shí)可以發(fā)現(xiàn)的語言意義上的錯(cuò)誤,如加法的兩個(gè)操作數(shù)中一個(gè)是整型變量名,而另一個(gè)是數(shù)組名等。
?
詞法分析器根據(jù)詞法規(guī)則識(shí)別出源程序中的各個(gè)記號(hào)(token),每個(gè)記號(hào)代表一類單詞(lexeme)。源程序中常見的記號(hào)可以歸為幾大類:關(guān)鍵字、標(biāo)識(shí)符、字面量和特殊符號(hào)。詞法分析器的輸入是源程序,輸出是識(shí)別的記號(hào)流。詞法分析器的任務(wù)是把源文件的字符流轉(zhuǎn)換成記號(hào)流。本質(zhì)上它查看連續(xù)的字符然后把它們識(shí)別為“單詞”。
2. 語法分析
語法分析器根據(jù)語法規(guī)則識(shí)別出記號(hào)流中的結(jié)構(gòu)(短語、句子),并構(gòu)造一棵能夠正確反映該結(jié)構(gòu)的語法樹。
3. 語義分析
語義分析器根據(jù)語義規(guī)則對(duì)語法樹中的語法單元進(jìn)行靜態(tài)語義檢查,如果類型檢查和轉(zhuǎn)換等,其目的在于保證語法正確的結(jié)構(gòu)在語義上也是合法的。
4. 中間代碼生成
中間代碼生成器根據(jù)語義分析器的輸出生成中間代碼。中間代碼可以有若干種形式,它們的共同特征是與具體機(jī)器無關(guān)。最常用的一種中間代碼是三地址碼,它的一種實(shí)現(xiàn)方式是四元式。三地址碼的優(yōu)點(diǎn)是便于閱讀、便于優(yōu)化。
5. 中間代碼優(yōu)化
優(yōu)化是編譯器的一個(gè)重要組成部分,由于編譯器將源程序翻譯成中間代碼的工作是機(jī)械的、按固定模式進(jìn)行的,因此,生成的中間代碼往往在時(shí)間和空間上有很大浪費(fèi)。當(dāng)需要生成高效目標(biāo)代碼時(shí),就必須進(jìn)行優(yōu)化。
6. 目標(biāo)代碼生成
目標(biāo)代碼生成是編譯器的最后一個(gè)階段。在生成目標(biāo)代碼時(shí)要考慮以下幾個(gè)問題:計(jì)算機(jī)的系統(tǒng)結(jié)構(gòu)、指令系統(tǒng)、寄存器的分配以及內(nèi)存的組織等。編譯器生成的目標(biāo)程序代碼可以有多種形式:匯編語言、可重定位二進(jìn)制代碼、內(nèi)存形式。
7 符號(hào)表管理
符號(hào)表的作用是記錄源程序中符號(hào)的必要信息,并加以合理組織,從而在編譯器的各個(gè)階段能對(duì)它們進(jìn)行快速、準(zhǔn)確的查找和操作。符號(hào)表中的某些內(nèi)容甚至要保留到程序的運(yùn)行階段。
8 出錯(cuò)處理
用戶編寫的源程序中往往會(huì)有一些錯(cuò)誤,可分為靜態(tài)錯(cuò)誤和動(dòng)態(tài)錯(cuò)誤兩類。所謂動(dòng)態(tài)錯(cuò)誤,是指源程序中的邏輯錯(cuò)誤,它們發(fā)生在程序運(yùn)行的時(shí)候,也被稱作動(dòng)態(tài)語義錯(cuò)誤,如變量取值為零時(shí)作為除數(shù),數(shù)組元素引用時(shí)下標(biāo)出界等。靜態(tài)錯(cuò)誤又可分為語法錯(cuò)誤和靜態(tài)語義錯(cuò)誤。語法錯(cuò)誤是指有關(guān)語言結(jié)構(gòu)上的錯(cuò)誤,如單詞拼寫錯(cuò)、表達(dá)式中缺少操作數(shù)、begin和end不匹配等。靜態(tài)語義錯(cuò)誤是指分析源程序時(shí)可以發(fā)現(xiàn)的語言意義上的錯(cuò)誤,如加法的兩個(gè)操作數(shù)中一個(gè)是整型變量名,而另一個(gè)是數(shù)組名等。
?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 基于GCC實(shí)現(xiàn)支持MISRAC的安全編譯器
- 基于C++編譯器的節(jié)點(diǎn)融合優(yōu)化方法 19次下載
- CompCert編譯器目標(biāo)代碼生成機(jī)制研究綜述 7次下載
- C語言編譯器常見的預(yù)編譯指令詳細(xì)資料說明
- AVR程序編譯器avrubd應(yīng)用程序免費(fèi)下載 53次下載
- 如何解決proteus的c編譯器問題的方法 26次下載
- MPLAB C18編譯器到MPLAB XC8 C編譯器的移植過程詳細(xì)中文資料概述
- 如何將C源代碼從MPLAB C18編譯器移植到MPLAB XC8C編譯器的詳細(xì)概述
- NEC編譯器培訓(xùn)手冊(cè) 15次下載
- PICC編譯器下載 168次下載
- C語言編譯器 50次下載
- 基于CoSy的編譯器開發(fā)的研究 0次下載
- ICC AVR編譯器的安裝與使用
- INTEL的PLM51編譯器
- AVRC (AVR的PASCAL編譯器)
- 什么樣的代碼會(huì)被編譯器優(yōu)化 92次閱讀
- Keil編譯器優(yōu)化方法 732次閱讀
- TVM編譯器的整體架構(gòu)和基本方法 2504次閱讀
- C程序的完整編譯過程 3595次閱讀
- 領(lǐng)域編譯器發(fā)展的前世今生 1748次閱讀
- 交叉編譯器安裝教程 3557次閱讀
- VScode編譯器如何配置C/C++編譯環(huán)境 5659次閱讀
- 編譯器優(yōu)化對(duì)函數(shù)的影響 2862次閱讀
- 虛擬機(jī):編譯器對(duì)C函數(shù)的名字修飾 2576次閱讀
- 如何選擇PIC單片機(jī)的C編譯器 5429次閱讀
- 深入編程語言和編譯器是怎樣工作的 4370次閱讀
- 編譯器原理到底是怎樣的帶你簡單的了解編譯器原理 1.1w次閱讀
- verilog編譯指令_verilog編譯器指示語句(數(shù)字IC) 1.5w次閱讀
- 編譯器是如何工作的_編譯器的工作過程詳解 1.6w次閱讀
- 編譯器跟編輯器有什么區(qū)別 3w次閱讀
下載排行
本周
- 1DC電源插座圖紙
- 0.67 MB | 2次下載 | 免費(fèi)
- 2AN158 GD32VW553 Wi-Fi開發(fā)指南
- 1.51MB | 2次下載 | 免費(fèi)
- 3AN148 GD32VW553射頻硬件開發(fā)指南
- 2.07MB | 1次下載 | 免費(fèi)
- 4AN111-LTC3219用戶指南
- 84.32KB | 次下載 | 免費(fèi)
- 5AN153-用于電源系統(tǒng)管理的Linduino
- 1.38MB | 次下載 | 免費(fèi)
- 6AN-283: Σ-Δ型ADC和DAC[中文版]
- 677.86KB | 次下載 | 免費(fèi)
- 7SM2018E 支持可控硅調(diào)光線性恒流控制芯片
- 402.24 KB | 次下載 | 免費(fèi)
- 8AN-1308: 電流檢測(cè)放大器共模階躍響應(yīng)
- 545.42KB | 次下載 | 免費(fèi)
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 450次下載 | 免費(fèi)
- 2免費(fèi)開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 138次下載 | 1 積分
- 3基于STM32單片機(jī)智能手環(huán)心率計(jì)步器體溫顯示設(shè)計(jì)
- 0.10 MB | 130次下載 | 免費(fèi)
- 4使用單片機(jī)實(shí)現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
- 2.96 MB | 44次下載 | 免費(fèi)
- 53314A函數(shù)發(fā)生器維修手冊(cè)
- 16.30 MB | 31次下載 | 免費(fèi)
- 6美的電磁爐維修手冊(cè)大全
- 1.56 MB | 24次下載 | 5 積分
- 7如何正確測(cè)試電源的紋波
- 0.36 MB | 17次下載 | 免費(fèi)
- 8感應(yīng)筆電路圖
- 0.06 MB | 10次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
電子發(fā)燒友App






創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論