Concepts of Programming Languages

(Sean Pound) #1

774 Index


Activation records, 444–445
Active subprograms
characteristics of, 389
in referencing environments,
231
stack-dynamic local variables
and, 448
Actor tasks, 596
Actual parameters, 392
Ad hoc binding, 418–419
Ad hoc polymorphism, 422
Ada
95 version of. see Ada 95
2005 version of, 84–85
abstract data types in,
482–485, 503–504
competition synchronization in,
599–601
compiler implementation in,
25
concurrency in, 21, 594–603
continuation in, 638–639
cooperation synchronization
in, 599
costs of, 17
design process for, 81–82
encapsulation constructs in,
482
evaluation of, 83–84
exception handling in, 16,
636–643
historical background of, 81
information hiding in,
482–483
language overview of, 82–83
packages in, 512, 516
pointer types in, 293
priorities of tasks in, 601–602
protected objects in, 602–603
task termination in, 601
Ada 95
child packages in, 562
dynamic binding in, 561–562
inheritance in, 559–560
introduction to, 84–85


object-oriented programming
in, 21, 558–563
Addresses
fields for, 687
of simple subprograms,
443–445
of stack-dynamic local
variables, 445–449
of variables, 208
Adopting protocols, 551
Aggregate values, 265
Aho, Al, 95
AI (artificial intelligence)
introduction to, 6
LISP in, 47–48, 50
Project at MIT, 680
ALGOL 58
design process for, 53–54
overview of, 54
report on, 55
ALGOL 60
ALGOL 58 vs., 53–55
BNF in, 117–118
design process for, 55–56
evaluation of, 56–58
historical background of, 53
introduction to, 4–5, 52
overview of, 56
ALGOL 68
design process for, 73
evaluation of, 74–75
language overview of, 74
orthogonality in, 11, 73
ALGOL Bulletin, 55
Aliases, 208
Aliasing, 16
Allocation, 214, 532–533
Ambiguous grammars, 122–123
AND operators, 333–336
and then operators, 15, 336
Anonymous variables, 290
ANSI (American National
Standards Institute)
on Ada, 82
on C, 78

Minimal BASIC standard of,
64
Antecedents, 149, 731–732
APES system, 758
APL (A Programming Language)
as dynamic language,
generally, 71
introduction to, 14–15
origins and characteristics of,
71–72
trade-offs in, 23
append operations, 747–750
Apple, 90
Apply-to-all functional forms, 676,
697–698
APT (Automatically Programmed
Tools), 22
Arithmetic expressions
associativity in, 321–323
coercion in, 330–331
conditional, 325
errors in, 332
explicit type conversions and,
331–332
introduction to, 319
in LISP, 324
operand evaluation order in,
319–325
operand evaluation order in,
325–328
operator overloading and,
328–329
parentheses in, 323–324
precedence in, 319–321
in Prolog, 743–746
referential transparency in,
327–328
in Ruby, 324
side effects in, 325–328
type conversions and, 329–332
Array types
array initialization in, 264–265
array operations in, 266–267
categories in, 262–264
design issues for, 260
Free download pdf