[6,1]		Software Tools
-----		-------- -----

This account contains source for a number of programs that are generally
useful.  You will probably have to modify the account names in the command
files to suit your own taste.  Of course, there's no accounting for taste.

NOTE: as of this writing, there seems to be a bug in the sorts program
(or in the file-service library) that causes sorts to return an initial
zero-length record as the first sorted record.  There is a work-around
for this in kwik.c, but it may be a general problem.

The old C pre-processor (mp) has been replaced by cpp.  mp sources
are in the miscellaneous directory, stored in mp.arc.

The programs are:

arch	The old (mostly obsolete) archive maintenence program.
	The data format is slightly different from the newer
	archc and archx programs.

archc	The new archive builder (reads files, writes an archive).

archx	The new archive extractor (reads an archive, writes the files).

build	Reads C source files, builds a command file to compile them.

comm	Compare the contents of two files, indicating what is common
	to both files, and what is different.  comm ? gives help.

cpp	C pre-processor with full functionality.  Usage:
	cpp [input [output]].  cpp replaces mp.  Follows the
	Draft Ansi C Standard and may be conditionally compiled
	to accept other "non-standard" flavors of cpp.  See
	the source code (especially CPPDEF.H) for details.

detab	Convert <TAB> to an appropriate number of blanks.

diff	Differential file comparison program, as described in Bell Labs
	C.S. technical report 41.

echo	Echo arguments -- used mostly to debug the compiler and
	run-time system.

entab	Converts a string of blanks to <TABs>.

fixdoc	For building the documentation.

getcmd	Reads filenames to build macro compilation commands.
	For maintaining Decus C.

getkwk	Builds index entries for kwik -- for building the documentation.

getrno	Reads C and macro source files,
	extracting runoff documentation source.

grep	"Global Regular Expression Pattern" -- search files for
	lines which satisfy an argument pattern.  grep ? gives help.

kwik	Kwik index program.  See kwik.rno/kwik.doc.  Link with sorts.c.

linepr	listing utility that writes a line-numbered output file.

mc	A multi-column print utility.

nm	Print "namelist" -- prints global symbols for an object module.
	Lots of options described in the source code, but nowhere else.

od	Octal dump of a file -- Options described in the source code only.
	As the RSX library doesn't mangle file attributes, some of the
	features don't work.  od dumps records on RSX, blocks on RT11

pr	Print with line numbers.

rnoidx	Converts the output of kwik to a form that can be processed
	by runoff ("quoting" special runoff characters, such as '#').

scat	Concatenate a list of files (accepting wildcards).

scopy	Clean up runoff output files and other files with strange RMS
	attributes.  RSX-11M and VMS only (needs file version numbers).

sortc	Sort a file.

sorts	Sort library routines.  Help in the source code.  Used by kwik.

t	File type (on a video screen) utility.  Run T and see.  Works
	well on a network virtual terminal.  Handles random RMS file
	formats.

uniq	Print unique lines from a file, uniq ? gives help.

units	Convert between various units.  Needs floating-point hardware.
	The first time you run it, it will compile the units database
	(this is a slow process).  Make sure the units database
	(units.txt, which becomes units.dat) is in a reasonable place.
	See the comments in the source code.

wc	Word/line/byte counter

xrf	Cross reference listing for C programs

