第1章 引論 1.1 本書介紹 1.2 SPL語言的特點及實驗安排 1.2.1 SPL語言的特點 1.2.2 SPL語言編譯器的主要結構 1.2.3 實驗安排 1.3 平颱的選擇和介紹 1.3.1 LEX簡介 1.3.2 YACC簡介第2章 詞法分析 2.1 詞法分析器的基本框架 2.2 詞法分析器的基本原理 2.2.1 DFA的構造和實現 2.2.2 詞法分析的預處理 2.2.3 實現詞法分析器的注意要點 2.3 詞法分析器的實現 2.3.1 SPL語言單詞屬性字 2.3.2 SPL詞法分析器的輸入和輸齣 2.3.3 SPL詞法分析器的分析識彆第3章 語法分析 3.1 語法分析的基本框架 3.1.1 上下文無關文法 3.1.2 語法分析過程 3.1.3 語法分析過程中的數據結構 3.2 語法分析的基本方法 3.2.1 自頂嚮下的分析方法 3.2.2 自底嚮上的分析方法 3.3 語法分析的實現 3.3.1 SPL語法定義 3.3.2 SPL語法分析第4章 符號錶實現 4.1 符號錶的操作及數據結構 4.1.1 符號錶的操作 4.1.2 符號錶的數據結構 4.2 基本原理和設計要點 4.2.1 作用域規則 4.2.2 設計要點 4.3 SPL符號錶的實現 4.3.1 符號錶的組織方式 4.3.2 符號錶的具體實現第5章 錯誤處理 5.1 錯誤處理基本原理 5.1.1 錯誤的種類 5.1.2 錯誤的診察和報告 5.1.3 錯誤處理技術 5.1.4 錯誤處理實現中的要點 5.2 錯誤處理的實現 5.2.1 錯誤處理數據結構定義和相關函數 5.2.2 詞法錯誤處理 5.2.3 語法錯誤 5.2.4 語義錯誤 5.2.5 限製重復報告錯誤第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 目標機器8086 6.3.2 目標機器i386 6.4 代碼生成程序的實現 6.4.1 定義與聲明的翻譯 6.4.2 錶達式的翻譯 6.4.3 語句和控製流的翻譯第7章 代碼優化 7.1 總體框架 7.2 基本原理 7.2.1 代碼優化分類 7.2.2 常量錶達式優化 7.2.3 公共錶達式的優化 7.2.4 循環優化 7.2.5 優化實現的要點 7.3 優化的實現 7.3.1 常量閤並的實現 7.3.2 公共錶達式節省的實現第8章 SPL編譯器完整實現 8.1 編譯程序概述 8.2 編譯器各部分接口 8.2.1 詞法分析 8.2.2 語法分析 8.2.3 語義分析 8.2.4 #間代碼生成 8.2.5 代碼優化 8.2.6 目標代碼生成 8.2.7 錯誤處理 8.3 語言的擴充和實現 8.3.1 詞法分析器的語言擴充 8.3.2 語法分析器的語言擴充 8.3.3 符號錶的語言擴充 8.3.4 樹和DAG擴充 8.3.5 目標代碼生成的語言擴充 8.4 實現方法的替換和實現 8.5 編譯器的編譯和測試 8.5.1 Linux環境下的編譯和運行 8.5.2 Windows環境下的編譯和運行附件1 實驗題目附件2 SPL語法定義參考文獻
· · · · · · (
收起)