Concepts of Programming Languages

(Sean Pound) #1

776 Index


Binding (continued)
lifetime of, 214–215
overview of, 209–210
shallow, 418–419
stack-dynamic variables in,
215–216
static type, 211–212
static variables in, 215
storage, 214–215
subscript, 262–264
type, 210–214
Binding time, 209
BLISS, 6
Blocked tasks, 584
Blocks
in Ruby, 374
for scope, 220–223
in subprograms, implementing,
460–462
Block-structured language,
56, 220
BNF (Backus-Naur Form)
analyzing syntax in, 169
describing lists in, 119
expressions in, 145
Extended, 129–132
fundamentals of, 118–119
if-then-else statements
in, 128–129
introduction to, 55–57
static semantics in, 133
syntax and, 117–118
Body packages, 482–484
Böhm, Corrado, 350, 379
Boolean abstract data types,
497–498
Boolean data types, 249
Boolean expressions, 332–335, 340
boolean type variables, 92, 255,
612
Borland JBuilder, 31
Bottom-up parsers
introduction to, 180
LR parsers and, 193–197
problem for, 190–192


shift-reduce algorithms for,
192–193
Bottom-up resolution, 741
Bound variables, 682–683
Bounded wildcard types, 426
Bounds, 425–426
Boxing, 552
Breadth-first searches, 742
break statements
guarded commands and, 379
multiple-selection statements
and, 355–358
in user-located loop control
mechanisms, 370–371
Brinch Hansen, Per, 590–591,
593–594
Business applications, 5–6
Business record computerization.
see COBOL
Byron, Augusta Ada, 82
Byte code, 30
byte operands, 320, 331

C
C
abstraction support in, 14
compiler implementation in, 25
encapsulation constructs in,
510–511
evaluation of, 78–79
expressivity in, 15
historical background of, 77–78
language categories in, 22
orthogonality in, 11
pointer types in, 294–295
popularity of, 3
portable system of, generally, 77
preprocessors in, 30
systems software in, 6–7
type checking in, 15
writability of, 13
C#
2005 version of, 509
abstract data types in,
497–499, 509

assemblies in, 512–513
concurrency in, 21
design process for, 101–102
dynamic binding in, 557–558
encapsulation constructs in,
498
evaluation of, 103–104
event handling in, 661–664
information hiding in, 498–499
inheritance in, 557
language overview of, 102–103
nested classes in, 558
as .NET language, 101
object-oriented programming
in, 556–558
overview of, 101–104
threads in, 613–618
C++
abstract data types in,
485–490, 505–506
abstraction support in, 14
compiler implementation
in, 25
constructors in, 487
continuation in, 644–645
design process for, 88–89
destructors in, 487
dynamic binding in, 544–547
encapsulation constructs in,
486, 511–512
evaluation of, 89
exception handling in, 16,
643–647
imperative features in,
generally, 88
information hiding in, 486
inheritance in, 539–544
language overview of, 89
namespaces in, 514–515
object-oriented programming
in, 88, 538–539,
547–549
orthogonality in, 11–12
pointer types in, 294–295
popularity of, 3
Free download pdf