111 520 560
, Algorithm, development, bottom up and top down 16
, Algorithm, flowchart representation 12
, Algorithm, multisequence 519
, Algorithm, performed by two or more controllers 519
, Algorithm, specification 4
, Allocation, of a new MC 521
, Allocator 22
, APL language 3
, Argument(s) 56
, Argument(s), parameter matching 63
, Argument(s), parameter matching with protection 79
, Argument(s), postponed evaluation of 101
, Argument(s), regarded as a formula 101
, Argument(s), that are expressions 89
, Artificial intelligence 376
, ASCII character set 583
, B6700-type computer 533
, Backus — Naur Form 184 see
, Basic 3
, Binary tree 162
, Binary tree, traversal 167
, Binomial coefficient 150 256
, Blank character 17 42
, Blank character, symbol "\square" 17
, BNF, notation 206
, BNF, syntax, Algol 206 612—618
, BNF, syntax, Algol, Fortran 316
, BNF, syntax, Algol, Lisp 398 410 411
, BNF, syntax, Algol, Snobol 473
, Call, chain 149
, Call, tree 149
, Call, tree for symbolic differentiation 172
, Case study 3
, Chain, of references 67
, Chess Queen, scope 7
, Chessboard, printing, algorithm 57
, Cobol 3 560 563
, Complexity, managing of programs 77
, Computer model 21
, Computer model, contour 24
, Computer model, control unit 22
, Computer model, environment 23
, Computer model, master computer 22 see
, Computer model, program 22
, Computer model, snapshot 24
, Computer model, storage 24
, type checking 579
560
language 520
3 195 308
, Addressing environment 233
, Block, begin, end pair 202
, Block, body 195
, Block, entry 216
, Block, exit 219
, Block, head 195
, Block, nesting 196
, Block, nesting, static 199
, Block, structure 195 370
, BNF, definitions for terminal symbols 208
, BNF, syntax definitions 206 612—617
, Burroughs () 3 520
, Burroughs () , Asleep state of a task 526
, Burroughs () , Asynchronous task 522
, Burroughs () , Asynchronous task, coordination 523
, Burroughs () , Asynchronous task, example program 525 535
, Burroughs () , Asynchronous task, example program in operating systems 549
, Burroughs () , Asynchronous task, example program, experimental results 534 535—538
, Burroughs () , Asynchronous task, example program, invocation 525
, Burroughs () , Asynchronous task, example program, NIL return pointer for 532
, Burroughs () , Asynchronous task, example program, relative rate of progress 530
, Burroughs () , Asynchronous task, example program, sending a message to a 525
, Burroughs () , Asynchronous task, example program, snapshot sequence for 527—533
, Burroughs () , Asynchronous task, example program, termination 523
, Burroughs () , Awake state of a task 526
, Burroughs () , Buffer storage cell 519
, Burroughs () , call statement for creation of coroutines 543
, Burroughs () , cause procedure 531 533
, Burroughs () , cause procedure, awakening mechanism 531
, Burroughs () , continue command 540 544
, Burroughs () , continue command, specified 544 546
, Burroughs () , continue command, unspecified 545 546
, Burroughs () , Coroutine tasks, communication between 540
, Burroughs () , Coroutine tasks, computation structures 540
, Burroughs () , Coroutine tasks, contour diagrams for 520
, Burroughs () , Coroutine tasks, contour, initiator cell 546
, Burroughs () , Coroutine tasks, control structure 547
, Burroughs () , Coroutine tasks, control structure as a state transition graph 548
, Burroughs () , Coroutine tasks, Eight Queens problem solved using 555 556 558 559
, Burroughs () , Coroutine tasks, environments, snapshots for 546 547
, Burroughs () , Coroutine tasks, environments, snapshots for outer block supervisor 546
, Burroughs () , Coroutine tasks, execution by taking turns 540
, Burroughs () , Coroutine tasks, model of resource sharing 540
, Burroughs () , Coroutine tasks, reader and writer 548
, Burroughs () , Coroutine tasks, retained environments for 540
, Burroughs () , Coroutine tasks, structure 542
, Burroughs () , Coroutine tasks, water sharing case study 541
, Burroughs () , event, parameter 526
, Burroughs () , event, type 526
, Burroughs () , event, variable 526
, Burroughs () , event, variable, dummy 527
, Burroughs () , event, variable, happened and not happened values of 526
, Burroughs () , event, variable, initial value of 526
, Burroughs () , Literature 557
, Burroughs () , Mailbox 548
, Burroughs () , Process keyword 526
, Burroughs () , Producer and consumer algorithm 519
, Burroughs () , Producer and consumer algorithm, coroutine solution 548
, Burroughs () , Producer and consumer algorithm, coroutine solution, flowcharts and legend 550 551
, Burroughs () , Producer and consumer algorithm, coroutine solution, program 552
, Burroughs () , Programs 525 535 545 552
, Burroughs () , task, array 556
, Burroughs () , task, state 526
, Burroughs () , task, type 526
, Burroughs () , task, variable 526
, Burroughs () , task, variable, value of a 526
, Burroughs () , wait and cause, library routines 526
, Burroughs () , wait and cause, mechanism for sending and receiving messages 526
, Burroughs () , wait and cause, task synchronization procedures 533
, Burroughs () , wait procedure 526 533
, Burroughs () , Waiting, for an event to occur 523
, Burroughs () , Water-sharing problem, illustration of coroutines 541
, Burroughs () , Water-sharing problem, illustration of coroutines, program 545
, Burroughs () , Water-sharing problem, illustration of coroutines, snapshot 547 650
, Case studies 226
, Case studies, case 1, squeezing zeros out of a list 227
, Case studies, case 1, squeezing zeros out of a list, flowcharts and legends 228
, Case studies, case 1, squeezing zeros out of a list, program 230 231
, Case studies, case 1, squeezing zeros out of a list, snapshot sequence 230—236
, Case studies, case 2, finding even values in a list 235
, Case studies, case 2, finding even values in a list, flowcharts and legends 236
, Case studies, case 2, finding even values in a list, program 237
, Case studies, case 2, finding even values in a list, snapshot sequence 239—245
, Case studies, case 3, factorial 249
, Case studies, case 3, factorial, flowcharts and legends 250
, Case studies, case 3, factorial, program 250
, Case studies, case 3, factorial, snapshot sequence 249—256
, Case studies, case 4, binomial coefficient 256
, Case studies, case 4, binomial coefficient, call tree 258
, Case studies, case 4, binomial coefficient, flowcharts and legends 257
, Case studies, case 4, binomial coefficient, programs 257 265
, Case studies, case 4, binomial coefficient, snapshot sequences 258—265 267—272
, Case studies, case 5, name parameter (as a marching rule) 276
, Case studies, case 5, name parameter (as a marching rule), flowcharts and legends 277
, Case studies, case 5, name parameter (as a marching rule), program 278
, Case studies, case 5, name parameter (as a marching rule), snapshot sequence 278—286
, Case studies, case 6, procedure parameter (as a marching rule) 288
, Case studies, case 6, procedure parameter (as a marching rule), flowcharts and legends 289
, Case studies, case 6, procedure parameter (as a marching rule), program 290
| , Case studies, case 6, procedure parameter (as a marching rule), snapshot sequence 291—295
, Comments 209
, Comparison with Fortran 370
, Compound statement 200 373
, Declarations 195 208
, Declarations for sharing of globals 213
, Declarations, function procedure 214 215
, Declarations, procedure 213
, Declarations, syntax 206 208—215 612—618
, Declarations, type 212
, Dynamic, declaration of arrays 370
, Dynamic, storage allocation 227 370
, Exercises, block structure and recursion 296—303
, Exercises, factorial 256
, Exercises, normalize a list 245—248
, Exercises, tree traversal 304 305
, Input/output 373
, List cell 232 239
, List cell, pointer 232 239
, Name parameter 224
, own identifier 305 311
, own identifier, problems with own arrays 307
, own identifier, relationship with block structure 306
, Parameters 202
, Parameters, analogous legend entries 202
, Parameters, formal 233
, Parameters, name matched to expressions 272
, Parameters, procedure 288
, Parameters, procedure, dummy name 291
, Parameters, simple 202
, Parameters, specifiers 202
, Procedure Boolean 238
, Procedure, declaration 199
, Procedure, definition 202
, Procedure, entry 221
, Procedure, heading 202
, Procedure, heading, specification part 202
, Procedure, heading, value part 202
, Procedure, return 223
, Processing of nonnumeric data 375
, Program 196
, Program, schematic 202 204
, Program, scoping lines 202
, Program, tree structure 196 205 221
, Program, tree structure, depth 200
, Return value cell (retval) 240
, Scoping lines 202
, Semantics, block, entry 216
, Semantics, block, exit 219
, Semantics, contour, creation 218
, Semantics, contour, deallocation 219
, Semantics, contour, diagram of environments 218
, Semantics, for-loop counter value after normal exit 232
, Semantics, for-while 282 283
, Semantics, name parameters 224
, Semantics, name parameters, cell structure for 225 226
, Semantics, name parameters, contour diagram 226
, Semantics, nested environments 217
, Semantics, precedence of locals over globals 217
, Semantics, Procedure, declaration 220
, Semantics, Procedure, declaration, entry 221
, Semantics, Procedure, declaration, entry, snapshots 222
, Semantics, Procedure, declaration, invocation 220
, Semantics, Procedure, declaration, return 223
, Semantics, Procedure, declaration, return, snapshots 223
, Semantics, value-returning procedures 235
, Stack of returned results 266
, Stack of the MC 241
, Stack, notation 266
, Statement syntax 206 208—215 615—616
, Statement syntax, assignment 209
, Statement syntax, compound 200 373
, Statement syntax, conditional 211 374
, Statement syntax, for 212
, Statement syntax, go to 245
, Statement syntax, if then 211
, Statement syntax, if then else 211 212
, Statement syntax, input/output 210
, Statement syntax, iteration 212
, Static binding 220
, Storage allocation, dynamic 229 370
, Storage allocation, utilization 235 370
, Syntax 208
, Syntax, arrays and subscript bounds 209
, Syntax, assignment symbol:= 208
, Syntax, BNF 206 208 612—618
, Syntax, character strings 214
, Syntax, comments 209
, Syntax, conditional statement 209
, Syntax, for statement 209
, Syntax, keywords 208
, Syntax, separator (semicolon) 215
, Syntax, summary, with comparison to flowchart syntax 209—215
, Translation of flowcharts to code 227
, Variables, declaration of global 372
, Variables, explicit declaration of 372
, Variations and extensions 195
308
, 1966 Standard 308
, 1966 Standard, function procedure constraint 353
, 1966 Standard, syntax summary 323—334
, 1977 Standard 309 340 341
, Allocation of storage 351 370
, Allocation strategy for array space 338
, Arrays in the 1977 Standard 341
, Arrays, declaration of 370
, BNF syntax definitions 319
, BNF syntax definitions of terminal symbols 320
, Case studies, case 1, squeezing zeros out of a list 336
, Case studies, case 1, squeezing zeros out of a list, flowcharts and legends 336
, Case studies, case 1, squeezing zeros out of a list, program 337 342
, Case studies, case 1, squeezing zeros out of a list, snapshot sequence 338—340
, Case studies, case 2, finding even values in a list 342
, Case studies, case 2, finding even values in a list, flowcharts and legends 343
, Case studies, case 2, finding even values in a list, program 344 345
, Case studies, case 2, finding even values in a list, snapshot sequence 346—351
, Case studies, case 3, procedure parameter (as a marching rule) 352
, Case studies, case 3, procedure parameter (as a marching rule), flowcharts and legends 354
, Case studies, case 3, procedure parameter (as a marching rule), program 355 356
, Case studies, case 3, procedure parameter (as a marching rule), snapshot sequence 358—364
, CHARACTER data type 340
, Comments 320 321
, COMMON, blocks 314
, COMMON, blocks, blank 317
, COMMON, blocks, labeled 317 357
, COMMON, blocks, named 317
, COMMON, declarations 313
, Comparison with Algol 370
, Continuation, code 320
, Continuation, line 321
, Contour(s), accessibility of leftover values 311
, Contour(s), allocation 310
, Contour(s), allocation, static 312
, Contour(s), deallocation 311
, Contour(s), preallocation 312
, Contour(s), reuse of 339
, Data initialization declaration 322
, Declarations, COMMON 328
, Declarations, DATA initialization 322
, Declarations, DIMENSION 328
, Declarations, EQUIVALENCE 322 334 371
, Declarations, FUNCTION subprogram 330 331
, Declarations, SUBROUTINE subprogram 329
, Declarations, type 328
, DO statement 322 326 327
, DO statement, implied 338 350
, DO statement, loop semantics 326 337 340
, DO statement, loop semantics in the 1977 Standard 340 341
, DO statement, loop semantics, value of counter after normal exit 338
, Early development 308
|