[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 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 . 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