- 軟件大小:6.06M
- 軟件語(yǔ)言:中文
- 軟件類(lèi)型:國(guó)產(chǎn)軟件
- 軟件類(lèi)別:免費(fèi)軟件 / 電子圖書(shū)
- 更新時(shí)間:2018-01-03 17:30
- 運(yùn)行環(huán)境:WinAll, WinXP, Win7, Win8, Win10
- 軟件等級(jí):
- 軟件廠(chǎng)商:
- 官方網(wǎng)站:暫無(wú)


85.00M/中文/8.0
6.70M/中文/3.3
135.00M/中文/5.0
535.05M/中文/0.6
6.43M/中文/10.0
自己動(dòng)手寫(xiě)編譯器pdf是一款可以自學(xué)編程的計(jì)算機(jī)電子課本。讀者朋友們可以使用本程序自學(xué)編程知識(shí),提供了基礎(chǔ)的語(yǔ)法分析以及語(yǔ)音編譯等知識(shí)內(nèi)容。歡迎需要的用戶(hù)來(lái)綠色資源網(wǎng)下載使用。
《自己動(dòng)手寫(xiě)編譯器、鏈接器》本書(shū)講述了一個(gè)真實(shí)編譯器的開(kāi)發(fā)過(guò)程,源語(yǔ)言是以C語(yǔ)言為藍(lán)本,進(jìn)行適當(dāng)簡(jiǎn)化定義的一門(mén)新語(yǔ)言,稱(chēng)之為SC語(yǔ)言(簡(jiǎn)化的C語(yǔ)言),目標(biāo)語(yǔ)言是大家熟悉的Intel x86機(jī)器語(yǔ)言。在本書(shū)中,讀者將看到從SC語(yǔ)言定義,到SCC編譯器開(kāi)發(fā)的完整過(guò)程。
本書(shū)介紹的SCC編譯器,沒(méi)有借助Lex與Yacc這些編譯器自動(dòng)生成工具,純手工編寫(xiě)而成,更便于學(xué)習(xí)和理解。為了生成可以直接運(yùn)行EXE文件,本書(shū)還實(shí)現(xiàn)了一個(gè)鏈接器。讀完本書(shū)讀者將知道一門(mén)全新的語(yǔ)言如何定義,一個(gè)真實(shí)的編譯器、鏈接器如何編寫(xiě)。本書(shū)適合各類(lèi)程序員、程序開(kāi)發(fā)愛(ài)好者閱讀,也可作為高等院校編譯原理課程的實(shí)踐教材。
第1章引言
1.1HelloWorld編譯過(guò)程分析1
1.1.1HelloWorld程序源文件1
1.1.2詞法分析2
1.1.3語(yǔ)法分析3
1.1.4語(yǔ)義分析3
1.1.5鏈接器4
1.2SCC編譯器簡(jiǎn)介7
1.2.1SCC編譯器架構(gòu)7
1.2.2SCC編譯器開(kāi)發(fā)環(huán)境7
1.2.3SCC編譯器運(yùn)行環(huán)境8
第2章文法知識(shí)
2.1語(yǔ)言概述10
2.2形式語(yǔ)言11
2.2.1字母表和符號(hào)串11
2.2.2文法與語(yǔ)言的形式定義12
2.2.3文法與語(yǔ)言的類(lèi)型13
2.2.4程序設(shè)計(jì)語(yǔ)言描述工具15
2.3詞法分析方法16
2.3.1詞法定義例舉17
2.3.2狀態(tài)轉(zhuǎn)換圖17
2.3.3詞法分析程序流程圖17
2.4語(yǔ)法分析方法18
2.4.1LL分析器18
2.4.2LL(k)文法19
2.4.3LL(1)文法19
2.4.4遞歸子程序法21
2.4.5文法的等價(jià)變換24
第3章SC語(yǔ)言定義
3.1SC語(yǔ)言的藍(lán)本選擇26
3.1.1K&R C26
3.1.2C8926
3.1.3C9927
3.2SC語(yǔ)言對(duì)C89簡(jiǎn)化原則27
3.3SC語(yǔ)言的字符集27
3.3.1基本字符集28
3.3.2擴(kuò)展字符集28
3.4SC語(yǔ)言詞法定義29
3.4.1關(guān)鍵字29
3.4.2標(biāo)識(shí)符30
3.4.3整數(shù)常量31
3.4.4字符常量31
3.4.5字符串常量32
3.4.6運(yùn)算符及分隔符32
3.4.7注釋33
3.5SC語(yǔ)言語(yǔ)法定義33
3.5.1外部定義33
3.5.2語(yǔ)句35
3.5.3表達(dá)式39
3.6SC語(yǔ)言與C語(yǔ)言功能對(duì)比46
3.6.1關(guān)鍵字46
3.6.2數(shù)據(jù)類(lèi)型46
3.6.3存儲(chǔ)類(lèi)型47
3.6.4常量47
3.6.5變量47
3.6.6函數(shù)48
3.6.7語(yǔ)句48
3.6.8表達(dá)式50
第4章SC語(yǔ)言詞法分析
4.1詞法分析任務(wù)的官方說(shuō)法52
4.2單詞編碼53
4.3詞法分析用到的數(shù)據(jù)結(jié)構(gòu)55
4.3.1動(dòng)態(tài)字符串56
4.3.2動(dòng)態(tài)數(shù)組58
4.3.3哈希表61
4.3.4單詞表62
4.4錯(cuò)誤處理,未雨綢繆67
4.5詞法分析過(guò)程72
4.5.1詞法分析主程序72
4.5.2預(yù)處理76
4.5.3解析標(biāo)識(shí)符79
4.5.4解析整數(shù)80
4.5.5解析字符串80
4.5.6詞法分析流程圖82
4.6詞法著色84
4.7控制程序85
4.8詞法分析成果展示86
第5章SC語(yǔ)言語(yǔ)法分析
5.1外部定義87
5.1.1翻譯單元87
5.1.2外部聲明88
5.1.3類(lèi)型區(qū)分符90
5.1.4結(jié)構(gòu)區(qū)分符92
5.1.5函數(shù)調(diào)用約定95
5.1.6結(jié)構(gòu)成員對(duì)齊95
5.1.7聲明符96
5.1.8初值符100
5.2語(yǔ)句101
5.2.1復(fù)合語(yǔ)句102
5.2.2表達(dá)式語(yǔ)句103
5.2.3選擇語(yǔ)句104
5.2.4循環(huán)語(yǔ)句104
5.2.5跳轉(zhuǎn)語(yǔ)句105
5.3表達(dá)式107
5.3.1賦值表達(dá)式108
5.3.2相等類(lèi)表達(dá)式109
5.3.3關(guān)系表達(dá)式109
5.3.4加減類(lèi)表達(dá)式110
5.3.5乘除類(lèi)表達(dá)式111
5.3.6一元表達(dá)式112
5.3.7后綴表達(dá)式113
5.3.8初值表達(dá)式114
5.4語(yǔ)法縮進(jìn)116
5.4.1用到的全局變量及枚舉116
5.4.2語(yǔ)法縮進(jìn)程序117
5.5總控程序118
5.6成果展示119
第6章符號(hào)表
6.1符號(hào)表簡(jiǎn)介121
6.1.1收集符號(hào)屬性121
6.1.2語(yǔ)義的合法性檢查122
6.2符號(hào)表用到的主要數(shù)據(jù)結(jié)構(gòu)123
6.2.1棧結(jié)構(gòu)123
6.2.2符號(hào)表結(jié)構(gòu)127
6.2.3數(shù)據(jù)類(lèi)型結(jié)構(gòu)132
6.2.4存儲(chǔ)類(lèi)型133
6.3符號(hào)表的構(gòu)造過(guò)程134
6.3.1外部聲明134
6.3.2類(lèi)型區(qū)分符137
6.3.3結(jié)構(gòu)區(qū)分符138
6.3.4聲明符144
6.3.5變量初始化149
6.3.6復(fù)合語(yǔ)句150
6.3.7sizeof表達(dá)式150
6.3.8初等表達(dá)式152
6.4控制程序153
6.5成果展示155
第7章生成COFF目標(biāo)文件
7.1COFF文件結(jié)構(gòu)157
7.1.1基本概念157
7.1.2總體結(jié)構(gòu)158
7.1.3COFF文件頭158
7.1.4節(jié)頭表161
7.1.5代碼節(jié)內(nèi)容168
7.1.6數(shù)據(jù)節(jié)與導(dǎo)入節(jié)內(nèi)容168
7.1.7COFF符號(hào)表169
7.1.8COFF字符串表173
7.1.9COFF重定位信息173
7.2生成COFF目標(biāo)文件175
7.2.1生成節(jié)表176
7.2.2生成符號(hào)表178
7.2.3生成重定位信息182
7.2.4生成目標(biāo)文件183
7.3成果展示185[1]
第8章x86機(jī)器語(yǔ)言
8.1x86機(jī)器語(yǔ)言簡(jiǎn)介187
8.2通用指令格式188
8.2.1指令前綴188
8.2.2操作碼190
8.2.3ModR/M字節(jié)190
8.2.4SIB字節(jié)191
8.2.5偏移量與立即數(shù)193
8.3x86寄存器193
8.3.1數(shù)據(jù)寄存器193
8.3.2變址寄存器193
8.3.3指針寄存器194
8.3.4段寄存器194
8.3.5指令指針寄存器194
8.3.6標(biāo)志寄存器195
8.4指令參考196
8.4.1符號(hào)說(shuō)明196
8.4.2數(shù)據(jù)傳送指令198
8.4.3算術(shù)運(yùn)算指令200
8.4.4邏輯運(yùn)算指令203
8.4.5控制轉(zhuǎn)移指令205
8.4.6串操作指令208
8.4.7處理器控制指令208
8.5生成x86機(jī)器語(yǔ)言208
8.5.1操作數(shù)棧209
8.5.2生成通用指令210
8.5.3生成數(shù)據(jù)傳送指令213
8.5.4生成算術(shù)與邏輯運(yùn)算指令217
8.5.5生成控制轉(zhuǎn)移指令221
8.5.6寄存器使用224
8.5.7本章用到的全局變量227
8.6成果展示227
......
請(qǐng)描述您所遇到的錯(cuò)誤,我們將盡快予以修正,謝謝!
*必填項(xiàng),請(qǐng)輸入內(nèi)容