舉報

會員
編譯系統(tǒng)透視:圖解編譯原理
最新章節(jié):
附錄 RTX定義
本書先對讀者最難理解的復(fù)雜過程、關(guān)系和數(shù)據(jù)結(jié)構(gòu)以動畫視頻的方式進行直觀、形象的講解??催^這些視頻,讀者就會對編譯原理有一個概略、直觀、整體的理解,從而很容易掌握更深的內(nèi)容。紙質(zhì)內(nèi)容再將編譯原理與GCC編譯器的源代碼有機聯(lián)系起來,用了大量直觀的圖示、源代碼、文字做詳細講解。本書沒有用一個數(shù)學(xué)公式,力爭用最簡單易懂的語言把深奧的理論講明白。讀者在看完本書后會真正了解一個編譯器是如何運行的,以及為什么要這么設(shè)計,更重要的是知道編譯完的程序執(zhí)行時在內(nèi)存中的運行時結(jié)構(gòu)是什么樣的。
最新章節(jié)
書友吧品牌:機械工業(yè)出版社
上架時間:2016-11-16 11:21:26
出版社:機械工業(yè)出版社
本書數(shù)字版權(quán)由機械工業(yè)出版社提供,并由其授權(quán)上海閱文信息技術(shù)有限公司制作發(fā)行
- 附錄 RTX定義 更新時間:2019-01-04 03:32:25
- 8.4 帶參數(shù)的宏定義
- 8.3 條件編譯
- 8.2 宏定義
- 8.1 文件包含
- 第8章 預(yù)處理
- 7.2.6 動態(tài)鏈接
- 7.2.5 庫函數(shù)的鏈接
- 7.2.4 鏈接器源代碼介紹
- 7.2.3 鏈接時統(tǒng)一計算地址并回填
- 7.2.2 多個.o文件鏈接時通過符號表建立關(guān)系
- 7.2.1 .o文件鏈接總體介紹
- 7.2 鏈接器
- 7.1.5 匯編器處理的源代碼分析
- 7.1.4 從匯編文件到目標文件的實現(xiàn)
- 7.1.3 代碼段、數(shù)據(jù)段以及其他各個表項間的關(guān)系
- 7.1.2 .o文件格式總體情況介紹
- 7.1.1 詳細介紹匯編指令到機器指令的轉(zhuǎn)化
- 7.1 匯編器
- 第7章 匯編與鏈接
- 6.7.5 復(fù)雜表達式案例的語法樹轉(zhuǎn)高端gimple的過程
- 6.7.4 作用域和生存期案例語法樹轉(zhuǎn)高端gimple的過程
- 6.7.3 指針類型數(shù)據(jù)語法樹轉(zhuǎn)高端gimple的過程
- 6.7.2 用戶自定義數(shù)據(jù)語法樹轉(zhuǎn)高端gimple的過程
- 6.7.1 基礎(chǔ)類型數(shù)據(jù)語法樹轉(zhuǎn)高端gimple的過程
- 6.7 所有案例語法樹轉(zhuǎn)中間結(jié)構(gòu)(RTL)的過程
- 6.6.2 if條件下面“語句”部分的表達式語法分析
- 6.6.1 if條件中的表達式語法分析
- 6.6 表達式的語法分析過程
- 6.5.9 fun函數(shù)中靜態(tài)變量temp生存期信息的語法分析
- 6.5.8 main函數(shù)中退出內(nèi)部語句塊時更新變量作用域過程分析
- 6.5.7 main函數(shù)中引用變量nCount時選擇相應(yīng)聲明節(jié)點的過程分析
- 6.5.6 main函數(shù)中引用變量data時選擇相應(yīng)聲明節(jié)點的過程分析
- 6.5.5 main函數(shù)內(nèi)部語句塊中變量nCount作用域處理過程
- 6.5.4 main函數(shù)定義中局部變量聲明data作用域處理過程
- 6.5.3 fun函數(shù)定義的語法分析中作用域相關(guān)處理
- 6.5.2 全局變量data語法分析中作用域相關(guān)處理過程
- 6.5.1 C語言作用域和生存期概述
- 6.5 關(guān)于作用域和生存期的語法分析過程
- 6.4.2 對指針使用的語法分析
- 6.4.1 對swap_point函數(shù)中指針的語法分析
- 6.4 指針類型數(shù)據(jù)的語法分析過程
- 6.3.5 自定義數(shù)據(jù)聲明和使用的語法分析
- 6.3.4 union類型數(shù)據(jù)的語法分析
- 6.3.3 struct類型數(shù)據(jù)的語法分析
- 6.3.2 枚舉類型數(shù)據(jù)的語法分析
- 6.3.1 數(shù)組的語法分析
- 6.3 復(fù)合類型數(shù)據(jù)的語法分析過程
- 6.2.2 浮點型數(shù)據(jù)的語法分析
- 6.2.1 非浮點型數(shù)據(jù)的語法分析
- 6.2 基礎(chǔ)類型數(shù)據(jù)的語法分析過程
- 6.1.5 表達式總述
- 6.1.4 作用域和生存期總述
- 6.1.3 指針類型數(shù)據(jù)總述
- 6.1.2 用戶自定義類型數(shù)據(jù)總述
- 6.1.1 基礎(chǔ)類型數(shù)據(jù)總述
- 6.1 數(shù)據(jù)拓展案例的編譯過程總述
- 第6章 數(shù)據(jù)拓展案例的編譯過程
- 5.7.7 案例3的語法樹轉(zhuǎn)高端gimple
- 5.7.6 案例2的語法樹轉(zhuǎn)高端gimple
- 5.7.5 轉(zhuǎn)化RTL階段的主要步驟
- 5.7.4 案例1的低端gimple到cfg
- 5.7.3 案例1的高端gimple轉(zhuǎn)低端gimple
- 5.7.2 案例1的語法樹轉(zhuǎn)高端gimple的代碼分析
- 5.7.1 案例1的語法樹轉(zhuǎn)高端gimple的總體介紹
- 5.7 所有案例語法樹轉(zhuǎn)中間結(jié)構(gòu)的過程
- 5.6.4 進入else進行分析
- 5.6.3 進入if進行分析
- 5.6.2 分析while循環(huán)語句
- 5.6.1 兩條變量聲明語句分析的結(jié)果
- 5.6 各種語句嵌套組合的語法分析過程
- 5.5.3 for語句的語法分析過程
- 5.5.2 while語句的語法分析過程
- 5.5.1 do…while語句的語法分析
- 5.5 do...while、while、for語句的語法分析過程
- 5.4.3 分析break語句
- 5.4.2 goto語句
- 5.4.1 switch…case語句
- 5.4 switch...case、goto、break語句的語法分析過程
- 5.3 帶標號語句的語法分析
- 5.2.3 if…else if語句的語法分析過程
- 5.2.2 if語句的語法分析過程
- 5.2.1 多個變量的聲明語句語法分析
- 5.2 if語句的語法分析
- 5.1 總述各個語句拓展案例的編譯過程
- 第5章 語句拓展案例的編譯過程
- 4.8.5 函數(shù)寫入?yún)R編文件
- 4.8.4 全局變量寫入?yún)R編文件
- 4.8.3 輸出匯編文件總?cè)肟?/span>
- 4.8.2 創(chuàng)建匯編文件
- 4.8.1 匯編文件介紹
- 4.8 RTL生成目標代碼(匯編)
- 4.7.3 確定初始RTL中的運行時信息
- 4.7.2 轉(zhuǎn)化RTL階段的主要步驟
- 4.7.1 為何要有RTL
- 4.7 生成RTL
- 4.6 cfg轉(zhuǎn)ssa
- 4.5.2 低端gimple轉(zhuǎn)cfg的實際過程
- 4.5.1 低端gimple到cfg的轉(zhuǎn)化概述
- 4.5 低端gimple到cfg
- 4.4.2 高端gimple轉(zhuǎn)化低端gimple的GCC代碼解析
- 4.4.1 高端gimple轉(zhuǎn)低端gimple概述
- 4.4 高端gimple到低端gimple
- 4.3.3 語法樹轉(zhuǎn)高端gimple的GCC源代碼解析
- 4.3.2 高端gimple的實際數(shù)據(jù)結(jié)構(gòu)
- 4.3.1 語法樹到高端gimple的總體步驟及運行時
- 4.3 語法樹轉(zhuǎn)高端gimple
- 4.2 目標代碼到運行時結(jié)構(gòu)的映射
- 4.1 總述語法樹到中間代碼的轉(zhuǎn)化過程
- 第4章 語法樹到目標代碼
- 3.7.2 全部語句的語法分析
- 3.7.1 GCC語法分析函數(shù)調(diào)用圖
- 3.7 GCC關(guān)于語法分析的源代碼解析
- 3.6 語法分析結(jié)果:語法樹
- 3.5.4 函數(shù)聲明和定義兩部分產(chǎn)生式的合并
- 3.5.3 對其他產(chǎn)生式都提取左公因子
- 3.5.2 用提取過左公因子的產(chǎn)生式再去匹配
- 3.5.1 對“直接聲明符”的產(chǎn)生式提取左公因子
- 3.5 提取左公因子,消除回溯
- 3.4.3 產(chǎn)生式的工作效率
- 3.4.2 消除左遞歸
- 3.4.1 用標準產(chǎn)生式做匹配,出現(xiàn)左遞歸
- 3.4 匹配產(chǎn)生式,消除左遞歸
- 3.3.2 產(chǎn)生式的具體示例
- 3.3.1 什么是產(chǎn)生式
- 3.3 產(chǎn)生式
- 3.2 語法分析思路
- 3.1 語法分析綜述
- 第3章 語法分析
- 2.4.3 標識符、數(shù)字、字符和字符串的詳細分析過程
- 2.4.2 結(jié)合GCC源代碼講解詞法分析過程
- 2.4.1 詞法分析源代碼總覽
- 2.4 GCC實現(xiàn)詞法分析的源代碼
- 2.3.2 依托狀態(tài)轉(zhuǎn)換圖展現(xiàn)詞法分析過程
- 2.3.1 狀態(tài)轉(zhuǎn)換圖總體介紹
- 2.3 狀態(tài)轉(zhuǎn)換圖
- 2.2 詞法分析過程
- 2.1 詞法分析概要說明
- 第2章 詞法分析
- 1.3.3 從語法樹到中間代碼再到目標代碼
- 1.3.2 語法分析
- 1.3.1 詞法分析
- 1.3 編譯過程概述
- 1.2 更為復(fù)雜C程序的運行時結(jié)構(gòu)
- 1.1 一個簡單C程序的運行時結(jié)構(gòu)
- 第1章 運行時結(jié)構(gòu)及編譯過程概述
- 前言
- 版權(quán)信息
- 封面
- 封面
- 版權(quán)信息
- 前言
- 第1章 運行時結(jié)構(gòu)及編譯過程概述
- 1.1 一個簡單C程序的運行時結(jié)構(gòu)
- 1.2 更為復(fù)雜C程序的運行時結(jié)構(gòu)
- 1.3 編譯過程概述
- 1.3.1 詞法分析
- 1.3.2 語法分析
- 1.3.3 從語法樹到中間代碼再到目標代碼
- 第2章 詞法分析
- 2.1 詞法分析概要說明
- 2.2 詞法分析過程
- 2.3 狀態(tài)轉(zhuǎn)換圖
- 2.3.1 狀態(tài)轉(zhuǎn)換圖總體介紹
- 2.3.2 依托狀態(tài)轉(zhuǎn)換圖展現(xiàn)詞法分析過程
- 2.4 GCC實現(xiàn)詞法分析的源代碼
- 2.4.1 詞法分析源代碼總覽
- 2.4.2 結(jié)合GCC源代碼講解詞法分析過程
- 2.4.3 標識符、數(shù)字、字符和字符串的詳細分析過程
- 第3章 語法分析
- 3.1 語法分析綜述
- 3.2 語法分析思路
- 3.3 產(chǎn)生式
- 3.3.1 什么是產(chǎn)生式
- 3.3.2 產(chǎn)生式的具體示例
- 3.4 匹配產(chǎn)生式,消除左遞歸
- 3.4.1 用標準產(chǎn)生式做匹配,出現(xiàn)左遞歸
- 3.4.2 消除左遞歸
- 3.4.3 產(chǎn)生式的工作效率
- 3.5 提取左公因子,消除回溯
- 3.5.1 對“直接聲明符”的產(chǎn)生式提取左公因子
- 3.5.2 用提取過左公因子的產(chǎn)生式再去匹配
- 3.5.3 對其他產(chǎn)生式都提取左公因子
- 3.5.4 函數(shù)聲明和定義兩部分產(chǎn)生式的合并
- 3.6 語法分析結(jié)果:語法樹
- 3.7 GCC關(guān)于語法分析的源代碼解析
- 3.7.1 GCC語法分析函數(shù)調(diào)用圖
- 3.7.2 全部語句的語法分析
- 第4章 語法樹到目標代碼
- 4.1 總述語法樹到中間代碼的轉(zhuǎn)化過程
- 4.2 目標代碼到運行時結(jié)構(gòu)的映射
- 4.3 語法樹轉(zhuǎn)高端gimple
- 4.3.1 語法樹到高端gimple的總體步驟及運行時
- 4.3.2 高端gimple的實際數(shù)據(jù)結(jié)構(gòu)
- 4.3.3 語法樹轉(zhuǎn)高端gimple的GCC源代碼解析
- 4.4 高端gimple到低端gimple
- 4.4.1 高端gimple轉(zhuǎn)低端gimple概述
- 4.4.2 高端gimple轉(zhuǎn)化低端gimple的GCC代碼解析
- 4.5 低端gimple到cfg
- 4.5.1 低端gimple到cfg的轉(zhuǎn)化概述
- 4.5.2 低端gimple轉(zhuǎn)cfg的實際過程
- 4.6 cfg轉(zhuǎn)ssa
- 4.7 生成RTL
- 4.7.1 為何要有RTL
- 4.7.2 轉(zhuǎn)化RTL階段的主要步驟
- 4.7.3 確定初始RTL中的運行時信息
- 4.8 RTL生成目標代碼(匯編)
- 4.8.1 匯編文件介紹
- 4.8.2 創(chuàng)建匯編文件
- 4.8.3 輸出匯編文件總?cè)肟?/span>
- 4.8.4 全局變量寫入?yún)R編文件
- 4.8.5 函數(shù)寫入?yún)R編文件
- 第5章 語句拓展案例的編譯過程
- 5.1 總述各個語句拓展案例的編譯過程
- 5.2 if語句的語法分析
- 5.2.1 多個變量的聲明語句語法分析
- 5.2.2 if語句的語法分析過程
- 5.2.3 if…else if語句的語法分析過程
- 5.3 帶標號語句的語法分析
- 5.4 switch...case、goto、break語句的語法分析過程
- 5.4.1 switch…case語句
- 5.4.2 goto語句
- 5.4.3 分析break語句
- 5.5 do...while、while、for語句的語法分析過程
- 5.5.1 do…while語句的語法分析
- 5.5.2 while語句的語法分析過程
- 5.5.3 for語句的語法分析過程
- 5.6 各種語句嵌套組合的語法分析過程
- 5.6.1 兩條變量聲明語句分析的結(jié)果
- 5.6.2 分析while循環(huán)語句
- 5.6.3 進入if進行分析
- 5.6.4 進入else進行分析
- 5.7 所有案例語法樹轉(zhuǎn)中間結(jié)構(gòu)的過程
- 5.7.1 案例1的語法樹轉(zhuǎn)高端gimple的總體介紹
- 5.7.2 案例1的語法樹轉(zhuǎn)高端gimple的代碼分析
- 5.7.3 案例1的高端gimple轉(zhuǎn)低端gimple
- 5.7.4 案例1的低端gimple到cfg
- 5.7.5 轉(zhuǎn)化RTL階段的主要步驟
- 5.7.6 案例2的語法樹轉(zhuǎn)高端gimple
- 5.7.7 案例3的語法樹轉(zhuǎn)高端gimple
- 第6章 數(shù)據(jù)拓展案例的編譯過程
- 6.1 數(shù)據(jù)拓展案例的編譯過程總述
- 6.1.1 基礎(chǔ)類型數(shù)據(jù)總述
- 6.1.2 用戶自定義類型數(shù)據(jù)總述
- 6.1.3 指針類型數(shù)據(jù)總述
- 6.1.4 作用域和生存期總述
- 6.1.5 表達式總述
- 6.2 基礎(chǔ)類型數(shù)據(jù)的語法分析過程
- 6.2.1 非浮點型數(shù)據(jù)的語法分析
- 6.2.2 浮點型數(shù)據(jù)的語法分析
- 6.3 復(fù)合類型數(shù)據(jù)的語法分析過程
- 6.3.1 數(shù)組的語法分析
- 6.3.2 枚舉類型數(shù)據(jù)的語法分析
- 6.3.3 struct類型數(shù)據(jù)的語法分析
- 6.3.4 union類型數(shù)據(jù)的語法分析
- 6.3.5 自定義數(shù)據(jù)聲明和使用的語法分析
- 6.4 指針類型數(shù)據(jù)的語法分析過程
- 6.4.1 對swap_point函數(shù)中指針的語法分析
- 6.4.2 對指針使用的語法分析
- 6.5 關(guān)于作用域和生存期的語法分析過程
- 6.5.1 C語言作用域和生存期概述
- 6.5.2 全局變量data語法分析中作用域相關(guān)處理過程
- 6.5.3 fun函數(shù)定義的語法分析中作用域相關(guān)處理
- 6.5.4 main函數(shù)定義中局部變量聲明data作用域處理過程
- 6.5.5 main函數(shù)內(nèi)部語句塊中變量nCount作用域處理過程
- 6.5.6 main函數(shù)中引用變量data時選擇相應(yīng)聲明節(jié)點的過程分析
- 6.5.7 main函數(shù)中引用變量nCount時選擇相應(yīng)聲明節(jié)點的過程分析
- 6.5.8 main函數(shù)中退出內(nèi)部語句塊時更新變量作用域過程分析
- 6.5.9 fun函數(shù)中靜態(tài)變量temp生存期信息的語法分析
- 6.6 表達式的語法分析過程
- 6.6.1 if條件中的表達式語法分析
- 6.6.2 if條件下面“語句”部分的表達式語法分析
- 6.7 所有案例語法樹轉(zhuǎn)中間結(jié)構(gòu)(RTL)的過程
- 6.7.1 基礎(chǔ)類型數(shù)據(jù)語法樹轉(zhuǎn)高端gimple的過程
- 6.7.2 用戶自定義數(shù)據(jù)語法樹轉(zhuǎn)高端gimple的過程
- 6.7.3 指針類型數(shù)據(jù)語法樹轉(zhuǎn)高端gimple的過程
- 6.7.4 作用域和生存期案例語法樹轉(zhuǎn)高端gimple的過程
- 6.7.5 復(fù)雜表達式案例的語法樹轉(zhuǎn)高端gimple的過程
- 第7章 匯編與鏈接
- 7.1 匯編器
- 7.1.1 詳細介紹匯編指令到機器指令的轉(zhuǎn)化
- 7.1.2 .o文件格式總體情況介紹
- 7.1.3 代碼段、數(shù)據(jù)段以及其他各個表項間的關(guān)系
- 7.1.4 從匯編文件到目標文件的實現(xiàn)
- 7.1.5 匯編器處理的源代碼分析
- 7.2 鏈接器
- 7.2.1 .o文件鏈接總體介紹
- 7.2.2 多個.o文件鏈接時通過符號表建立關(guān)系
- 7.2.3 鏈接時統(tǒng)一計算地址并回填
- 7.2.4 鏈接器源代碼介紹
- 7.2.5 庫函數(shù)的鏈接
- 7.2.6 動態(tài)鏈接
- 第8章 預(yù)處理
- 8.1 文件包含
- 8.2 宏定義
- 8.3 條件編譯
- 8.4 帶參數(shù)的宏定義
- 附錄 RTX定義 更新時間:2019-01-04 03:32:25