Concepts of Programming Languages

(Sean Pound) #1
Index 775

evaluation of, 269
formal parameters, 394
implementation of, 269–272
indices and, 260–262
introduction to, 259–260
jagged arrays in, 267–268
rectangular arrays in,
267–268
slices in, 268–269
subscript bindings in,
262–264
Artificial intelligence (AI). see AI
(artificial intelligence)
ASCII (American Standard Code
for Information Interchange),
249
Assemblies, .NET, 512
Assertions
in axiomatic semantics,
148–149
in Java, 653–654
Assignment statements
in axiomatic semantics,
150–152
compound assignment
operators in, 337
conditional targets and, 337
in denotational semantics, 146
as expressions, 339–340
in functional programming
languages, 340–341
introduction to, 318
mixed-mode, 341
multiple, 340
problem set on, 343–345
programming exercises on,
345–346
review questions on, 342–343
simple, 336–337
summary of, 341–342
syntax of, 118, 121–122, 127
unary assignment data types
in, 338–339
Association for Computing
Machinery (ACM), 53


Associative arrays
implementation of, 276
introduction to, 272
structure and operations of,
272–276
Associativity, 126–128,
321–323
Atomic propositions, 729
Atoms, Prolog, 737
Attribute computation functions,
133
Attribute grammars
basic concepts of, 133–134
computing attribute values in,
137–138
defined, 134
evaluation of, 138–139
examples of, 135–136
intrinsic attributes in, 134–135
introduction to, 132–133
static semantics and, 133
Attributes
binding, 209–210
defined, 133
instance data as, 501
intrinsic, 134–135
Automatic generalization, 427
Automatic programming, 41
Automatically Programmed Tools
(APT), 22
awk scripting language, 95
Axiomatic semantics
assertions in, 148–149
assignment statements in,
150–152
evaluation of, 160–161
introduction to, 148
logical pretest loops in,
154–158
program proofs in, 158–160
selection in, 153–154
sequences in, 152–153
weakest preconditions in,
149–150
Axioms, 149

B
B, language, 77
Babbage, Charles, 82, 388
Backtracking, 742
Backus, John
Fortran by, 20, 41–43
on functional vs. imperative
languages, 672–673
on syntax, 117
Backus-Naur Form (BNF). see
BNF (Backus-Naur Form)
Backward chaining, 741–742
base prefix, 557
BASIC
design process for, 63–64
evaluation of, 64–65
introduction to, 18
timesharing in, generally, 63
BASIC-PLUS, 64
Bauer, Fritz, 53
BCD (binary coded decimal), 248
Bell Laboratories. see AT&T Bell
Laboratories
BINAC computer, 40
binary coded decimal (BCD), 248
Binary operators, 319
Binary semaphors, 589
Binding
ad hoc, 418–419
attributes to variables,
209–210
deep, 418–419
dynamic. see Dynamic binding
dynamic type, 212–214
exceptions to handlers, Ada,
637–638
exceptions to handlers, C++,
644
exceptions to handlers, Java,
648–649
explicit heap-dynamic variables
in, 216–218
implicit heap-dynamic
variables in, 218
introduction to, 204
Free download pdf