Àâòîðèçàöèÿ
Ïîèñê ïî óêàçàòåëÿì
Sebesta R.W. — Concepts of programming languages
Îáñóäèòå êíèãó íà íàó÷íîì ôîðóìå
Íàøëè îïå÷àòêó? Âûäåëèòå åå ìûøêîé è íàæìèòå Ctrl+Enter
Íàçâàíèå: Concepts of programming languages
Àâòîð: Sebesta R.W.
Àííîòàöèÿ: The fifth edition of Concepts of Programming Languages by Robert Sebesta continues the approach that has made it the undisputed market leader. It describes fundamental concepts of programming languages by presenting design issues of the various language constructs, examining the design choices for these constructs in a few common languages, and critically comparing the design alternatives. This book allows those with the ability to program to learn how to choose appropriate languages for certain tasks, increase their abilities to learn new languages, and understand the significance of implementation. It illustrates various language constructs and design alternatives through Java, JavaScript, C++, C, Ada, and Fortran, and intertwines discussions of object-oriented programming material with the discussions of the non-OO imperative languages. It also provides extensive material on semantics. This new edition is updated to include a new chapter covering parsing, new material on JavaScript, and updated material on Java 1.3. This book is suitable for programmers who want to get into the theory behind programming-language development and utilization.
ßçûê:
Ðóáðèêà: Computer science /ßçûêè ïðîãðàììèðîâàíèÿ /
Ñòàòóñ ïðåäìåòíîãî óêàçàòåëÿ: Ãîòîâ óêàçàòåëü ñ íîìåðàìè ñòðàíèö
ed2k: ed2k stats
Èçäàíèå: 5th edition
Ãîä èçäàíèÿ: 2001
Êîëè÷åñòâî ñòðàíèö: 698
Äîáàâëåíà â êàòàëîã: 22.11.2005
Îïåðàöèè: Ïîëîæèòü íà ïîëêó |
Ñêîïèðîâàòü ññûëêó äëÿ ôîðóìà | Ñêîïèðîâàòü ID
Ïðåäìåòíûé óêàçàòåëü
Exclusivity of objects 463—464
Execution of exception handlers 561—564
Expert Systems 659
Explicit declarations 187
Explicit heap-dynamic variables 192—193
explicit type conversions 295
export clause 504
Expressions, arithmetic 283—291
expressions, assignment statements 303—304
expressions, Boolean 296—298 331
Expressions, case selector 230
expressions, conditional 620
Expressions, conditional expression 289
Expressions, denotational semantics 145—146
Expressions, errors 295—296
Expressions, functional side effects 387
Expressions, lambda 594
Expressions, mixed-mode 293
expressions, regular 157
Expressions, relational 296
Expressions, short-circuit evaluation 298—300
Expressions, Smalltalk 469—472
Expressions, type conversions 293—296
Expressivity 16—17
Extended accept clauses 539
Extended BNF 120—121
extern statement 390
external declarations 389—390
Fact statements 639—640
Farber, D.J. 73
Fatbars 339
Features, Eiffel 503
Fetch-execute cycle 29
FGCS (Fifth Generation Computing Systems) 638
Fields, record references 249—250
Fifth Generation Computing Systems (FGCS) 638
finally clause 584—585
Finite automata 156
Finite mappings 234
Fisher, David 86
Fixed stack-dynamic arrays 236
floating-point data types 222—223 437
FLOW-MATIC 62
FLPL (FORTRAN List Processing Language) 50
For construct 336
for statement 80
for statement, Ada 329—330
for statement, ALGOL 60 327—329
for statement, C language 330—332
for statement, C++ language 330—332
for statement, Java 330—332
for statement, loop variables 230
for statement, Pascal 329
Form and meaning 14—15
Formal parameters 352 (see also “Parameters”)
Forms, clausal 633—634
Forms, functional 594—595
Forms, label 338—339
Forms, names 181—182
Forms, sentential 112
FORTRAN 44—45
FORTRAN 0 45
Fortran 77 47—48
FORTRAN 77, arrays 13
FORTRAN 77, parameter-passing methods 365—366
FORTRAN 77, subprograms 401—403
Fortran 90 3 47—48
FORTRAN 90, case statements 322
FORTRAN 90, DO statement 326—327
FORTRAN 90, pointer types 267
FORTRAN 90, single-way selectors 314
FORTRAN I 45—46
FORTRAN II 46—47
FORTRAN IV 47—48 313
FORTRAN List Processing Language (FLPL) 50
Fortran, arrays 235
Fortran, common blocks 389
Forward chaining 643
frames 483
Free unions 253
friend 491
Fully attributed trees 125
Fully qualified references 250
Functional forms 594—595 613—614
Functional programming languages 591—593 (see also “Programming languages”)
Functional programming languages, applications of 623—624
Functional programming languages, COMMON LISP 616—618
Functional programming languages, comparing to imperative languages 624—625
Functional programming languages, fundamentals of 595—595
Functional programming languages, Haskell 619—623
Functional programming languages, LISP 597 (see also “LISP”)
Functional programming languages, ML 618—619
Functional programming languages, Scheme 600—616
Functional side effects 289
Functions for constructing functions (Scheme) 604—605
Functions, apply-to-all 595
Functions, attributes 124
Functions, composition 594
functions, constructor 446
functions, design 387—388
Functions, draw 493
Functions, EVAL 599
Functions, generic subprograms 383—385
functions, iterators 336
functions, mathematical 593—595
Functions, member 446
Functions, predicate (Scheme) 605—607
Functions, primitive (Scheme) 600—604
Functions, pure virtual 494
Functions, Scheme 609—613
Functions, subprograms 354—355
Functions, types of returned values 358
functors 631
GAMM (Society for Applied Mathematics and Mechanics) 55
Garbage, collection 272
Garbage, variables 263
Genealogy of programming languages 39
Generate and test, Prolog 654
Generation 108
Generators 108—109 621
Generic subprograms, Ada 381—383
Generic subprograms, C++ 383—385
Glennie, Alick E. 44
Global variables 364 388
Goal statements 641—642
goals 636
Goldberg, Adele 457
Gosling, James 98 219
Goto statements 48
GPSS 8
Grammars, ambiguity 114—115
Grammars, associativity of operators 117—119
Grammars, attribute see “Attribute grammars”
Grammars, Backus — Naur form 109—110
Grammars, bottom-up parsers 167—174
Grammars, derivations 111—113
Grammars, describing lists 111
Grammars, fundamentals 110—111
Grammars, LL grammar class 165—167
Grammars, operator precedence 115—117
Grammars, parse trees 113—115
Grammars, recognizers 122—123
Grammars, regular 157
Graphics, Smalltalk 482—485
Griswold, R.E. 73—74
Guarded commands 339—341
guards 524
guide 69
Hansen Brinch, Per 529
hashes 247
Haskell 55 619—623
Headers, subprograms 351
Heap management 260 271—275
Heap-dynamic arrays 236
High-Order Language Working Group (HOLWG) 86
High-performance FORTRAN 552—553
Historical background, Ada 86
Historical background, C language 80—81
Historical background, COBOL 61—62
Historical background, multiple selection constructs 317—319
Historical background, Pascal 77—78
Historical background, PL/I 69—70
History sensitive subprograms 191
Hoare, C.A.R. 77 319
HOLWG (High-Order Language Working Group) 86
Hopper, Grace 43 62 105
Horn clauses 636
Hybrid implementation systems 31
Hypotheses 636
IAL (International Algorithmic Language) 56
IBM 704 44—45
Identifier forms 14
IEEE Floating-Point Standard 754 format 223
IFIP (International Federation of Information Processing) 77
IFIP (International Federation of Information Processing), if statement 48 106 119—120 313
Imperative features of Scheme 615—616
Imperative programming languages 20—22 180
Imperative programming languages, comparing to functional languages 624—625
implementation 4
Implementation, ALGOL-like subprograms 403—421
Implementation, array types 242—246
Implementation, associative arrays 248
Implementation, compilation 27—30
Implementation, FOTRAN 77 subprograms 401—403
Implementation, hybrid systems 31
Implementation, inheritance 233
Implementation, methods 25—26
Implementation, nonlocal references 409—421
Implementation, object-oriented constructs 508—509
Implementation, parameter-passing methods 359—364 367—370
Implementation, parameters as subprogram names 426—428
Implementation, pointer types 269—275
Implementation, pure interpretation 30
Implementation, records 252
Implementation, set types 260
Implementation, SNOBOL 426
Implementation, strings 228—230
Implementation, union types 257
Implementation, user-defined ordinal types 233
implicit declarations 187
Implicit heap-dynamic variables 193
Implicit type conversion see “Coercion”
IN operators 259
in/in out mode parameters 369
Inactive pointers 419
Independent compilation 386
Indexes 234—235
Inference, elements of Prolog 642—645
Inference, rules 634
Infinite loops 334—336
Information hiding, Ada abstraction 442—443
Information hiding, C++ abstraction 446—447
Information hiding, SIMULA 67 abstraction 441
Information Processing Language I (IPL-I) 50
inherit clause 503
Inheritance, Ada 95 object-oriented programming 499—500
Inheritance, C++ object-oriented programming 489—493
Inheritance, Eiffel object-oriented programming 503—504
Inheritance, implementation inheritance 464—465
Inheritance, Java object-oriented programming 496—497
inheritance, multiple inheritance 461 466—467
Inheritance, object-oriented programming 459—461
inheritance, single inheritance 461 466—467
Inheritance, Smalltalk 487
Inherited attributes 124
init statement 530
Initial values 324
Initialization, arrays 238—239
Initialization, variables 211
Instances, activation record 402
Instances, CIR (class instance record) 508
Instances, data storage 508—509
instances, methods 461
Instantiation 635 639
int coercions 99
int type 193
Integer type 184—186
Integers 222
Interfaces, CDE (Common Desktop Environment) 32
Interfaces, CGI (Common Gateway Interface) 8
Interfaces, inheritance 464—465
Interfaces, message 460
Interfaces, virtual computers 26
International Algorithmic Language (IAL) 56
International Federation of Information Processing (IFIP) 77
Interpreters, LISP 598—600
Intrinsic attributes 125
Intrinsic limitations of Prolog 657
Invariants, loops 137
IPL-I (Information Processing Language I) 50
Ironman document 87
Is operator 645
is-a relationship 464
Iteration, count 326
Iteration, Smalltalk 475—477
Iterative statements for statement 327—332
Iterative statements, counter-controlled loops 324—332
Iterative statements, data structures 336—337
Iterative statements, design 325
Iterative statements, DO statement (FORTRAN 90) 326—327
Iterative statements, logically controlled loops 332—334
Iterative statements, user-located loop control mechanisms 334—336
iterators 336
Iverson, Kenneth E. 73
Java 3
Java for statement 330—332
Java Virtual Machine 31
Java, abstract data types 449—450
Java, checked exceptions 582
Java, competition synchronization 547—548
Java, cooperation synchronization 548—551
Java, design 97
Java, evaluation 99—101 551
Java, exception handling 17—18 579—585
Java, finally 584—585
Java, language overview 98—99
Java, object-oriented programming support 496—498
Java, parameter-passing methods 365—366
Java, priorities 547
Java, Thread class 546—547
Java, unchecked exceptions 582
JavaScript 8 505—508
JOVIAL (Jules’ Own Version of the International Algebraic Language) 57
Kay, Alan 91
Kemeny, John 66 399
Kernighan, Brian 7
Keys 246
keyword parameters 353 (see also “Parameters”)
Knuth, Donald 338
Kowalski, Robert 629
Krc 55
ksh language 7
Kurtz, Thomas 66
Label forms 338—339
Lambda expressions 594
Languages see “Programming languages”
Laning and Zierler system 44
Lazy approaches 272
Lazy evaluation 619
LCF (Logic for Computable Functions) 54
Ðåêëàìà