注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)其他編程語(yǔ)言/工具程序設(shè)計(jì)語(yǔ)言:概念和結(jié)構(gòu)

程序設(shè)計(jì)語(yǔ)言:概念和結(jié)構(gòu)

程序設(shè)計(jì)語(yǔ)言:概念和結(jié)構(gòu)

定 價(jià):¥45.00

作 者: (美)Ravi Sethi著;裘宗燕等譯;裘宗燕譯
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng): 計(jì)算機(jī)科學(xué)叢書
標(biāo) 簽: 程序理論

ISBN: 9787111094319 出版時(shí)間: 2002-02-01 包裝: 簡(jiǎn)裝本
開(kāi)本: 26cm 頁(yè)數(shù): 492 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書是國(guó)外比較成功的一本討論程序設(shè)計(jì)語(yǔ)言的教科書,已在一些學(xué)校使用多年。書的主要內(nèi)容包括:引論、命令式程序設(shè)計(jì)、面向?qū)ο蟮某绦蛟O(shè)計(jì)、函數(shù)式程序設(shè)計(jì)、其他程序設(shè)計(jì)范型以及語(yǔ)言的描述六大部分。本書適合作為計(jì)算機(jī)及其相關(guān)專業(yè)本科高年級(jí)學(xué)生的教材或教學(xué)參考書,或作為研究生的基礎(chǔ)課程教材或參考書,也適合其他相關(guān)的技術(shù)人員參考。本書的學(xué)習(xí)基礎(chǔ)是學(xué)過(guò)用過(guò)一種或幾種程序設(shè)計(jì)語(yǔ)言(最好是Pascal/C/C++),有一定程序設(shè)計(jì)經(jīng)驗(yàn),并對(duì)數(shù)據(jù)結(jié)構(gòu)等計(jì)算機(jī)基礎(chǔ)知識(shí)有所理解。

作者簡(jiǎn)介

  裘宗燕知名譯者,翻譯嚴(yán)謹(jǐn),喜與讀者交流。裘宗燕教授是北京大學(xué)數(shù)學(xué)學(xué)院信息科學(xué)系的,關(guān)心的主要學(xué)術(shù)領(lǐng)域包括計(jì)算機(jī)軟件理論、程序設(shè)計(jì)方法學(xué)、程序設(shè)計(jì)語(yǔ)言和符號(hào)計(jì)算。已出版多部著作和譯著,包括《程序設(shè)計(jì)語(yǔ)言基礎(chǔ)》(譯著,1990),《Mathematica數(shù)學(xué)軟件系統(tǒng)的應(yīng)用與程序設(shè)計(jì)》(1994),《從問(wèn)題到程序——程序設(shè)計(jì)與C語(yǔ)言引論》(1999)>>更多作品

圖書目錄


