自己動手寫編譯器、鏈接器 自己动手写编译器、链接器

王博俊, 張宇

  • 出版商: 清華大學
  • 出版日期: 2015-02-01
  • 定價: $297
  • 售價: 9.0$267
  • 貴賓價: 8.6$254
  • 語言: 簡體中文
  • 頁數: 342
  • 裝訂: 平裝
  • ISBN: 7302381364
  • ISBN-13: 9787302381365
  • 相關分類: 編譯器 Compiler

立即出貨(限量) (庫存=3)

買這商品的人也買了...

相關主題

商品描述

 

<內容簡介>

《自己動手寫編譯器、鏈接器》講述了一個真實編譯器的開發過程,源語言是以C語言為監本,進行適當簡化定義的一門新語言,稱之為SC語言(簡化的C語言),目標講言是大家熟悉的Intel x86機器語言。在《自己動手寫編譯器、鏈接器》中,讀者將看到從SC語言定義,到SCC編譯器開發的完整過程。《自己動手寫編譯器、鏈接器》介紹的SCC編譯器,沒有借助Lex與Yacc這些編譯器自動生成工具,純手工編寫而成,更便於學習和理解。為了生成可以直接運行EXE文件,《自己動手寫編譯器、鏈接器》還實現了一個鏈接器。讀完《自己動手寫編譯器、鏈接器》讀者將知道一門全新的語言如何定義,一個真實的編譯器、鏈接器如何編寫。

 

<章節目錄>

第1章引言
1.1Helloworld編譯過程分析
1.1.1HelloWorld程序源文件
1.1.2詞法分析
1.1.3語法分析
1.1.4語義分析
1.1.5鏈接器
1.2SCC編譯器簡介
1.2.1SCC編譯器架構
1.2.2SCC編譯器開發環境
1.2.3SCC編譯器運行環境
第2章文法知識
2.1語言概述
2.2形式語言
2.2.1字母表和符號串
2.2.2文法與語言的形式定義
2.2.3文法與語言的類型
2.2.4程序設計語言描述工具
2.3詞法分析方法
2.3.1詞法定義例舉
2.3.2狀態轉換圖
2.3.3詞法分析程序流程圖
2.4語法分析方法
2.4.1LL分析器
2.4.2LL(k)文法
2.4.3LL(1)文法
2.4.4遞歸子程序法
2.4.5文法的等價變換
第3章SC語言定義
3.1SC語言的藍本選擇
3.1.1K&R C
3.1.2C89
3.1.3C99
3.2SC語言對C89簡化原則
3.3SC語言的字符集
3.3.1基本字符集
3.3.2擴展字符集
3.4SC語言詞法定義
3.4.1關鍵字
3.4.2標識符
3.4.3整數常量
3.4.4字符常量
3.4.5字符串常量
3.4.6運算符及分隔符
3.4.7註釋
3.5SC語言語法定義
3.5.1外部定義
3.5.2語句
3.5.3表達式
3.6SC語言與C語言功能對比
3.6.1關鍵字
3.6.2數據類型
3.6.3存儲類型
3.6.4常量
3.6.5變量
3.6.6函數
3.6.7語句
3.6.8表達式
第4章SC語言詞法分析
4.1詞法分析任務的官方說法
4.2單詞編碼
4.3詞法分析用到的數據結構
4.3.1動態字符串
4.3.2動態數組
4.3.3哈希表
4.3.4單詞表
4.4錯誤處理,未雨綢繆
4.5詞法分析過程
4.5.1詞法分析主程序
4.5.2預處理
4.5.3解析標識符
4.5.4解析整數
4.5.5解析字符串
4.5.6詞法分析流程圖
4.6詞法著色
4.7控製程序
4.8詞法分析成果展示
第5章SC語言語法分析
5.1外部定義
5.1.1翻譯單元
5.1.2外部聲明
5.1.3類型區分符
5.1.4結構區分符
5.1.5函數調用約定
5.1.6結構成員對齊
5.1.7聲明符
5.1.8初值符
5.2語句
5.2.1覆合語句
5.2.2表達式語句
5.2.3選擇語句
5.2.4循環語句
5.2.5跳轉語句
5.3表達式
5.3.1賦值表達式
5.3.2相等類表達式
5.3.3關系表達式
5.3.4加減類表達式
5.3.5乘除類表達式
5.3.6一元表達式
5.3.7後綴表達式
5.3.8初值表達式
5.4語法縮進
5.4.1用到的全局變量及枚舉
5.4.2語法縮進程序
5.5總控程序
5.6成果展示
第6章符號表
6.1符號表簡介
6.1.1收集符號屬性
6.1.2語義的合法性檢查
6.2符號表用到的主要數據結構
6.2.1棧結構
6.2.2符號表結構
6.2.3數據類型結構
6.2.4存儲類型
6.3符號表的構造過程
6.3.1外部聲明
6.3.2類型區分符
6.3.3結構區分符
6.3.4聲明符
6.3.5變量初始化
6.3.6覆合語句
6.3.7sizeof表達式
6.3.8初等表達式
6.4控製程序
6.5成果展示
第7章生成COFF目標文件
7.1COFF文件結構
7.1.1基本概念
7.1.2總體結構
7.1.3COFF文件頭
7.1.4節頭表
7.1.5代碼節內容
7.1.6數據節與導入節內容
7.1.7COFF符號表
7.1.8COFF字符串表
7.1.9COFF重定位信息
7.2生成COFF目標文件
7.2.1生成節表
7.2.2生成符號表
7.2.3生成重定位信息
7.2.4生成目標文件
7.3成果展示
……
第8章x86機器語言
第9章SCC語義分析
第10章鏈接器
第11章SC語言程序開發
參考文獻
附錄A SC語言文法定義中英文對照表