Concepts of Programming Languages

(Sean Pound) #1

790 Index


Readers, 701
read-evaluate-print loops (REPLs),
681
readonly constants, 233–234
Ready tasks, 583
Real types, 703
Recognition, 116
Record types
definition of records in,
277–278
evaluation of, 279
implementation of, 279–280
introduction to, 276–277
references to fields in, 278–279
Rectangular arrays, 267–268
Recursion, 449–453
Recursive rules, 119
Recursive-descent parsers
LL grammar class in,
187–190
overview of, 181–187
as pushdown automatons,
193
ref type, F#, 620
Reference counters, 299
Reference parameters, 406
Reference types
dangling pointers and,
297–298
heap management and,
298–302
implementation of, 297
introduction to, 289–290
overview of, 295–297
representations of, 297
Referencing environments,
230–232
Referential transparency,
327–328, 676–677
Refutation complete, 733
Regular expressions, 252
Regular grammars, 117
Regular languages, 171
Relational data types, 332–333


Relational database management
systems (RDBMSs), 757
Relational expressions, 332–333
Relational operators, 332–335
Reliability, 15
Rendezvous, 594–597
repeat, 19
REPLs (read-evaluate-print loops),
681
Report Program Generator (RPG),
22
Reserved words, 206–207
reset, 373
Resolution
arithmetic computation for,
743–746
closed-world assumption in,
754
defined, 732
list structures for, 746–751
order control, 751–753
in Prolog, 740–743, 751–753
Resumes, 433–434
Resumption, 634
Returned values, 429
Returns, 442
reverse functions, 364, 750
Richards, Martin, 77
Right recursive grammar rules,
128
Right-hand side (RHS)
in bottom-up parsers, 180, 191
in denotational semantics,
143–144
derivations and, 121
in Extended BNF, 130–132
fundamentals of, 118–123
grammar rules for, 128
in LL parsers, 187–190
in LR parsing, 195
in recursive-descent parsers,
182–184
in top-down parsers, 179
Ritchie, Dennis, 77–78, 91, 376

Romanovsky, Alexander, 643
van Rossum, Guido, 99
Roussel, Phillippe, 79, 736
Row major order, 270
RPG (Report Program
Generator), 22
Ruby
abstract data types in,
499–503
arithmetic expressions in, 324
dynamic binding in, 565
evolution of, 67, 100
inheritance in, 565
modules in, 516–517
object-oriented programming
in, 563–565
Rule of consequence, 152
Rules, 118–119, 739–740
run methods, 603–604
Running tasks, 584
Run-time stacks, 447
Russell, Stephen B., 680
R-value, 209

S
Sandén, Bo, 643
Satisfying subgoals, 740
Scalable algorithms, 577
Schedulers, 583
Scheme
apply-to-all functional forms
in, 697–698
code-building functions in,
698–699
control flow in, 685–686
defining functions in,
682–684
example of, 691–694
functional compositions in,
697
functional forms in, 696–698
as functional language, 681
interpreter in, 681
LET, 694–695
Free download pdf