Concepts of Programming Languages

(Sean Pound) #1

786 Index


Multiple assignment statements,
340
Multiple inheritance, 527, 531–532
Multiple-Instruction Multiple-
Data (MIMD) computers,
578
Multiple-selection statements
design issues for, 354–355
examples of, 355–358
implementation of, 358–359
using if, 360–362
Multiprocessors, 577–579
Multithreaded programs, 579–580


N
Name type equivalence, 305
Named constants, 232–234
Names
design issues for, 205
in encapsulation constructs,
513–517
form of, 205–206
introduction to, 204–205
keywords, 206
reserved words and, 206–207
special words, 206–207
summary of, 234–235
of variables, 208
variables vs., 207–209
Narrowing type conversions, 329
National Physical Laboratory, 69
Natural operational semantics, 140
Naur, Peter, 55–56, 117
NCC (Norwegian Computing
Center), 72
Negation problem, Prolog,
754–756
Nested classes
in C#, 558
in Java, 555–556
in object-oriented
programming, 533
Nested list structures, 49
Nested subprograms, 397–399,
454–460


Nesting classes, 533
Nesting selectors, 351–354
nesting_depth, 455
.NET languages
assemblies in, 512–513
computing platform for, 89
evolution of, 101
F# as, 712
introduction to, 22
JIT systems in, 30
JScript.NET as, 97
Microsoft Visual Studio .NET
as, 31
programming environments
of, 31
NetBeans, 31
Netscape, 97
von Neumann, John, 18
von Neumann architecture
in imperative programming
languages, 204
introduction to, 18–19
in LR parsing, 195
von Neumann bottlenecks, 27
new
in allocation of objects, 532
in C#, 498, 557
in C++, 486
data types, 263
in heap management, 298
in Java, 552
in Ruby, 564
New Programming Language
(NPL), 69
Newell, Allen, 47
NeXT, 90
next iterators, 373
Nil values, 49, 289
Nonblocking synchronization, 612
Nonconverting cast conversions,
304
nonlocal, 227
Nonstrict programming languages,
710
Nonterminal symbols, 118, 122

Norwegian Computing Center
(NCC), 72
NOT operators, 333–334
not operators, 755–756
NPL (New Programming
Language), 69
NULL, 691–692
Numeric data types, 246–249
Numeric predicate functions, 685
Nygaard, Kristen, 72–73

O
Object slicing, 532–533
Objective-C
abstract data types in,
490–496
C++ and, 90
dynamic binding in, 551–552
encapsulation constructs in,
490–492
information hiding in, 492–493
object-oriented programming
in, 549–552
Object-oriented constructs, 566–568
Object-oriented languages
allocation of objects in,
532–533
deallocation of objects in,
532–533
design issues for, 529–534
dynamic binding in, 533
exclusivity of objects in,
529–530
initialization of objects in,
533–534
multiple inheritance in,
531–532
nested classes in, 533
single inheritance in, 531–532
subclasses vs. subtypes in,
530–531
Object-oriented programming
in Ada, 558–563
binding method calls to
methods in, 566–568
Free download pdf