Software Tools in Pascal

Copyright (C) 1981 by Bell Laboratories, Inc., and Whitesmiths Ltd.

This tape or disk contains all of the programs from
Software Tools in Pascal, plus the documentation.
There are 361 files (8500 lines; 210000 characters).
The format of the tape is 800 bpi 9 track ASCII in 512 byte blocks.
Each source line is terminated by an ASCII newline character;
each file is introduced by a line of the form

-h- directory/filename number-of-bytes

as in the archive program of Chapter 3.
The "number-of-bytes" field includes the copyright notice
and the terminating newline.
The "directory" is intended to help you assign the
files to the proper programs.  Directories are:

UCBPRIMS	primitives for UCB Pascal
WSPRIMS		primitives for Whitesmiths Pascal
UCSDPRIMS	primitives for UCSD Pascal
UTIL		utility routines common to all programs

INTRO		programs from Chapter 1
FILTERS		all programs from Chapter 2 except translit
TRANSLIT	translit program from Chapter 2
FILEIO		early programs in Chapter 3
PRINT		print programs from Chapter 3
ARCHIVE		archive program from Chapter 3
SORT		all programs from Chapter 4; mostly sorting
EDIT		all programs from Chapters 5 and 6: find, change, edit
FORMAT		format program from Chapter 7
MACRO		define and macro processors from Chapter 8

MAN		manual pages for programs
PMAN		manual pages for primitives

Within each group, files are presented in alphabetical order.
Each file begins with a header like this one:
-h- UCBPRIMS/getc.p 341
which indicates that getc.p is part of the UCB primitives
and is 341 bytes long.

