目錄
前言
第1章 緒論 1
1.1 研究背景 1
1.2 研究內容 2
1.3 本書的組織結構 3
第2章 泛型約束相關研究 4
2.1 泛型程序設計 4
2.2 泛型程序設計及其約束的新定義 4
2.3 函數(shù)式語言泛型約束 5
2.3.1 System F 5
2.3.2 Haskell 98 6
2.3.3 ML 7
2.4 面向對象語言泛型約束 8
2.4.1 C++模板約束 8
2.4.2 Concepts概念約束 12
2.4.3 Java泛型約束 14
2.4.4 C#泛型約束 17
2.4.5 小結 19
2.5 泛型程序設計與面向對象程序設計的比較 19
第3章 Apla中的泛型機制 21
3.1 類型參數(shù)化 21
3.2 操作參數(shù)化 22
3.3 泛型Apla程序結構 22
3.3.1 單類型參數(shù)化 22
3.3.2 多類型參數(shù)化 23
3.4 Apla泛型過程結構 23
3.5 Apla泛型函數(shù)結構 24
3.6 泛型算法示例 25
第4章 泛型約束機制在Apla中的設計 29
4.1 操作約束定義 29
4.2 類型約束定義 31
4.2.1 傳統(tǒng)數(shù)據(jù)類型約束 31
4.2.2 標準數(shù)據(jù)類型約束 34
4.2.3 代數(shù)結構泛型約束庫 35
4.3 約束調用及例化 45
4.3.1 約束調用 45
4.3.2 約束例化 48
4.4 完整實例 51
4.4.1 泛型Kleene算法 51
4.4.2 泛型二分搜索算法 56
4.4.3 泛型Bellman-Ford算法 58
4.4.4 泛型極值類算法 59
4.4.5 泛型中綴表達式求值算法 60
第5章 約束匹配檢測及驗證 63
5.1 約束匹配檢測 63
5.2 約束匹配驗證 64
5.2.1 實例操作參數(shù)語義驗證 64
5.2.2 實例類型參數(shù)語義驗證 67
5.2.3 約束匹配驗證實例 70
第6章 泛型約束機制在PAR平臺C++生成系統(tǒng)中的實現(xiàn) 88
6.1 PAR平臺C++生成系統(tǒng) 88
6.1.1 系統(tǒng)主要功能 88
6.1.2 主要功能模塊 90
6.1.3 系統(tǒng)界面 92
6.1.4 規(guī)則庫 94
6.2 泛型約束機制在PAR平臺上的實現(xiàn) 95
6.2.1 形式類型參數(shù)檢測 95
6.2.2 實例參數(shù)語法檢測 95
6.2.3 實現(xiàn)實例 96
第7章 總結 99
參考文獻 101