home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume38 / lout / part06 < prev    next >
Encoding:
Text File  |  1993-08-11  |  75.0 KB  |  3,089 lines

  1. Newsgroups: comp.sources.misc
  2. From: jeff@joyce.cs.su.oz.au (Jeff Kingston)
  3. Subject: v38i074:  lout - Lout document formatting system, v2.05, Part06/35
  4. Message-ID: <1993Aug8.180714.11411@sparky.sterling.com>
  5. X-Md4-Signature: 61a1beeba50beea07dac3723ba1b5b41
  6. Sender: kent@sparky.sterling.com (Kent Landfield)
  7. Organization: Sterling Software
  8. Date: Sun, 8 Aug 1993 18:07:14 GMT
  9. Approved: kent@sparky.sterling.com
  10.  
  11. Submitted-by: jeff@joyce.cs.su.oz.au (Jeff Kingston)
  12. Posting-number: Volume 38, Issue 74
  13. Archive-name: lout/part06
  14. Environment: UNIX
  15. Supersedes: lout: Volume 37, Issue 99-128
  16.  
  17. #! /bin/sh
  18. # This is a shell archive.  Remove anything before this line, then feed it
  19. # into a shell via "sh file" or similar.  To overwrite existing files,
  20. # type "sh file -c".
  21. # Contents:  doc/tr.eq/outfile.ps.C z22.c
  22. # Wrapped by kent@sparky on Sun Aug  8 12:29:22 1993
  23. PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin ; export PATH
  24. echo If this archive is complete, you will see the following message:
  25. echo '          "shar: End of archive 6 (of 35)."'
  26. if test -f 'doc/tr.eq/outfile.ps.C' -a "${1}" != "-c" ; then 
  27.   echo shar: Will not clobber existing file \"'doc/tr.eq/outfile.ps.C'\"
  28. else
  29.   echo shar: Extracting \"'doc/tr.eq/outfile.ps.C'\" \(42604 characters\)
  30.   sed "s/^X//" >'doc/tr.eq/outfile.ps.C' <<'END_OF_FILE'
  31. X
  32. Xgrestore
  33. X
  34. X240 fnt33
  35. X0 -78 moveto(\325)s 
  36. Xgrestore
  37. X
  38. X220 fnt13
  39. X2914 1980 moveto(int)s gsave
  40. X3433 2037 translate
  41. X-180.0000 rotate
  42. Xgsave
  43. X0 -159 translate
  44. X180.0000 rotate
  45. X
  46. X311 fnt33
  47. X0 -284 moveto(\362)s
  48. X
  49. Xgrestore
  50. X
  51. Xgrestore
  52. X
  53. X311 fnt33
  54. X3433 1912 moveto(\362)s 
  55. X220 fnt13
  56. X5660 1980 moveto(oint)s gsave
  57. X6301 2037 translate
  58. X-180.0000 rotate
  59. Xgsave
  60. X0 -52 translate
  61. X180.0000 rotate
  62. X
  63. X240 fnt33
  64. X0 -164 moveto(\260)s 
  65. Xgrestore
  66. X
  67. Xgrestore
  68. X
  69. X240 fnt33
  70. X6301 1925 moveto(\260)s gsave
  71. X6304 2037 translate
  72. X-180.0000 rotate
  73. Xgsave
  74. X0 -159 translate
  75. X180.0000 rotate
  76. X
  77. X311 fnt33
  78. X0 -284 moveto(\362)s
  79. X
  80. Xgrestore
  81. X
  82. Xgrestore
  83. X
  84. X311 fnt33
  85. X6304 1912 moveto(\362)s 
  86. X220 fnt13
  87. X8405 1980 moveto(bcap)s 
  88. X311 fnt33
  89. X9169 1960 moveto(\307)s 
  90. X220 fnt13
  91. X2669 1606 moveto(bcup)s 
  92. X311 fnt33
  93. X3433 1586 moveto(\310)s
  94. X
  95. X220 fnt13
  96. X5537 1606 moveto(bvee)s 
  97. X311 fnt33
  98. X6301 1586 moveto(\332)s 
  99. X220 fnt13
  100. X8113 1606 moveto(bwedge)s 
  101. X311 fnt33
  102. X9169 1586 moveto(\331)s 
  103. Xpgsave restore
  104. Xshowpage
  105. X
  106. X%%Page: ? 11
  107. X%%BeginPageSetup
  108. X/pgsave save def
  109. X0.0500 dup scale 10 setlinewidth
  110. X%%EndPageSetup
  111. X
  112. X240 fnt34
  113. X5694 15261 moveto(-)s 5833 x(10)s 6133 x(-)s 
  114. X220 fnt13
  115. X2596 14643 moveto(bodot)s gsave
  116. X3433 14607 translate
  117. X217 186 0 93 311 288 77 LoutGraphic
  118. Xgsave
  119. Xxsize ysize 2 div moveto
  120. Xxsize 2 div ysize 2 div xsize 2 div 0 360 arc
  121. X0.04 ft setlinewidth stroke
  122. Xgrestore
  123. X
  124. Xgrestore
  125. X
  126. X311 fnt33
  127. X3503 14623 moveto(\327)s
  128. X
  129. X220 fnt13
  130. X5245 14643 moveto(botimes)s 
  131. X311 fnt33
  132. X6301 14623 moveto(\304)s 
  133. X220 fnt13
  134. X8235 14643 moveto(boplus)s 
  135. X311 fnt33
  136. X9169 14623 moveto(\305)s 
  137. X220 fnt13
  138. X2499 14269 moveto(buplus)s
  139. X
  140. X217 fnt33
  141. X3492 14334 moveto(+)s 
  142. X311 fnt33
  143. X3433 14249 moveto(\310)s 
  144. X240 fnt34
  145. X1417 13771 moveto(The)s 1867 x(following)s 2875 x(symbols)s
  146. X3751 x(are)s 4120 x(de\207ned)s 4903 x(so)s 5194 x(that)s 5630 x(they)s
  147. X6120 x(will)s 6569 x(appear)s 7284 x(in)s 7548 x(Roman,)s 8378 x(as)s
  148. X8655 x(is)s 8892 x(con)s 9238 x(vent)s 9650 x(ional)s 10206 x(for)s
  149. X1417 13483 moveto(them)s 1955 x(in)s 2201 x(equations:)s 
  150. X220 fnt13
  151. X2498 12977 moveto(arccos)s 
  152. X240 fnt34
  153. X3433 12981 moveto(arccos)s
  154. X
  155. X220 fnt13
  156. X5428 12977 moveto(arcsin)s 
  157. X240 fnt34
  158. X6301 12981 moveto(arcsin)s 
  159. X220 fnt13
  160. X8271 12977 moveto(arctan)s 
  161. X240 fnt34
  162. X9169 12981 moveto(arctan)s 
  163. X220 fnt13
  164. X2828 12689 moveto(arg)s
  165. X
  166. X240 fnt34
  167. X3433 12693 moveto(arg)s 
  168. X220 fnt13
  169. X5671 12689 moveto(cos)s 
  170. X240 fnt34
  171. X6301 12693 moveto(cos)s 
  172. X220 fnt13
  173. X8417 12689 moveto(cosh)s 
  174. X240 fnt34
  175. X9169 12693 moveto(cosh)s
  176. X
  177. X220 fnt13
  178. X2852 12401 moveto(cot)s 
  179. X240 fnt34
  180. X3433 12405 moveto(cot)s 
  181. X220 fnt13
  182. X5598 12401 moveto(coth)s 
  183. X240 fnt34
  184. X6301 12405 moveto(coth)s 
  185. X220 fnt13
  186. X8551 12401 moveto(csc)s
  187. X
  188. X240 fnt34
  189. X9169 12405 moveto(csc)s 
  190. X220 fnt13
  191. X2779 12113 moveto(deg)s 
  192. X240 fnt34
  193. X3433 12117 moveto(deg)s 
  194. X220 fnt13
  195. X5708 12113 moveto(det)s 
  196. X240 fnt34
  197. X6301 12117 moveto(det)s
  198. X
  199. X220 fnt13
  200. X8528 12113 moveto(dim)s 
  201. X240 fnt34
  202. X9169 12117 moveto(dim)s 
  203. X220 fnt13
  204. X2791 11825 moveto(exp)s 
  205. X240 fnt34
  206. X3433 11829 moveto(exp)s 
  207. X220 fnt13
  208. X5659 11825 moveto(gcd)s
  209. X
  210. X240 fnt34
  211. X6301 11829 moveto(gcd)s 
  212. X220 fnt13
  213. X8454 11825 moveto(hom)s 
  214. X240 fnt34
  215. X9169 11829 moveto(hom)s 
  216. X220 fnt13
  217. X2914 11537 moveto(inf)s 
  218. X240 fnt34
  219. X3433 11541 moveto(inf)s
  220. X
  221. X220 fnt13
  222. X5708 11537 moveto(ker)s 
  223. X240 fnt34
  224. X6301 11541 moveto(ker)s 
  225. X220 fnt13
  226. X8711 11537 moveto(lg)s 
  227. X240 fnt34
  228. X9169 11541 moveto(lg)s 
  229. X220 fnt13
  230. X2866 11249 moveto(lim)s
  231. X
  232. X240 fnt34
  233. X3433 11253 moveto(lim)s 
  234. X220 fnt13
  235. X5503 11249 moveto(liminf)s 
  236. X240 fnt34
  237. X6301 11253 moveto(lim)s 6662 x(inf)s 
  238. X220 fnt13
  239. X8248 11249 moveto(limsup)s
  240. X
  241. X240 fnt34
  242. X9169 11253 moveto(lim)s 9530 x(sup)s 
  243. X220 fnt13
  244. X2975 10961 moveto(ln)s 
  245. X240 fnt34
  246. X3433 10965 moveto(ln)s 
  247. X220 fnt13
  248. X5721 10961 moveto(log)s
  249. X
  250. X240 fnt34
  251. X6301 10965 moveto(log)s 
  252. X220 fnt13
  253. X8466 10961 moveto(max)s 
  254. X240 fnt34
  255. X9169 10965 moveto(max)s 
  256. X220 fnt13
  257. X2792 10673 moveto(min)s 
  258. X240 fnt34
  259. X3433 10677 moveto(min)s
  260. X
  261. X220 fnt13
  262. X5794 10673 moveto(Pr)s 
  263. X240 fnt34
  264. X6301 10677 moveto(Pr)s 
  265. X220 fnt13
  266. X8539 10673 moveto(sec)s 
  267. X240 fnt34
  268. X9169 10677 moveto(sec)s 
  269. X220 fnt13
  270. X2865 10385 moveto(sin)s
  271. X
  272. X240 fnt34
  273. X3433 10389 moveto(sin)s 
  274. X220 fnt13
  275. X5611 10385 moveto(sinh)s 
  276. X240 fnt34
  277. X6301 10389 moveto(sinh)s 
  278. X220 fnt13
  279. X8454 10385 moveto(supr)s 
  280. X240 fnt34
  281. X9169 10389 moveto(sup)s
  282. X
  283. X220 fnt13
  284. X2840 10097 moveto(tan)s 
  285. X240 fnt34
  286. X3433 10101 moveto(tan)s 
  287. X220 fnt13
  288. X5586 10097 moveto(tanh)s 
  289. X240 fnt34
  290. X6301 10101 moveto(tanh)s 
  291. X220 fnt13
  292. X8454 10097 moveto(mod)s
  293. X
  294. X240 fnt34
  295. X9169 10101 moveto(mod)s 1417 9642 moveto(The)s 1849 x(following)s 2839 x(symbols)s 3697 x(are)s
  296. X4048 x(also)s 4493 x(de\207ned)s 5258 x(to)s 5504 x(ensure)s 6188 x(that)s
  297. X6606 x(they)s 7078 x(will)s 7509 x(appear)s 8206 x(in)s 8452 x(Roman:)s
  298. X
  299. X220 fnt13
  300. X3023 9141 moveto(0)s 
  301. X240 fnt33
  302. X3433 9138 moveto(0)s 
  303. X220 fnt13
  304. X5891 9141 moveto(1)s 
  305. X240 fnt33
  306. X6301 9138 moveto(1)s 
  307. X220 fnt13
  308. X8759 9141 moveto(2)s
  309. X
  310. X240 fnt33
  311. X9169 9138 moveto(2)s 
  312. X220 fnt13
  313. X3023 8853 moveto(3)s 
  314. X240 fnt33
  315. X3433 8850 moveto(3)s 
  316. X220 fnt13
  317. X5891 8853 moveto(4)s 
  318. X240 fnt33
  319. X6301 8850 moveto(4)s
  320. X
  321. X220 fnt13
  322. X8759 8853 moveto(5)s 
  323. X240 fnt33
  324. X9169 8850 moveto(5)s 
  325. X220 fnt13
  326. X3023 8565 moveto(6)s 
  327. X240 fnt33
  328. X3433 8562 moveto(6)s 
  329. X220 fnt13
  330. X5891 8565 moveto(7)s
  331. X
  332. X240 fnt33
  333. X6301 8562 moveto(7)s 
  334. X220 fnt13
  335. X8759 8565 moveto(8)s 
  336. X240 fnt33
  337. X9169 8562 moveto(8)s 
  338. X220 fnt13
  339. X3023 8277 moveto(9)s 
  340. X240 fnt33
  341. X3433 8274 moveto(9)s
  342. X
  343. X220 fnt13
  344. X5952 8277 moveto(!)s 
  345. X240 fnt33
  346. X6301 8274 moveto(!)s 
  347. X220 fnt13
  348. X8759 8277 moveto(?)s 
  349. X240 fnt33
  350. X9169 8274 moveto(?)s 
  351. X220 fnt13
  352. X2950 7989 moveto(%)s
  353. X
  354. X240 fnt33
  355. X3433 7986 moveto(%)s 
  356. X220 fnt13
  357. X5940 7989 moveto(\()s 
  358. X240 fnt33
  359. X6301 7986 moveto(\()s 
  360. X220 fnt13
  361. X8808 7989 moveto(\))s 
  362. X240 fnt33
  363. X9169 7986 moveto(\))s
  364. X
  365. X220 fnt13
  366. X3084 7701 moveto([)s 
  367. X240 fnt33
  368. X3433 7698 moveto([)s 
  369. X220 fnt13
  370. X5952 7701 moveto(])s 
  371. X240 fnt33
  372. X6301 7698 moveto(])s 
  373. X240 fnt34
  374. X1417 7204 moveto(The)s
  375. X1849 x(following)s 2839 x(symbols)s 3697 x(make)s 4275 x(good)s 
  376. X220 fnt13
  377. X4815 7200 moveto(atleft)s
  378. X
  379. X240 fnt34
  380. X5350 7204 moveto(and)s 
  381. X220 fnt13
  382. X5756 7200 moveto(atright)s 
  383. X240 fnt34
  384. X6425 7204 moveto(parameters)s 7532 x(of)s 7791 x(the)s
  385. X
  386. X220 fnt13
  387. X8143 7200 moveto(matrix)s 
  388. X240 fnt34
  389. X8800 7204 moveto(symbol:)s 
  390. X220 fnt13
  391. X2780 6372 moveto(lpar)s 
  392. X240 fnt33
  393. X3433 6369 moveto(\()s 
  394. X220 fnt13
  395. X5526 6372 moveto(blpar)s
  396. X
  397. X240 fnt33
  398. X6301 6661 moveto(\346)s 6301 6369 moveto(\347)s 6301 6127 moveto(\350)s 
  399. X220 fnt13
  400. X8491 6372 moveto(rpar)s 
  401. X240 fnt33
  402. X9169 6369 moveto(\))s
  403. X
  404. X220 fnt13
  405. X2633 5546 moveto(brpar)s 
  406. X240 fnt33
  407. X3433 5835 moveto(\366)s 3433 5543 moveto(\367)s 3433 5301 moveto(\370)s 
  408. X220 fnt13
  409. X5428 5546 moveto(lbrack)s
  410. X
  411. X240 fnt33
  412. X6301 5543 moveto([)s 
  413. X220 fnt13
  414. X8174 5546 moveto(blbrack)s 
  415. X240 fnt33
  416. X9169 5784 moveto(\351)s 9169 5543 moveto(\352)s 9169 5303 moveto(\353)s
  417. X
  418. X220 fnt13
  419. X2535 4771 moveto(rbrack)s 
  420. X240 fnt33
  421. X3433 4768 moveto(])s 
  422. X220 fnt13
  423. X5281 4771 moveto(brbrack)s 
  424. X240 fnt33
  425. X6301 5009 moveto(\371)s 6301 4768 moveto(\372)s
  426. X6301 4528 moveto(\373)s 
  427. X220 fnt13
  428. X8284 4771 moveto(lbrace)s 
  429. X240 fnt33
  430. X9169 4768 moveto({)s 
  431. X220 fnt13
  432. X2426 4048 moveto(blbrace)s 
  433. X240 fnt33
  434. X3433 4287 moveto(\354)s
  435. X3433 4045 moveto(\355)s 3433 3803 moveto(\356)s 
  436. X220 fnt13
  437. X5391 4048 moveto(rbrace)s 
  438. X240 fnt33
  439. X6301 4045 moveto(})s 
  440. X220 fnt13
  441. X8137 4048 moveto(brbrace)s
  442. X
  443. X240 fnt33
  444. X9169 4287 moveto(\374)s 9169 4045 moveto(\375)s 9169 3803 moveto(\376)s 
  445. X220 fnt13
  446. X2670 3328 moveto(l\210oor)s 
  447. X240 fnt33
  448. X3433 3325 moveto(\353)s
  449. X
  450. X220 fnt13
  451. X5416 3328 moveto(bl\210oor)s 
  452. X240 fnt33
  453. X6301 3565 moveto(\352)s 6301 3325 moveto(\352)s 6301 3085 moveto(\353)s 
  454. X220 fnt13
  455. X8381 3328 moveto(r\210oor)s
  456. X
  457. X240 fnt33
  458. X9169 3325 moveto(\373)s 
  459. X220 fnt13
  460. X2523 2606 moveto(br\210oor)s 
  461. X240 fnt33
  462. X3433 2843 moveto(\372)s 3433 2603 moveto(\372)s 3433 2363 moveto(\373)s
  463. X
  464. X220 fnt13
  465. X5637 2606 moveto(lceil)s 
  466. X240 fnt33
  467. X6301 2603 moveto(\351)s 
  468. X220 fnt13
  469. X8383 2606 moveto(blceil)s 
  470. X240 fnt33
  471. X9169 2844 moveto(\351)s 9169 2603 moveto(\352)s
  472. X9169 2363 moveto(\352)s 
  473. X220 fnt13
  474. X2744 1884 moveto(rceil)s 
  475. X240 fnt33
  476. X3433 1881 moveto(\371)s 
  477. X220 fnt13
  478. X5490 1884 moveto(brceil)s 
  479. X240 fnt33
  480. X6301 2122 moveto(\371)s
  481. X6301 1881 moveto(\372)s 6301 1641 moveto(\372)s 
  482. X220 fnt13
  483. X8297 1884 moveto(langle)s 
  484. X240 fnt33
  485. X9169 1881 moveto(\341)s 
  486. Xpgsave restore
  487. Xshowpage
  488. X
  489. X%%Page: ? 12
  490. X%%BeginPageSetup
  491. X/pgsave save def
  492. X0.0500 dup scale 10 setlinewidth
  493. X%%EndPageSetup
  494. X
  495. X240 fnt34
  496. X5694 15261 moveto(-)s 5833 x(11)s 6133 x(-)s 
  497. X220 fnt13
  498. X2439 14299 moveto(blangle)s gsave
  499. X3433 13876 translate
  500. X120 960 0 480 240 288 0 LoutGraphic
  501. Xgsave
  502. Xxsize 0 moveto
  503. X0 ysize 2 div lineto
  504. Xxsize ysize lineto
  505. X0.04 ft setlinewidth stroke
  506. Xgrestore
  507. X
  508. Xgrestore
  509. X
  510. X220 fnt13
  511. X5404 14299 moveto(rangle)s
  512. X
  513. X240 fnt33
  514. X6301 14296 moveto(\361)s 
  515. X220 fnt13
  516. X8150 14299 moveto(brangle)s gsave
  517. X9169 13876 translate
  518. X120 960 0 480 240 288 0 LoutGraphic
  519. Xgsave
  520. X0 0 moveto
  521. Xxsize ysize 2 div lineto
  522. X0 ysize lineto
  523. X0.04 ft setlinewidth stroke
  524. Xgrestore
  525. X
  526. Xgrestore
  527. X
  528. X240 fnt34
  529. X1417 13449 moveto(Here)s 1941 x(are)s 2292 x(some)s
  530. X2857 x(miscellaneous)s 4271 x(symbols:)s 
  531. X220 fnt13
  532. X2706 12890 moveto(hbar)s 
  533. X240 fnt34
  534. X3457 12954 moveto(-)s 
  535. X240 fnt35
  536. X3433 12894 moveto(h)s
  537. X
  538. X220 fnt13
  539. X5733 12890 moveto(Re)s 
  540. X240 fnt33
  541. X6301 12887 moveto(\302)s 
  542. X220 fnt13
  543. X8637 12890 moveto(Im)s 
  544. X240 fnt33
  545. X9169 12887 moveto(\301)s 
  546. X220 fnt13
  547. X2549 12602 moveto(partial)s
  548. X
  549. X240 fnt33
  550. X3433 12599 moveto(\266)s 
  551. X220 fnt13
  552. X5611 12602 moveto(infty)s 
  553. X240 fnt33
  554. X6301 12599 moveto(\245)s 
  555. X220 fnt13
  556. X8333 12602 moveto(prime)s 
  557. X240 fnt33
  558. X9169 12599 moveto(\242)s
  559. X
  560. X220 fnt13
  561. X2609 12314 moveto(nabla)s 
  562. X240 fnt33
  563. X3433 12311 moveto(\321)s 
  564. X220 fnt13
  565. X5586 12314 moveto(surd)s 
  566. X240 fnt33
  567. X6301 12311 moveto(\326)s 
  568. X220 fnt13
  569. X8576 12314 moveto(top)s
  570. Xgsave
  571. X9326 12371 translate
  572. X180.0000 rotate
  573. X
  574. X240 fnt33
  575. X0 -60 moveto(^)s 
  576. Xgrestore
  577. X
  578. X220 fnt13
  579. X2840 12026 moveto(bot)s 
  580. X240 fnt33
  581. X3433 12023 moveto(^)s 
  582. X220 fnt13
  583. X5574 12026 moveto(dbar)s 
  584. X240 fnt34
  585. X6301 12030 moveto(||)s
  586. X
  587. X220 fnt13
  588. X8163 12026 moveto(triangle)s gsave
  589. X9169 12011 translate
  590. X144 144 72 72 240 288 0 LoutGraphic
  591. Xgsave
  592. X0 0 moveto xsize 0 lineto
  593. Xxsize 2 div ysize lineto closepath
  594. X0.04 ft setlinewidth stroke
  595. Xgrestore
  596. X
  597. Xgrestore
  598. X
  599. X220 fnt13
  600. X2169 11738 moveto(backslash)s 
  601. X240 fnt35
  602. X3433 11742 moveto(\\)s 
  603. X220 fnt13
  604. X5539 11738 moveto(forall)s 
  605. X240 fnt33
  606. X6301 11735 moveto(")s
  607. X
  608. X220 fnt13
  609. X8320 11738 moveto(exists)s 
  610. X240 fnt33
  611. X9169 11735 moveto($)s 
  612. X220 fnt13
  613. X2779 11450 moveto(neg)s 
  614. X240 fnt33
  615. X3433 11447 moveto(\330)s 
  616. X220 fnt13
  617. X5502 11450 moveto(circle)s
  618. Xgsave
  619. X6301 11435 translate
  620. X167 144 0 72 240 288 0 LoutGraphic
  621. Xgsave
  622. Xxsize ysize 2 div moveto
  623. Xxsize 2 div ysize 2 div xsize 2 div 0 360 arc
  624. X0.04 ft setlinewidth stroke
  625. Xgrestore
  626. X
  627. Xgrestore
  628. X
  629. X220 fnt13
  630. X8210 11450 moveto(square)s gsave
  631. X9169 11435 translate
  632. X144 144 0 72 240 288 0 LoutGraphic
  633. Xgsave
  634. X0 0 moveto xsize 0 lineto xsize ysize lineto
  635. X0 ysize lineto closepath
  636. X0.04 ft setlinewidth stroke
  637. Xgrestore
  638. X
  639. Xgrestore
  640. X
  641. X220 fnt13
  642. X2682 11162 moveto(ldots)s 
  643. X240 fnt35
  644. X3433 11166 moveto(.)s 3565 x(.)s 3697 x(.)s
  645. X
  646. X220 fnt13
  647. X5488 11162 moveto(cdots)s 
  648. X240 fnt33
  649. X6301 11159 moveto(\327)s 6433 x(\327)s 6565 x(\327)s 
  650. X220 fnt13
  651. X8356 11162 moveto(vdots)s
  652. X
  653. X240 fnt33
  654. X9169 11254 moveto(\327)s 9169 11159 moveto(\327)s 9169 11064 moveto(\327)s 
  655. X220 fnt13
  656. X2608 10874 moveto(ddots)s 
  657. X240 fnt33
  658. X3433 10966 moveto(\327)s
  659. X3565 10871 moveto(\327)s 3697 10776 moveto(\327)s 
  660. X220 fnt13
  661. X5721 10874 moveto(del)s 
  662. X240 fnt33
  663. X6301 10871 moveto(\321)s 
  664. X220 fnt13
  665. X8442 10874 moveto(grad)s
  666. X
  667. X240 fnt33
  668. X9169 10871 moveto(\321)s 
  669. X220 fnt13
  670. X2962 10586 moveto(...)s 
  671. X240 fnt33
  672. X3433 10583 moveto(\274)s 
  673. X220 fnt13
  674. X5708 10586 moveto(,...,)s 
  675. X240 fnt33
  676. X6301 10583 moveto(,)s
  677. X6404 x(\274)s 6644 x(,)s 
  678. X220 fnt13
  679. X8528 10586 moveto(half)s 
  680. X167 fnt33
  681. X9169 10673 moveto(1)s 9252 10602 moveto(\244)s
  682. X9279 10530 moveto(2)s 
  683. X220 fnt13
  684. X2719 10298 moveto(third)s 
  685. X167 fnt33
  686. X3433 10385 moveto(1)s 3516 10314 moveto(\244)s 3543 10242 moveto(3)s
  687. X
  688. X220 fnt13
  689. X5965 10298 moveto(')s 
  690. X240 fnt33
  691. X6301 10295 moveto(\242)s 
  692. X220 fnt13
  693. X8283 10298 moveto(empty)s 
  694. X240 fnt33
  695. X9169 10295 moveto(\306)s 
  696. X240 fnt34
  697. X1417 9789 moveto(Finally,)s
  698. X2214 x(here)s 2685 x(is)s 2904 x(the)s 3256 x(long)s 3742 x(list)s
  699. X4093 x(of)s 4352 x(full)s 4743 x(names)s 5414 x(from)s 5938 x(the)s
  700. X6290 x(Adobe)s 6989 x(Symbol)s 7794 x(font:)s 
  701. X220 fnt13
  702. X2559 9283 moveto(space)s 
  703. X240 fnt33
  704. X3433 9280 moveto( )s
  705. X
  706. X220 fnt13
  707. X5318 9283 moveto(exclam)s 
  708. X240 fnt33
  709. X6301 9280 moveto(!)s 
  710. X220 fnt13
  711. X8004 9283 moveto(universal)s 
  712. X240 fnt33
  713. X9169 9280 moveto(")s 
  714. X220 fnt13
  715. X1999 8995 moveto(numbersign)s
  716. X
  717. X240 fnt33
  718. X3433 8992 moveto(#)s 
  719. X220 fnt13
  720. X5039 8995 moveto(existential)s 
  721. X240 fnt33
  722. X6301 8992 moveto($)s 
  723. X220 fnt13
  724. X8149 8995 moveto(percent)s 
  725. X240 fnt33
  726. X9169 8992 moveto(%)s
  727. X
  728. X220 fnt13
  729. X2047 8707 moveto(ampersand)s 
  730. X240 fnt33
  731. X3433 8704 moveto(&)s 
  732. X220 fnt13
  733. X5183 8707 moveto(suchthat)s 
  734. X240 fnt33
  735. X6301 8704 moveto(')s 
  736. X220 fnt13
  737. X8028 8707 moveto(parenleft)s
  738. X
  739. X240 fnt33
  740. X9169 8704 moveto(\()s 
  741. X220 fnt13
  742. X2158 8419 moveto(parenright)s 
  743. X240 fnt33
  744. X3433 8416 moveto(\))s 
  745. X220 fnt13
  746. X4769 8419 moveto(asteriskmath)s 
  747. X240 fnt33
  748. X6301 8416 moveto(*)s
  749. X
  750. X220 fnt13
  751. X8479 8419 moveto(plus)s 
  752. X240 fnt33
  753. X9169 8416 moveto(+)s 
  754. X220 fnt13
  755. X2425 8131 moveto(comma)s 
  756. X240 fnt33
  757. X3433 8128 moveto(,)s 
  758. X220 fnt13
  759. X5428 8131 moveto(minus)s
  760. X
  761. X240 fnt33
  762. X6301 8128 moveto(-)s 
  763. X220 fnt13
  764. X8272 8131 moveto(period)s 
  765. X240 fnt33
  766. X9169 8128 moveto(.)s 
  767. X220 fnt13
  768. X2633 7843 moveto(slash)s 
  769. X240 fnt33
  770. X3433 7840 moveto(/)s
  771. X
  772. X220 fnt13
  773. X5586 7843 moveto(zero)s 
  774. X240 fnt33
  775. X6301 7840 moveto(0)s 
  776. X220 fnt13
  777. X8515 7843 moveto(one)s 
  778. X240 fnt33
  779. X9169 7840 moveto(1)s 
  780. X220 fnt13
  781. X2804 7555 moveto(two)s
  782. X
  783. X240 fnt33
  784. X3433 7552 moveto(2)s 
  785. X220 fnt13
  786. X5513 7555 moveto(three)s 
  787. X240 fnt33
  788. X6301 7552 moveto(3)s 
  789. X220 fnt13
  790. X8503 7555 moveto(four)s 
  791. X240 fnt33
  792. X9169 7552 moveto(4)s
  793. X
  794. X220 fnt13
  795. X2803 7267 moveto(\207ve)s 
  796. X240 fnt33
  797. X3433 7264 moveto(5)s 
  798. X220 fnt13
  799. X5745 7267 moveto(six)s 
  800. X240 fnt33
  801. X6301 7264 moveto(6)s 
  802. X220 fnt13
  803. X8295 7267 moveto(seven)s
  804. X
  805. X240 fnt33
  806. X9169 7264 moveto(7)s 
  807. X220 fnt13
  808. X2670 6979 moveto(eight)s 
  809. X240 fnt33
  810. X3433 6976 moveto(8)s 
  811. X220 fnt13
  812. X5599 6979 moveto(nine)s 
  813. X240 fnt33
  814. X6301 6976 moveto(9)s
  815. X
  816. X220 fnt13
  817. X8357 6979 moveto(colon)s 
  818. X240 fnt33
  819. X9169 6976 moveto(:)s 
  820. X220 fnt13
  821. X2158 6691 moveto(semicolon)s 
  822. X240 fnt33
  823. X3433 6688 moveto(;)s 
  824. X220 fnt13
  825. X5623 6691 moveto(less)s
  826. X
  827. X240 fnt33
  828. X6301 6688 moveto(<)s 
  829. X220 fnt13
  830. X8345 6691 moveto(equal)s 
  831. X240 fnt33
  832. X9169 6688 moveto(=)s 
  833. X220 fnt13
  834. X2450 6403 moveto(greater)s 
  835. X240 fnt33
  836. X3433 6400 moveto(>)s
  837. X
  838. X220 fnt13
  839. X5184 6403 moveto(question)s 
  840. X240 fnt33
  841. X6301 6400 moveto(?)s 
  842. X220 fnt13
  843. X7905 6403 moveto(congruent)s 
  844. X240 fnt33
  845. X9169 6400 moveto(@)s 
  846. X220 fnt13
  847. X2585 6115 moveto(Alpha)s
  848. X
  849. X240 fnt33
  850. X3433 6112 moveto(A)s 
  851. X220 fnt13
  852. X5562 6115 moveto(Beta)s 
  853. X240 fnt33
  854. X6301 6112 moveto(B)s 
  855. X220 fnt13
  856. X8553 6115 moveto(Chi)s 
  857. X240 fnt33
  858. X9169 6112 moveto(C)s
  859. X
  860. X220 fnt13
  861. X2634 5827 moveto(Delta)s 
  862. X240 fnt33
  863. X3433 5824 moveto(D)s 
  864. X220 fnt13
  865. X5295 5827 moveto(Epsilon)s 
  866. X240 fnt33
  867. X6301 5824 moveto(E)s 
  868. X220 fnt13
  869. X8565 5827 moveto(Phi)s
  870. X
  871. X240 fnt33
  872. X9169 5824 moveto(F)s 
  873. X220 fnt13
  874. X2364 5539 moveto(Gamma)s 
  875. X240 fnt33
  876. X3433 5536 moveto(G)s 
  877. X220 fnt13
  878. X5684 5539 moveto(Eta)s 
  879. X240 fnt33
  880. X6301 5536 moveto(H)s
  881. X
  882. X220 fnt13
  883. X8515 5539 moveto(Iota)s 
  884. X240 fnt33
  885. X9169 5536 moveto(I)s 
  886. X220 fnt13
  887. X2291 5251 moveto(thetaone)s 
  888. X240 fnt33
  889. X3433 5248 moveto(J)s 
  890. X220 fnt13
  891. X5379 5251 moveto(Kappa)s
  892. X
  893. X240 fnt33
  894. X6301 5248 moveto(K)s 
  895. X220 fnt13
  896. X8088 5251 moveto(Lambda)s 
  897. X240 fnt33
  898. X9169 5248 moveto(L)s 
  899. X220 fnt13
  900. X2840 4963 moveto(Mu)s 
  901. X240 fnt33
  902. X3433 4960 moveto(M)s
  903. X
  904. X220 fnt13
  905. X5733 4963 moveto(Nu)s 
  906. X240 fnt33
  907. X6301 4960 moveto(N)s 
  908. X220 fnt13
  909. X8052 4963 moveto(Omicron)s 
  910. X240 fnt33
  911. X9169 4960 moveto(O)s 
  912. X220 fnt13
  913. X2951 4675 moveto(Pi)s
  914. X
  915. X240 fnt33
  916. X3433 4672 moveto(P)s 
  917. X220 fnt13
  918. X5452 4675 moveto(Theta)s 
  919. X240 fnt33
  920. X6301 4672 moveto(Q)s 
  921. X220 fnt13
  922. X8479 4675 moveto(Rho)s 
  923. X240 fnt33
  924. X9169 4672 moveto(R)s
  925. X
  926. X220 fnt13
  927. X2524 4387 moveto(Sigma)s 
  928. X240 fnt33
  929. X3433 4384 moveto(S)s 
  930. X220 fnt13
  931. X5635 4387 moveto(Tau)s 
  932. X240 fnt33
  933. X6301 4384 moveto(T)s 
  934. X220 fnt13
  935. X8151 4387 moveto(Upsilon)s
  936. X
  937. X240 fnt33
  938. X9169 4384 moveto(U)s 
  939. X220 fnt13
  940. X2194 4099 moveto(sigmaone)s 
  941. X240 fnt33
  942. X3433 4096 moveto(V)s 
  943. X220 fnt13
  944. X5293 4099 moveto(Omega)s 
  945. X240 fnt33
  946. X6301 4096 moveto(W)s
  947. X
  948. X220 fnt13
  949. X8687 4099 moveto(Xi)s 
  950. X240 fnt33
  951. X9169 4096 moveto(X)s 
  952. X220 fnt13
  953. X2841 3811 moveto(Psi)s 
  954. X240 fnt33
  955. X3433 3808 moveto(Y)s 
  956. X220 fnt13
  957. X5574 3811 moveto(Zeta)s
  958. X
  959. X240 fnt33
  960. X6301 3808 moveto(Z)s 
  961. X220 fnt13
  962. X7869 3811 moveto(bracketleft)s 
  963. X240 fnt33
  964. X9169 3808 moveto([)s 
  965. X220 fnt13
  966. X2267 3523 moveto(therefore)s 
  967. X240 fnt33
  968. X3433 3520 moveto(\\)s
  969. X
  970. X220 fnt13
  971. X4867 3523 moveto(bracketright)s 
  972. X240 fnt33
  973. X6301 3520 moveto(])s 
  974. X220 fnt13
  975. X7553 3523 moveto(perpendicular)s 
  976. X240 fnt33
  977. X9169 3520 moveto(^)s 
  978. X220 fnt13
  979. X2047 3235 moveto(underscore)s
  980. X
  981. X240 fnt33
  982. X3433 3232 moveto(_)s 
  983. X220 fnt13
  984. X5136 3235 moveto(radicalex)s 
  985. X240 fnt33
  986. X6301 3232 moveto(`)s 
  987. X220 fnt13
  988. X8345 3235 moveto(alpha)s 
  989. X240 fnt33
  990. X9169 3232 moveto(a)s
  991. X
  992. X220 fnt13
  993. X2718 2947 moveto(beta)s 
  994. X240 fnt33
  995. X3433 2944 moveto(b)s 
  996. X220 fnt13
  997. X5733 2947 moveto(chi)s 
  998. X240 fnt33
  999. X6301 2944 moveto(c)s 
  1000. X220 fnt13
  1001. X8406 2947 moveto(delta)s
  1002. X
  1003. X240 fnt33
  1004. X9169 2944 moveto(d)s 
  1005. X220 fnt13
  1006. X2451 2659 moveto(epsilon)s 
  1007. X240 fnt33
  1008. X3433 2656 moveto(e)s 
  1009. X220 fnt13
  1010. X5721 2659 moveto(phi)s 
  1011. X240 fnt33
  1012. X6301 2656 moveto(f)s
  1013. X
  1014. X220 fnt13
  1015. X8149 2659 moveto(gamma)s 
  1016. X240 fnt33
  1017. X9169 2656 moveto(g)s 
  1018. X220 fnt13
  1019. X2840 2371 moveto(eta)s 
  1020. X240 fnt33
  1021. X3433 2368 moveto(h)s 
  1022. X220 fnt13
  1023. X5660 2371 moveto(iota)s
  1024. X
  1025. X240 fnt33
  1026. X6301 2368 moveto(i)s 
  1027. X220 fnt13
  1028. X8223 2371 moveto(phione)s 
  1029. X240 fnt33
  1030. X9169 2368 moveto(j)s 
  1031. X220 fnt13
  1032. X2547 2083 moveto(kappa)s 
  1033. X240 fnt33
  1034. X3433 2080 moveto(k)s
  1035. X
  1036. X220 fnt13
  1037. X5294 2083 moveto(lambda)s 
  1038. X240 fnt33
  1039. X6301 2080 moveto(l)s 
  1040. X220 fnt13
  1041. X8576 2083 moveto(mu)s 
  1042. X240 fnt33
  1043. X9169 2080 moveto(m)s 
  1044. X220 fnt13
  1045. X2901 1795 moveto(nu)s
  1046. X
  1047. X240 fnt33
  1048. X3433 1792 moveto(n)s 
  1049. X220 fnt13
  1050. X5233 1795 moveto(omicron)s 
  1051. X240 fnt33
  1052. X6301 1792 moveto(o)s 
  1053. X220 fnt13
  1054. X8711 1795 moveto(pi)s 
  1055. X240 fnt33
  1056. X9169 1792 moveto(p)s
  1057. X
  1058. X220 fnt13
  1059. X2657 1507 moveto(theta)s 
  1060. X240 fnt33
  1061. X3433 1504 moveto(q)s 
  1062. X220 fnt13
  1063. X5696 1507 moveto(rho)s 
  1064. X240 fnt33
  1065. X6301 1504 moveto(r)s 
  1066. X220 fnt13
  1067. X8296 1507 moveto(sigma)s
  1068. X
  1069. X240 fnt33
  1070. X9169 1504 moveto(s)s 
  1071. Xpgsave restore
  1072. Xshowpage
  1073. X
  1074. X%%Page: ? 13
  1075. X%%BeginPageSetup
  1076. X/pgsave save def
  1077. X0.0500 dup scale 10 setlinewidth
  1078. X%%EndPageSetup
  1079. X
  1080. X240 fnt34
  1081. X5694 15261 moveto(-)s 5833 x(12)s 6133 x(-)s 
  1082. X220 fnt13
  1083. X2840 14677 moveto(tau)s 
  1084. X240 fnt33
  1085. X3433 14674 moveto(t)s
  1086. X
  1087. X220 fnt13
  1088. X5319 14677 moveto(upsilon)s 
  1089. X240 fnt33
  1090. X6301 14674 moveto(u)s 
  1091. X220 fnt13
  1092. X7844 14677 moveto(omegaone)s 
  1093. X240 fnt33
  1094. X9169 14674 moveto(v)s 
  1095. X220 fnt13
  1096. X2474 14389 moveto(omega)s
  1097. X
  1098. X240 fnt33
  1099. X3433 14386 moveto(w)s 
  1100. X220 fnt13
  1101. X5855 14389 moveto(xi)s 
  1102. X240 fnt33
  1103. X6301 14386 moveto(x)s 
  1104. X220 fnt13
  1105. X8601 14389 moveto(psi)s 
  1106. X240 fnt33
  1107. X9169 14386 moveto(y)s
  1108. X
  1109. X220 fnt13
  1110. X2730 14101 moveto(zeta)s 
  1111. X240 fnt33
  1112. X3433 14098 moveto(z)s 
  1113. X220 fnt13
  1114. X5172 14101 moveto(braceleft)s 
  1115. X240 fnt33
  1116. X6301 14098 moveto({)s 
  1117. X220 fnt13
  1118. X8564 14101 moveto(bar)s
  1119. X
  1120. X240 fnt33
  1121. X9169 14098 moveto(|)s 
  1122. X220 fnt13
  1123. X2170 13813 moveto(braceright)s 
  1124. X240 fnt33
  1125. X3433 13810 moveto(})s 
  1126. X220 fnt13
  1127. X5381 13813 moveto(similar)s 
  1128. X240 fnt33
  1129. X6301 13810 moveto(~)s
  1130. X
  1131. X220 fnt13
  1132. X7785 13813 moveto(Upsilonone)s 
  1133. X240 fnt33
  1134. X9169 13810 moveto(\241)s 
  1135. X220 fnt13
  1136. X2487 13525 moveto(minute)s 
  1137. X240 fnt33
  1138. X3433 13522 moveto(\242)s 
  1139. X220 fnt13
  1140. X5087 13525 moveto(lessequal)s
  1141. X
  1142. X240 fnt33
  1143. X6301 13522 moveto(\243)s 
  1144. X220 fnt13
  1145. X8162 13525 moveto(fraction)s 
  1146. X240 fnt33
  1147. X9169 13522 moveto(\244)s 
  1148. X220 fnt13
  1149. X2524 13237 moveto(in\207nity)s 
  1150. X240 fnt33
  1151. X3433 13234 moveto(\245)s
  1152. X
  1153. X220 fnt13
  1154. X5538 13237 moveto(\210orin)s 
  1155. X240 fnt33
  1156. X6301 13234 moveto(\246)s 
  1157. X220 fnt13
  1158. X8479 13237 moveto(club)s 
  1159. X240 fnt33
  1160. X9169 13234 moveto(\247)s 
  1161. X220 fnt13
  1162. X2304 12949 moveto(diamond)s
  1163. X
  1164. X240 fnt33
  1165. X3433 12946 moveto(\250)s 
  1166. X220 fnt13
  1167. X5513 12949 moveto(heart)s 
  1168. X240 fnt33
  1169. X6301 12946 moveto(\251)s 
  1170. X220 fnt13
  1171. X8283 12949 moveto(spade)s 
  1172. X240 fnt33
  1173. X9169 12946 moveto(\252)s
  1174. X
  1175. X220 fnt13
  1176. X2170 12661 moveto(arrowboth)s 
  1177. X240 fnt33
  1178. X3433 12658 moveto(\253)s 
  1179. X220 fnt13
  1180. X5173 12661 moveto(arrowleft)s 
  1181. X240 fnt33
  1182. X6301 12658 moveto(\254)s 
  1183. X220 fnt13
  1184. X8089 12661 moveto(arrowup)s
  1185. X
  1186. X240 fnt33
  1187. X9169 12658 moveto(\255)s 
  1188. X220 fnt13
  1189. X2171 12373 moveto(arrowright)s 
  1190. X240 fnt33
  1191. X3433 12370 moveto(\256)s 
  1192. X220 fnt13
  1193. X4941 12373 moveto(arrowdown)s 
  1194. X240 fnt33
  1195. X6301 12370 moveto(\257)s
  1196. X
  1197. X220 fnt13
  1198. X8198 12373 moveto(degree)s 
  1199. X240 fnt33
  1200. X9169 12370 moveto(\260)s 
  1201. X220 fnt13
  1202. X2158 12085 moveto(plusminus)s 
  1203. X240 fnt33
  1204. X3433 12082 moveto(\261)s 
  1205. X220 fnt13
  1206. X5305 12085 moveto(second)s
  1207. X
  1208. X240 fnt33
  1209. X6301 12082 moveto(\262)s 
  1210. X220 fnt13
  1211. X7650 12085 moveto(greaterequal)s 
  1212. X240 fnt33
  1213. X9169 12082 moveto(\263)s 
  1214. X220 fnt13
  1215. X2403 11797 moveto(multiply)s 
  1216. X240 fnt33
  1217. X3433 11794 moveto(\264)s
  1218. X
  1219. X220 fnt13
  1220. X4856 11797 moveto(proportional)s 
  1221. X240 fnt33
  1222. X6301 11794 moveto(\265)s 
  1223. X220 fnt13
  1224. X7993 11797 moveto(partialdiff)s 
  1225. X240 fnt33
  1226. X9169 11794 moveto(\266)s 
  1227. X220 fnt13
  1228. X2622 11509 moveto(bullet)s
  1229. X
  1230. X240 fnt33
  1231. X3433 11506 moveto(\267)s 
  1232. X220 fnt13
  1233. X5441 11509 moveto(divide)s 
  1234. X240 fnt33
  1235. X6301 11506 moveto(\270)s 
  1236. X220 fnt13
  1237. X8040 11509 moveto(notequal)s 
  1238. X240 fnt33
  1239. X9169 11506 moveto(\271)s
  1240. X
  1241. X220 fnt13
  1242. X1975 11221 moveto(equivalence)s 
  1243. X240 fnt33
  1244. X3433 11218 moveto(\272)s 
  1245. X220 fnt13
  1246. X4806 11221 moveto(approxequal)s 
  1247. X240 fnt33
  1248. X6301 11218 moveto(\273)s 
  1249. X220 fnt13
  1250. X8225 11221 moveto(ellipsis)s
  1251. X
  1252. X240 fnt33
  1253. X9169 11218 moveto(\274)s 
  1254. X220 fnt13
  1255. X1999 10933 moveto(arrowvertex)s 
  1256. X240 fnt33
  1257. X3433 10930 moveto(\275)s 
  1258. X220 fnt13
  1259. X4758 10933 moveto(arrowhorizex)s 
  1260. X240 fnt33
  1261. X6301 10930 moveto(\276)s
  1262. X
  1263. X220 fnt13
  1264. X7516 10933 moveto(carriagereturn)s 
  1265. X240 fnt33
  1266. X9169 10930 moveto(\277)s 
  1267. X220 fnt13
  1268. X2609 10645 moveto(aleph)s 
  1269. X240 fnt33
  1270. X3433 10642 moveto(\300)s 
  1271. X220 fnt13
  1272. X5330 10645 moveto(Ifraktur)s
  1273. X
  1274. X240 fnt33
  1275. X6301 10642 moveto(\301)s 
  1276. X220 fnt13
  1277. X8101 10645 moveto(Rfraktur)s 
  1278. X240 fnt33
  1279. X9169 10642 moveto(\302)s 
  1280. X220 fnt13
  1281. X2036 10357 moveto(weierstrass)s 
  1282. X240 fnt33
  1283. X3433 10354 moveto(\303)s
  1284. X
  1285. X220 fnt13
  1286. X4760 10357 moveto(circlemultiply)s 
  1287. X240 fnt33
  1288. X6301 10354 moveto(\304)s 
  1289. X220 fnt13
  1290. X7968 10357 moveto(circleplus)s 
  1291. X240 fnt33
  1292. X9169 10354 moveto(\305)s 
  1293. X220 fnt13
  1294. X2254 10069 moveto(emptyset)s
  1295. X
  1296. X240 fnt33
  1297. X3433 10066 moveto(\306)s 
  1298. X220 fnt13
  1299. X4892 10069 moveto(intersection)s 
  1300. X240 fnt33
  1301. X6301 10066 moveto(\307)s 
  1302. X220 fnt13
  1303. X8345 10069 moveto(union)s 
  1304. X240 fnt33
  1305. X9169 10066 moveto(\310)s
  1306. X
  1307. X220 fnt13
  1308. X1669 9781 moveto(propersuperset)s 
  1309. X240 fnt33
  1310. X3433 9778 moveto(\311)s 
  1311. X220 fnt13
  1312. X4634 9781 moveto(re\210exsuperset)s 
  1313. X240 fnt33
  1314. X6301 9778 moveto(\312)s 
  1315. X220 fnt13
  1316. X7929 9781 moveto(notsubset)s
  1317. X
  1318. X240 fnt33
  1319. X9169 9778 moveto(\313)s 
  1320. X220 fnt13
  1321. X1864 9493 moveto(propersubset)s 
  1322. X240 fnt33
  1323. X3433 9490 moveto(\314)s 
  1324. X220 fnt13
  1325. X4829 9493 moveto(re\210exsubset)s 
  1326. X240 fnt33
  1327. X6301 9490 moveto(\315)s
  1328. X
  1329. X220 fnt13
  1330. X8101 9493 moveto(element)s 
  1331. X240 fnt33
  1332. X9169 9490 moveto(\316)s 
  1333. X220 fnt13
  1334. X2060 9205 moveto(notelement)s 
  1335. X240 fnt33
  1336. X3433 9202 moveto(\317)s 
  1337. X220 fnt13
  1338. X5477 9205 moveto(angle)s
  1339. X
  1340. X240 fnt33
  1341. X6301 9202 moveto(\320)s 
  1342. X220 fnt13
  1343. X8089 9205 moveto(gradient)s 
  1344. X240 fnt33
  1345. X9169 9202 moveto(\321)s 
  1346. X220 fnt13
  1347. X2000 8917 moveto(registerserif)s 
  1348. X240 fnt33
  1349. X3433 8914 moveto(\322)s
  1350. X
  1351. X220 fnt13
  1352. X4709 8917 moveto(copyrightserif)s 
  1353. X240 fnt33
  1354. X6301 8914 moveto(\323)s 
  1355. X220 fnt13
  1356. X7479 8917 moveto(trademarkserif)s 
  1357. X240 fnt33
  1358. X9169 8914 moveto(\324)s 
  1359. X220 fnt13
  1360. X2413 8629 moveto(product)s
  1361. X
  1362. X240 fnt33
  1363. X3433 8626 moveto(\325)s 
  1364. X220 fnt13
  1365. X5368 8629 moveto(radical)s 
  1366. X240 fnt33
  1367. X6301 8626 moveto(\326)s 
  1368. X220 fnt13
  1369. X8088 8629 moveto(dotmath)s 
  1370. X240 fnt33
  1371. X9169 8626 moveto(\327)s
  1372. X
  1373. X220 fnt13
  1374. X2220 8341 moveto(logicalnot)s 
  1375. X240 fnt33
  1376. X3433 8338 moveto(\330)s 
  1377. X220 fnt13
  1378. X5027 8341 moveto(logicaland)s 
  1379. X240 fnt33
  1380. X6301 8338 moveto(\331)s 
  1381. X220 fnt13
  1382. X8066 8341 moveto(logicalor)s
  1383. X
  1384. X240 fnt33
  1385. X9169 8338 moveto(\332)s 
  1386. X220 fnt13
  1387. X1878 8053 moveto(arrowdblboth)s 
  1388. X240 fnt33
  1389. X3433 8050 moveto(\333)s 
  1390. X220 fnt13
  1391. X4881 8053 moveto(arrowdblleft)s 
  1392. X240 fnt33
  1393. X6301 8050 moveto(\334)s
  1394. X
  1395. X220 fnt13
  1396. X7797 8053 moveto(arrowdblup)s 
  1397. X240 fnt33
  1398. X9169 8050 moveto(\335)s 
  1399. X220 fnt13
  1400. X1879 7765 moveto(arrowdblright)s 
  1401. X240 fnt33
  1402. X3433 7762 moveto(\336)s 
  1403. X220 fnt13
  1404. X4649 7765 moveto(arrowdbldown)s
  1405. X
  1406. X240 fnt33
  1407. X6301 7762 moveto(\337)s 
  1408. X220 fnt13
  1409. X8113 7765 moveto(lozenge)s 
  1410. X240 fnt33
  1411. X9169 7762 moveto(\340)s 
  1412. X220 fnt13
  1413. X2317 7477 moveto(angleleft)s 
  1414. X240 fnt33
  1415. X3433 7474 moveto(\341)s
  1416. X
  1417. X220 fnt13
  1418. X4818 7477 moveto(registersans)s 
  1419. X240 fnt33
  1420. X6301 7474 moveto(\342)s 
  1421. X220 fnt13
  1422. X7527 7477 moveto(copyrightsans)s 
  1423. X240 fnt33
  1424. X9169 7474 moveto(\343)s 
  1425. X220 fnt13
  1426. X1693 7189 moveto(trademarksans)s
  1427. X
  1428. X240 fnt33
  1429. X3433 7186 moveto(\344)s 
  1430. X220 fnt13
  1431. X4940 7189 moveto(summation)s 
  1432. X240 fnt33
  1433. X6301 7186 moveto(\345)s 
  1434. X220 fnt13
  1435. X7845 7189 moveto(parenlefttp)s 
  1436. X240 fnt33
  1437. X9169 7186 moveto(\346)s
  1438. X
  1439. X220 fnt13
  1440. X2060 6897 moveto(parenleftex)s 
  1441. X240 fnt33
  1442. X3433 6894 moveto(\347)s 
  1443. X220 fnt13
  1444. X4977 6897 moveto(parenleftbt)s 
  1445. X240 fnt33
  1446. X6301 6894 moveto(\350)s 
  1447. X220 fnt13
  1448. X7686 6897 moveto(bracketlefttp)s
  1449. X
  1450. X240 fnt33
  1451. X9169 6894 moveto(\351)s 
  1452. X220 fnt13
  1453. X1901 6605 moveto(bracketleftex)s 
  1454. X240 fnt33
  1455. X3433 6602 moveto(\352)s 
  1456. X220 fnt13
  1457. X4818 6605 moveto(bracketleftbt)s 
  1458. X240 fnt33
  1459. X6301 6602 moveto(\353)s
  1460. X
  1461. X220 fnt13
  1462. X7857 6605 moveto(bracelefttp)s 
  1463. X240 fnt33
  1464. X9169 6602 moveto(\354)s 
  1465. X220 fnt13
  1466. X1951 6317 moveto(braceleftmid)s 
  1467. X240 fnt33
  1468. X3433 6314 moveto(\355)s 
  1469. X220 fnt13
  1470. X4989 6317 moveto(braceleftbt)s
  1471. X
  1472. X240 fnt33
  1473. X6301 6314 moveto(\356)s 
  1474. X220 fnt13
  1475. X8100 6317 moveto(braceex)s 
  1476. X240 fnt33
  1477. X9169 6314 moveto(\357)s 
  1478. X220 fnt13
  1479. X2183 6029 moveto(angleright)s 
  1480. X240 fnt33
  1481. X3433 6026 moveto(\361)s
  1482. X
  1483. X220 fnt13
  1484. X5295 6029 moveto(integral)s 
  1485. X240 fnt33
  1486. X6301 6026 moveto(\362)s 
  1487. X220 fnt13
  1488. X7980 6029 moveto(integraltp)s 
  1489. X240 fnt33
  1490. X9169 6026 moveto(\363)s 
  1491. X220 fnt13
  1492. X2195 5741 moveto(integralex)s
  1493. X
  1494. X240 fnt33
  1495. X3433 5738 moveto(\364)s 
  1496. X220 fnt13
  1497. X5112 5741 moveto(integralbt)s 
  1498. X240 fnt33
  1499. X6301 5738 moveto(\365)s 
  1500. X220 fnt13
  1501. X7711 5741 moveto(parenrighttp)s 
  1502. X240 fnt33
  1503. X9169 5738 moveto(\366)s
  1504. X
  1505. X220 fnt13
  1506. X1926 5449 moveto(parenrightex)s 
  1507. X240 fnt33
  1508. X3433 5446 moveto(\367)s 
  1509. X220 fnt13
  1510. X4843 5449 moveto(parenrightbt)s 
  1511. X240 fnt33
  1512. X6301 5446 moveto(\370)s 
  1513. X220 fnt13
  1514. X7552 5449 moveto(bracketrighttp)s
  1515. X
  1516. X240 fnt33
  1517. X9169 5446 moveto(\371)s 
  1518. X220 fnt13
  1519. X1767 5157 moveto(bracketrightex)s 
  1520. X240 fnt33
  1521. X3433 5154 moveto(\372)s 
  1522. X220 fnt13
  1523. X4684 5157 moveto(bracketrightbt)s 
  1524. X240 fnt33
  1525. X6301 5154 moveto(\373)s
  1526. X
  1527. X220 fnt13
  1528. X7723 5157 moveto(bracerighttp)s 
  1529. X240 fnt33
  1530. X9169 5154 moveto(\374)s 
  1531. X220 fnt13
  1532. X1817 4869 moveto(bracerightmid)s 
  1533. X240 fnt33
  1534. X3433 4866 moveto(\375)s 
  1535. X220 fnt13
  1536. X4855 4869 moveto(bracerightbt)s
  1537. X
  1538. X240 fnt33
  1539. X6301 4866 moveto(\376)s 
  1540. X240 fnt34
  1541. X1417 4370 moveto(The)s 1835 x(names)s 2492 x(given)s 3070 x(are)s
  1542. X3407 x(the)s 3745 x(same)s 4282 x(as)s 4527 x(Adobe's)s 5384 x(except)s
  1543. X6054 x(in)s 6286 x(a)s 6438 x(few)s 6842 x(places)s 7485 x(where)s
  1544. X8115 x(the)s 8453 x(Adobe)s 9138 x(name)s 9702 x(contains)s 1417 4082 moveto(a)s
  1545. X1583 x(digit,)s 2141 x(which)s 2786 x(is)s 3005 x(not)s 3371 x(possible)s
  1546. X4215 x(in)s 4461 x(Lout.)s 
  1547. Xpgsave restore
  1548. Xshowpage
  1549. X
  1550. X%%Page: ? 14
  1551. X%%BeginPageSetup
  1552. X/pgsave save def
  1553. X0.0500 dup scale 10 setlinewidth
  1554. X%%EndPageSetup
  1555. X
  1556. X240 fnt34
  1557. X5694 15261 moveto(-)s 5833 x(13)s 6133 x(-)s 
  1558. X240 fnt36
  1559. X1417 14667 moveto(Appendix)s 2474 x(A.)s
  1560. X2827 x(Pas)s 3246 x(\211)s 3426 x(a)s 3606 x(Lout)s 4158 x(Package)s
  1561. X5069 x(for)s 5434 x(Printing)s 6343 x(Pascal)s 7054 x(Programs)s 
  1562. X240 fnt34
  1563. X1897 14190 moveto(Pas)s
  1564. X2330 x(is)s 2590 x(a)s 2797 x(package)s 3682 x(of)s 3982 x(de\207nitions)s
  1565. X5093 x(for)s 5472 x(printing)s 6330 x(Pascal)s 7041 x(programs)s 8045 x([)s
  1566. X8124 x(2)s 8244 x(])s 8424 x(neatly)s 9109 x(with)s 9635 x(the)s
  1567. X10028 x(Lout)s 1417 13902 moveto(document)s 2450 x(formatter)s 3426 x([)s 3505 x(4)s
  1568. X3625 x(].)s 3913 x(No)s 4295 x(attempt)s 5100 x(is)s 5348 x(made)s
  1569. X5955 x(to)s 6230 x(follow)s 6943 x(any)s 7378 x(particular)s 8381 x(printing)s
  1570. X9227 x(standard;)s 10192 x(the)s 1417 13614 moveto(design)s 2102 x(simply)s 2813 x(re\210ects)s
  1571. X3562 x(the)s 3914 x(author's)s 4757 x(taste.)s 1897 13240 moveto(The)s 2375 x(package)s
  1572. X3265 x(is)s 3530 x(so)s 3849 x(simple)s 4592 x(that)s 5056 x(there)s
  1573. X5639 x(is)s 5904 x(very)s 6435 x(little)s 6977 x(to)s 7269 x(say)s
  1574. X7694 x(about)s 8332 x(it.)s 8690 x(To)s 9062 x(use)s 9487 x(Pas,)s
  1575. X9985 x(place)s 
  1576. X220 fnt13
  1577. X1417 12948 moveto(@SysInclude { pas })s 
  1578. X240 fnt34
  1579. X3463 12952 moveto(in)s 3716 x(the)s 4075 x(setup)s
  1580. X4647 x(\207le,)s 5079 x(or)s 5345 x(type)s 
  1581. X220 fnt13
  1582. X5824 12948 moveto(-ipas)s 
  1583. X240 fnt34
  1584. X6366 12952 moveto(in)s
  1585. X6619 x(the)s 6978 x(command)s 7989 x(line.)s 8534 x(A)s 8774 x(Pascal)s
  1586. X9451 x(program)s 10328 x(is)s 1417 12664 moveto(entered)s 2182 x(like)s 2602 x(this,)s
  1587. X3069 x(where)s 3715 x(the)s 
  1588. X220 fnt13
  1589. X4069 12660 moveto(@ID)s 
  1590. X240 fnt34
  1591. X4573 12664 moveto(symbol)s 5340 x(from)s
  1592. X5866 x(the)s 6220 x(DocumentLayout)s 7957 x(package)s 8803 x([)s 8882 x(5)s
  1593. X9002 x(])s 9143 x(has)s 9524 x(been)s 10038 x(used)s 1417 12376 moveto(to)s
  1594. X1663 x(obtain)s 2321 x(an)s 2607 x(indented)s 3491 x(display:)s 
  1595. X220 fnt13
  1596. X1897 11875 moveto(@ID @Pas {)s
  1597. X1897 11587 moveto(procedure PriDelete\(x: PriEntry; var Q: PriorityQueue\);)s 1897 11299 moveto(    var i: integer;)s 1897 11011 moveto(begin)s 1897 10723 moveto(    with Q^ do begin)s 1897 10435 moveto(        size := size - 1;)s
  1598. X1897 10147 moveto(        if x^.back <= size then)s 1897 9859 moveto(        begin)s 1897 9571 moveto(            i := x^.back;)s 1897 9283 moveto(            A[i] := A[size + 1];)s 1897 8995 moveto(            A[i]^.back := i;)s
  1599. X1897 8707 moveto(            PriAddRoot\(i, Q\);)s 1897 8419 moveto(            PriAddLeaf\(i, Q\))s 1897 8131 moveto(        end)s 1897 7843 moveto(    end)s 1897 7555 moveto(end;)s
  1600. X1897 7267 moveto(})s 
  1601. X240 fnt34
  1602. X1417 6770 moveto(The)s 1849 x(result)s 2439 x(will)s 2870 x(come)s
  1603. X3448 x(out)s 3814 x(like)s 4232 x(this:)s 
  1604. X240 fnt36
  1605. X1897 6313 moveto(procedure)s 
  1606. X240 fnt35
  1607. X3006 6315 moveto(PriDelete)s
  1608. X
  1609. X240 fnt34
  1610. X3934 x(\()s 
  1611. X240 fnt35
  1612. X4013 x(x)s 
  1613. X240 fnt34
  1614. X4119 x(:)s 
  1615. X240 fnt35
  1616. X4245 x(PriEntry)s 
  1617. X240 fnt34
  1618. X5081 x(;)s
  1619. X
  1620. X240 fnt36
  1621. X5207 6313 moveto(var)s 
  1622. X240 fnt35
  1623. X5613 6315 moveto(Q)s 
  1624. X240 fnt34
  1625. X5786 x(:)s 
  1626. X240 fnt35
  1627. X5912 x(PriorityQueue)s 
  1628. X240 fnt34
  1629. X7293 x(\);)s
  1630. X
  1631. X240 fnt36
  1632. X2137 6025 moveto(var)s 
  1633. X240 fnt35
  1634. X2543 6027 moveto(i)s 
  1635. X240 fnt34
  1636. X2609 x(:)s 
  1637. X240 fnt35
  1638. X2735 x(integer)s 
  1639. X240 fnt34
  1640. X3412 x(;)s
  1641. X
  1642. X240 fnt36
  1643. X1897 5737 moveto(begin)s 2137 5449 moveto(with)s 
  1644. X240 fnt35
  1645. X2648 5451 moveto(Q)s 
  1646. X192 fnt33
  1647. X2821 5456 moveto(\255)s 
  1648. X240 fnt36
  1649. X2996 5449 moveto(do)s
  1650. X3309 x(begin)s 
  1651. X240 fnt35
  1652. X2377 5163 moveto(size)s 
  1653. X240 fnt34
  1654. X2795 x(:)s 
  1655. X240 fnt33
  1656. X2861 5149 moveto(=)s 
  1657. X240 fnt35
  1658. X3052 5163 moveto(size)s
  1659. X
  1660. X240 fnt33
  1661. X3470 5156 moveto(-)s 
  1662. X240 fnt34
  1663. X3661 5163 moveto(1;)s 
  1664. X240 fnt36
  1665. X2377 4873 moveto(if)s 
  1666. X240 fnt35
  1667. X2582 4875 moveto(x)s 
  1668. X192 fnt33
  1669. X2688 4880 moveto(\255)s
  1670. X
  1671. X240 fnt34
  1672. X2803 4875 moveto(.)s 
  1673. X240 fnt35
  1674. X2863 x(back)s 
  1675. X240 fnt33
  1676. X3375 4868 moveto(\243)s 
  1677. X240 fnt35
  1678. X3566 4875 moveto(size)s 
  1679. X240 fnt36
  1680. X3984 4873 moveto(then)s
  1681. X2377 4585 moveto(begin)s 
  1682. X240 fnt35
  1683. X2617 4299 moveto(i)s 
  1684. X240 fnt34
  1685. X2743 x(:)s 
  1686. X240 fnt33
  1687. X2809 4285 moveto(=)s 
  1688. X240 fnt35
  1689. X3000 4299 moveto(x)s
  1690. X
  1691. X192 fnt33
  1692. X3106 4304 moveto(\255)s 
  1693. X240 fnt34
  1694. X3221 4299 moveto(.)s 
  1695. X240 fnt35
  1696. X3281 x(back)s 
  1697. X240 fnt34
  1698. X3733 x(;)s 
  1699. X240 fnt35
  1700. X2617 4011 moveto(A)s
  1701. X
  1702. X240 fnt34
  1703. X2763 x([)s 
  1704. X240 fnt35
  1705. X2842 x(i)s 
  1706. X240 fnt34
  1707. X2908 x(])s 3047 x(:)s 
  1708. X240 fnt33
  1709. X3113 3997 moveto(=)s
  1710. X
  1711. X240 fnt35
  1712. X3304 4011 moveto(A)s 
  1713. X240 fnt34
  1714. X3450 x([)s 
  1715. X240 fnt35
  1716. X3529 x(size)s 
  1717. X240 fnt33
  1718. X3947 4004 moveto(+)s 
  1719. X240 fnt34
  1720. X4138 4011 moveto(1];)s
  1721. X
  1722. X240 fnt35
  1723. X2617 3723 moveto(A)s 
  1724. X240 fnt34
  1725. X2763 x([)s 
  1726. X240 fnt35
  1727. X2842 x(i)s 
  1728. X240 fnt34
  1729. X2908 x(])s 
  1730. X192 fnt33
  1731. X2987 3728 moveto(\255)s
  1732. X
  1733. X240 fnt34
  1734. X3102 3723 moveto(.)s 
  1735. X240 fnt35
  1736. X3162 x(back)s 
  1737. X240 fnt34
  1738. X3674 x(:)s 
  1739. X240 fnt33
  1740. X3740 3709 moveto(=)s 
  1741. X240 fnt35
  1742. X3931 3723 moveto(i)s
  1743. X
  1744. X240 fnt34
  1745. X3997 x(;)s 
  1746. X240 fnt35
  1747. X2617 3435 moveto(PriAddRoot)s 
  1748. X240 fnt34
  1749. X3760 x(\()s 
  1750. X240 fnt35
  1751. X3839 x(i)s 
  1752. X240 fnt34
  1753. X3905 x(,)s
  1754. X
  1755. X240 fnt35
  1756. X4025 x(Q)s 
  1757. X240 fnt34
  1758. X4198 x(\);)s 
  1759. X240 fnt35
  1760. X2617 3147 moveto(PriAddLeaf)s 
  1761. X240 fnt34
  1762. X3733 x(\()s 
  1763. X240 fnt35
  1764. X3812 x(i)s
  1765. X
  1766. X240 fnt34
  1767. X3878 x(,)s 
  1768. X240 fnt35
  1769. X3998 x(Q)s 
  1770. X240 fnt34
  1771. X4171 x(\))s 
  1772. X240 fnt36
  1773. X2377 2857 moveto(end)s 2137 2569 moveto(end)s
  1774. X1897 2281 moveto(end)s 
  1775. X240 fnt34
  1776. X2269 2283 moveto(;)s 1417 1798 moveto(Blank)s 2032 x(lines,)s 2586 x(line)s
  1777. X2987 x(breaks,)s 3714 x(indents)s 4448 x(and)s 4837 x(spaces)s 5504 x(in)s
  1778. X5733 x(the)s 6068 x(input)s 6603 x(are)s 6937 x(respected,)s 7942 x(with)s
  1779. X8410 x(a)s 8559 x(tab)s 8894 x(being)s 9469 x(considered)s 1417 1510 moveto(equal)s
  1780. X1999 x(to)s 2249 x(eight)s 2791 x(spaces.)s 
  1781. X220 fnt13
  1782. X3599 1506 moveto(@Pas)s 
  1783. X240 fnt34
  1784. X4264 1510 moveto(can)s
  1785. X4660 x(also)s 5109 x(be)s 5399 x(used)s 5902 x(within)s 6577 x(a)s
  1786. X6747 x(paragraph)s 7767 x(to)s 8017 x(produce)s 8852 x(Pascal)s 9526 x(fragments)s
  1787. X
  1788. Xpgsave restore
  1789. Xshowpage
  1790. X
  1791. X%%Page: ? 15
  1792. X%%BeginPageSetup
  1793. X/pgsave save def
  1794. X0.0500 dup scale 10 setlinewidth
  1795. X%%EndPageSetup
  1796. X
  1797. X240 fnt34
  1798. X5694 15261 moveto(-)s 5833 x(14)s 6133 x(-)s 1417 14674 moveto(like)s 
  1799. X240 fnt35
  1800. X1835 x(A)s
  1801. X
  1802. X240 fnt34
  1803. X1981 x([)s 
  1804. X240 fnt35
  1805. X2060 x(i)s 
  1806. X240 fnt34
  1807. X2126 x(..)s 
  1808. X240 fnt35
  1809. X2246 x(j)s 
  1810. X240 fnt34
  1811. X2312 x(])s
  1812. X2391 x(.)s 2571 x(Use)s 
  1813. X220 fnt13
  1814. X3003 14670 moveto(@OneCol @Pas { ... })s 
  1815. X240 fnt34
  1816. X5203 14674 moveto(to)s 5449 x(prevent)s
  1817. X6226 x(the)s 6578 x(result)s 7168 x(from)s 7692 x(breaking)s 8589 x(over)s
  1818. X9074 x(two)s 9493 x(lines.)s 
  1819. X220 fnt13
  1820. X1897 14296 moveto(@Pas)s 
  1821. X240 fnt34
  1822. X2558 14300 moveto(does)s 3057 x(not)s
  1823. X3423 x(attempt)s 4199 x(to)s 4445 x(rearrange)s 5406 x(the)s 5758 x(program)s
  1824. X6628 x(in)s 6874 x(any)s 7280 x(way.)s 7859 x(Each)s 8397 x(item)s
  1825. X8881 x(is)s 9100 x(simply)s 9811 x(printed)s 1417 14012 moveto(according)s 2420 x(to)s
  1826. X2666 x(the)s 3018 x(following)s 4008 x(plan:)s 
  1827. X220 fnt13
  1828. X1897 13507 moveto(and)s 
  1829. X240 fnt36
  1830. X3314 13509 moveto(and)s
  1831. X
  1832. X220 fnt13
  1833. X1897 13219 moveto(array)s 
  1834. X240 fnt36
  1835. X3314 13221 moveto(array)s 
  1836. X220 fnt13
  1837. X1897 12931 moveto(begin)s 
  1838. X240 fnt36
  1839. X3314 12933 moveto(begin)s 
  1840. X220 fnt13
  1841. X1897 12643 moveto(case)s
  1842. X
  1843. X240 fnt36
  1844. X3314 12645 moveto(case)s 
  1845. X220 fnt13
  1846. X1897 12355 moveto(const)s 
  1847. X240 fnt36
  1848. X3314 12357 moveto(const)s 
  1849. X220 fnt13
  1850. X1897 12067 moveto(div)s 
  1851. X240 fnt36
  1852. X3314 12069 moveto(div)s
  1853. X
  1854. X220 fnt13
  1855. X1897 11779 moveto(do)s 
  1856. X240 fnt36
  1857. X3314 11781 moveto(do)s 
  1858. X220 fnt13
  1859. X1897 11491 moveto(downto)s 
  1860. X240 fnt36
  1861. X3314 11493 moveto(downto)s 
  1862. X220 fnt13
  1863. X1897 11203 moveto(else)s
  1864. X
  1865. X240 fnt36
  1866. X3314 11205 moveto(else)s 
  1867. X220 fnt13
  1868. X1897 10915 moveto(end)s 
  1869. X240 fnt36
  1870. X3314 10917 moveto(end)s 
  1871. X220 fnt13
  1872. X1897 10627 moveto(\207le)s 
  1873. X240 fnt36
  1874. X3314 10629 moveto(\207le)s
  1875. X
  1876. X220 fnt13
  1877. X1897 10339 moveto(for)s 
  1878. X240 fnt36
  1879. X3314 10341 moveto(for)s 
  1880. X220 fnt13
  1881. X1897 10051 moveto(forward)s 
  1882. X240 fnt36
  1883. X3314 10053 moveto(forward)s 
  1884. X220 fnt13
  1885. X1897 9763 moveto(function)s
  1886. X
  1887. X240 fnt36
  1888. X3314 9765 moveto(function)s 
  1889. X220 fnt13
  1890. X1897 9475 moveto(goto)s 
  1891. X240 fnt36
  1892. X3314 9477 moveto(goto)s 
  1893. X220 fnt13
  1894. X1897 9187 moveto(if)s 
  1895. X240 fnt36
  1896. X3314 9189 moveto(if)s
  1897. X
  1898. X220 fnt13
  1899. X1897 8899 moveto(in)s 
  1900. X240 fnt36
  1901. X3314 8901 moveto(in)s 
  1902. X220 fnt13
  1903. X1897 8611 moveto(label)s 
  1904. X240 fnt36
  1905. X3314 8613 moveto(label)s 
  1906. X220 fnt13
  1907. X1897 8323 moveto(mod)s
  1908. X
  1909. X240 fnt36
  1910. X3314 8325 moveto(mod)s 
  1911. X220 fnt13
  1912. X1897 8035 moveto(nil)s 
  1913. X240 fnt36
  1914. X3314 8037 moveto(nil)s 
  1915. X220 fnt13
  1916. X1897 7747 moveto(not)s 
  1917. X240 fnt36
  1918. X3314 7749 moveto(not)s
  1919. X
  1920. X220 fnt13
  1921. X1897 7459 moveto(of)s 
  1922. X240 fnt36
  1923. X3314 7461 moveto(of)s 
  1924. X220 fnt13
  1925. X1897 7171 moveto(or)s 
  1926. X240 fnt36
  1927. X3314 7173 moveto(or)s 
  1928. X220 fnt13
  1929. X1897 6883 moveto(otherwise)s
  1930. X
  1931. X240 fnt36
  1932. X3314 6885 moveto(otherwise)s 
  1933. X220 fnt13
  1934. X1897 6595 moveto(packed)s 
  1935. X240 fnt36
  1936. X3314 6597 moveto(packed)s 
  1937. X220 fnt13
  1938. X1897 6307 moveto(procedure)s 
  1939. X240 fnt36
  1940. X3314 6309 moveto(procedure)s
  1941. X
  1942. X220 fnt13
  1943. X1897 6019 moveto(program)s 
  1944. X240 fnt36
  1945. X3314 6021 moveto(program)s 
  1946. X220 fnt13
  1947. X1897 5731 moveto(record)s 
  1948. X240 fnt36
  1949. X3314 5733 moveto(record)s 
  1950. X220 fnt13
  1951. X1897 5443 moveto(repeat)s
  1952. X
  1953. X240 fnt36
  1954. X3314 5445 moveto(repeat)s 
  1955. X220 fnt13
  1956. X1897 5155 moveto(set)s 
  1957. X240 fnt36
  1958. X3314 5157 moveto(set)s 
  1959. X220 fnt13
  1960. X1897 4867 moveto(then)s 
  1961. X240 fnt36
  1962. X3314 4869 moveto(then)s
  1963. X
  1964. X220 fnt13
  1965. X1897 4579 moveto(to)s 
  1966. X240 fnt36
  1967. X3314 4581 moveto(to)s 
  1968. X220 fnt13
  1969. X1897 4291 moveto(type)s 
  1970. X240 fnt36
  1971. X3314 4293 moveto(type)s 
  1972. X220 fnt13
  1973. X1897 4003 moveto(until)s
  1974. X
  1975. X240 fnt36
  1976. X3314 4005 moveto(until)s 
  1977. X220 fnt13
  1978. X1897 3715 moveto(var)s 
  1979. X240 fnt36
  1980. X3314 3717 moveto(var)s 
  1981. X220 fnt13
  1982. X1897 3427 moveto(while)s 
  1983. X240 fnt36
  1984. X3314 3429 moveto(while)s
  1985. X
  1986. X220 fnt13
  1987. X1897 3139 moveto(with)s 
  1988. X240 fnt36
  1989. X3314 3141 moveto(with)s 
  1990. X220 fnt13
  1991. X5866 13507 moveto(0)s 
  1992. X240 fnt34
  1993. X7283 13511 moveto(0)s 
  1994. X220 fnt13
  1995. X5866 13219 moveto(1)s
  1996. X
  1997. X240 fnt34
  1998. X7283 13223 moveto(1)s 
  1999. X220 fnt13
  2000. X5866 12931 moveto(2)s 
  2001. X240 fnt34
  2002. X7283 12935 moveto(2)s 
  2003. X220 fnt13
  2004. X5866 12643 moveto(3)s 
  2005. X240 fnt34
  2006. X7283 12647 moveto(3)s
  2007. X
  2008. X220 fnt13
  2009. X5866 12355 moveto(4)s 
  2010. X240 fnt34
  2011. X7283 12359 moveto(4)s 
  2012. X220 fnt13
  2013. X5866 12067 moveto(5)s 
  2014. X240 fnt34
  2015. X7283 12071 moveto(5)s 
  2016. X220 fnt13
  2017. X5866 11779 moveto(6)s
  2018. X
  2019. X240 fnt34
  2020. X7283 11783 moveto(6)s 
  2021. X220 fnt13
  2022. X5866 11491 moveto(7)s 
  2023. X240 fnt34
  2024. X7283 11495 moveto(7)s 
  2025. X220 fnt13
  2026. X5866 11203 moveto(8)s 
  2027. X240 fnt34
  2028. X7283 11207 moveto(8)s
  2029. X
  2030. X220 fnt13
  2031. X5866 10915 moveto(9)s 
  2032. X240 fnt34
  2033. X7283 10919 moveto(9)s 
  2034. X220 fnt13
  2035. X5866 10627 moveto(.)s 
  2036. X240 fnt34
  2037. X7283 10631 moveto(.)s 
  2038. X220 fnt13
  2039. X5866 10339 moveto(,)s
  2040. X
  2041. X240 fnt34
  2042. X7283 10343 moveto(,)s 
  2043. X220 fnt13
  2044. X5866 10051 moveto(:)s 
  2045. X240 fnt34
  2046. X7283 10055 moveto(:)s 
  2047. X220 fnt13
  2048. X5866 9763 moveto(;)s 
  2049. X240 fnt34
  2050. X7283 9767 moveto(;)s
  2051. X
  2052. X220 fnt13
  2053. X5866 9475 moveto(')s 
  2054. X240 fnt34
  2055. X7283 9479 moveto(')s 
  2056. X220 fnt13
  2057. X5866 9187 moveto(`)s 
  2058. X240 fnt34
  2059. X7283 9191 moveto(`)s 
  2060. X220 fnt13
  2061. X5866 8899 moveto(+)s
  2062. X
  2063. X240 fnt33
  2064. X7283 8896 moveto(+)s 
  2065. X220 fnt13
  2066. X5866 8611 moveto(-)s 
  2067. X240 fnt33
  2068. X7283 8608 moveto(-)s 
  2069. X220 fnt13
  2070. X5866 8323 moveto(*)s 
  2071. X240 fnt33
  2072. X7283 8320 moveto(*)s
  2073. X
  2074. X220 fnt13
  2075. X5866 8035 moveto(/)s 
  2076. X240 fnt34
  2077. X7283 8039 moveto(\217)s 
  2078. X220 fnt13
  2079. X5866 7747 moveto(\()s 
  2080. X240 fnt34
  2081. X7283 7751 moveto(\()s 
  2082. X220 fnt13
  2083. X5866 7459 moveto(\))s
  2084. X
  2085. X240 fnt34
  2086. X7283 7463 moveto(\))s 
  2087. X220 fnt13
  2088. X5866 7171 moveto([)s 
  2089. X240 fnt34
  2090. X7283 7175 moveto([)s 
  2091. X220 fnt13
  2092. X5866 6883 moveto(])s 
  2093. X240 fnt34
  2094. X7283 6887 moveto(])s
  2095. X
  2096. X220 fnt13
  2097. X5866 6595 moveto(^)s 
  2098. X192 fnt33
  2099. X7283 6604 moveto(\255)s 
  2100. X220 fnt13
  2101. X5866 6307 moveto(..)s 
  2102. X240 fnt34
  2103. X7283 6311 moveto(..)s 
  2104. X220 fnt13
  2105. X5866 6019 moveto(=)s
  2106. X
  2107. X240 fnt33
  2108. X7283 6016 moveto(=)s 
  2109. X220 fnt13
  2110. X5866 5731 moveto(<)s 
  2111. X240 fnt33
  2112. X7283 5728 moveto(<)s 
  2113. X220 fnt13
  2114. X5866 5443 moveto(>)s 
  2115. X240 fnt33
  2116. X7283 5440 moveto(>)s
  2117. X
  2118. X220 fnt13
  2119. X5866 5155 moveto(<>)s 
  2120. X240 fnt33
  2121. X7283 5152 moveto(\271)s 
  2122. X220 fnt13
  2123. X5866 4867 moveto(<=)s 
  2124. X240 fnt33
  2125. X7283 4864 moveto(\243)s 
  2126. X220 fnt13
  2127. X5866 4579 moveto(>=)s
  2128. X
  2129. X240 fnt33
  2130. X7283 4576 moveto(\263)s 
  2131. X220 fnt13
  2132. X5866 4291 moveto(:=)s 
  2133. X240 fnt34
  2134. X7283 4295 moveto(:)s 
  2135. X240 fnt33
  2136. X7349 4281 moveto(=)s 
  2137. X240 fnt34
  2138. X1417 2684 moveto(Anything)s
  2139. X2382 x(not)s 2748 x(mentioned)s 3818 x(here)s 4289 x(will)s 4720 x(appear)s
  2140. X5417 x(in)s 5663 x(italic)s 6199 x(font.)s 1897 2310 moveto(Pascal)s 2592 x(character)s
  2141. X3551 x(strings)s 4273 x(need)s 4810 x(a)s 5001 x(little)s 5522 x(attention)s
  2142. X6443 x(before)s 7138 x(formatting)s 8231 x(by)s 8556 x(Pas.)s 9093 x(Their)s
  2143. X9695 x(interiors)s 1417 2022 moveto(are)s 1775 x(best)s 2227 x(enclosed)s 3131 x(in)s
  2144. X3384 x(double)s 4103 x(quotes)s 4795 x(to)s 5048 x(prevent)s 5832 x(the)s
  2145. X6191 x(above)s 6830 x(transformations)s 8396 x(from)s 8927 x(occurring)s 9910 x(inside)s
  2146. X1417 1734 moveto(them.)s 2076 x(Any)s 
  2147. X220 fnt13
  2148. X2550 1730 moveto(\\)s 
  2149. X240 fnt34
  2150. X2672 1734 moveto(or)s 
  2151. X220 fnt13
  2152. X2932 1730 moveto(")s
  2153. X
  2154. X240 fnt34
  2155. X3071 1734 moveto(characters)s 4099 x(inside)s 4731 x(strings)s 5429 x(will)s 5861 x(need)s
  2156. X6374 x(to)s 6621 x(be)s 6908 x(replaced)s 7778 x(by)s 
  2157. X220 fnt13
  2158. X8079 1730 moveto(\\\\)s
  2159. X
  2160. X240 fnt34
  2161. X8262 1734 moveto(and)s 
  2162. X220 fnt13
  2163. X8669 1730 moveto(\\")s 
  2164. X240 fnt34
  2165. X8869 1734 moveto(respectively,)s 10144 x(and)s 
  2166. Xpgsave restore
  2167. Xshowpage
  2168. X
  2169. X%%Page: ? 16
  2170. X%%BeginPageSetup
  2171. X/pgsave save def
  2172. X0.0500 dup scale 10 setlinewidth
  2173. X%%EndPageSetup
  2174. X
  2175. X240 fnt34
  2176. X5694 15258 moveto(-)s 5833 x(15)s 6133 x(-)s 1417 14667 moveto(the)s 1769 x(opening)s
  2177. X2601 x(quote)s 3193 x(should)s 3892 x(be)s 4178 x(replaced)s 5047 x(by)s
  2178. X
  2179. X220 fnt13
  2180. X5347 14663 moveto(`)s 
  2181. X240 fnt34
  2182. X5395 14667 moveto(.)s 1897 14293 moveto(Similar)s 2672 x(remarks)s 3514 x(apply)s
  2183. X4119 x(to)s 4378 x(Pascal)s 5061 x(comments;)s 6183 x(don't)s 6761 x(forget)s
  2184. X7404 x(that)s 
  2185. X220 fnt13
  2186. X7835 14289 moveto({)s 
  2187. X240 fnt34
  2188. X7981 14293 moveto(and)s 
  2189. X220 fnt13
  2190. X8400 14289 moveto(})s 
  2191. X240 fnt34
  2192. X8546 14293 moveto(must)s
  2193. X9084 x(be)s 9383 x(enclosed)s 10293 x(in)s 1417 14005 moveto(double)s 2123 x(quotes.)s
  2194. X2922 x(Alternatively,)s 4296 x(a)s 
  2195. X220 fnt13
  2196. X4456 14001 moveto(@Com)s 
  2197. X240 fnt34
  2198. X5196 14005 moveto(symbol)s 5955 x(can)s
  2199. X6341 x(be)s 6621 x(placed)s 7299 x(in)s 7539 x(front)s 8057 x(of)s
  2200. X8310 x(a)s 8470 x(comment)s 9414 x(enclosed)s 10305 x(in)s 1417 13717 moveto(braces.)s
  2201. X2207 x(It)s 2412 x(will)s 2843 x(add)s 3249 x(literal)s 3864 x(braces:)s
  2202. X
  2203. X220 fnt13
  2204. X1897 13263 moveto(@Com { A Pascal comment })s 
  2205. X240 fnt34
  2206. X1417 12766 moveto(has)s 1796 x(result)s 1897 12312 moveto({)s 
  2207. X240 fnt35
  2208. X2072 x(A)s
  2209. X2278 x(Pascal)s 2989 x(comment)s 
  2210. X240 fnt34
  2211. X3913 x(})s 1417 11822 moveto(It)s 1622 x(may)s
  2212. X2094 x(still)s 2511 x(be)s 2797 x(necessary)s 3786 x(to)s 4032 x(enclose)s
  2213. X4809 x(the)s 5161 x(interior)s 5923 x(in)s 6169 x(double)s 6881 x(quotes.)s
  2214. X
  2215. X240 fnt36
  2216. X1417 11029 moveto(References)s 
  2217. X240 fnt34
  2218. X1417 10574 moveto(1.)s 1897 x(Adobe)s 2716 x(Systems,)s 3753 x(Inc.)s
  2219. X4118 x(,)s 
  2220. X240 fnt35
  2221. X4418 x(PostScript)s 5594 x(Language)s 6733 x(Reference)s 7868 x(Manual,)s
  2222. X8853 x(Second)s 9725 x(Edition)s 
  2223. X240 fnt34
  2224. X10429 x(.)s 1897 10286 moveto(Addison-Wesley)s 3505 x(,)s
  2225. X3625 x(1990)s 4105 x(.)s 1417 9782 moveto(2.)s 1897 x(Jensen,)s 2655 x(K.)s
  2226. X2948 x(and)s 3354 x(Wirth,)s 4031 x(N.)s 4264 x(,)s 
  2227. X240 fnt35
  2228. X4444 x(Pascal)s
  2229. X5155 x(User)s 5680 x(Manual)s 6485 x(and)s 6905 x(Report)s 
  2230. X240 fnt34
  2231. X7556 x(.)s
  2232. X7736 x(Springer-Verlag)s 9288 x(,)s 9408 x(1975)s 9888 x(.)s 1417 9280 moveto(3.)s
  2233. X1897 x(Kernighan,)s 3069 x(Brian)s 3702 x(W.)s 4090 x(and)s 4538 x(Cherry,)s
  2234. X5364 x(Lorinda)s 6223 x(L.)s 6429 x(,)s 6651 x(A)s 6926 x(system)s
  2235. X7692 x(for)s 8072 x(typesetting)s 9223 x(mathematics)s 10430 x(.)s 
  2236. X240 fnt35
  2237. X1897 8992 moveto(Communications)s
  2238. X3580 x(of)s 3826 x(the)s 4178 x(ACM)s 
  2239. X240 fnt36
  2240. X4743 8990 moveto(18)s 
  2241. X240 fnt34
  2242. X4983 8992 moveto(,)s
  2243. X5103 x(182\211193)s 6003 x(\()s 6082 x(1975)s 6562 x(\).)s 1417 8491 moveto(4.)s
  2244. X1897 x(Kingston,)s 2940 x(Jeffrey)s 3707 x(H.)s 3940 x(,)s 
  2245. X240 fnt35
  2246. X4165 x(Document)s
  2247. X5254 x(Formatting)s 6449 x(with)s 6966 x(Lout)s 7510 x(\(Second)s 8386 x(Edition\))s
  2248. X
  2249. X240 fnt34
  2250. X9169 x(.)s 9394 x(Tech.)s 10037 x(Rep.)s 1897 8203 moveto(449)s 2345 x(\()s
  2251. X2424 x(1992)s 2904 x(\),)s 3131 x(Basser)s 3856 x(Department)s 5072 x(of)s
  2252. X5359 x(Computer)s 6404 x(Science)s 7235 x(F09,)s 7756 x(University)s 8853 x(of)s
  2253. X9140 x(Sydney)s 9947 x(2006,)s 1897 7915 moveto(Australia)s 2772 x(.)s 1417 7459 moveto(5.)s
  2254. X1897 x(Kingston,)s 2961 x(Jeffrey)s 3749 x(H.)s 3982 x(,)s 
  2255. X240 fnt35
  2256. X4228 x(A)s
  2257. X4500 x(beginners')s 5649 x(guide)s 6307 x(to)s 6619 x(Lout)s 
  2258. X240 fnt34
  2259. X7058 x(.)s
  2260. X7304 x(Tech.)s 7968 x(Rep.)s 8540 x(450)s 9026 x(\()s 9105 x(1992)s
  2261. X9585 x(\),)s 9850 x(Basser)s 1897 7171 moveto(Department)s 3085 x(of)s 3344 x(Computer)s
  2262. X4361 x(Science)s 5164 x(F09,)s 5657 x(University)s 6726 x(of)s 6985 x(Sydney)s
  2263. X7764 x(2006,)s 8364 x(Australia)s 9239 x(.)s 1417 6668 moveto(6.)s 1897 x(Knuth,)s
  2264. X2616 x(Donald)s 3381 x(E.)s 3587 x(,)s 
  2265. X240 fnt35
  2266. X3767 x(The)s 4186 x(T)s
  2267. X4319 6620 moveto(E)s 4465 6668 moveto(XBook)s 
  2268. X240 fnt34
  2269. X5103 x(.)s 5283 x(Addison-Wesley)s 6891 x(,)s
  2270. X7011 x(1984)s 7491 x(.)s 
  2271. Xpgsave restore
  2272. Xshowpage
  2273. X%%Trailer
  2274. X%%DocumentNeededResources: font Helvetica
  2275. X%%+ font Symbol
  2276. X%%+ font Times-Roman
  2277. X%%+ font Times-Italic
  2278. X%%+ font Times-Bold
  2279. X%%Pages: 16
  2280. X%%EOF
  2281. END_OF_FILE
  2282.   if test 42604 -ne `wc -c <'doc/tr.eq/outfile.ps.C'`; then
  2283.     echo shar: \"'doc/tr.eq/outfile.ps.C'\" unpacked with wrong size!
  2284.   elif test -f 'doc/tr.eq/outfile.ps.A' && test -f 'doc/tr.eq/outfile.ps.B'; then
  2285.     echo shar: Combining  \"'doc/tr.eq/outfile.ps'\" \(148033 characters\)
  2286.     cat 'doc/tr.eq/outfile.ps.A' 'doc/tr.eq/outfile.ps.B' 'doc/tr.eq/outfile.ps.C' > 'doc/tr.eq/outfile.ps'
  2287.     if test 148033 -ne `wc -c <'doc/tr.eq/outfile.ps'`; then
  2288.       echo shar: \"'doc/tr.eq/outfile.ps'\" combined with wrong size!
  2289.     else
  2290.       rm doc/tr.eq/outfile.ps.A doc/tr.eq/outfile.ps.B doc/tr.eq/outfile.ps.C
  2291.     fi
  2292.   fi
  2293.   # end of 'doc/tr.eq/outfile.ps.C'
  2294. fi
  2295. if test -f 'z22.c' -a "${1}" != "-c" ; then 
  2296.   echo shar: Will not clobber existing file \"'z22.c'\"
  2297. else
  2298.   echo shar: Extracting \"'z22.c'\" \(28360 characters\)
  2299.   sed "s/^X//" >'z22.c' <<'END_OF_FILE'
  2300. X/*@z22.c:Galley Service:Interpose()@******************************************/
  2301. X/*                                                                           */
  2302. X/*  LOUT: A HIGH-LEVEL LANGUAGE FOR DOCUMENT FORMATTING (VERSION 2.05)       */
  2303. X/*  COPYRIGHT (C) 1993 Jeffrey H. Kingston                                   */
  2304. X/*                                                                           */
  2305. X/*  Jeffrey H. Kingston (jeff@cs.su.oz.au)                                   */
  2306. X/*  Basser Department of Computer Science                                    */
  2307. X/*  The University of Sydney 2006                                            */
  2308. X/*  AUSTRALIA                                                                */
  2309. X/*                                                                           */
  2310. X/*  This program is free software; you can redistribute it and/or modify     */
  2311. X/*  it under the terms of the GNU General Public License as published by     */
  2312. X/*  the Free Software Foundation; either version 1, or (at your option)      */
  2313. X/*  any later version.                                                       */
  2314. X/*                                                                           */
  2315. X/*  This program is distributed in the hope that it will be useful,          */
  2316. X/*  but WITHOUT ANY WARRANTY; without even the implied warranty of           */
  2317. X/*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            */
  2318. X/*  GNU General Public License for more details.                             */
  2319. X/*                                                                           */
  2320. X/*  You should have received a copy of the GNU General Public License        */
  2321. X/*  along with this program; if not, write to the Free Software              */
  2322. X/*  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.                */
  2323. X/*                                                                           */
  2324. X/*  FILE:         z22.c                                                      */
  2325. X/*  MODULE:       Galley Service                                             */
  2326. X/*  EXTERNS:      Interpose(), FlushInners(), ExpandRecursives(),            */
  2327. X/*                Promote(),K illGalley(), FreeGalley(),                     */
  2328. X/*                TargetSymbol(), CheckConstraint()                          */
  2329. X/*                                                                           */
  2330. X/*****************************************************************************/
  2331. X#include "externs"
  2332. X#define    LAST_ADJUST    1
  2333. X#define    ALL_ADJUST    2
  2334. X
  2335. X
  2336. X/*****************************************************************************/
  2337. X/*                                                                           */
  2338. X/*  Interpose(z, typ, x, y)                                                  */
  2339. X/*                                                                           */
  2340. X/*  Insert a new typ object above z.  Its sizes are to be taken from x       */
  2341. X/*  (column) and y (row).                                                    */
  2342. X/*                                                                           */
  2343. X/*****************************************************************************/
  2344. X
  2345. XInterpose(z, typ, x, y)
  2346. XOBJECT z;  int typ;  OBJECT x, y;
  2347. X{ OBJECT encl = New(typ);
  2348. X  FposCopy(fpos(encl), fpos(y));
  2349. X  ReplaceNode(encl, z);  Link(encl, z);
  2350. X  back(encl, COL) = back(x, COL);
  2351. X  fwd(encl, COL) = fwd(x, COL);
  2352. X  back(encl, ROW) = back(y, ROW);
  2353. X  fwd(encl, ROW) = fwd(y, ROW);
  2354. X} /* end Interpose */
  2355. X
  2356. X
  2357. X/*@::FlushInners()@***********************************************************/
  2358. X/*                                                                           */
  2359. X/*  FlushInners(inners, hd)                                                  */
  2360. X/*                                                                           */
  2361. X/*  Flush each galley on the list inners.  These have become flushable       */
  2362. X/*  by being promoted off the top of galley hd; if hd is the root galley,    */
  2363. X/*  identifiable by having PrintSym as target, do not flush inners at all.   */
  2364. X/*                                                                           */
  2365. X/*****************************************************************************/
  2366. X
  2367. XFlushInners(inners, hd)
  2368. XOBJECT inners, hd;
  2369. X{ OBJECT y, z, tmp, dest_index;
  2370. X
  2371. X  /* check for root galley case */
  2372. X  if( hd != nil )
  2373. X  { assert( Up(hd) != hd, "FlushInners: Up(hd)!" );
  2374. X    Parent(dest_index, Up(hd));
  2375. X    if( actual(actual(dest_index)) == PrintSym )
  2376. X    { DisposeObject(inners);
  2377. X      return;
  2378. X    }
  2379. X  }
  2380. X
  2381. X  while( Down(inners) != inners )
  2382. X  { Child(y, Down(inners));
  2383. X    DeleteLink(Down(inners));
  2384. X    switch( type(y) )
  2385. X    {
  2386. X
  2387. X      case DEAD:
  2388. X      
  2389. X    break;
  2390. X
  2391. X
  2392. X      case RECEIVING:
  2393. X      case UNATTACHED:
  2394. X      
  2395. X    assert( Down(y) != y, "FlushInners: UNATTACHED!");
  2396. X    Child(z, Down(y));
  2397. X    debug0(DGF, D, "  calling FlushGalley from FlushInners (a)");
  2398. X    FlushGalley(z);
  2399. X    break;
  2400. X
  2401. X
  2402. X      case PRECEDES:
  2403. X      
  2404. X    Child(tmp, Down(y));
  2405. X    if( Up(tmp) != LastUp(tmp) )
  2406. X    { Parent(tmp, LastUp(tmp));
  2407. X      assert(type(tmp)==FOLLOWS, "FlushInners: FOLLOWS!");
  2408. X      if( blocked(tmp) )
  2409. X      { blocked(tmp) = FALSE;
  2410. X        Parent(z, Up(tmp));
  2411. X        debug0(DGF, D, "  calling FlushGalley from FlushInners (b)");
  2412. X        FlushGalley(z);
  2413. X      }
  2414. X    }
  2415. X    break;
  2416. X
  2417. X
  2418. X      default:
  2419. X      
  2420. X    Error(INTERN,&fpos(y),"FlushInners %s", Image(type(y)));
  2421. X    break;
  2422. X    }
  2423. X  }
  2424. X  Dispose(inners);
  2425. X} /* end FlushInners */
  2426. X
  2427. X
  2428. X/*@::ExpandRecursives()@******************************************************/
  2429. X/*                                                                           */
  2430. X/*  ExpandRecursives(recs)                                                   */
  2431. X/*                                                                           */
  2432. X/*  Expand each of the recursive definite objects in the list recs.          */
  2433. X/*                                                                           */
  2434. X/*****************************************************************************/
  2435. X
  2436. XExpandRecursives(recs)
  2437. XOBJECT recs;
  2438. X{ CONSTRAINT non_c, hc, vc;
  2439. X  OBJECT target_index, target, z, n1, inners, newrecs, hd, tmp, env;
  2440. X  debug0(DCR, D, "ExpandRecursives(recs)");
  2441. X  SetConstraint(non_c, MAX_LEN, MAX_LEN, MAX_LEN);  n1 = nil;
  2442. X  assert(recs != nil, "ExpandRecursives: recs == nil!");
  2443. X  while( Down(recs) != recs )
  2444. X  { Child(target_index, Down(recs));  DeleteLink( Down(recs) );
  2445. X    assert( type(target_index) == RECURSIVE, "ExpandRecursives: index!" );
  2446. X    target = actual(target_index);
  2447. X    debug2(DCR, DD, "  expanding %s %s", Image(type(target_index)),
  2448. X      EchoObject(target));
  2449. X
  2450. X    /* expand body of target, convert to galley, and check size */
  2451. X    hd = New(HEAD);  actual(hd) = actual(target);  must_expand(hd) = TRUE;
  2452. X    whereto(hd) = ready_galls(hd) = nil;  backward(hd) = sized(hd) = FALSE;
  2453. X    tmp =  CopyObject(target, &fpos(target));  env = DetachEnv(tmp);
  2454. X    Link(hd, tmp);  Link(target_index, hd);
  2455. X    SizeGalley(hd, env, external(target), threaded(target), FALSE, FALSE,
  2456. X      &save_style(target), &non_c, nil, &n1, &newrecs, &inners);
  2457. X    debug0(DCR, DDD, "    as galley:");
  2458. X    ifdebug(DCR, DDD, DebugObject(hd));
  2459. X    Constrained(target, &hc, COL);
  2460. X    debug2(DSC, D, "Constrained( %s, COL ) = %s",
  2461. X      EchoObject(target), EchoConstraint(&hc));
  2462. X    debug3(DCR, DD, "    horizontal size: (%s, %s); constraint: %s",
  2463. X      EchoLength(back(hd, COL)), EchoLength(fwd(hd, COL)), EchoConstraint(&hc));
  2464. X    if( !FitsConstraint(back(hd, COL), fwd(hd, COL), hc) )
  2465. X    { DisposeChild(Up(hd));
  2466. X      if( inners != nil ) DisposeObject(inners);
  2467. X      if( newrecs != nil ) DisposeObject(newrecs);
  2468. X      DeleteNode(target_index);
  2469. X      debug0(DCR, DD, "    rejecting (too wide)");
  2470. X      continue;
  2471. X    }
  2472. X    if( !external(target) )
  2473. X    { Constrained(target, &vc, ROW);
  2474. X      debug2(DSC, D, "Constrained( %s, ROW ) = %s",
  2475. X    EchoObject(target), EchoConstraint(&vc));
  2476. X      Child(z, LastDown(hd));
  2477. X      debug3(DCR, DD, "    vsize: (%s, %s); constraint: %s",
  2478. X    EchoLength(back(z, ROW)), EchoLength(fwd(z, ROW)), EchoConstraint(&vc));
  2479. X      if( !FitsConstraint(back(z, ROW), fwd(z, ROW), vc) )
  2480. X      {    DisposeChild(Up(hd));
  2481. X    if( inners != nil ) DisposeObject(inners);
  2482. X    if( newrecs != nil ) DisposeObject(newrecs);
  2483. X    DeleteNode(target_index);
  2484. X    debug0(DCR, DD, "    rejecting (too high)");
  2485. X    continue;
  2486. X      }
  2487. X    }
  2488. X
  2489. X    /* object fits; adjust sizes and promote */
  2490. X    debug0(DSA, D, "calling AdjustSize from ExpandRecursives (a)");
  2491. X    AdjustSize(target, back(hd, COL), fwd(hd, COL), COL);
  2492. X    if( !external(target) )
  2493. X    { debug0(DSA, D, "calling AdjustSize from ExpandRecursives (b)");
  2494. X      AdjustSize(target, back(z, ROW), fwd(z, ROW), ROW);
  2495. X      Interpose(target, VCAT, z, z);
  2496. X    }
  2497. X    Promote(hd, hd, target_index);  DeleteNode(hd);
  2498. X    DeleteNode(target_index);
  2499. X    if( inners != nil )  FlushInners(inners, nil);
  2500. X    if( newrecs != nil )  MergeNode(recs, newrecs);
  2501. X  } /* end while */
  2502. X  Dispose(recs);
  2503. X  debug0(DCR, D, "ExpandRecursives returning.");
  2504. X} /* end ExpandRecursives */
  2505. X
  2506. X/*@::FindSplitInGalley()@*****************************************************/
  2507. X/*                                                                           */
  2508. X/*  static OBJECT FindSplitInGalley(hd)                                      */
  2509. X/*                                                                           */
  2510. X/*  Search simply joined galley hd for a SPLIT object, which must be there.  */
  2511. X/*                                                                           */
  2512. X/*****************************************************************************/
  2513. X
  2514. Xstatic OBJECT FindSplitInGalley(hd)
  2515. XOBJECT hd;
  2516. X{ OBJECT link, y;
  2517. X  debug0(DGF, D, "FindSplitInGalley(hd)");
  2518. X  for( link = Down(hd);  link != hd;  link = NextDown(link) )
  2519. X  { Child(y, link);
  2520. X    if( is_definite(type(y)) )  break;
  2521. X  }
  2522. X  if( link == hd )
  2523. X  { debug0(DGF, D, "FindSplitInGalley failing, no definite component; hd =");
  2524. X    ifdebug(DGF, D, DebugObject(hd));
  2525. X    Error(INTERN, &fpos(hd), "missing galley component");
  2526. X  }
  2527. X  while( type(y) != SPLIT )  switch( type(y) )
  2528. X  {
  2529. X    case VCAT:
  2530. X    case ONE_ROW:
  2531. X    case WIDE:
  2532. X    case HIGH:
  2533. X    case VCONTRACT:
  2534. X    case VEXPAND:
  2535. X    case PADJUST:
  2536. X    case VADJUST:
  2537. X
  2538. X      Child(y, Down(y));
  2539. X      break;
  2540. X
  2541. X
  2542. X    case CLOSURE:
  2543. X    case NULL_CLOS:
  2544. X    case HCAT:
  2545. X    case WORD:
  2546. X    case QWORD:
  2547. X    case ACAT:
  2548. X    case ROW_THR:
  2549. X    case COL_THR:
  2550. X    case ONE_COL:
  2551. X    case SCALE:
  2552. X    case HSCALE:
  2553. X    case VSCALE:
  2554. X    case HCONTRACT:
  2555. X    case HEXPAND:
  2556. X    case HADJUST:
  2557. X    case ROTATE:
  2558. X    case INCGRAPHIC:
  2559. X    case SINCGRAPHIC:
  2560. X    case GRAPHIC:
  2561. X
  2562. X      debug0(DGF, D, "FindSplitInGalley(hd) failing, hd =");
  2563. X      ifdebug(DGF, D, DebugObject(hd));
  2564. X      Error(INTERN, &fpos(y), "FindSplitInGalley failed", Image(type(y)));
  2565. X      break;
  2566. X
  2567. X
  2568. X    default:
  2569. X    
  2570. X      Error(INTERN, &fpos(y), "FindSplitInGalley found %s", Image(type(y)));
  2571. X      break;
  2572. X
  2573. X  }
  2574. X  debug0(DGF, D, "FindSplitInGalley returning.");
  2575. X  return y;
  2576. X} /* end FindSplitInGalley */
  2577. X
  2578. X/*@::Promote()@***************************************************************/
  2579. X/*                                                                           */
  2580. X/*  Promote(x, stop_link, dest_index)                                        */
  2581. X/*                                                                           */
  2582. X/*  Promote components of galley x into its destination (dest), up to but    */
  2583. X/*  not including the one linked to x by link stop_link, which always        */
  2584. X/*  follows a component.  No size adjustments are made, except that when     */
  2585. X/*  two col_thr nodes are merged, a COL adjustment is made to the result.    */
  2586. X/*                                                                           */
  2587. X/*****************************************************************************/
  2588. X
  2589. XPromote(x, stop_link, dest_index)
  2590. XOBJECT x, stop_link, dest_index;
  2591. X{
  2592. X  /* these four variables refer to the root galley only */
  2593. X  static BOOLEAN first = TRUE;    /* TRUE when the first component not written */
  2594. X  static int    prec_back;    /* back value of preceding component         */
  2595. X  static int    prec_fwd;    /* fwd value of preceding component          */
  2596. X  static GAP    prec_gap;    /* preceding gap                             */
  2597. X
  2598. X  OBJECT dest, link, y, z, tmp1, tmp2;
  2599. X  int dim;
  2600. X  debug1(DGS, D, "Promote(%s, stop_link)", SymName(actual(x)));
  2601. X
  2602. X  assert( type(x) == HEAD, "Promote: x!" );
  2603. X  assert( type(stop_link) == LINK || stop_link == x, "Promote: stop_link!" );
  2604. X  assert( stop_link != Down(x), "Promote: stop_link == Down(x)!" );
  2605. X  type(dest_index) = RECEIVING;
  2606. X  dest = actual(dest_index);
  2607. X
  2608. X  /* insert final gap if galley is ending */
  2609. X  if( stop_link != x )
  2610. X  { Child(y, stop_link);
  2611. X    assert( type(y) == GAP_OBJ, "Promote: missing GAP_OBJ!" );
  2612. X    stop_link = NextDown(stop_link);
  2613. X  }
  2614. X  else
  2615. X  { y = New(GAP_OBJ);
  2616. X    FposCopy(fpos(y), fpos(x));
  2617. X    hspace(y) = 0;  vspace(y) = 1;
  2618. X    ClearGap(gap(y));
  2619. X    Link(stop_link, y);
  2620. X  }
  2621. X
  2622. X  /* error if promoting a seen_nojoin galley into a threaded destination */
  2623. X  if( seen_nojoin(x) && threaded(dest) )
  2624. X    Error(FATAL, &fpos(x), "galley %s must have a single column mark",
  2625. X    SymName(actual(x)));
  2626. X  if( seen_nojoin(x) )  join(gap(y)) = FALSE; /* to make nojoin status clear */
  2627. X
  2628. X  /* if promoting out of root galley, do special things */
  2629. X  if( actual(dest) == PrintSym )
  2630. X  { CONSTRAINT c;
  2631. X    link = x;
  2632. X    while( NextDown(link) != stop_link )
  2633. X    { Child(y, NextDown(link));
  2634. X      debug1(DGS, D, "root promote %s", EchoObject(y));
  2635. X      if( type(y) == SPLIT )  Child(y, DownDim(y, ROW));
  2636. X      switch( type(y) )
  2637. X      {
  2638. X
  2639. X    case PRECEDES:
  2640. X      
  2641. X      DisposeChild(NextDown(link));
  2642. X      break;
  2643. X    
  2644. X
  2645. X    case UNATTACHED:
  2646. X      
  2647. X      assert( Down(y) != y, "FlushRootGalley: UNATTACHED!" );
  2648. X      Child(z, Down(y));
  2649. X      assert( type(z) == HEAD, "FlushRootGalley: unattached HEAD!" );
  2650. X      if( sized(z) )
  2651. X      {
  2652. X        /* galley is part flushed, leave it here */
  2653. X        link = NextDown(link);
  2654. X      }
  2655. X      else if( backward(z) )
  2656. X      {
  2657. X        /* galley is preceding, send to CrossSequence */
  2658. X        OBJECT t;
  2659. X        type(y) = GALL_PREC;
  2660. X        Child(t, Down(z));
  2661. X        actual(y) = CrossMake(whereto(z), t, GALL_PREC);
  2662. X        DisposeChild(Down(y));
  2663. X        CrossSequence(actual(y));
  2664. X        DisposeChild(NextDown(link));
  2665. X      }
  2666. X      else
  2667. X      {
  2668. X        /* galley was never attached, print message and kill it */
  2669. X        Error(WARN, &fpos(z), "Galley %s deleted - never attached",
  2670. X            SymName(actual(z)));
  2671. X        KillGalley(z);
  2672. X      }
  2673. X      break;
  2674. X
  2675. X
  2676. X    case EXPAND_IND:
  2677. X      
  2678. X      /* expand @HExpand or @VExpand to occupy everything possible */
  2679. X      dim = type(actual(y)) == HEXPAND ? COL : ROW;
  2680. X          debug1(DGP, D, " flushing %s", EchoObject(y));
  2681. X      Constrained(actual(y), &c, dim);
  2682. X      if( constrained(c) )
  2683. X      { LENGTH b = back(actual(y), dim);
  2684. X        LENGTH f = fwd(actual(y), dim);
  2685. X        EnlargeToConstraint(&b, &f, &c);
  2686. X        debug2(DGP, D, "FlushRoot call AdjustSize(x, %s,%s, dim)",
  2687. X            EchoLength(b), EchoLength(f));
  2688. X        debug1(DSA, D, "Promote %s AdjustSize", Image(type(actual(y))));
  2689. X        AdjustSize(actual(y), b, f, dim);
  2690. X      }
  2691. X      DisposeChild(NextDown(link));
  2692. X      break;
  2693. X
  2694. X
  2695. X    case GALL_PREC:
  2696. X    case GALL_FOLL:
  2697. X    case GALL_TARG:
  2698. X    case CROSS_PREC:
  2699. X    case CROSS_FOLL:
  2700. X    case CROSS_TARG:
  2701. X          
  2702. X      CrossSequence(actual(y));
  2703. X      DisposeChild(NextDown(link));
  2704. X      break;
  2705. X
  2706. X
  2707. X    case WORD:
  2708. X    case QWORD:
  2709. X    case ONE_COL:
  2710. X    case ONE_ROW:
  2711. X    case WIDE:
  2712. X    case HIGH:
  2713. X    case HSCALE:
  2714. X    case VSCALE:
  2715. X    case HCONTRACT:
  2716. X    case VCONTRACT:
  2717. X    case HEXPAND:
  2718. X    case VEXPAND:
  2719. X    case PADJUST:
  2720. X    case HADJUST:
  2721. X    case VADJUST:
  2722. X    case ROTATE:
  2723. X    case SCALE:
  2724. X    case INCGRAPHIC:
  2725. X    case SINCGRAPHIC:
  2726. X    case GRAPHIC:
  2727. X    case ACAT:
  2728. X    case HCAT:
  2729. X    case ROW_THR:
  2730. X
  2731. X    case CLOSURE:
  2732. X    case NULL_CLOS:
  2733. X    case CROSS:
  2734. X
  2735. X      /* print this component */
  2736. X      debug0(DCR, D, "Promote --");
  2737. X      if( !is_indefinite(type(y)) && size(y, ROW) != 0 )
  2738. X      {
  2739. X        /* move down as specified by the gap */
  2740. X        if( first )
  2741. X        { PrintPrologue(size(x, COL), size(y, ROW));
  2742. X          first = FALSE;
  2743. X        }
  2744. X        else PrintOriginIncrement(prec_back - back(y, ROW)
  2745. X              + MinGap(prec_fwd, back(y, ROW), fwd(y, ROW), &prec_gap));
  2746. X        debug1(DGF,D, "  Promote calling FixAndPrint %s", Image(type(y)));
  2747. X        FixAndPrintObject(y, back(x, COL), back(x, COL), fwd(x, COL),
  2748. X          COL, LAST_ADJUST, FALSE, LAST_ADJUST, 0, 0);
  2749. X        FixAndPrintObject(y, back(y,ROW), back(y, ROW), fwd(y, ROW),
  2750. X          ROW, LAST_ADJUST, FALSE, LAST_ADJUST, size(y,ROW), 0);
  2751. X        prec_back = back(y, ROW);  prec_fwd = fwd(y, ROW);
  2752. X      }
  2753. X      DisposeChild(NextDown(link));
  2754. X      break;
  2755. X
  2756. X
  2757. X    case GAP_OBJ:
  2758. X
  2759. X      GapCopy(prec_gap, gap(y));
  2760. X      DisposeChild(NextDown(link));
  2761. X      break;
  2762. X
  2763. X
  2764. X    default:
  2765. X      
  2766. X      Error(INTERN, &fpos(y), "Promote (root): %s", Image(type(y)));
  2767. X      break;
  2768. X    
  2769. X      }
  2770. X    }
  2771. X    debug0(DGS, D, "Promote returning (root galley).");
  2772. X    return;
  2773. X  }
  2774. X
  2775. X  /* prepare the promotion */
  2776. X  if( external(dest) )
  2777. X  { if( threaded(dest) )
  2778. X    { Parent(tmp1, UpDim(dest, COL));
  2779. X      assert( type(tmp1) == COL_THR, "Promote: tmp1 not COL_THR!" );
  2780. X      y = FindSplitInGalley(x);
  2781. X      assert( type(y) == SPLIT, "Promote: FindSplitInGalley!" );
  2782. X      Child(tmp2, DownDim(y, COL));
  2783. X      assert( type(tmp2) == COL_THR, "Promote: tmp2 not COL_THR!" );
  2784. X      if( tmp1 != tmp2 )
  2785. X      { LENGTH b = max(back(tmp1, COL), back(tmp2, COL));
  2786. X    LENGTH f = max(fwd(tmp1, COL),  fwd(tmp2, COL));
  2787. X    debug0(DSA, D, "calling AdjustSize(tmp1) from Promote (node merging)");
  2788. X    AdjustSize(tmp1, b, f, COL);
  2789. X    debug0(DSA, D, "calling AdjustSize(tmp2) from Promote (node merging)");
  2790. X    AdjustSize(tmp2, b, f, COL);
  2791. X    MergeNode(tmp1, tmp2);
  2792. X      }
  2793. X    }
  2794. X    link = Up(dest_index);
  2795. X  }
  2796. X  else
  2797. X  { for( link = x;  NextDown(link) != stop_link;  )
  2798. X    { Child(y, NextDown(link));
  2799. X      if( is_index(type(y)) )  MoveLink(NextDown(link), Up(dest_index), PARENT);
  2800. X      else link = NextDown(link);
  2801. X    }
  2802. X    assert( Down(x) != stop_link, "Promote: Down(x) == stop_link!" );
  2803. X    assert( UpDim(dest, ROW) == UpDim(dest, COL), "Promote: dims!" );
  2804. X    link = Up(dest);
  2805. X  }
  2806. X  
  2807. X  /* promote components */
  2808. X  TransferLinks(Down(x), stop_link, link);
  2809. X
  2810. X  debug0(DGS, D, "Promote returning.");
  2811. X} /* end Promote */
  2812. X
  2813. X
  2814. X/*@::MakeDead(), KillGalley()@************************************************/
  2815. X/*                                                                           */
  2816. X/*  static MakeDead(y)                                                       */
  2817. X/*                                                                           */
  2818. X/*  Convert object y into a DEAD object and remove it to the dead store.     */
  2819. X/*                                                                           */
  2820. X/*****************************************************************************/
  2821. X
  2822. Xstatic MakeDead(y)
  2823. XOBJECT y;
  2824. X{ static int    dead_count = 0;        /* number of DEAD objects seen       */
  2825. X  static OBJECT    dead_store = nil;    /* where DEAD objects are kept       */
  2826. X
  2827. X  debug1(DGS, DDD, "MakeDead( %s )", Image(type(y)));
  2828. X  if( dead_store == nil )  dead_store = New(ACAT);
  2829. X  type(y) = DEAD;
  2830. X  MoveLink(Up(y), dead_store, PARENT);
  2831. X  if( dead_count >= 100 )  DisposeChild(Down(dead_store));
  2832. X  else dead_count++;
  2833. X  debug1(DGS, DDD, "MakeDead returning (dead_count = %d).", dead_count);
  2834. X} /* end MakeDead */
  2835. X
  2836. X
  2837. X/*****************************************************************************/
  2838. X/*                                                                           */
  2839. X/*  KillGalley(hd)                                                           */
  2840. X/*                                                                           */
  2841. X/*  Kill galley hd, which may be sized or unsized.  The index of hd must     */
  2842. X/*  be UNATTACHED; it is moved out of its present location to a secret spot. */
  2843. X/*                                                                           */
  2844. X/*****************************************************************************/
  2845. X
  2846. XKillGalley(hd)
  2847. XOBJECT hd;
  2848. X{ OBJECT prnt, link, y, z;
  2849. X  debug2(DGA, D, "[ KillGalley(Galley %s into %s)",
  2850. X    SymName(actual(hd)), SymName(whereto(hd)));
  2851. X  assert( type(hd) == HEAD && Up(hd) != hd, "KillGalley: precondition!" );
  2852. X  Parent(prnt, Up(hd));
  2853. X  assert( type(prnt) == UNATTACHED, "KillGalley: UNATTACHED precondition!" );
  2854. X  assert( Up(prnt) != prnt, "KillGalley: prnt!" );
  2855. X
  2856. X  if( ready_galls(hd) != nil )
  2857. X  { DisposeObject(ready_galls(hd));
  2858. X    ready_galls(hd) = nil;
  2859. X  }
  2860. X  for( link = hd; NextDown(link) != hd; )
  2861. X  { Child(y, NextDown(link));
  2862. X    switch( type(y) )
  2863. X    {
  2864. X      case RECEIVING:    while( Down(y) != y )
  2865. X            { Child(z, Down(y));
  2866. X              DetachGalley(z);
  2867. X            }
  2868. X            DeleteNode(y);
  2869. X            break;
  2870. X        
  2871. X      case RECEPTIVE:    assert( Down(y) == y, "KillGalley: RECEPTIVE!" );
  2872. X            DeleteNode(y);
  2873. X            break;
  2874. X
  2875. X      case UNATTACHED:    assert( Down(y) != y, "KillGalley: UNATTACHED!" );
  2876. X            Child(z, Down(y));  KillGalley(z);
  2877. X            break;
  2878. X
  2879. X      case HEAD:    Error(INTERN, &fpos(y), "KillGalley: HEAD!");
  2880. X            break;
  2881. X
  2882. X      default:        DisposeChild(NextDown(link));
  2883. X            break;
  2884. X    }
  2885. X  }
  2886. X
  2887. X  /* move index into dead_store */
  2888. X  MakeDead(prnt);
  2889. X  debug0(DGA, D, "] KillGalley returning.");
  2890. X} /* end KillGalley */
  2891. X
  2892. X
  2893. X/*@::FreeGalley()@************************************************************/
  2894. X/*                                                                           */
  2895. X/*  FreeGalley(hd, stop_link, inners, relocate_link, sym)                    */
  2896. X/*                                                                           */
  2897. X/*  Free galley hd up to but not including stop_link.  *Inners is well-      */
  2898. X/*  defined, either nil or an ACAT of galleys to be flushed.                 */
  2899. X/*                                                                           */
  2900. X/*  Relocate_link defines what to do any galley attached to one of the       */
  2901. X/*  freed targets.  If it is non-nil, galley hd is searched onwards from     */
  2902. X/*  it to see if a target can be found there.  If so, the galley is          */
  2903. X/*  relocated to just before that point.  If not, or if relocate_link is     */
  2904. X/*  nil, the galley is freed and added to *inners for flushing.  If the      */
  2905. X/*  whereto() of such galley is sym, it is freed, not relocated, because the */
  2906. X/*  cause of this call to FreeGalley is also targeted to sym, and it will    */
  2907. X/*  consume all possible targets of sym.                                     */
  2908. X/*                                                                           */
  2909. X/*****************************************************************************/
  2910. X
  2911. XFreeGalley(hd, stop_link, inners, relocate_link, sym)
  2912. XOBJECT hd, stop_link, *inners, relocate_link, sym;
  2913. X{ OBJECT link, y, z, zlink, srch, index;
  2914. X  assert( type(hd) == HEAD && sized(hd), "FreeGalley: pre!");
  2915. X  assert( Up(hd) != hd, "FreeGalley: Up(hd)!" );
  2916. X  assert( *inners == nil || type(*inners) == ACAT, "FreeGalley: ACAT!" );
  2917. X  debug3(DGA, D, "[ FreeGalley(Galley %s into %s); rl %s nil",
  2918. X    SymName(actual(hd)), SymName(whereto(hd)), relocate_link==nil ? "==":"!=");
  2919. X
  2920. X  /* close targets and move or flush any inner galleys */
  2921. X  for( link = Down(hd);  link != stop_link;  link = NextDown(link) )
  2922. X  { Child(y, link);
  2923. X    if( type(y) == RECEIVING && actual(actual(y)) == InputSym )
  2924. X      Error(WARN, &fpos(actual(y)), "forcing galley past input point");
  2925. X    else if( type(y) == RECEIVING )
  2926. X    {
  2927. X      /* either relocate or free each galley */
  2928. X      for( zlink = Down(y);  zlink != y; )
  2929. X      {    Child(z, zlink);
  2930. X    zlink = NextDown(zlink);
  2931. X    assert( type(z) == HEAD, "FreeGalley/RECEIVING: type(z) != HEAD!" );
  2932. X    debug1(DGA, D, "FreeGalley examining galley %s", SymName(actual(z)));
  2933. X    if( relocate_link != nil && whereto(z) != sym &&
  2934. X        (srch = SearchGalley(relocate_link, whereto(z), TRUE,
  2935. X        FALSE, TRUE, FALSE)) != nil )
  2936. X    { DetachGalley(z);
  2937. X      Parent(index, Up(z));
  2938. X      MoveLink(Up(index), Up(srch), PARENT);  /* just before new dest */
  2939. X    }
  2940. X    else
  2941. X    { debug0(DGA, D, "  calling FreeGalley from FreeGalley");
  2942. X      FreeGalley(z, z, inners, nil, sym);
  2943. X      if( *inners == nil )  *inners = New(ACAT);
  2944. X      Link(*inners, y);
  2945. X    }
  2946. X      }
  2947. X      non_blocking(y) = TRUE;
  2948. X    }
  2949. X    else if( type(y) == RECEPTIVE )  non_blocking(y) = TRUE;
  2950. X  }
  2951. X  debug0(DGA, D, "] FreeGalley returning.");
  2952. X} /* end FreeGalley */
  2953. X
  2954. X
  2955. X/*@::TargetSymbol()@**********************************************************/
  2956. X/*                                                                           */
  2957. X/*  BOOLEAN TargetSymbol(x, sym)                                             */
  2958. X/*                                                                           */
  2959. X/*  Examine the parameters of closure x, which is known to have a @Target.   */
  2960. X/*  Return TRUE if the target is preceding, and set sym to the symbol value. */
  2961. X/*                                                                           */
  2962. X/*****************************************************************************/
  2963. X
  2964. XBOOLEAN TargetSymbol(x, sym)
  2965. XOBJECT x, *sym;
  2966. X{ OBJECT y, link, cr, lpar, rpar;
  2967. X  debug1(DGS, D, "TargetSymbol( %s )", EchoObject(x));
  2968. X  assert( type(x) == CLOSURE, "TargetSymbol: type(x) != CLOSURE!" );
  2969. X  assert( has_target(actual(x)), "TargetSymbol: x has no target!" );
  2970. X
  2971. X  /* search the free variable list of x for @Target */
  2972. X  cr = nil;
  2973. X  for( link = Down(x);  link != x;  link = NextDown(link) )
  2974. X  { Child(y, link);
  2975. X    if( type(y) == PAR && is_target(actual(y)) )
  2976. X    { assert( Down(y) != y, "TargetSymbol: Down(PAR)!" );
  2977. X      Child(cr, Down(y));
  2978. X      break;
  2979. X    }
  2980. X  }
  2981. X
  2982. X  /* search the children list of actual(x) for a default value of @Target */
  2983. X  if( cr == nil )
  2984. X  for( link = Down(actual(x));  link != actual(x);  link = NextDown(link) )
  2985. X  { Child(y, link);
  2986. X    if( is_target(y) )
  2987. X    { cr = sym_body(y);
  2988. X      break;
  2989. X    }
  2990. X  }
  2991. X  
  2992. X  if( cr != nil )
  2993. X  {
  2994. X    /* check that cr is indeed a cross-reference object */
  2995. X    debug1(DGS, DD, "TargetSymbol examining %s", EchoObject(cr));
  2996. X    debug1(DGS, DD, "  type(cr) = %s", Image( (int) type(cr)) );
  2997. X    if( type(cr) != CROSS )
  2998. X      Error(FATAL, &fpos(cr), "target of %s is not a cross-reference",
  2999. X    SymName(actual(x)));
  3000. X
  3001. X    /* extract *sym from the left parameter */
  3002. X    Child(lpar, Down(cr));
  3003. X    if( type(lpar) != CLOSURE )
  3004. X      Error(FATAL,&fpos(lpar),"left parameter of %s is not a symbol",KW_CROSS);
  3005. X    *sym = actual(lpar);
  3006. X
  3007. X    /* extract direction from the right parameter */
  3008. X    Child(rpar, NextDown(Down(cr)));
  3009. X    if( !is_word(type(rpar)) || !StringEqual(string(rpar), KW_PRECEDING) &&
  3010. X    !StringEqual(string(rpar), KW_FOLLOWING) )
  3011. X      Error(WARN, &fpos(rpar), "replacing %s%s? by %s%s%s",
  3012. X    SymName(actual(lpar)), KW_CROSS, SymName(actual(lpar)),
  3013. X    KW_CROSS, KW_FOLLOWING);
  3014. X    return is_word(type(rpar)) && StringEqual(string(rpar), KW_PRECEDING);
  3015. X  }
  3016. X  else
  3017. X  { Error(INTERN, &fpos(x), "TargetSymbol: could not find @Target of x");
  3018. X    return FALSE;
  3019. X  }
  3020. X} /* end TargetSymbol */
  3021. X
  3022. X
  3023. X/*@::CheckConstraint()@*******************************************************/
  3024. X/*                                                                           */
  3025. X/*  int CheckConstraint(preceder, follower)                                  */
  3026. X/*                                                                           */
  3027. X/*  Check the ordering relation between components preceder and follower,    */
  3028. X/*  and return its current status:                                           */
  3029. X/*                                                                           */
  3030. X/*      CLEAR     follower definitely follows preceder, and always will;     */
  3031. X/*      PROMOTE   follower is not prevented from following preceder;         */
  3032. X/*      CLOSE     follower must move down its galley to follow preceder;     */
  3033. X/*      BLOCK     follower cannot be guaranteed to follow preceder.          */
  3034. X/*                                                                           */
  3035. X/*****************************************************************************/
  3036. X
  3037. Xint CheckConstraint(preceder, follower)
  3038. XOBJECT preceder, follower;
  3039. X{ OBJECT prec_galley, foll_galley, z;  int res;
  3040. X  debug2(DGS, D, "CheckConstraint( %s, %s )",
  3041. X    EchoObject(preceder), EchoObject(follower));
  3042. X  Parent(prec_galley, Up(preceder));
  3043. X  Parent(foll_galley, Up(follower));
  3044. X  if( prec_galley == foll_galley )
  3045. X  { res = CLOSE;
  3046. X    for( z = Up(follower);  z != foll_galley;  z = pred(z, CHILD) )
  3047. X    if( z == Up(preceder) )
  3048. X    { res = CLEAR;
  3049. X      break;
  3050. X    }
  3051. X  }
  3052. X  else
  3053. X  { res = PROMOTE;
  3054. X    while( Up(prec_galley) != prec_galley )
  3055. X    { Parent(z, Up(prec_galley));    /* index of galley */
  3056. X      Parent(prec_galley, Up(z));    /* enclosing galley */
  3057. X      if( prec_galley == foll_galley )
  3058. X      {    res = BLOCK;
  3059. X    break;
  3060. X      }
  3061. X    }
  3062. X  }
  3063. X  debug1(DGS, D, "CheckConstraint returning %s", Image(res));
  3064. X  return res;
  3065. X} /* end CheckConstraint */
  3066. END_OF_FILE
  3067.   if test 28360 -ne `wc -c <'z22.c'`; then
  3068.     echo shar: \"'z22.c'\" unpacked with wrong size!
  3069.   fi
  3070.   # end of 'z22.c'
  3071. fi
  3072. echo shar: End of archive 6 \(of 35\).
  3073. cp /dev/null ark6isdone
  3074. MISSING=""
  3075. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 ; do
  3076.     if test ! -f ark${I}isdone ; then
  3077.     MISSING="${MISSING} ${I}"
  3078.     fi
  3079. done
  3080. if test "${MISSING}" = "" ; then
  3081.     echo You have unpacked all 35 archives.
  3082.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  3083. else
  3084.     echo You still must unpack the following archives:
  3085.     echo "        " ${MISSING}
  3086. fi
  3087. exit 0
  3088. exit 0 # Just in case...
  3089.