The list of file names and sizes from the tape follows.

	UCBPRIMS/close.p 315
	UCBPRIMS/create.p 890
	UCBPRIMS/getarg.p 642
	UCBPRIMS/getc.p 341
	UCBPRIMS/getcf.p 484
	UCBPRIMS/getline.p 453
	UCBPRIMS/initio.p 427
	UCBPRIMS/nargs.p 219
	UCBPRIMS/open.p 911
	UCBPRIMS/prims.p 379
	UCBPRIMS/putc.p 223
	UCBPRIMS/putcf.p 319
	UCBPRIMS/putstr.p 271
	UCBPRIMS/remove.p 360
	WSPRIMS/Base.p 2558
	WSPRIMS/addstr.p 353
	WSPRIMS/ctoi.p 502
	WSPRIMS/equal.p 303
	WSPRIMS/esc.p 497
	WSPRIMS/fcopy.p 372
	WSPRIMS/getc.p 466
	WSPRIMS/getline.p 597
	WSPRIMS/index.p 317
	WSPRIMS/istuff.p 867
	WSPRIMS/itoc.p 454
	WSPRIMS/length.p 251
	WSPRIMS/maxmin.p 353
	WSPRIMS/pcreate.p 379
	WSPRIMS/popen.p 367
	WSPRIMS/pputstr.p 368
	WSPRIMS/prims.p 2558
	WSPRIMS/putc.p 349
	WSPRIMS/putdec.p 432
	WSPRIMS/scopy.p 320
	WSPRIMS/seek.p 325
	WSPRIMS/tools.p 1726
	UCSDPRIMS/Call.p 108
	UCSDPRIMS/chars.p 1292
	UCSDPRIMS/close.p 393
	UCSDPRIMS/create.p 550
	UCSDPRIMS/endcmd.p 210
	UCSDPRIMS/fcopy.p 237
	UCSDPRIMS/fdalloc.p 553
	UCSDPRIMS/fgetcf.p 350
	UCSDPRIMS/fputcf.p 236
	UCSDPRIMS/ftalloc.p 360
	UCSDPRIMS/getarg.p 343
	UCSDPRIMS/getc.p 212
	UCSDPRIMS/getcf.p 378
	UCSDPRIMS/getkbd.p 1083
	UCSDPRIMS/getline.p 660
	UCSDPRIMS/initcmd.p 1389
	UCSDPRIMS/mustcreate.p 347
	UCSDPRIMS/mustopen.p 335
	UCSDPRIMS/nargs.p 174
	UCSDPRIMS/open.p 557
	UCSDPRIMS/prims.p 1899
	UCSDPRIMS/putc.p 189
	UCSDPRIMS/putcf.p 343
	UCSDPRIMS/putdec.p 304
	UCSDPRIMS/putstr.p 277
	UCSDPRIMS/remove.p 445
	UCSDPRIMS/strname.p 333
	UTIL/addstr.p 347
	UTIL/ctoi.p 502
	UTIL/equal.p 303
	UTIL/esc.p 462
	UTIL/fcopy.p 237
	UTIL/globdefs.p 2030
	UTIL/index.p 336
	UTIL/isalphanum.p 266
	UTIL/isdigit.p 201
	UTIL/isletter.p 245
	UTIL/islower.p 211
	UTIL/isupper.p 211
	UTIL/itoc.p 438
	UTIL/itoctest.p 312
	UTIL/length.p 251
	UTIL/max.p 212
	UTIL/min.p 212
	UTIL/mustcreate.p 347
	UTIL/mustopen.p 335
	UTIL/putdec.p 303
	UTIL/scopy.p 320
	UTIL/utility.p 507
	INTRO/charcount.p 279
	INTRO/copy.p 193
	INTRO/detab.p 648
	INTRO/linecount.p 299
	INTRO/settabs.p 288
	INTRO/tabpos.p 273
	INTRO/wholecopy.p 839
	INTRO/wordcount.p 442
	FILTERS/compress.p 597
	FILTERS/echo.p 381
	FILTERS/entab.p 802
	FILTERS/expand.p 558
	FILTERS/overstrike.p 788
	FILTERS/putrep.p 425
	FILTERS/settabs.p 288
	FILTERS/tabpos.p 273
	TRANSLIT/dodash.p 891
	TRANSLIT/makeset.p 373
	TRANSLIT/translit.p 1292
	TRANSLIT/xindex.p 410
	FILEIO/compare.p 872
	FILEIO/compare0.p 651
	FILEIO/concat.p 347
	FILEIO/dcompare.p 424
	FILEIO/diffmsg.p 289
	FILEIO/finclude.p 594
	FILEIO/getword.p 478
	FILEIO/include.p 483
	FILEIO/makecopy.p 432
	PRINT/fprint.p 806
	PRINT/head.p 486
	PRINT/print.p 517
	PRINT/print0.p 364
	PRINT/skip.p 200
	ARCHIVE/acopy.p 338
	ARCHIVE/addfile.p 489
	ARCHIVE/archive.p 1011
	ARCHIVE/archproc.p 442
	ARCHIVE/delete.p 549
	ARCHIVE/extract.p 799
	ARCHIVE/filearg.p 480
	ARCHIVE/fmove.p 304
	ARCHIVE/fsize.p 333
	ARCHIVE/fskip.p 302
	ARCHIVE/getfns.p 595
	ARCHIVE/gethdr.p 504
	ARCHIVE/getword.p 478
	ARCHIVE/help.p 195
	ARCHIVE/initarch.p 509
	ARCHIVE/makehdr.p 437
	ARCHIVE/notfound.p 318
	ARCHIVE/replace.p 487
	ARCHIVE/table.p 406
	ARCHIVE/tprint.p 392
	ARCHIVE/update.p 679
	SORT/bubble.p 371
	SORT/cmp.p 551
	SORT/cscopy.p 318
	SORT/exchange.p 245
	SORT/gname.p 408
	SORT/gopen.p 320
	SORT/gremove.p 323
	SORT/gtext.p 736
	SORT/inmemquick.p 684
	SORT/inmemsort.p 675
	SORT/kwic.p 257
	SORT/makefile.p 246
	SORT/merge.p 993
	SORT/ptext.p 397
	SORT/putrot.p 439
	SORT/quick.p 234
	SORT/reheap.p 594
	SORT/rotate.p 354
	SORT/rquick.p 754
	SORT/sccopy.p 318
	SORT/shell.p 621
	SORT/shell0.p 572
	SORT/sort.p 1284
	SORT/sortproc.p 304
	SORT/sortquick.p 690
	SORT/sorttest.p 424
	SORT/unique.p 380
	SORT/unrotate.p 783
	EDIT/altpatsize.p 472
	EDIT/amatch.p 1265
	EDIT/amatch0.p 367
	EDIT/amatch1.p 392
	EDIT/append.p 599
	EDIT/blkmove.p 366
	EDIT/catsub.p 510
	EDIT/change.p 630
	EDIT/chngcons.p 194
	EDIT/chngproc.p 190
	EDIT/ckglob.p 827
	EDIT/ckp.p 411
	EDIT/clrbuf1.p 170
	EDIT/clrbuf2.p 203
	EDIT/default.p 363
	EDIT/docmd.p 2981
	EDIT/dodash.p 891
	EDIT/doglob.p 664
	EDIT/doprint.p 369
	EDIT/doread.p 645
	EDIT/dowrite.p 473
	EDIT/edit.p 994
	EDIT/editcons.p 695
	EDIT/editproc.p 676
	EDIT/edittype.p 93
	EDIT/editvar.p 92
	EDIT/edprim.p 93
	EDIT/edprim1.p 240
	EDIT/edprim2.p 258
	EDIT/edtype1.p 307
	EDIT/edtype2.p 260
	EDIT/edvar1.p 485
	EDIT/edvar2.p 722
	EDIT/find.p 454
	EDIT/findcons.p 378
	EDIT/getccl.p 636
	EDIT/getfn.p 668
	EDIT/getlist.p 793
	EDIT/getmark.p 187
	EDIT/getnum.p 755
	EDIT/getone.p 891
	EDIT/getpat.p 245
	EDIT/getrhs.p 544
	EDIT/getsub.p 248
	EDIT/gettxt1.p 213
	EDIT/gettxt2.p 345
	EDIT/getword.p 478
	EDIT/lndelete.p 371
	EDIT/locate.p 502
	EDIT/makepat.p 1385
	EDIT/makesub.p 657
	EDIT/match.p 358
	EDIT/move.p 401
	EDIT/nextln.p 217
	EDIT/omatch.p 977
	EDIT/optpat.p 579
	EDIT/patscan.p 487
	EDIT/patsize.p 483
	EDIT/prevln.p 217
	EDIT/putmark.p 184
	EDIT/putsub.p 393
	EDIT/puttxt1.p 398
	EDIT/puttxt2.p 440
	EDIT/reverse.p 305
	EDIT/seek.p 520
	EDIT/setbuf1.p 272
	EDIT/setbuf2.p 521
	EDIT/skipbl.p 236
	EDIT/stclose.p 427
	EDIT/subline.p 622
	EDIT/subst.p 1358
	FORMAT/break.p 275
	FORMAT/center.p 214
	FORMAT/command.p 1173
	FORMAT/fmtcons.p 196
	FORMAT/fmtproc.p 571
	FORMAT/format.p 1820
	FORMAT/format0.p 1820
	FORMAT/getcmd.p 889
	FORMAT/gettl.p 423
	FORMAT/getval.p 462
	FORMAT/getword.p 478
	FORMAT/initfmt.p 574
	FORMAT/leadbl.p 402
	FORMAT/page.p 247
	FORMAT/put.p 447
	FORMAT/putfoot.p 225
	FORMAT/puthead.p 301
	FORMAT/puttl.p 317
	FORMAT/putword.p 809
	FORMAT/putword0.p 633
	FORMAT/setparam.p 518
	FORMAT/skip.p 202
	FORMAT/skipbl.p 236
	FORMAT/space.p 343
	FORMAT/spread.p 816
	FORMAT/text.p 762
	FORMAT/text0.p 183
	FORMAT/text1.p 567
	FORMAT/underln.p 553
	FORMAT/width.p 377
	MACRO/cscopy.p 318
	MACRO/defcons.p 339
	MACRO/define.p 836
	MACRO/defproc.p 379
	MACRO/deftype.p 417
	MACRO/defvar.p 346
	MACRO/dochq.p 473
	MACRO/dodef.p 350
	MACRO/doexpr.p 296
	MACRO/doif.p 507
	MACRO/dolen.p 305
	MACRO/dosub.p 734
	MACRO/eval.p 1083
	MACRO/expr.p 462
	MACRO/factor.p 413
	MACRO/getdef.p 1122
	MACRO/getpbc.p 323
	MACRO/gettok.p 591
	MACRO/gnbchar.p 266
	MACRO/hash.p 287
	MACRO/hashfind.p 447
	MACRO/initdef.p 412
	MACRO/inithash.p 261
	MACRO/initmacro.p 1446
	MACRO/install.p 727
	MACRO/lookup.p 369
	MACRO/maccons.p 494
	MACRO/macproc.p 581
	MACRO/macro.p 2396
	MACRO/mactype.p 468
	MACRO/macvar.p 1107
	MACRO/pbnum.p 249
	MACRO/pbstr.p 224
	MACRO/push.p 319
	MACRO/putback.p 263
	MACRO/putchr.p 332
	MACRO/puttok.p 266
	MACRO/sccopy.p 318
	MACRO/term.p 514
	MAN/archive.m 1987
	MAN/change.m 840
	MAN/charcount.m 471
	MAN/close.m 339
	MAN/compare.m 568
	MAN/compress.m 839
	MAN/concat.m 436
	MAN/copy.m 565
	MAN/create.m 650
	MAN/define.m 879
	MAN/detab.m 638
	MAN/echo.m 385
	MAN/edit.m 4040
	MAN/entab.m 802
	MAN/error.m 362
	MAN/expand.m 737
	MAN/find.m 1802
	MAN/format.m 2268
	MAN/getarg.m 572
	MAN/getc.m 618
	MAN/getline.m 704
	MAN/include.m 587
	MAN/kwic.m 704
	MAN/linecount.m 290
	MAN/macro.m 2869
	MAN/makecopy.m 515
	MAN/open.m 484
	MAN/overstrike.m 897
	MAN/print.m 729
	MAN/putc.m 601
	MAN/putstr.m 470
	MAN/remove.m 298
	MAN/seek.m 450
	MAN/sort.m 683
	MAN/translit.m 1669
	MAN/unique.m 484
	MAN/unrotate.m 1035
	MAN/wordcount.m 423
	PMAN/close.m 280
	PMAN/create.m 943
	PMAN/error.m 364
	PMAN/getarg.m 557
	PMAN/getc.m 722
	PMAN/getcf.m 776
	PMAN/getline.m 701
	PMAN/message.m 311
	PMAN/nargs.m 411
	PMAN/open.m 972
	PMAN/putc.m 350
	PMAN/putcf.m 360
	PMAN/putstr.m 431
	PMAN/remove.m 493
	PMAN/seek.m 651
