- Page 2 and 3: 2 This page intentionally left blan
- Page 4 and 5: Copyright c○1999-2013 Clinton Jef
- Page 6 and 7: ii CONTENTS 3 String Processing 41
- Page 8 and 9: iv CONTENTS 7 Graphics 99 7.1 2D Gr
- Page 10 and 11: vi CONTENTS 11.3 Summary . . . . .
- Page 12 and 13: viii CONTENTS 18 Object-oriented Us
- Page 14 and 15: x CONTENTS D.5 Multiple Programs an
- Page 16 and 17: xii PREFACE TO THE 2 ND EDITION ori
- Page 18 and 19: 2 PREFACE TO THE 2 ND EDITION from
- Page 20 and 21: 4 PREFACE TO THE 2 ND EDITION syste
- Page 24 and 25: 8 CHAPTER 1. PROGRAMS AND EXPRESSIO
- Page 26 and 27: 10 CHAPTER 1. PROGRAMS AND EXPRESSI
- Page 28 and 29: 12 CHAPTER 1. PROGRAMS AND EXPRESSI
- Page 30 and 31: 14 CHAPTER 1. PROGRAMS AND EXPRESSI
- Page 32 and 33: 16 CHAPTER 1. PROGRAMS AND EXPRESSI
- Page 34 and 35: 18 CHAPTER 1. PROGRAMS AND EXPRESSI
- Page 36 and 37: 20 CHAPTER 1. PROGRAMS AND EXPRESSI
- Page 38 and 39: 22 CHAPTER 1. PROGRAMS AND EXPRESSI
- Page 40 and 41: 24 CHAPTER 1. PROGRAMS AND EXPRESSI
- Page 42 and 43: 26 CHAPTER 1. PROGRAMS AND EXPRESSI
- Page 44 and 45: 28 CHAPTER 1. PROGRAMS AND EXPRESSI
- Page 46 and 47: 30 CHAPTER 2. STRUCTURES garbage co
- Page 48 and 49: 32 CHAPTER 2. STRUCTURES L := [ ] p
- Page 50 and 51: 34 CHAPTER 2. STRUCTURES As a short
- Page 52 and 53: 36 CHAPTER 2. STRUCTURES procedure
- Page 54 and 55: 38 CHAPTER 2. STRUCTURES Figure 2-2
- Page 56 and 57: 40 CHAPTER 2. STRUCTURES dynamicall
- Page 58 and 59: 42 CHAPTER 3. STRING PROCESSING Fig
- Page 60 and 61: 44 CHAPTER 3. STRING PROCESSING The
- Page 62 and 63: 46 CHAPTER 3. STRING PROCESSING If
- Page 64 and 65: 48 CHAPTER 3. STRING PROCESSING Hal
- Page 66 and 67: 50 CHAPTER 3. STRING PROCESSING is
- Page 68 and 69: 52 CHAPTER 3. STRING PROCESSING Not
- Page 70 and 71: 54 CHAPTER 4. ADVANCED LANGUAGE FEA
- Page 72 and 73:
56 CHAPTER 4. ADVANCED LANGUAGE FEA
- Page 74 and 75:
58 CHAPTER 4. ADVANCED LANGUAGE FEA
- Page 76 and 77:
60 CHAPTER 4. ADVANCED LANGUAGE FEA
- Page 78 and 79:
62 CHAPTER 4. ADVANCED LANGUAGE FEA
- Page 80 and 81:
64 CHAPTER 4. ADVANCED LANGUAGE FEA
- Page 82 and 83:
66 CHAPTER 5. THE SYSTEM INTERFACE
- Page 84 and 85:
68 CHAPTER 5. THE SYSTEM INTERFACE
- Page 86 and 87:
70 CHAPTER 5. THE SYSTEM INTERFACE
- Page 88 and 89:
72 CHAPTER 5. THE SYSTEM INTERFACE
- Page 90 and 91:
74 CHAPTER 5. THE SYSTEM INTERFACE
- Page 92 and 93:
76 CHAPTER 5. THE SYSTEM INTERFACE
- Page 94 and 95:
78 CHAPTER 5. THE SYSTEM INTERFACE
- Page 96 and 97:
80 CHAPTER 5. THE SYSTEM INTERFACE
- Page 98 and 99:
82 CHAPTER 5. THE SYSTEM INTERFACE
- Page 100 and 101:
84 CHAPTER 5. THE SYSTEM INTERFACE
- Page 102 and 103:
86 CHAPTER 5. THE SYSTEM INTERFACE
- Page 104 and 105:
88 CHAPTER 6. DATABASES The word
- Page 106 and 107:
90 CHAPTER 6. DATABASES writing the
- Page 108 and 109:
92 CHAPTER 6. DATABASES 6.4.2 Datab
- Page 110 and 111:
94 CHAPTER 6. DATABASES field acces
- Page 112 and 113:
96 CHAPTER 6. DATABASES 6.5.1 Opera
- Page 114 and 115:
98 CHAPTER 6. DATABASES
- Page 116 and 117:
100 CHAPTER 7. GRAPHICS for window
- Page 118 and 119:
102 CHAPTER 7. GRAPHICS Table 7-1 C
- Page 120 and 121:
104 CHAPTER 7. GRAPHICS put on a qu
- Page 122 and 123:
106 CHAPTER 7. GRAPHICS when the wi
- Page 124 and 125:
108 CHAPTER 7. GRAPHICS 7.1.7 Patte
- Page 126 and 127:
110 CHAPTER 7. GRAPHICS Mouse event
- Page 128 and 129:
112 CHAPTER 7. GRAPHICS } &lpress |
- Page 130 and 131:
114 CHAPTER 7. GRAPHICS To think ab
- Page 132 and 133:
116 CHAPTER 7. GRAPHICS Polygon Dra
- Page 134 and 135:
118 CHAPTER 7. GRAPHICS or "shinine
- Page 136 and 137:
120 CHAPTER 7. GRAPHICS Sphere Cyli
- Page 138 and 139:
122 CHAPTER 7. GRAPHICS Figure 7-2:
- Page 140 and 141:
124 CHAPTER 7. GRAPHICS Figure 7-5:
- Page 142 and 143:
126 CHAPTER 7. GRAPHICS In this cas
- Page 144 and 145:
128 CHAPTER 7. GRAPHICS FillPolygon
- Page 146 and 147:
130 CHAPTER 7. GRAPHICS This techni
- Page 148 and 149:
132 CHAPTER 8. THREADS 8.1 Threads
- Page 150 and 151:
134 CHAPTER 8. THREADS every i := !
- Page 152 and 153:
136 CHAPTER 8. THREADS procedure ma
- Page 154 and 155:
138 CHAPTER 8. THREADS procedure ma
- Page 156 and 157:
140 CHAPTER 8. THREADS critical mtx
- Page 158 and 159:
142 CHAPTER 8. THREADS Thread-safe
- Page 160 and 161:
144 CHAPTER 8. THREADS Condition va
- Page 162 and 163:
146 CHAPTER 8. THREADS mutex then c
- Page 164 and 165:
148 CHAPTER 8. THREADS Figure 8-1:
- Page 166 and 167:
150 CHAPTER 8. THREADS be used with
- Page 168 and 169:
152 CHAPTER 8. THREADS The timeout
- Page 170 and 171:
154 CHAPTER 8. THREADS chC := chann
- Page 172 and 173:
156 CHAPTER 9. EXECUTION MONITORING
- Page 174 and 175:
158 CHAPTER 9. EXECUTION MONITORING
- Page 176 and 177:
160 CHAPTER 9. EXECUTION MONITORING
- Page 178 and 179:
162 CHAPTER 9. EXECUTION MONITORING
- Page 180 and 181:
164 CHAPTER 9. EXECUTION MONITORING
- Page 182 and 183:
166 CHAPTER 9. EXECUTION MONITORING
- Page 184 and 185:
168 CHAPTER 9. EXECUTION MONITORING
- Page 186 and 187:
170 CHAPTER 9. EXECUTION MONITORING
- Page 189 and 190:
Chapter 10 Objects and Classes Obje
- Page 191 and 192:
10.1. OBJECTS IN PROGRAMMING LANGUA
- Page 193 and 194:
10.3. CLASSES AND CLASS DIAGRAMS 17
- Page 195 and 196:
10.4. DECLARING CLASSES 179 Figure
- Page 197 and 198:
10.6. OBJECT INVOCATION 181 explici
- Page 199 and 200:
10.7. COMPARING RECORDS AND CLASSES
- Page 201 and 202:
Chapter 11 Inheritance and Associat
- Page 203 and 204:
11.1. INHERITANCE 187 11.1.1 Inheri
- Page 205 and 206:
11.1. INHERITANCE 189 Figure 11-2:
- Page 207 and 208:
11.1. INHERITANCE 191 end method en
- Page 209 and 210:
11.2. ASSOCIATIONS 193 defined in t
- Page 211 and 212:
11.2. ASSOCIATIONS 195 11.2.4 Imple
- Page 213 and 214:
Chapter 12 Writing Large Programs T
- Page 215 and 216:
12.2. DESIGN PATTERNS 199 The field
- Page 217 and 218:
12.2. DESIGN PATTERNS 201 end metho
- Page 219 and 220:
12.2. DESIGN PATTERNS 203 method Do
- Page 221 and 222:
12.3. PACKAGES 205 When this code i
- Page 223 and 224:
12.4. HTML DOCUMENTATION 207 second
- Page 225 and 226:
Chapter 13 Use Cases and Supplement
- Page 227 and 228:
13.1. USE CASES 211 the next sectio
- Page 229 and 230:
13.2. STATECHART DIAGRAMS 213 13.2
- Page 231 and 232:
13.3. COLLABORATION DIAGRAMS 215 13
- Page 233:
Part III Example Applications 217
- Page 236 and 237:
220 CHAPTER 14. CGI SCRIPTS To use
- Page 238 and 239:
222 CHAPTER 14. CGI SCRIPTS Variabl
- Page 240 and 241:
224 CHAPTER 14. CGI SCRIPTS Figure
- Page 242 and 243:
226 CHAPTER 14. CGI SCRIPTS 14.5 De
- Page 244 and 245:
228 CHAPTER 14. CGI SCRIPTS write(f
- Page 246 and 247:
230 CHAPTER 15. SYSTEM AND ADMINIST
- Page 248 and 249:
232 CHAPTER 15. SYSTEM AND ADMINIST
- Page 250 and 251:
234 CHAPTER 15. SYSTEM AND ADMINIST
- Page 252 and 253:
236 CHAPTER 15. SYSTEM AND ADMINIST
- Page 254 and 255:
238 CHAPTER 15. SYSTEM AND ADMINIST
- Page 256 and 257:
240 CHAPTER 15. SYSTEM AND ADMINIST
- Page 258 and 259:
242 CHAPTER 15. SYSTEM AND ADMINIST
- Page 260 and 261:
244 CHAPTER 15. SYSTEM AND ADMINIST
- Page 262 and 263:
246 CHAPTER 15. SYSTEM AND ADMINIST
- Page 264 and 265:
248 CHAPTER 15. SYSTEM AND ADMINIST
- Page 266 and 267:
250 CHAPTER 15. SYSTEM AND ADMINIST
- Page 268 and 269:
252 CHAPTER 15. SYSTEM AND ADMINIST
- Page 270 and 271:
254 CHAPTER 15. SYSTEM AND ADMINIST
- Page 272 and 273:
256 CHAPTER 16. INTERNET PROGRAMS s
- Page 274 and 275:
258 CHAPTER 16. INTERNET PROGRAMS t
- Page 276 and 277:
260 CHAPTER 16. INTERNET PROGRAMS T
- Page 278 and 279:
262 CHAPTER 16. INTERNET PROGRAMS i
- Page 280 and 281:
264 CHAPTER 16. INTERNET PROGRAMS T
- Page 282 and 283:
266 CHAPTER 16. INTERNET PROGRAMS
- Page 284 and 285:
268 CHAPTER 17. GENETIC ALGORITHMS
- Page 286 and 287:
270 CHAPTER 17. GENETIC ALGORITHMS
- Page 288 and 289:
272 CHAPTER 17. GENETIC ALGORITHMS
- Page 290 and 291:
274 CHAPTER 17. GENETIC ALGORITHMS
- Page 292 and 293:
276 CHAPTER 17. GENETIC ALGORITHMS
- Page 294 and 295:
278 CHAPTER 17. GENETIC ALGORITHMS
- Page 296 and 297:
280 CHAPTER 17. GENETIC ALGORITHMS
- Page 298 and 299:
282 CHAPTER 17. GENETIC ALGORITHMS
- Page 300 and 301:
284 CHAPTER 18. OBJECT-ORIENTED USE
- Page 302 and 303:
286 CHAPTER 18. OBJECT-ORIENTED USE
- Page 304 and 305:
288 CHAPTER 18. OBJECT-ORIENTED USE
- Page 306 and 307:
290 CHAPTER 18. OBJECT-ORIENTED USE
- Page 308 and 309:
292 CHAPTER 18. OBJECT-ORIENTED USE
- Page 310 and 311:
294 CHAPTER 18. OBJECT-ORIENTED USE
- Page 312 and 313:
296 CHAPTER 18. OBJECT-ORIENTED USE
- Page 314 and 315:
298 CHAPTER 18. OBJECT-ORIENTED USE
- Page 316 and 317:
300 CHAPTER 18. OBJECT-ORIENTED USE
- Page 318 and 319:
302 CHAPTER 18. OBJECT-ORIENTED USE
- Page 320 and 321:
304 CHAPTER 18. OBJECT-ORIENTED USE
- Page 322 and 323:
306 CHAPTER 18. OBJECT-ORIENTED USE
- Page 324 and 325:
308 CHAPTER 18. OBJECT-ORIENTED USE
- Page 326 and 327:
310 CHAPTER 18. OBJECT-ORIENTED USE
- Page 328 and 329:
312 CHAPTER 18. OBJECT-ORIENTED USE
- Page 330 and 331:
314 CHAPTER 18. OBJECT-ORIENTED USE
- Page 332 and 333:
316 CHAPTER 18. OBJECT-ORIENTED USE
- Page 334 and 335:
318 CHAPTER 18. OBJECT-ORIENTED USE
- Page 336 and 337:
320 CHAPTER 18. OBJECT-ORIENTED USE
- Page 338 and 339:
322 CHAPTER 18. OBJECT-ORIENTED USE
- Page 340 and 341:
324 CHAPTER 18. OBJECT-ORIENTED USE
- Page 342 and 343:
326 CHAPTER 18. OBJECT-ORIENTED USE
- Page 344 and 345:
328 CHAPTER 18. OBJECT-ORIENTED USE
- Page 346 and 347:
330 CHAPTER 18. OBJECT-ORIENTED USE
- Page 348 and 349:
332 CHAPTER 18. OBJECT-ORIENTED USE
- Page 350 and 351:
334 CHAPTER 18. OBJECT-ORIENTED USE
- Page 352 and 353:
336 CHAPTER 18. OBJECT-ORIENTED USE
- Page 354 and 355:
338 CHAPTER 18. OBJECT-ORIENTED USE
- Page 356 and 357:
340 CHAPTER 18. OBJECT-ORIENTED USE
- Page 358 and 359:
342 CHAPTER 18. OBJECT-ORIENTED USE
- Page 361 and 362:
Appendix A Language Reference Unico
- Page 363 and 364:
A.3. VARIABLES 347 A.2.2 Table Tabl
- Page 365 and 366:
A.4. KEYWORDS 349 name of the keywo
- Page 367 and 368:
A.4. KEYWORDS 351 &file : string? c
- Page 369 and 370:
A.4. KEYWORDS 353 A.4.1 Graphics ke
- Page 371 and 372:
A.5. CONTROL STRUCTURES AND RESERVE
- Page 373 and 374:
A.5. CONTROL STRUCTURES AND RESERVE
- Page 375 and 376:
A.6. OPERATORS AND BUILT-IN FUNCTIO
- Page 377 and 378:
A.6. OPERATORS AND BUILT-IN FUNCTIO
- Page 379 and 380:
A.6. OPERATORS AND BUILT-IN FUNCTIO
- Page 381 and 382:
A.6. OPERATORS AND BUILT-IN FUNCTIO
- Page 383 and 384:
A.6. OPERATORS AND BUILT-IN FUNCTIO
- Page 385 and 386:
A.6. OPERATORS AND BUILT-IN FUNCTIO
- Page 387 and 388:
A.6. OPERATORS AND BUILT-IN FUNCTIO
- Page 389 and 390:
A.6. OPERATORS AND BUILT-IN FUNCTIO
- Page 391 and 392:
A.6. OPERATORS AND BUILT-IN FUNCTIO
- Page 393 and 394:
A.6. OPERATORS AND BUILT-IN FUNCTIO
- Page 395 and 396:
A.6. OPERATORS AND BUILT-IN FUNCTIO
- Page 397 and 398:
A.6. OPERATORS AND BUILT-IN FUNCTIO
- Page 399 and 400:
A.6. OPERATORS AND BUILT-IN FUNCTIO
- Page 401 and 402:
A.6. OPERATORS AND BUILT-IN FUNCTIO
- Page 403 and 404:
A.6. OPERATORS AND BUILT-IN FUNCTIO
- Page 405 and 406:
A.7. PREPROCESSOR 389 $ for { $) fo
- Page 407 and 408:
A.8. EXECUTION ERRORS 391 116 inval
- Page 409 and 410:
A.8. EXECUTION ERRORS 393 1002 No s
- Page 411 and 412:
Appendix B The Icon Program Library
- Page 413 and 414:
B.1. PROCEDURE LIBRARY MODULES 397
- Page 415 and 416:
B.1. PROCEDURE LIBRARY MODULES 399
- Page 417 and 418:
B.1. PROCEDURE LIBRARY MODULES 401
- Page 419 and 420:
B.1. PROCEDURE LIBRARY MODULES 403
- Page 421 and 422:
B.1. PROCEDURE LIBRARY MODULES 405
- Page 423 and 424:
B.1. PROCEDURE LIBRARY MODULES 407
- Page 425 and 426:
B.1. PROCEDURE LIBRARY MODULES 409
- Page 427 and 428:
B.1. PROCEDURE LIBRARY MODULES 411
- Page 429 and 430:
B.1. PROCEDURE LIBRARY MODULES 413
- Page 431 and 432:
B.1. PROCEDURE LIBRARY MODULES 415
- Page 433 and 434:
B.1. PROCEDURE LIBRARY MODULES 417
- Page 435 and 436:
B.1. PROCEDURE LIBRARY MODULES 419
- Page 437 and 438:
B.1. PROCEDURE LIBRARY MODULES 421
- Page 439 and 440:
B.1. PROCEDURE LIBRARY MODULES 423
- Page 441 and 442:
B.1. PROCEDURE LIBRARY MODULES 425
- Page 443 and 444:
B.1. PROCEDURE LIBRARY MODULES 427
- Page 445 and 446:
B.1. PROCEDURE LIBRARY MODULES 429
- Page 447 and 448:
B.1. PROCEDURE LIBRARY MODULES 431
- Page 449 and 450:
B.1. PROCEDURE LIBRARY MODULES 433
- Page 451 and 452:
B.1. PROCEDURE LIBRARY MODULES 435
- Page 453 and 454:
B.1. PROCEDURE LIBRARY MODULES 437
- Page 455 and 456:
B.1. PROCEDURE LIBRARY MODULES 439
- Page 457 and 458:
B.1. PROCEDURE LIBRARY MODULES 441
- Page 459 and 460:
B.1. PROCEDURE LIBRARY MODULES 443
- Page 461 and 462:
B.2. APPLICATION PROGRAMS, EXAMPLES
- Page 463 and 464:
B.2. APPLICATION PROGRAMS, EXAMPLES
- Page 465 and 466:
B.2. APPLICATION PROGRAMS, EXAMPLES
- Page 467 and 468:
B.2. APPLICATION PROGRAMS, EXAMPLES
- Page 469 and 470:
B.2. APPLICATION PROGRAMS, EXAMPLES
- Page 471 and 472:
B.2. APPLICATION PROGRAMS, EXAMPLES
- Page 473 and 474:
B.2. APPLICATION PROGRAMS, EXAMPLES
- Page 475 and 476:
B.2. APPLICATION PROGRAMS, EXAMPLES
- Page 477 and 478:
B.2. APPLICATION PROGRAMS, EXAMPLES
- Page 479 and 480:
B.2. APPLICATION PROGRAMS, EXAMPLES
- Page 481 and 482:
B.2. APPLICATION PROGRAMS, EXAMPLES
- Page 483 and 484:
B.3. SELECTED IPL AUTHORS AND CONTR
- Page 485 and 486:
Appendix C The Unicon Component Lib
- Page 487 and 488:
C.1. GUI CLASSES 471 clear_draw_bor
- Page 489 and 490:
C.1. GUI CLASSES 473 The following
- Page 491 and 492:
C.1. GUI CLASSES 475 b.set_label("O
- Page 493 and 494:
C.1. GUI CLASSES 477 set_increment_
- Page 495 and 496:
C.1. GUI CLASSES 479 get_contents()
- Page 497 and 498:
C.1. GUI CLASSES 481 clear_is_shade
- Page 499 and 500:
Appendix D Differences between Icon
- Page 501 and 502:
Appendix E Portability Consideratio
- Page 503 and 504:
E.1. POSIX EXTENSIONS 487 l Get fil
- Page 505 and 506:
E.1. POSIX EXTENSIONS 489 link(src,
- Page 507 and 508:
Bibliography [Alg12] Jafar Al Ghara
- Page 509 and 510:
Index 8-Queens problem, 36 absolute
- Page 511 and 512:
INDEX 495 type, see type, conversio
- Page 513 and 514:
INDEX 497 fail, 28, 51, 355 co-expr
- Page 515 and 516:
INDEX 499 symbolic file, 489 link,
- Page 517 and 518:
INDEX 501 PostgreSQL, 92 PostScript
- Page 519 and 520:
INDEX 503 closure, 409 comparison,