注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)程序設(shè)計(jì)語言原理(原書第12版)

程序設(shè)計(jì)語言原理(原書第12版)

程序設(shè)計(jì)語言原理(原書第12版)

定 價(jià):¥229.00

作 者: [美] 羅伯特·W.塞巴斯塔 著,徐寶文,王子元,周曉宇 等 譯
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng): 計(jì)算機(jī)科學(xué)叢書
標(biāo) 簽: 暫缺

ISBN: 9787111696216 出版時(shí)間: 2022-04-01 包裝: 平裝
開本: 16開 頁數(shù): 568 字?jǐn)?shù):  

內(nèi)容簡介

  本書從為什么學(xué)習(xí)程序設(shè)計(jì)語言、常用程序設(shè)計(jì)語言的演化史、評估程序設(shè)計(jì)語言結(jié)構(gòu)的標(biāo)準(zhǔn),以及這些語言基本的實(shí)現(xiàn)方法開始講起,通過不局限于特定語言種類地分析語言結(jié)構(gòu)的設(shè)計(jì)問題,檢測設(shè)計(jì)選擇,以及比較設(shè)計(jì)可選方案來講述程序設(shè)計(jì)語言基本原理。

作者簡介

  羅伯特·W. 塞巴斯塔(Robert W. Sebesta) 科羅拉多大學(xué)斯普林斯分校計(jì)算機(jī)科學(xué)系榮休副教授,擁有40多年計(jì)算機(jī)科學(xué)課程教學(xué)經(jīng)驗(yàn),研究興趣包括程序設(shè)計(jì)語言的設(shè)計(jì)和評估以及Web程序設(shè)計(jì)。

圖書目錄