第一部分   引      言
第1章   程序設(shè)計(jì)語(yǔ)言的位置 2
1.1   走向高級(jí)語(yǔ)言 2
1.1.1   機(jī)器語(yǔ)言是晦澀難懂的 3
1.1.2   匯編語(yǔ)言是低級(jí)的 3
1.1.3   高級(jí)語(yǔ)言的優(yōu)點(diǎn) 5
1.2   規(guī)模的問(wèn)題 6
1.2.1   人的錯(cuò)誤因素 6
1.2.2   程序設(shè)計(jì)語(yǔ)言扮演的角色 7
1.3   程序設(shè)計(jì)范型 7
1.3.1   命令式程序設(shè)計(jì) 8
1.3.2   函數(shù)式程序設(shè)計(jì) 9
1.3.3   面向?qū)ο蟮某绦蛟O(shè)計(jì) 11
1.3.4   邏輯程序設(shè)計(jì) 12
1.3.5   語(yǔ)言的選擇 12
1.4   語(yǔ)言實(shí)現(xiàn):在裂谷上架橋 12
1.4.1   編譯 13
1.4.2   解釋 14
1.4.3   編譯器和解釋器:對(duì)比 15
練習(xí) 15
引文注記 16
第2章   語(yǔ)言的描述:語(yǔ)法結(jié)構(gòu) 18
2.1   表達(dá)式的記法 20
2.1.1   前綴記法 20
2.1.2   后綴記法 21
2.1.3   中綴記法:優(yōu)先級(jí)和結(jié)合性 21
2.1.4   混合記法 22
2.2   抽象語(yǔ)法樹 22
2.3   詞語(yǔ)法 24
2.4   上下文無(wú)關(guān)文法 25
2.4.1   文法介紹 25
2.4.2   上下文無(wú)關(guān)文法的定義 26
2.4.3   BNF:Backus-Naur范式 26
2.4.4   語(yǔ)法分析樹描繪了具體語(yǔ)法 27
2.4.5   語(yǔ)法的歧義性 28
2.4.6   懸空的else的歧義性 28
2.4.7   導(dǎo)出 29
2.5   表達(dá)式的文法 30
2.5.1   中綴表達(dá)式中的表列 30
2.5.2   從抽象語(yǔ)法到具體語(yǔ)法 31
2.6   文法的各種變形 33
2.6.1   擴(kuò)充的BNF 33
2.6.2   語(yǔ)法圖 35
練習(xí) 35
引文注記 38
第二部分   命令式程序設(shè)計(jì)
第3章   語(yǔ)句:結(jié)構(gòu)化程序設(shè)計(jì) 41
3.1   結(jié)構(gòu)化程序設(shè)計(jì)的必要性 41
3.1.1   靜態(tài)程序和動(dòng)態(tài)計(jì)算 41
3.1.2   命令式語(yǔ)言的設(shè)計(jì)原則 42
3.1.3   一個(gè)例子 42
3.1.4   不變式:程序設(shè)計(jì) 43
3.2   語(yǔ)法制導(dǎo)的控制流 44
3.2.1   語(yǔ)句的復(fù)合 44
3.2.2   選擇:條件語(yǔ)句 45
3.2.3   循環(huán)結(jié)構(gòu):while和repeat 46
3.2.4   定性迭代:for循環(huán) 48
3.2.5   選擇:case語(yǔ)句 48
3.2.6   case語(yǔ)句的實(shí)現(xiàn) 49
3.3   設(shè)計(jì)考慮:語(yǔ)法 50
3.3.1   序列:分隔符和終止符 50
3.3.2   避免懸空的else 52
3.4   處理循環(huán)中的特殊情況 53
3.4.1   循環(huán)中的break和continue語(yǔ)句 54
3.4.2   return語(yǔ)句 56
3.4.3   goto語(yǔ)句 56
3.5   使用不變式做程序設(shè)計(jì) 56
3.5.1   前條件和后條件 57
3.5.2   實(shí)例:線性搜索 58
3.6   部分正確性的證明規(guī)則 60
3.6.1   斷言和公式 61
3.6.2   復(fù)合語(yǔ)句的證明規(guī)則 61
3.6.3   條件語(yǔ)句的證明規(guī)則 62
3.6.4   有關(guān)while語(yǔ)句的規(guī)則 62
3.6.5   關(guān)于賦值的規(guī)則 62
3.6.6   化簡(jiǎn)規(guī)則 63
3.6.7   Pascal中的語(yǔ)句 63
3.7   C語(yǔ)言的控制流 63
3.7.1   賦值運(yùn)算符 64
3.7.2   表達(dá)式里的賦值 65
3.7.3   C語(yǔ)言的for循環(huán):非定性迭代 65
3.7.4   循環(huán)中的break和continue語(yǔ)句 66
練習(xí) 66
引文注記 70
第4章   類型:數(shù)據(jù)表示 72
4.1   類型的作用 72
4.1.1   值和它們的類型 73
4.1.2   類型表達(dá)式 73
4.1.3   本章中的類型 73
4.1.4   靜態(tài)布局決策 74
4.1.5   有關(guān)類型名. 數(shù)組和記錄的預(yù)覽 75
4.2   基本類型 76
4.2.1   枚舉 76
4.2.2   整型和實(shí)型 77
4.2.3   布爾表達(dá)式的短路求值 77
4.2.4   子域 78
4.2.5   基本類型的布局 78
4.2.6   程序設(shè)計(jì)的風(fēng)格:字符和類型轉(zhuǎn)換 78
4.3   數(shù)組:元素的序列 79
4.3.1   數(shù)組類型 79
4.3.2   數(shù)組的布局 81
4.3.3   數(shù)組邊界和存儲(chǔ)分配 82
4.3.4   數(shù)組的值和初始化 83
4.4   記錄:命名的域 84
4.4.1   記錄類型有一組特定的域 84
4.4.2   變量聲明分配存儲(chǔ)空間 84
4.4.3   對(duì)記錄的操作 84
4.4.4   數(shù)組和記錄的比較 85
4.5   聯(lián)合和變體記錄 85
4.5.1   變體記錄的布局 86
4.5.2   變體記錄損害類型安全 87
4.6   集合 88
4.6.1   集合的值 88
4.6.2   集合類型 88
4.6.3   集合類型的實(shí)現(xiàn) 88
4.6.4   集合的運(yùn)算 88
4.7   指針:效率和動(dòng)態(tài)存儲(chǔ)分配 89
4.7.1   指針類型 90
4.7.2   指針操作 90
4.7.3   數(shù)據(jù)結(jié)構(gòu)的增長(zhǎng)和縮減 90
4.7.4   懸空指針和存儲(chǔ)流失 91
4.7.5   指針作為代理 92
4.8   兩種字符串列表 95
4.8.1   Pascal的一種表示 95
4.8.2   C語(yǔ)言的一種表示 96
4.9   類型和錯(cuò)誤檢查 97
4.9.1   變量約束:變量的類型 98
4.9.2   類型系統(tǒng):表達(dá)式的類型 98
4.9.3   類型檢查的基本規(guī)則 99
4.9.4   類型名和類型等價(jià) 99
4.9.5   靜態(tài)和動(dòng)態(tài)類型檢查 101
練習(xí) 102
引文注記 104
第5章   過(guò)程活動(dòng) 105
5.1   對(duì)過(guò)程的介紹 106
5.1.1   過(guò)程調(diào)用 106
5.1.2   過(guò)程的要素 106
5.1.3   遞歸:過(guò)程的多個(gè)活動(dòng) 109
5.1.4   過(guò)程的價(jià)值 109
5.2   參數(shù)傳遞方式 110
5.2.1   值調(diào)用 110
5.2.2   引用調(diào)用 111
5.2.3   值結(jié)果調(diào)用 113
5.3   名字的作用域規(guī)則 114
5.3.1   詞法作用域和動(dòng)態(tài)作用域 114
5.3.2   詞法作用域與局部變量的重命名 115
5.3.3   宏展開(kāi)與動(dòng)態(tài)作用域 116
5.3.4   按名調(diào)用與詞法作用域 117
5.4   源文本中的嵌套作用域 118
5.4.1   聲明的作用域 118
5.4.2   嵌套作用域:C中的變量聲明 119
5.4.3   嵌套作用域:Pascal中的過(guò)程聲明 121
5.5   活動(dòng)記錄 122
5.5.1   活動(dòng)間的控制流 122
5.5.2   活動(dòng)記錄的元素 124
5.5.3   堆存儲(chǔ)分配和釋放 127
5.5.4   堆棧分配和釋放 127
5.5.5   在編譯時(shí)分配靜態(tài)變量 128
5.6   詞法作用域:在C中的過(guò)程 128
5.6.1   C程序的存儲(chǔ)布局 129
5.6.2   局部變量的存儲(chǔ) 129
5.6.3   C的過(guò)程調(diào)用和返回 130
5.6.4   運(yùn)行時(shí)的變量訪問(wèn) 131
5.6.5   過(guò)程作為參數(shù) 131
5.6.6   懸空指針 132
5.6.7   尾遞歸消除 132
5.7   詞法作用域:嵌套過(guò)程和Pascal 135
5.7.1   可見(jiàn)性規(guī)則 135
5.7.2   訪問(wèn)非局部變量:控制鏈和訪問(wèn)鏈 136
5.7.3   過(guò)程的調(diào)用和返回 138
5.7.4   過(guò)程作為參數(shù) 139
5.7.5   用于快速訪問(wèn)的區(qū)頭向量 139
練習(xí) 141
引文注記 143
第三部分   面向?qū)ο蟪绦蛟O(shè)計(jì)
第6章   數(shù)據(jù)和操作 147
6.1   程序構(gòu)造的結(jié)構(gòu) 147
6.1.1   過(guò)程:提高計(jì)算的層次 148
6.1.2   程序靜態(tài)文本的模塊劃分 149
6.1.3   用戶定義數(shù)據(jù)類型 150
6.1.4   幾種方法的比較 151
6.2   信息隱藏 152
6.2.1   動(dòng)機(jī):區(qū)分行為與實(shí)現(xiàn) 152
6.2.2   數(shù)據(jù)不變式 154
6.2.3   數(shù)據(jù)的可見(jiàn)性 154
6.2.4   實(shí)現(xiàn)的隱藏和程序開(kāi)發(fā) 154
6.3   使用模塊設(shè)計(jì)程序 155
6.3.1   表達(dá)式求值程序的設(shè)計(jì) 155
6.3.2   程序組織 157
6.3.3   討論:程序組織 161
6.4   模塊和用戶定義類型 161
6.4.1   導(dǎo)出名字和導(dǎo)入名字 161
6.4.2   導(dǎo)出類型 162
6.5   C++的類聲明 164
6.5.1   類聲明中的數(shù)據(jù)和操作 164
6.5.2   將類名作為定義的類型使用 166
6.5.3   公用. 私用和保護(hù)成員 167
6.6   C++的動(dòng)態(tài)存儲(chǔ)分配 168
6.6.1   指向?qū)ο蟮闹羔?168
6.6.2   用建構(gòu)函數(shù)和析構(gòu)函數(shù)進(jìn)行動(dòng)態(tài)
存儲(chǔ)分配 169
6.6.3   鏈表的單元 169
6.7   模板:參數(shù)化類型 172
6.8   C++對(duì)象的實(shí)現(xiàn) 173
6.8.1   一個(gè)簡(jiǎn)單實(shí)現(xiàn) 173
6.8.2   函數(shù)體的在線展開(kāi) 174
6.8.3   類聲明中的私用變量 174
練習(xí) 175
引文注記 178
第7章   面向?qū)ο蟪绦蛟O(shè)計(jì) 179
7.1   什么是對(duì)象 179
7.1.1   對(duì)象的外部和內(nèi)部視圖 179
7.1.2   形狀的屬性 180
7.2   面向?qū)ο蟮乃枷?181
7.2.1   將對(duì)象組織為類層次結(jié)構(gòu) 181
7.2.2   對(duì)象響應(yīng)消息, 對(duì)象具有狀態(tài) 182
7.3   繼承 184
7.3.1   接收者決定一個(gè)消息的含義 185
7.3.2   信息隱藏是為了可擴(kuò)充性 186
7.3.3   添加子類 187
7.3.4   對(duì)象和類 189
7.4   用C++語(yǔ)言做面向?qū)ο蟮某绦蛟O(shè)計(jì) 189
7.4.1   C++語(yǔ)言回顧 189
7.4.2   基類和派生類 190
7.4.3   公用基類 190
7.4.4   虛函數(shù) 191
7.4.5   C++中形狀實(shí)例的細(xì)節(jié) 193
7.4.6   初始化和繼承 194
7.5   一個(gè)擴(kuò)充的C++例子 194
7.5.1   素?cái)?shù)篩 194
7.5.2   基類 196
7.5.3   派生類 196
7.5.4   基類和派生類的初始化 196
7.5.5   子類型和超類型 197
7.5.6   虛函數(shù) 198
7.5.7   生成過(guò)濾器對(duì)象 199
7.5.8   剩余的程序 199
7.6   派生類和信息隱藏 199
7.6.1   公用和私用的基類 200
7.6.2   私用性原理 200
7.6.3   繼承成員的可訪問(wèn)性 201
7.7   Smalltalk中的對(duì)象 202
7.7.1   系統(tǒng)類 202
7.7.2   類定義中的元素 203
7.7.3   消息語(yǔ)法 205
7.8   Smalltalk對(duì)象的self 207
7.8.1   發(fā)送給self的消息 208
7.8.2   發(fā)送給super的消息 208
練習(xí) 209
引文注記 212
第四部分   函數(shù)式程序設(shè)計(jì)
第8章   函數(shù)式程序設(shè)計(jì)的要素 215
8.1   一個(gè)很小的表達(dá)式語(yǔ)言 215
8.1.1   Little Quilt操作什么 215
8.1.2   為方便而做的擴(kuò)充 217
8.1.3   評(píng)論:Little   Quilt的設(shè)計(jì) 219
8.2   類型:值和運(yùn)算 220
8.2.1   構(gòu)造和檢查值的操作 221
8.2.2   基本類型 221
8.2.3   類型的積 221
8.2.4   ML中的類型 223
8.3   函數(shù)聲明 224
8.3.1   函數(shù)作為算法 225
8.3.2   函數(shù)聲明和應(yīng)用的語(yǔ)法 225
8.3.3   遞歸函數(shù) 226
8.4   表達(dá)式的求值方式 226
8.4.1   最內(nèi)求值 227
8.4.2   選擇性求值 227
8.4.3   遞歸函數(shù)的求值 228
8.4.4   從左到右的最外求值 228
8.4.5   短路求值 230
8.5   詞法作用域 231
8.5.1   val約束 231
8.5.2   fun約束 232
8.5.3   嵌套的約束 233
8.5.4   同時(shí)約束 233
8.6   類型檢查 234
8.6.1   類型推理 234
8.6.2   類型名和類型等價(jià) 235
8.6.3   重載:多重含義 235
8.6.4   強(qiáng)制:隱式類型轉(zhuǎn)換 236
8.6.5   多態(tài)性:參數(shù)化類型 236
練習(xí) 237
引文注記 240
第9章   一個(gè)有類型語(yǔ)言中的函數(shù)式
程序設(shè)計(jì) 241
9.1   表的探查 241
9.1.1   表上的運(yùn)算 242
9.1.2   定義在表上的兩個(gè)函數(shù):append
和reverse 242
9.2   函數(shù)的分情況聲明 244
9.2.1   函數(shù)應(yīng)用 245
9.2.2   模式 246
9.2.3   模式和情況分析 246
9.3   函數(shù)作為一級(jí)的值 248
9.3.1   將函數(shù)映射到表的各個(gè)元素上 249
9.3.2   匿名函數(shù) 251
9.3.3   選擇性復(fù)制 251
9.3.4   積累結(jié)果 252
9.4   ML:隱含類型 253
9.4.1   類型推理 253
9.4.2   參數(shù)化多態(tài)性 254
9.5   數(shù)據(jù)類型 254
9.5.1   值構(gòu)造符 255
9.5.2   微分:一個(gè)傳統(tǒng)實(shí)例 257
9.5.3   多態(tài)數(shù)據(jù)類型 258
9.5.4   討論 259
9.6   ML的異常處理 259
9.7   在Standard ML中實(shí)現(xiàn)Little Quilt 261
9.7.1   一些輔助函數(shù) 262
9.7.2   拼塊的表示 263
9.7.3   sew運(yùn)算 263
9.7.4   turn運(yùn)算 264
9.7.5   拼塊的顯示 266
9.7.6   Little   Quilt中的表達(dá)式 267
練習(xí) 269
引文注記 271
第10章      表的函數(shù)式程序設(shè)計(jì) 272
10.1   Scheme, 一種Lisp方言 272
10.1.1   為什么用Scheme 273
10.1.2   如何與Scheme解釋器交互 273
10.1.3   怎樣寫表達(dá)式 274
10.1.4   怎樣定義函數(shù) 275
10.1.5   匿名函數(shù)值 275
10.1.6   條件式 275
10.1.7   let結(jié)構(gòu) 276
10.1.8   引號(hào) 277
10.2   表的結(jié)構(gòu) 278
10.2.1   表元素 278
10.2.2   表的運(yùn)算 279
10.3   表的操作 280
10.3.1   一個(gè)有用的函數(shù) 281
10.3.2   連接兩個(gè)表 281
10.3.3   將函數(shù)映射到表的所有元素上 282
10.3.4   關(guān)聯(lián)表 283
10.3.5   子表達(dá)式的表 284
10.3.6   一個(gè)參數(shù)化的函數(shù) 285
10.4   啟發(fā)性的實(shí)例:微分 286
10.4.1   語(yǔ)法制導(dǎo)的微分 286
10.4.2   常量 287
10.4.3   變量 287
10.4.4   對(duì)和式與乘積的微分規(guī)則 287
10.4.5   和式的微分 287
10.4.6   乘積的微分 289
10.4.7   對(duì)微分程序的總結(jié) 289
10.5   表達(dá)式化簡(jiǎn) 290
10.6   表的存儲(chǔ)管理 292
10.6.1   cons分配單元 293
10.6.2   相等的概念 293
10.6.3   分配和釋放 295
練習(xí) 296
引文注記 298
第五部分      其他范型
第11章   邏輯式程序設(shè)計(jì) 300
11.1   用關(guān)系做計(jì)算 301
11.1.1   關(guān)系 301
11.1.2   規(guī)則和事實(shí) 301
11.1.3   查詢 302
11.2   Prolog初步 304
11.2.1   項(xiàng) 304
11.2.2   與Prolog交互 305
11.2.3   存在性查詢 305
11.2.4   全稱性的事實(shí)和規(guī)則 306
11.2.5   否定作為失敗 307
11.2.6   合一 308
11.2.7   算術(shù) 309
11.3   Prolog的數(shù)據(jù)結(jié)構(gòu) 309
11.3.1   Prolog中的表 309
11.3.2   項(xiàng)作為數(shù)據(jù) 310
11.4   程序設(shè)計(jì)技術(shù) 312
11.4.1   猜測(cè)和驗(yàn)證 312
11.4.2   用變量作為項(xiàng)里的占位符 314
11.4.3   差表 317
11.5   Prolog的控制 318
11.5.1   合一和替換 319
11.5.2   將規(guī)則應(yīng)用于目標(biāo) 320
11.5.3   Prolog搜索樹 322
11.5.4   目標(biāo)的順序?qū)⒏淖兘?323
11.5.5   規(guī)則順序影響對(duì)解的搜索 324
11.5.6   出現(xiàn)檢查問(wèn)題 326
11.6   割 326
11.6.1   割作為第一個(gè)條件 327
11.6.2   割的作用 328
11.6.3   應(yīng)用割的程序設(shè)計(jì) 329
11.6.4   否定等同于失敗 332
練習(xí) 333
引文注記 334
第12章   并發(fā)程序設(shè)計(jì)導(dǎo)引 336
12.1   硬件的并行性 336
12.1.1   輸入/輸出的并行執(zhí)行 336
12.1.2   中斷和分時(shí) 337
12.1.3   多處理器組織結(jié)構(gòu) 338
12.1.4   反應(yīng)式系統(tǒng) 338
12.2   流:隱式的同步 338
12.2.1   進(jìn)程網(wǎng)絡(luò) 339
12.2.2   管道實(shí)例 339
12.3   作為交錯(cuò)的并發(fā)性 340
12.3.1   線程的交錯(cuò) 341
12.3.2   Ada中的并發(fā)作業(yè) 341
12.4   進(jìn)程的活性性質(zhì) 343
12.4.1   資源共享限制并發(fā)性 343
12.4.2   哲學(xué)家就餐問(wèn)題 343
12.4.3   死鎖:無(wú)法繼續(xù) 344
12.4.4   活鎖:沒(méi)有進(jìn)程能夠取得進(jìn)展 344
12.4.5   公平性 344
12.4.6   避免死鎖的發(fā)生 345
12.5   共享數(shù)據(jù)的安全訪問(wèn) 345
12.5.1   “非確定”的進(jìn)程 345
12.5.2   臨界區(qū)和互斥 346
12.5.3   可串行化與安全性 347
12.6   Ada中的并發(fā)性 348
12.6.1   握手式同步 348
12.6.2   同步通信 349
12.6.3   有選擇的接收 352
12.7   共享變量的同步訪問(wèn) 353
12.7.1   對(duì)緩沖區(qū)的直接訪問(wèn) 353
12.7.2   信號(hào)量:互斥 355
練習(xí) 359
引文注記 362
第六部分      語(yǔ)言的描述
第13章   語(yǔ)義方法 366
13.1   綜合屬性 368
13.1.1   求值順序 369
13.1.2   總結(jié) 369
13.2   屬性文法 370
13.3   自然語(yǔ)義 372
13.3.1   一個(gè)計(jì)算器 372
13.3.2   環(huán)境為名字約束值 373
13.3.3   let約束 373
13.3.4   基于Prolog的實(shí)現(xiàn) 375
13.4   指稱語(yǔ)義 376
13.5   一個(gè)Scheme計(jì)算器 377
13.6   詞法作用域中的lambda表達(dá)式 378
13.6.1   lambda表達(dá)式的自然語(yǔ)義 379
13.6.2   環(huán)境的一種實(shí)現(xiàn) 380
13.7   一個(gè)解釋器 381
13.7.1   常量 381
13.7.2   加引號(hào)項(xiàng) 381
13.7.3   變量 382
13.7.4   條件表達(dá)式 382
13.7.5   let表達(dá)式 382
13.7.6   lambda表達(dá)式 383
13.7.7   函數(shù)應(yīng)用 384
13.7.8   初始化環(huán)境 384
13.7.9   解釋器的使用 385
13.8   一個(gè)擴(kuò)充:遞歸函數(shù) 386
13.8.1   作為值的遞歸函數(shù) 386
13.8.2   對(duì)解釋器的修改 387
練習(xí) 388
引文注記 389
第14章   靜態(tài)類型和Lambda演算 390
14.1   純lambda演算中的相等 391
14.1.1   語(yǔ)法約定 392
14.1.2   自由變量和約束變量 392
14.1.3   替換 393
14.1.4   beta-相等 394
14.2   再論替換 395
14.3   純lambda項(xiàng)的計(jì)算 396
14.3.1   歸約 397
14.3.2   不終止的歸約 398
14.3.3   Church-Rosser定理 398
14.3.4   計(jì)算規(guī)則 399
14.4   作為lambda項(xiàng)的程序設(shè)計(jì)結(jié)構(gòu) 400
14.4.1   一個(gè)應(yīng)用lambda演算 400
14.4.2   Curry化 401
14.4.3   常量的歸約規(guī)則 401
14.4.4   語(yǔ)言ML0 402
14.4.5   不動(dòng)點(diǎn)算子 403
14.5   帶類型的lambda演算 404
14.6   多態(tài)類型 406
14.6.1   取自標(biāo)準(zhǔn)ML的例子 406
14.6.2   顯式的多態(tài)性 407
14.6.3   單態(tài)與多態(tài) 408
14.6.4   Core-XML的類型規(guī)則 409
練習(xí) 411
引文注記 412
第15章   語(yǔ)言概覽 414
15.1   Pascal:一種教學(xué)語(yǔ)言 414
15.1.1   Pascal的程序結(jié)構(gòu) 415
15.1.2   聲明 415
15.1.3   類型 416
15.1.4   表達(dá)式 416
15.1.5   語(yǔ)句 416
15.2   C:系統(tǒng)程序設(shè)計(jì) 417
15.2.1   C語(yǔ)言程序結(jié)構(gòu) 417
15.2.2   C的函數(shù) 418
15.2.3   C的變量聲明 419
15.2.4   表達(dá)式 419
15.2.5   C的控制流 420
15.2.6   指針和數(shù)組 420
15.2.7   頭文件 421
15.2.8   標(biāo)準(zhǔn)輸入/輸出 422
15.3   C++:多種程序設(shè)計(jì)風(fēng)格 422
15.3.1   C++中的類 422
15.3.2   C++的繼承 424
15.4   Smalltalk語(yǔ)言 424
15.4.1   表達(dá)式 426
15.4.2   類和實(shí)例方法 426
15.4.3   系統(tǒng)類 427
15.5   Standard ML 428
15.5.1   與ML解釋器交互 428
15.5.2   基于模式匹配的函數(shù)定義 430
15.5.3   數(shù)據(jù)類型 430
15.5.4   異常 430
15.6   Scheme:一種Lisp方言 431
15.6.1   基本結(jié)構(gòu) 432
15.6.2   表操作    433
15.7   Prolog 434
15.7.1   項(xiàng) 435
15.7.2   與Prolog交互 436
15.7.3   規(guī)則 436
15.7.4   查詢 436
15.7.5   算術(shù) 436
15.7.6   作為數(shù)據(jù)的項(xiàng) 437
參考文獻(xiàn) 438
索引 450                  

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)