Àâòîðèçàöèÿ
Ïîèñê ïî óêàçàòåëÿì
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
Ïðåäìåòíûé óêàçàòåëü
Leakage, memory 264
Left factoring 166
Left recursive rules 118
Leftmost derivations 112
Length options, strings 228
Level numbers 249
Lexemes 107 155
Lexical analysis 155—159
Lifetimes, binding 190—193
Lifetimes, scope 207
Limited dynamic length strings 228
Limited private types 443
Linkage, subprogram 400
Linkers 385 402
links 29
Links, dynamic 404
Links, static 404
Lisp 6 12
LISP, AI (artificial intelligence) 49—50
LISP, data structures 51—52 597—598
LISP, data types 597—598
LISP, design 50—51
LISP, evaluation 53
LISP, functional programming 52
LISP, interpreters 598—600
LISP, single-sized cells 271
Lisp, syntax 52—53
LISTS 49—55 (see also “LISP”)
Lists, comprehensions 620
Lists, describing 111
Lists, for 327
Lists, structures 648—652
Literals, Smalltalk 469
liveness 522
LL grammar class 165—167
Load module 29
loaders 402
Loading programs 29
Local referencing environments 357—358
local variables 357
Local_offset 407
Logic for Computable Functions (LCF) 54
Logic programming languages 629—630
Logic programming languages, applications 658—660
Logic programming languages, predicate calculus 630—636
Logic programming languages, Prolog 638 (see also “Prolog”)
Logic programming languages, semantics 636—638
Logical concurrency 518
Logical pretest loops 136—142 146
Logical Theorist 50
Logically controlled loops 332—334
LOGO 91
LOGO-style graphics, Smalltalk 482—485
Loop invariants 137—139
LOOPHOLE 195
Loops, counter-controlled 324—332
Loops, denotational semantics 146
Loops, logical pretest 136—142
Loops, logically controlled 332—334
Loops, user-located loop control mechanisms 334—336
Lost heap-dynamic variables 263
Lovelace, Augusta Ada 87
LR parsers 170—174
MAD language 57
Maintenance costs 18—20
Management, heap 271—275
Manifest constants 211
Mapping, finite mappings 234
Mapping, functions as 593
Marking algorithm 273
markup languages 24
Master units 392
Matching patterns, lexical analysis 155—159
MATH-MATIC 55
Mathematical functions 593—595
Mauchly, John 42
McCarthy, John 50 591
McCracken, Daniel 24
member functions 446
memory, bottlenecks 29
Memory, cells 190
Memory, leakage 264
Message expressions 470—472
Message passing 533—534
Message passing, Ada 83 534—539
Message passing, binary semaphores 542—543
Message passing, competition synchronization 540—541
Message passing, cooperation synchronization 539—540
Message passing, evaluation 543
Message passing, priorities 542
Message passing, synchronous message passing 534
Message passing, task termination 542
Message protocol 480
Messages 460 545—546
MetaLanguage (ML) 54 77 618—619
methodologies 22—23
METHODS 460
Methods, overriden 460
Methods, Smalltalk 472—473 478—480
Methods, syntax 109—123
methods, virtual 462
Methods, VMT (virtual method table) 509
Meyer, Bertrand 97
Milner, Robin 54
MIMD (Multiple-Instruction Multiple-Data) 518
Minsky, Marvin 51
Miranda 55
Mixed-mode, assignments statements 304—305
Mixed-mode, expressions 293
ML (MetaLanguage) 54 77 618—619
Modification, displays 416—421
Modification, objects (JavaScript) 506—508
Modula, concurrency 529
Modula-2 82—83
Modula-3 83
modularization 435
Modules 389—390 435
Monitors 528—529
Monitors, competition synchronization 530
Monitors, cooperation synchronization 530—533
Monitors, evaluation 533
multi-dimensional arrays 246 370—373
multiple inheritance 461 466—467
Multiple selection constructs 316—317
Multiple selection constructs, case constructs 319—323
Multiple selection constructs, design 317
Multiple selection constructs, historical background 317—319
Multiple targets 301
Multiple-Instruction Multiple-Data (MIMD) 518
Multiprocessor architecture, concurrency 517—518
named constants 209—211
Names, special words 182—183
Names, type compatibility 196—199
names, variables 181—183 184
narrowing conversions 293
Natural language processing 659—660
Naur, Peter 309
Negation, Prolog 655—657
Neliac 57
Nested list structures 51 (see also “LISP”)
Nesting selectors 314—315
Nesting_depth 412
new operators 193 446
Newell, Allen 50
Nonlocal environments, subprograms 388—390
Nonlocal references, implementing 409—421
Nonlocal references, subprogram linkage without 405—408
Nonlocal variables 199
Nonterminal symbols 110
numeric data types 222—224
Nygaard, Kristen 74
Oberon 83
Object-oriented constructs, implementing 508—509
Object-Oriented Programming 22—23 457—458
Object-oriented programming, Ada 95 support 498—502
Object-oriented programming, C++ support 488—496
Object-oriented programming, computing with 462—463
object-oriented programming, design 463—467
Object-oriented programming, Eiffel support 502—505
object-oriented programming, inheritance 459—461
Object-oriented programming, Java support 496—498
Object-oriented programming, JavaScript 505—508
object-oriented programming, polymorphism 461—462
Object-oriented programming, Smalltalk 468 (see also “Smalltalk”)
Objects 436 460
Objects, allocation 467
Objects, deallocation 467
Objects, exclusivity of 463—464
objects, JavaScript 506—508
Operand evaluation order 289—291
Operational semantics 129—131
Operations, AND 260
Operations, arrays 239—241
Operations, associative arrays 247
Operations, pointer types 261—262
Operations, records 251
Operations, strings 225—227
Operators, associativity of 117—119
Operators, C++ 96
operators, compound assignment 301—302
Operators, delete 193 247 446
operators, exists 247
operators, IN 259
operators, new 193 446
operators, overloading 291—293
operators, precedence 115—117
operators, relational 296
operators, ternary 283
Operators, unary assignment 302—303
Operators, user-defined overloaded 390—391
Optimization 27
Ordinal type 230
Orthogonality, ALGOL 68 75—77
Orthogonality, readability 10—12
Orthogonality, writability 15—16
others clause 239
Ousterhout, John 7
Out mode 359
Overloading, literals 230
overloading, operators 291—293
Overloading, subprograms 389—391
overridden methods 460
Package scope 449 498
Pairwise disjointness test 165
Papert, Seymour 91
Parameter-passing methods 365—366
Parameter-passing methods, design 373
Parameter-passing methods, implementation 367—370
Parameter-passing methods, subprograms 358—377
Parameterized abstract data types 450—453
Parameters as multidimensional arrays 370—373
Parameters, implementation as subprogram names 426—428
Parameters, loops 325
Parameters, profiles 352
Parameters, subprograms 352—354
Parameters, type checking 366—367
parent classes 460
parentheses, expressions 288
Parse trees 27 113—115
Parsing 159
Parsing, algorithms 161—162
Parsing, bottom-up parsers 161 167—174
Parsing, LL grammar class 165—167
Parsing, recursive-descent 162—167
Parsing, top-down parsers 160—161
Partial correctness 140
Pascal 77—82
Pascal for statement 329
Pascal, case constructs 320
Pascal, concurrency 529
Pascal, pointer types 264
Pascal, set types 258—259
Pascal, union types 253—255
Pass-by-name 363—364
pass-by-reference 361—363
Pass-by-result 360—361
pass-by-value 359—360
Pass-by-value-result 361
Patterns, lexical analysis 155—159
Perl language 7
Phrases, bottom-up parsers 168
Physical concurrency 518
PL/C 71
PL/I 68—69
PL/I, design 70
PL/I, exception handling 564—569
PL/I, historical background 69—70
PL/I, language overview 70—71
PL/I, semantics 131
Plankalkiil 38—41
Pointer types 260—261
Pointer types, Ada 264—265
Pointer types, C/C++ language 265—267
Pointer types, dereferencing 262
Pointer types, design issues 260—261
Pointer types, FORTRAN 90 267
Pointer types, implementation 269—275
Pointer types, operations 261—262
Pointer types, Pascal 264
Pointer types, references 267—268
Pointers, inactive 419
Pointers, static scope 404
Polensky, F.P. 74
Polymorphism 461—462
Polymorphism, Smalltalk 485—487
Polymorphism, type checking 465
positional parameters 353 (see also “Parameters”)
Posttesting loops 324
pragma priority 542
precedence, expressions 284—285
precedence, operators 115—117
Predicate calculus 630—636
Predicate functions 124 605—607
Pretesting loops 324
primitive data types 221—225
Primitive functions, Scheme 600—604
Priorities, Java 547
Priorities, pragma 542
Priorities, private clause 446
Private types 443
Procedures, subprograms 354—355
Process abstraction 434
Processors, multiprocessor architecture 517—518
Processors, vector 518
Producer-consumer problems 520
productions 110
Profiles, parameters 352
Programming domains 5—8
Programming languages see “Imperative languages” “Object-oriented
Programming languages, abstraction support 440—450
Programming languages, AI (artificial intelligence) 7—8
Programming languages, benefits of study 2—5
Programming languages, business applications 6
Programming languages, categories 23—24
Programming languages, design trade-offs 24—25
Programming languages, environments 31—32
Programming languages, evaluation criteria see “Evaluation criteria”
Programming languages, genealogy of 39
Programming languages, generators 108—109
Programming languages, parsing see “Parsing”
Ðåêëàìà