|
|
1.1 ! root 1: |REGISTER(current_diversion, .z) ! 2: ! 3: |associate(mercury; ! 4: clear temporary_counter, clear string temporary_array[0] temporary_array[1] ! 5: temporary_array[2] temporary_array[3] temporary_array[4] temporary_array[5] ! 6: temporary_array[6] temporary_array[7] temporary_array[8] temporary_array[9]; ! 7: ! 8: if begin EQUAL(temporary_array[0], yes), ! 9: incr mercury_counter, ! 10: set string mercury_array[mercury_counter] ! 11: "CHM - Chemistry and Materials", ! 12: if end, ! 13: if begin EQUAL(temporary_array[1], yes), ! 14: incr mercury_counter, set string mercury_array[mercury_counter] ! 15: "CMM - Communications", ! 16: if end, ! 17: if begin EQUAL(temporary_array[2], yes), ! 18: incr mercury_counter, set string mercury_array[mercury_counter] ! 19: "CMP - Computing", ! 20: if end, ! 21: if begin EQUAL(temporary_array[3], yes), ! 22: incr mercury_counter, set string mercury_array[mercury_counter] ! 23: "ELC - Electronics", ! 24: if end, ! 25: if begin EQUAL(temporary_array[4], yes), ! 26: incr mercury_counter, set string mercury_array[mercury_counter] ! 27: "LFS - Life Sciences", ! 28: if end, ! 29: if begin EQUAL(temporary_array[5], yes), ! 30: incr mercury_counter, ! 31: set string mercury_array[mercury_counter] ! 32: "MAN - Manufacturing", ! 33: if end, ! 34: if begin EQUAL(temporary_array[6], yes), ! 35: incr mercury_counter, ! 36: set string mercury_array[mercury_counter] ! 37: "MAS - Mathematics and Statistics", ! 38: if end, ! 39: if begin EQUAL(temporary_array[7], yes), ! 40: incr mercury_counter, set string mercury_array[mercury_counter] ! 41: "MKT - Marketing", ! 42: if end, ! 43: if begin EQUAL(temporary_array[8], yes), ! 44: incr mercury_counter, set string mercury_array[mercury_counter] ! 45: "PHY - Physics", ! 46: if end, ! 47: if begin EQUAL(temporary_array[9], yes), ! 48: incr mercury_counter, set string mercury_array[mercury_counter] ! 49: "STD - Standards", ! 50: if end; ! 51: ! 52: [chm; ! 53: incr temporary_counter, incr mercury_counter, ! 54: set string mercury_array[mercury_counter] ! 55: "CHM - Chemistry and Materials";] ! 56: [cmm; ! 57: incr temporary_counter, incr mercury_counter, ! 58: set string mercury_array[mercury_counter] "CMM - Communications";] ! 59: [cmp; ! 60: incr temporary_counter, incr mercury_counter, ! 61: set string mercury_array[mercury_counter] "CMP - Computing";] ! 62: [elc; ! 63: incr temporary_counter, incr mercury_counter, ! 64: set string mercury_array[mercury_counter] "ELC - Electronics";] ! 65: [lfs; ! 66: incr temporary_counter, incr mercury_counter, ! 67: set string mercury_array[mercury_counter] "LFS - Life Sciences";] ! 68: [man; ! 69: incr temporary_counter, incr mercury_counter, ! 70: set string mercury_array[mercury_counter] "MAN - Manufacturing";] ! 71: [mas; ! 72: incr temporary_counter, incr mercury_counter, ! 73: set string mercury_array[mercury_counter] ! 74: "MAS - Mathematics and Statistics";] ! 75: [mkt; ! 76: incr temporary_counter, incr mercury_counter, ! 77: set string mercury_array[mercury_counter] "MKT - Marketing";] ! 78: [phy; ! 79: incr temporary_counter, incr mercury_counter, ! 80: set string mercury_array[mercury_counter] "PHY - Physics";] ! 81: [std; ! 82: incr temporary_counter, incr mercury_counter, ! 83: set string mercury_array[mercury_counter] "STD - Standards";] ! 84: [yes; ! 85: incr temporary_counter, ! 86: set string temporary_array[temporary_counter] yes;] ! 87: [no; ! 88: incr temporary_counter, ! 89: set string temporary_array[temporary_counter] no;]) ! 90: |comment<summary: mercury (chm, cmm, cmp, elc, lfs, man, mas, mkt, phy, std mercury distribution for cover sheet)> ! 91: ! 92: |associate(proprietary_class;;; ! 93: [yes; ! 94: set string proprietary_string yes;] ! 95: [no; ! 96: set string proprietary_string no;]) ! 97: |comment<summary: proprietary_class (proprietary classification for cover sheet)> ! 98: ! 99: |associate(government_security;;; ! 100: [yes; ! 101: set string government_string yes;] ! 102: [no; ! 103: set string government_string no;]) ! 104: |comment<summary: government_security (government security clearance for cover sheet)> ! 105: ! 106: |associate(earlier;;; ! 107: ! 108: [document_number $; ! 109: set string earlier_document_number_string $;] ! 110: [$; ! 111: set string earlier_document_number_string $;]) ! 112: |comment<summary: earlier (replacing earlier document_number for cover sheet)> ! 113: ! 114: |associate(att;;; ! 115: ! 116: [is_release yes; ! 117: set string att_release_string yes;] ! 118: [is_release no; ! 119: set string att_release_string no;] ! 120: [yes; ! 121: set string att_release_string yes;] ! 122: [no; ! 123: set string att_release_string no;]) ! 124: |comment<summary: att (is_release for cover sheet)> ! 125: ! 126: |environment(dh_name; ! 127: divert.string dh_string;) ! 128: |comment<summary: dh_name (department head's name for cover sheet)> ! 129: ! 130: |environment(director_name; ! 131: divert.string director_string;) ! 132: |comment<summary: director_name (director's name for cover sheet)> ! 133: ! 134: |environment(distribute_complete_memo; ! 135: divert.input on complete_memo_string;) ! 136: |comment<summary: distribute_complete_memo (distribution list for complete memo for cover sheet)> ! 137: ! 138: |environment(distribute_cover_sheet; ! 139: divert.input on cover_sheet_string;) ! 140: |comment<summary: distribute_cover_sheet (distribution list for cover sheet for cover sheet)> ! 141: ! 142: |associate(add_totals;;; ! 143: ! 144: [text $; ! 145: add constant text_counter $, add constant other_marker $;] ! 146: [other $; ! 147: add constant other_counter $;] ! 148: [figures $; ! 149: add constant figure_counter $;] ! 150: [tables $; ! 151: add constant table_counter $;] ! 152: [references $; ! 153: add constant reference_counter $;]) ! 154: |comment<summary: add_totals (text, other, figure, table, reference counts for cover sheet)> ! 155: ! 156: |environment(other; ! 157: store other_marker page_counter;) ! 158: |comment<summary: other (end of text body/start of attached pages)> ! 159: ! 160: |environment(cover_sheet; ! 161: clear string page_header page_footer, new.page, line.spacing 1, ! 162: inline off, size 10, inline on, font.family helvetica, ! 163: line.length 7.5i, page.length +.75i, page.offset .3i, indent 0, ! 164: cs_heading_page1, ! 165: cs_title, ! 166: cs_authors, ! 167: cs_numbers, ! 168: cs_keywords, ! 169: cs_mercury, ! 170: cs_abstract_part1, ! 171: cs_footer_page1, ! 172: cs_abstract_part2, ! 173: cs_heading_page2, ! 174: cs_distribution_list, ! 175: cs_spacing, ! 176: cs_government, ! 177: cs_att, ! 178: cs_signatures, ! 179: cs_proprietary, ! 180: cs_earlier, ! 181: cs_footer_page2, ! 182: cs_abstract_continuation, ! 183: cs_distribution_continuation;) ! 184: |comment<summary: cover_sheet (produce the coversheet here)> ! 185: ! 186: |environment(cs_heading_page1; ! 187: spacing on, goto 0.2i, inline off, size 16, space 18, font bold, ! 188: title "AT&T Bell Laboratories" " " "Document Cover Sheet", ! 189: title " " " " "for Technical Memorandum"; ! 190: ! 191: thick.line) ! 192: ! 193: |environment(cs_title; ! 194: new.line, remember position0, ! 195: text bold "Title:", horizontal.motion 5.5i, ! 196: text bold "Author's Date:", ! 197: return position0, ! 198: indent +.5i, line.length 5.0i, ! 199: macro title_string, ! 200: line.length 7.5i, indent -.5i, ! 201: return position0, blank.lines, indent.line 6i, ! 202: string date_string, new.line; ! 203: ! 204: blank.lines -0.1i, thick.line) ! 205: ! 206: |environment(cs_authors; ! 207: tab.stops 1.5i 4.45i 5.7i 6.95i, ! 208: if else GT(author_counter, 1), ! 209: set string plural_string "s", ! 210: if else, ! 211: clear string plural_string, ! 212: tab, text bold "Author", ! 213: string bold plural_string, ! 214: tab, text bold "Location", tab, text bold "Ext.", ! 215: tab, text bold "Dept.", ! 216: tab.stops 4.2i 4.5i 5.5i 6.7i, indent .2i, ! 217: |for i in 1 2 3 4 5 6 7 8 9 [ ! 218: if begin GE(author_counter, $i), ! 219: new.line, string author_array[$i], tab, ! 220: string location_array[$i], text " ", string room_array[$i], tab, ! 221: string extension_array[$i], tab, string department_array[$i], ! 222: if end, ! 223: ] ! 224: new.line; ! 225: ! 226: blank.lines -0.1i, thick.line) ! 227: ! 228: |environment(cs_numbers; ! 229: tab.stops 0.9i 3.4i 5.65i, ! 230: if else GT(document_counter, 1), ! 231: set string plural_string "s", ! 232: if else, ! 233: clear string plural_string, ! 234: tab, text bold "Document No", ! 235: string bold plural_string, text bold ".", ! 236: tab, text bold "Filing Case No", ! 237: string bold plural_string, text bold ".", ! 238: tab, text bold "Project No", ! 239: string bold plural_string, text bold ".", ! 240: tab.stops 0.8i 3.5i 5.75i, ! 241: |for i in 1 2 3 4 5 6 7 8 9 [ ! 242: if begin GE(document_counter, $i), ! 243: new.line, tab, string document_array[$i], ! 244: tab, string file_case_array[$i], tab, string work_program_array[$i], ! 245: if end, ! 246: ] ! 247: new.line; ! 248: ! 249: blank.lines -0.1i, thick.line) ! 250: ! 251: |environment(cs_keywords; ! 252: text bold "Keywords:", ! 253: blank.lines 0.1i, indent.line .2i, adjust off, ! 254: macro keyword_string, new.line; ! 255: ! 256: blank.lines -0.1i, thick.line) ! 257: ! 258: |environment(cs_mercury; ! 259: tab.stops 2i 4i, ! 260: text bold "MERCURY Announcement Bulletin Sections:", ! 261: blank.lines 0.1i, indent .9i, inline off, size 8, space 10, ! 262: |for i in 1 4 7 [ ! 263: if begin GE(mercury_counter, $i), ! 264: set i_plus_one $i+1, ! 265: set i_plus_two $i+2, ! 266: string mercury_array[$i], tab, ! 267: string mercury_array[i_plus_one], tab, ! 268: string mercury_array[i_plus_two], ! 269: if end, ! 270: ] ! 271: ; ! 272: ! 273: blank.lines -0.1i, thick.line) ! 274: ! 275: |environment(cs_abstract_part1; ! 276: text bold "Abstract:", minimum.lines 0, paragraph, ! 277: remember position0;) ! 278: ! 279: |environment(cs_footer_page1; ! 280: goto 9.375i, ! 281: remember position1, ! 282: thick.line, ! 283: ! 284: store total_counter page_counter, decr total_counter, ! 285: add total_counter text_counter, add total_counter other_counter, ! 286: add constant total_counter 2, ! 287: store other_counter total_counter, sub other_counter other_marker, ! 288: store text_counter total_counter, sub text_counter other_counter, ! 289: size -2, ! 290: text bold "Total Pages ", text "(including document cover sheet): ", ! 291: size +2, number total_counter, ! 292: ! 293: return position1, blank.lines .5i, indent .6i, ! 294: if else begin EQUAL(proprietary_string, yes), ! 295: text bold " AT&T \(em PROPRIETARY (Restricted)", ! 296: indent -.1i, ! 297: new.line, text "Solely for authorized persons having a need to know", ! 298: new.line, text "Use pursuant to Company Instructions.", ! 299: new.line, text "Requires Department Head approval (see below).", ! 300: if end, ! 301: if else begin, ! 302: text bold " AT&T \(em PROPRIETARY", ! 303: indent -.1i, ! 304: new.line, text "Use pursuant to Company Instructions", ! 305: if end, ! 306: indent 0, ! 307: ! 308: return position1, blank.lines .2i, indent.line 5.25i, ! 309: text bold "Mailing Label";) ! 310: ! 311: |environment(cs_abstract_part2; ! 312: return position0, indent .2i, line.length 7i, ! 313: invoke at constant 9.375i catch_diverter, macro abstract_string, ! 314: if begin EQUAL(current_diversion, catch_output), ! 315: invoke end, rename catch_output abstract_string, ! 316: store diversionheight more_abstract, ! 317: if end; ! 318: ! 319: invoke off catch_diverter, line.length 7.5i) ! 320: ! 321: |environment(cs_heading_page2; ! 322: new.page, spacing on, goto 0.2i, ! 323: ! 324: text bold "Initial Distribution Specifications", ! 325: horizontal.motion 3.0i, ! 326: string bold document_array[1], ! 327: new.line; ! 328: ! 329: blank.lines -0.1i, thick.line) ! 330: ! 331: |environment(cs_distribution_list; ! 332: horizontal.motion 1.25i, ! 333: text bold "Complete Copy", horizontal.motion 2.75i, ! 334: text bold "Cover Sheet Only", ! 335: new.line, remember position0, fill off, indent .2i, ! 336: set temporary_counter 6.25i, ! 337: if UNEQUAL(proprietary_string, yes), ! 338: if NULL(dh_string), ! 339: if NULL(director_string), ! 340: add constant temporary_counter 0.6875i, ! 341: if UNEQUAL(government_string, yes), ! 342: add constant temporary_counter 0.25i, ! 343: if LE(author_counter, 3), ! 344: add constant temporary_counter 0.4375i, ! 345: if LE(author_counter, 6), ! 346: add constant temporary_counter 0.4375i, ! 347: if NULL(earlier_document_number_string), ! 348: add constant temporary_counter 0.25i, ! 349: invoke on number temporary_counter catch_diverter, ! 350: macro complete_memo_string, ! 351: if else begin EQUAL(current_diversion, catch_output), ! 352: invoke end, rename catch_output complete_memo_string, ! 353: store diversionheight more_completememo, ! 354: if end, ! 355: if else, ! 356: clear string complete_memo_string, ! 357: return position0, indent 4i, ! 358: invoke on number temporary_counter catch_diverter, ! 359: macro cover_sheet_string, ! 360: if else begin EQUAL(current_diversion, catch_output), ! 361: invoke end, rename catch_output cover_sheet_string, ! 362: store diversionheight more_coversheet, ! 363: if end, ! 364: if else, ! 365: clear string cover_sheet_string; ! 366: ! 367: indent 0, invoke off catch_diverter) ! 368: ! 369: |environment(cs_spacing; ! 370: goto 6.75i, ! 371: ! 372: if UNEQUAL(proprietary_string, yes), ! 373: if NULL(dh_string), ! 374: if NULL(director_string), ! 375: blank.lines 0.6875i, ! 376: if UNEQUAL(government_string, yes), ! 377: blank.lines 0.25i, ! 378: if LE(author_counter, 3), ! 379: blank.lines 0.4375i, ! 380: if LE(author_counter, 6), ! 381: blank.lines 0.4375i, ! 382: if NULL(earlier_document_number_string), ! 383: blank.lines 0.25i; ! 384: ! 385: thick.line) ! 386: ! 387: |environment(cs_government; ! 388: if begin EQUAL(government_string, yes), ! 389: text bold "Government Security Classified", ! 390: blank.lines -0.1i, thick.line, ! 391: if end;) ! 392: ! 393: |environment(cs_att; ! 394: if else begin EQUAL(att_release_string, no), ! 395: text bold "Future AT&T Distribution by ITDS - ", ! 396: text "Obtain approval for release to any AT&T employee", ! 397: blank.lines -0.1i, thick.line, ! 398: if end, ! 399: if else begin, ! 400: text bold "Future AT&T Distribution by ITDS - ", ! 401: text "Release to any AT&T employee (excluding contract employees)", ! 402: blank.lines -0.1i, thick.line, ! 403: if end;) ! 404: ! 405: |environment(cs_signatures; ! 406: if else GT(author_counter, 1), ! 407: set string plural_string "s", ! 408: if else, ! 409: clear string plural_string, ! 410: text bold "Author Signature", ! 411: string bold plural_string, new.line, ! 412: if EQUAL(author_counter, 0), ! 413: blank.lines 0.4375i, ! 414: |for i in 0 3 6 [ ! 415: tab.stops 2.635i 5.25i, ! 416: if GT(author_counter,$i), ! 417: blank.lines 0.1i, ! 418: if EQUAL(author_counter, ($i+1)), ! 419: line 2.25i, ! 420: if begin EQUAL(author_counter, ($i+2)), ! 421: line 2.25i, tab, line 2.25i, ! 422: if end, ! 423: if begin GT(author_counter, ($i+2)), ! 424: line 2.25i, tab, line 2.25i, tab, line 2.25i, ! 425: if end, ! 426: new.line, ! 427: if begin GT(author_counter, $i), ! 428: tab.stops 0.25i 2.875i 5.5i, ! 429: set i_plus_one $i+1, ! 430: set i_plus_two $i+2, ! 431: set i_plus_three $i+3, ! 432: tab, string author_array[i_plus_one], ! 433: tab, string author_array[i_plus_two], ! 434: tab, string author_array[i_plus_three], ! 435: if end, ! 436: ] ! 437: ; ! 438: ! 439: blank.lines -0.1i, thick.line) ! 440: ! 441: |environment(cs_proprietary; ! 442: if begin EQUAL(proprietary_string, yes), ! 443: text bold "Organizational Approval ", ! 444: size -1, text "(Department Head approval required)", size +1, ! 445: if begin NULL(dh_string), ! 446: if begin NULL(director_string), ! 447: tab.stops .5i 4i, ! 448: blank.lines 0.1i, ! 449: tab, tab, line 3i, ! 450: new.line, tab.stops 7iR, ! 451: tab, text "Department Head", ! 452: blank.lines -0.1i, thick.line, ! 453: if end, ! 454: if end, ! 455: if end, ! 456: if begin NOTNULL(dh_string), ! 457: if begin NOTNULL(director_string), ! 458: if begin UNEQUAL(proprietary_string, yes), ! 459: text bold "Organizational Approval ", ! 460: size -1, text "(Optional)", size +1, ! 461: if end, ! 462: tab.stops .5i 4i, ! 463: blank.lines 0.1i, ! 464: if else begin NOTNULL(dh_string), ! 465: if else begin NOTNULL(director_string), ! 466: tab, line 3i, tab, line 3i, ! 467: if end, ! 468: if else begin, ! 469: tab, tab, line 3i, ! 470: if end, ! 471: if end, ! 472: if else begin, ! 473: tab, tab, line 3i, ! 474: if end, ! 475: new.line, tab.stops .8i 4.3i, ! 476: if else begin NOTNULL(dh_string), ! 477: if else begin NOTNULL(director_string), ! 478: tab, ! 479: string dh_string, text ", Department Head", ! 480: tab, ! 481: string director_string, text ", Director", ! 482: if end, ! 483: if else begin, ! 484: tab, tab, ! 485: string dh_string, text ", Department Head", ! 486: if end, ! 487: if end, ! 488: if else begin, ! 489: tab, tab, ! 490: string director_string, text ", Director", ! 491: if end, ! 492: blank.lines -0.1i, thick.line, ! 493: if end, ! 494: if end;) ! 495: ! 496: |environment(cs_earlier; ! 497: if begin NOTNULL(earlier_document_number_string), ! 498: text bold ! 499: "Supersedes or amends document number ", ! 500: string earlier_document_number_string, ! 501: new.line, blank.lines -0.1i, thick.line, ! 502: if end;) ! 503: ! 504: |environment(cs_footer_page2; ! 505: text bold "For Use by Recipient of Cover Sheet:", ! 506: new.line, remember position0, size -3, space -4, ! 507: blank.lines -.1i, line.length 3.5i, indent .1i, indent.line -.1i, ! 508: text "Computing network users may order copies via the ", ! 509: text italics "library -k ", text "command;", ! 510: new.line, text "for information, type ", ! 511: text italics "man library ", text "after the ", ! 512: size -1, text "UNIX", size +1, text " prompt.", ! 513: new.line, blank.lines 0.05i, indent.line -.1i, ! 514: text "Otherwise:", ! 515: new.line, ! 516: text "Enter ", size -1, text "PAN", size +1, text " if ", ! 517: size -1, text "AT&T-BL (SS#", size +1, text " if non ", ! 518: size -1, text "AT&T-BL.) ", size +1, line 1.2i, ! 519: new.line, text "Return this sheet to any ", ! 520: size -1, text "ITDS", size +1, text " location.", ! 521: new.line, return position0, line.length 8.0i, indent 4i, ! 522: text "\ Internal Technical Document Service", ! 523: blank.lines, tab.stops 1i 2i 3i, ! 524: text "( ) AK 2H-28", tab, text "( ) IH 7M-103", tab, ! 525: text "( ) DR 2F-19", tab, text "( ) NW-ITDS", new.line, ! 526: text "( ) ALC 1B-102", tab, text "( ) MV 3L-19", tab, ! 527: text "( ) INH 1C-114", tab, text "( ) PR 5-2120", new.line, ! 528: text "( ) CB 30-2011", tab, text "( ) WH 3E-204", tab, ! 529: text "( ) IW 2Z-156", new.line, ! 530: text "( ) HO 4F-112", tab, tab, text "( ) MT 3B-117", new.line, ! 531: line.length 7.5i; ! 532: ! 533: indent 0, SPACE) ! 534: ! 535: |environment(cs_abstract_continuation; ! 536: if begin GT(more_abstract, 0), ! 537: new.page, spacing on, goto 0.2i, ! 538: ! 539: horizontal.motion 5.2i, string bold document_array[1], ! 540: new.line, blank.lines -0.1i, thick.line, ! 541: ! 542: new.line, text bold "Title:", ! 543: horizontal.motion 0.375i, macro title_string, ! 544: new.line, blank.lines -0.1i, thick.line, ! 545: ! 546: center on, text bold "Abstract (continued)", new.line, center off, ! 547: fill off, macro abstract_string, fill on, ! 548: blank.lines -0.1i, thick.line, ! 549: if end;) ! 550: ! 551: |environment(cs_distribution_continuation; ! 552: store temporary_counter more_completememo, ! 553: store totrap position0, ! 554: if GT(more_coversheet, temporary_counter), ! 555: store temporary_counter more_coversheet, ! 556: ! 557: if begin GT(temporary_counter, 0), ! 558: if begin GE(temporary_counter, position0), ! 559: new.page, spacing on, goto 0.2i, ! 560: ! 561: horizontal.motion 5.2i, string bold document_array[1], ! 562: new.line, blank.lines -0.1i, thick.line, ! 563: ! 564: new.line, text bold "Title:", ! 565: horizontal.motion 0.375i, macro title_string, ! 566: new.line, blank.lines -0.1i, thick.line, ! 567: if end, ! 568: new.line, ! 569: ! 570: remember position0, ! 571: if begin GT(more_completememo, 0), ! 572: horizontal.motion 1.25i, ! 573: text bold "Complete Copy (continued)", new.line, ! 574: fill off, macro complete_memo_string, fill on, ! 575: if begin GT(more_completememo, more_coversheet), ! 576: blank.lines -0.1i, thick.line, ! 577: if end, ! 578: if end, ! 579: ! 580: if begin GT(more_coversheet, 0), ! 581: return position0, horizontal.motion 4.5i, ! 582: text bold "Cover Sheet Only (continued)", new.line, ! 583: fill off, macro cover_sheet_string, fill on, ! 584: if begin GE(more_coversheet, more_completememo), ! 585: blank.lines -0.1i, thick.line, ! 586: if end, ! 587: if end, ! 588: if end, ! 589: new.line;)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.