第1章 程序語言設計問題
1. 1 為什么學習程序語言
1. 2 程序語言簡史
1. 2. 1 早期語言的發(fā)展
1. 2. 2 軟件結構的演化
1. 2. 3 應用領域
1. 3 程序語言的角色
1. 3. 1 如何構成一種好語言
1. 3. 2 語言范例
1. 3. 3 語言標準
1. 3. 4 國際化
1. 4 編程環(huán)境
1. 4. 1 對語言設計的影響
1. 4. 2 環(huán)境框架
1. 4. 3 作業(yè)控制與過程語言
1. 5 C簡介
1. 6 進一步閱讀的建議
1. 7 習題
第2章 機器體系結構對語言的影響
2. 1 計算機的操作
2. 1. 1 計算機的硬件結構
2. 1. 2 固件計算機
2. 1. 3 翻譯器和軟件模擬計算機
2. 2 虛擬計算機和綁定時間
2. 2. 1 虛擬計算機和語言實現
2. 2. 2 虛擬機的層次
2. 2. 3 綁定和綁定時間
2. 2. 4 Java概覽
2. 3 進一步閱讀的建議
2. 4 習題
第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 BNF文法
3. 3. 2 有限狀態(tài)自動機
3. 3. 3 Per1概述
3. 3. 4 下推自動機
3. 3. 5 常規(guī)的語法分析策略
3. 4 遞歸下降語法分析
3. 5 Pascal概述
3. 6 進一步閱讀的建議
3. 7 習題
第4章 建立語言屬性的模型
4. 1 語言的形式性質
4. 1. 1 Chomsky層次文法
4. 1. 2 不可判定性
4. 1. 3 算法復雜性
4. 2 語言的語義
4. 2. 1 屬性文法
4. 2. 2 指稱語義
4. 2. 3 ML概述
4. 2. 4 程序驗證
4. 2. 5 代數數據類型
4. 3 進一步閱讀的建議
4. 4 習題
第5章 基本數據類型
5. 1 類型和對象的屬性
5. 1. 1 數據對象. 變量和常量
5. 1. 2 數據類型
5. 1. 3 聲明
5. 1. 4 類型檢查和類型轉換
5. 1. 5 賦值和初始化
5. 2 標量數據類型
5. 2. 1 數字數據類型
5. 2. 2 枚舉類型
5. 2. 3 布爾類型
5. 2. 4 字符型
5. 3 復合數據類型
5. 3. 1 字符串
5. 3. 2 指針和程序員構造的數據對象
5. 3. 3 文件和輸人輸出
5. 4 FORTRAN概述
5. 5 進一步閱讀的建議
5. 6 習題
第6章 封裝
6. 1 結構化數據類型
6. 1. 1 結構化數據對象和數據類型
6. 1. 2 數據結構類型規(guī)范
6. 1. 3 數據結構類型的實現
6. 1. 4 數據結構的聲明和類型檢查
6. 1. 5 向量和數組
6. 1. 6 記錄
6. 1. 7 列表
6. 1. 8 集合
6. 1. 9 可執(zhí)行數據對象
6. 2 抽象的數據類型
6. 2. 1 數據類型概念的發(fā)展
6. 2. 2 信息隱藏
6. 3 通過子程序實現封裝
6. 3. 1 作為抽象操作的子程序
6. 3. 2 子程序定義和調用
6. 3. 3 作為數據對象的子程序定義
6. 4 類型定義
6. 4. 1 類型相同
6. 4. 2 帶有參數的類型定義
6. 5 C十十概述
6. 6 進一步閱讀的建議
6. 7 習題
第7章 繼承
7. 1 再論抽象數據類型
7. 2 繼承
7. 2. 1 派生類
7. 2. 2 方法
7. 2. 3 抽象類
7. 2. 4 Smalltalk概述
7. 2. 5 對象和消息
7. 2. 6 有關抽象的概念
7. 3 多態(tài)
7. 4 進一步閱讀的建議
7. 5 習題
第8章 順序控制
8. 1 隱式的和顯式的順序控制
8. 2 表達式中的頃序
8. 2. 1 確良樹結構表示
8. 2. 2 駛執(zhí)行時的表示
8. 3 語句之間的順序控制
8. 3. 1 基本語句
8. 3. 2 結構化的順序控制
8. 3. 3 基本程序
8. 4 非算術表達式的順序化
8. 4. 1 Pro1og簡介
8. 4. 2 模式匹配
8. 4. 3 合一
8. 4. 4 回溯
8. 4. 5 歸結
8. 5 進一步閱讀的建議
8. 6 習題
第9章 子程序控制
9. 1 子程序順序控制
9. 1. 1 簡單的Call—Return子程序
9. 1. 2 遞歸子程序
9. 1. 3 Pascal的forward聲明
9. 2 數據控制的屬性
9. 2. 1 命名和引用環(huán)境
9. 2. 2 靜態(tài)和動態(tài)作用域
9. 2. 3 塊結構
9. 2. 4 局部數據和局部引用環(huán)境
9. 3 參數傳遞
9. 3. 1 實際和形式參數
9. 3. 2 參數傳遞的方法
9. 3. 3 參數傳遞語義
9. 3. 4 參數傳遞的實現
9. 4 顯式共同環(huán)境
9. 4. 1 動態(tài)域
9. 4. 2 靜態(tài)域和塊結構
9. 5 參考資料
9. 6 習題
第10章 存儲管理
10. l 需要存儲的元素
10. 2 程序員和系統(tǒng)控制的存儲管理
lo. 3 靜態(tài)的存儲管理
10. 4 堆的存儲管理
10. 4. 1 UDP概況
10. 4. 2 固定大小的單元
10. 4. 3 可變長的單元
10. 5 進一步閱讀的建議
10. 6 習題
第11章 分布式處理
11. 1 子程序控制的變體
11. 1. 1 異常和異常處理程序
11. 1. 2 協(xié)同程序
11. 1. 3 子程序調度
11. 2 并行程序設計
11. 2. 1 并發(fā)運行
11. 2. 2 保護命令
11. 2. 3 Ada簡介
11. 2. 4 任務
11. 2. 5 任務的同步
11. 3 硬件的發(fā)展
11. 3. 1 處理器設計
11. 3. 2 系統(tǒng)設計
11. 4 軟件體系結構
11. 4. 1 持久性數據和事務系統(tǒng)
11. 4. 2 網絡和客戶—g匠務器計算
11. 5 進一步閱讀的建議
11. 6 習題
第12章 網絡程序設計
12. 1 桌面出版
12. 1. 1 LATEX文檔處理
12. 1. 2 WYSIWYG編輯器
12. 1. 3 Postscript
12. 1. 4 Postscritp虛擬機
12. 2 萬維網
12. 2. 1 互聯網
12. 2. 2 CGI腳本
12. 2. 3 Java小應用程序
12. 2. 4 XML
12. 3 進一步閱讀的建議
12. 4 習題
附錄A 語言概要
A. 1 ADA
A. 2 C
A. 3 C++
A. 4 FORTRAN
A. 5 JAVA
A. 6 LISP
A. 7 ML
A. 8 PASCAL
A. 9 PERL
A. 10 Postscript語言
A. 11 Prolog
A. 12 Smalltalk
A. 13 進一步閱讀的建議
參考文獻