譯者序
第12版的變化
前言
致謝
第1章 預(yù)備知識1
1.1 掌握程序設(shè)計(jì)語言概念的必要性1
1.2 程序設(shè)計(jì)領(lǐng)域3
1.2.1 科學(xué)計(jì)算應(yīng)用3
1.2.2 商業(yè)應(yīng)用3
1.2.3 人工智能4
1.2.4 Web軟件4
1.3 語言評價(jià)標(biāo)準(zhǔn)4
1.3.1 可讀性5
1.3.2 可寫性9
1.3.3 可靠性9
1.3.4 成本10
1.4 影響語言設(shè)計(jì)的因素11
1.4.1 計(jì)算機(jī)體系結(jié)構(gòu)11
1.4.2 程序設(shè)計(jì)方法學(xué)13
1.5 程序設(shè)計(jì)語言分類14
1.6 語言設(shè)計(jì)中的權(quán)衡14
1.7 實(shí)現(xiàn)方法15
1.7.1 編譯16
1.7.2 純解釋18
1.7.3 混合實(shí)現(xiàn)系統(tǒng)19
1.7.4 預(yù)處理程序19
1.8 程序設(shè)計(jì)環(huán)境20
小結(jié)20
復(fù)習(xí)題21
習(xí)題21
第2章 主要程序設(shè)計(jì)語言發(fā)展簡史23
2.1 Zuse研制的Plankalkül語言23
2.1.1 歷史背景23
2.1.2 語言概述25
2.2 偽代碼25
2.2.1 短碼26
2.2.2 快碼26
2.2.3 UNIVAC編譯系統(tǒng)27
2.2.4 相關(guān)工作27
2.3 IBM 704和Fortran27
2.3.1 歷史背景27
2.3.2 設(shè)計(jì)過程28
2.3.3 Fortran I概述28
2.3.4 Fortran II29
2.3.5 Fortran IV、77、90、95、2003和200829
2.3.6 評價(jià)30
2.4 函數(shù)式程序設(shè)計(jì)語言:LISP31
2.4.1 人工智能的開端和列表處理31
2.4.2 LISP的設(shè)計(jì)過程32
2.4.3 語言概述32
2.4.4 評價(jià)33
2.4.5 LISP的兩種后繼語言34
2.4.6 相關(guān)語言34
2.5 邁向成熟的第一步:ALGOL 6035
2.5.1 歷史背景35
2.5.2 早期設(shè)計(jì)過程35
2.5.3 ALGOL 58概述36
2.5.4 ALGOL 58報(bào)告的接受度37
2.5.5 ALGOL 60的設(shè)計(jì)過程37
2.5.6 ALGOL 60概述37
2.5.7 評價(jià)38
2.6 商業(yè)處理語言:COBOL39
2.6.1 歷史背景39
2.6.2 FLOW-MATIC40
2.6.3 COBOL的設(shè)計(jì)過程40
2.6.4 評價(jià)40
2.7 分時(shí)處理的開始:Basic42
2.7.1 設(shè)計(jì)過程43
2.7.2 語言概述43
2.7.3 評價(jià)43
2.8 滿足所有人的需求:PL/I46
2.8.1 歷史背景47
2.8.2 設(shè)計(jì)過程47
2.8.3 語言概述48
2.8.4 評價(jià)48
2.9 兩種早期的動態(tài)語言:APL和SNOBOL49
2.9.1 APL的起源及特征49
2.9.2 SNOBOL的起源和特征50
2.10 數(shù)據(jù)抽象的開端:SIMULA 6750
2.10.1 設(shè)計(jì)過程50
2.10.2 語言概述50
2.11 正交設(shè)計(jì):ALGOL 6850
2.11.1 設(shè)計(jì)過程51
2.11.2 語言概述51
2.11.3 評價(jià)51
2.12 ALGOL系列語言的早期繼承者52
2.12.1 簡潔的設(shè)計(jì):Pascal52
2.12.2 一個輕便的系統(tǒng)語言:C53
2.13 基于邏輯的程序設(shè)計(jì):Prolog55
2.13.1 設(shè)計(jì)過程55
2.13.2 語言概述55
2.13.3 評價(jià)56
2.14 歷史上規(guī)模最大的語言設(shè)計(jì):Ada56
2.14.1 歷史背景56
2.14.2 設(shè)計(jì)過程56
2.14.3 語言概述57
2.14.4 評價(jià)58
2.14.5 Ada 95和Ada 200558
2.15 面向?qū)ο蟪绦蛟O(shè)計(jì):Smalltalk59
2.15.1 設(shè)計(jì)過程59
2.15.2 語言概述60
2.15.3 評價(jià)60
2.16 結(jié)合命令式和面向?qū)ο蟮奶匦裕篊++61
2.16.1 設(shè)計(jì)過程61
2.16.2 語言概述62
2.16.3 評價(jià)62
2.16.4 Swift:Objective-C的替代品62
2.16.5 另一個相關(guān)語言:Delphi63
2.17 基于命令式的面向?qū)ο笳Z言:Java63
2.17.1 設(shè)計(jì)過程63
2.17.2 語言概述64
2.17.3 評價(jià)65
2.18 腳本語言66
2.18.1 Perl的起源與特點(diǎn)66
2.18.2 JavaScript的起源與特點(diǎn)67
2.18.3 PHP的起源與特點(diǎn)69
2.18.4 Python的起源與特點(diǎn)69
2.18.5 Ruby的起源與特點(diǎn)70
2.19 .NET旗幟語言:C#70
2.19.1 設(shè)計(jì)過程70
2.19.2 語言概述71
2.19.3 評價(jià)71
2.20 混合標(biāo)記程序設(shè)計(jì)語言72
2.20.1 XSLT72
2.20.2 JSP73
小結(jié)74
文獻(xiàn)注記74
復(fù)習(xí)題74
習(xí)題76
程序設(shè)計(jì)練習(xí)76
第3章 語法和語義描述77
3.1 概述77
3.2 語法描述的一般問題78
3.2.1 語言識別器78
3.2.2 語言生成器79
3.3 語法描述的形式化方法79
3.3.1 Backus-Naur范式與上下文無關(guān)文法79
3.3.2 擴(kuò)展的BNF范式88
3.3.3 文法和識別器90
3.4 屬性文法90
3.4.1 靜態(tài)語義90
3.4.2 基本概念91
3.4.3 屬性文法的定義91
3.4.4 內(nèi)在屬性91
3.4.5 屬性文法示例91
3.4.6 計(jì)算屬性值93
3.4.7 評價(jià)94
3.5 描述程序的含義:動態(tài)語義94
3.5.1 操作語義95
3.5.2 指稱語義97
3.5.3 公理語義100
小結(jié)110
文獻(xiàn)注記110
復(fù)習(xí)題110
習(xí)題111
第4章 詞法和語法分析115
4.1 概述115
4.2 詞法分析116
4.3 語法分析問題122
4.3.1 語法分析基礎(chǔ)122
4.3.2 自頂向下的語法分析器123
4.3.3 自底向上的語法分析器124
4.3.4 語法分析的復(fù)雜度124
4.4 遞歸下降的語法分析124
4.4.1 遞歸下降的語法分析過程124
4.4.2 LL文法類129
4.5 自底向上的語法分析131
4.5.1 自底向上的語法分析器的語法分析問題131
4.5.2 移進(jìn)-歸約算法133
4.5.3 LR語法分析器133
小結(jié)137
復(fù)習(xí)題138
習(xí)題138
程序設(shè)計(jì)練習(xí)139
第5章 名字、綁定與作用域140
5.1 概述140
5.2 名字140
5.2.1 設(shè)計(jì)問題140
5.2.2 名字形式141
5.2.3 特殊單詞141
5.3 變量142
5.3.1 名字142
5.3.2 地址142
5.3.3 類型143
5.3.4 值143
5.4 綁定的概念143
5.4.1 屬性到變量的綁定144
5.4.2 綁定類型144
5.4.3 存儲綁定和生存期147
5.5 作用域149
5.5.1 靜態(tài)作用域149
5.5.2 分程序150
5.5.3 聲明順序153
5.5.4 全局作用域153
5.5.5 對靜態(tài)作用域的評價(jià)156
5.5.6 動態(tài)作用域156
5.5.7 對動態(tài)作用域的評價(jià)157
5.6 作用域和生存期157
5.7 引用環(huán)境158
5.8 有名常量159
小結(jié)161
復(fù)習(xí)題161
習(xí)題162
程序設(shè)計(jì)練習(xí)165
第6章 數(shù)據(jù)類型167
6.1 概述167
6.2 基本數(shù)據(jù)類型168
6.2.1 數(shù)值類型168
6.2.2 布爾類型170
6.2.3 字符類型171
6.3 字符串類型171
6.3.1 設(shè)計(jì)問題171
6.3.2 字符串及其運(yùn)算171
6.3.3 字符串長度選項(xiàng)173
6.3.4 評價(jià)173
6.3.5 字符串類型的實(shí)現(xiàn)174
6.4 枚舉類型175
6.4.1 設(shè)計(jì)問題175
6.4.2 設(shè)計(jì)175
6.4.3 評價(jià)176
6.5 數(shù)組類型177
6.5.1 設(shè)計(jì)問題177
6.5.2 數(shù)組和索引178
6.5.3 下標(biāo)綁定和數(shù)組的種類179
6.5.4 數(shù)組初始化180
6.5.5 數(shù)組運(yùn)算181
6.5.6 矩陣數(shù)組和鋸齒形數(shù)組182
6.5.7 切片182
6.5.8 評價(jià)183
6.5.9 數(shù)組類型的實(shí)現(xiàn)183
6.6 關(guān)聯(lián)數(shù)組185
6.6.1 結(jié)構(gòu)與運(yùn)算185
6.6.2 關(guān)聯(lián)數(shù)組的實(shí)現(xiàn)186
6.7 記錄類型186
6.7.1 記錄的定義187
6.7.2 記錄中字段的引用187
6.7.3 評價(jià)188
6.7.4 記錄類型的實(shí)現(xiàn)188
6.8 元組類型189
6.9 列表類型190
6.10 聯(lián)合類型192
6.10.1 設(shè)計(jì)問題192
6.10.2 判別式與自由聯(lián)合類型192
6.10.3 F#的聯(lián)合類型193
6.10.4 評價(jià)193
6.10.5 聯(lián)合類型的實(shí)現(xiàn)194
6.11 指針和引用類型194
6.11.1 設(shè)計(jì)問題194
6.11.2 指針運(yùn)算194
6.11.3 指針的相關(guān)問題195
6.11.4 C和C++中的指針196
6.11.5 引用類型198
6.11.6 評價(jià)199
6.11.7 指針和引用類型的實(shí)現(xiàn)199
6.12 可選類型203
6.13 類型檢查203
6.14 強(qiáng)類型204
6.15 類型等價(jià)205
6.16 理論和數(shù)據(jù)類型208
小結(jié)209
文獻(xiàn)注記210
復(fù)習(xí)題210
習(xí)題211
程序設(shè)計(jì)練習(xí)212
第7章 表達(dá)式與賦值語句214
7.1 概述214
7.2 算術(shù)表達(dá)式214
7.2.1 運(yùn)算符求值順序215
7.2.2 運(yùn)算分量求值順序219
7.3 重載運(yùn)算符221
7.4 類型轉(zhuǎn)換222
7.4.1 表達(dá)式中的強(qiáng)制轉(zhuǎn)換222
7.4.2 顯式類型轉(zhuǎn)換223
7.4.3 表達(dá)式錯誤224
7.5 關(guān)系表達(dá)式和布爾表達(dá)式224
7.5.1 關(guān)系表達(dá)式224
7.5.2 布爾表達(dá)式225
7.6 短路求值226
7.7 賦值語句227
7.7.1 簡單賦值227
7.7.2 條件賦值227
7.7.3 復(fù)合賦值運(yùn)算符227
7.7.4 一元賦值運(yùn)算符228
7.7.5 賦值表達(dá)式229
7.7.6 多重賦值229
7.7.7 函數(shù)式程序設(shè)計(jì)語言中的賦值230
7.8 混合方式賦值230
小結(jié)231
復(fù)習(xí)題231
習(xí)題232
程序設(shè)計(jì)練習(xí)233
第8章 語句級控制結(jié)構(gòu)234
8.1 概述234
8.2 選擇語句235
8.2.1 二路選擇語句235
8.2.2 多路選擇語句238
8.3 重復(fù)語句244
8.3.1 計(jì)數(shù)控制循環(huán)245
8.3.2 邏輯控制循環(huán)248
8.3.3 用戶定義的循環(huán)控制機(jī)制249
8.3.4 基于數(shù)據(jù)結(jié)構(gòu)的迭代250
8.4 無條件分支253
8.5 保護(hù)命令254
8.6 結(jié)論256
小結(jié)256
復(fù)習(xí)題257
習(xí)題257
程序設(shè)計(jì)練習(xí)258
第9章 子程序260
9.1 概述260
9.2 子程序基礎(chǔ)260
9.2.1 子程序的一般性質(zhì)260
9.2.2 基本定義260
9.2.3 參數(shù)262
9.2.4 過程與函數(shù)265
9.3 子程序的設(shè)計(jì)問題265
9.4 局部引用環(huán)境266
9.4.1 局部變量266
9.4.2 嵌套子程序267
9.5 參數(shù)傳遞方法267
9.5.1 參數(shù)傳遞的語義模型268
9.5.2 參數(shù)傳遞的實(shí)現(xiàn)模型268
9.5.3 參數(shù)傳遞方法的實(shí)現(xiàn)272
9.5.4 常用語言的參數(shù)傳遞方法272
9.5.5 參數(shù)類型檢查274
9.5.6 多維數(shù)組參數(shù)276
9.5.7 設(shè)計(jì)考量277
9.5.8 參數(shù)傳遞實(shí)例277
9.6 子程序作為參數(shù)280
9.7 子程序間接調(diào)用281
9.8 函數(shù)設(shè)計(jì)問題282
9.8.1 函數(shù)的副作用283
9.8.2 返回值類型283
9.8.3 返回值的個數(shù)283
9.9 重載子程序283
9.10 泛型子程序284
9.10.1 C++泛型函數(shù)285
9.10.2 Java 5.0泛型方法286
9.10.3 C# 2005泛型方法287
9.10.4 F#泛型函數(shù)288
9.11 用戶定義的重載運(yùn)算符288
9.12 閉包289
9.13 協(xié)同程序290
小結(jié)292
復(fù)習(xí)題293
習(xí)題294
程序設(shè)計(jì)練習(xí)295
第10章 子程序?qū)崿F(xiàn)297
10.1 調(diào)用和返回的一般語義297
10.2 “簡單”子程序的實(shí)現(xiàn)297
10.3 具有棧動態(tài)局部變量的子程序?qū)崿F(xiàn)299
10.3.1 更復(fù)雜的活動記錄299
10.3.2 不含遞歸的例子301
10.3.3 遞歸302
10.4 嵌套子程序304
10.4.1 基礎(chǔ)304
10.4.2 靜態(tài)鏈305
10.5 分程序309
10.6 動態(tài)作用域的實(shí)現(xiàn)310
10.6.1 深層訪問310
10.6.2 淺層訪問311
小結(jié)312
復(fù)習(xí)題312
習(xí)題313......

本目錄推薦

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