On Dec 2, 1:54 pm, Daiyu Hurst <
daiyu.hu...@gmail.com> wrote:
> On Dec 1, 1:11 am, Daiyu Hurst <
daiyu.hu...@gmail.com> wrote:
> > On Nov 30, 12:28 pm, Al Kossow <
a...@bitsavers.org> wrote:
> > > On 11/30/12 6:47 AM, Edward Feustel wrote:
>
> > > > Does anyone happen to have a source tape, disk, or listing of
> > > > the source of Software Tools?
>
> > > Bill Gunshannon and I have been looking for this for a long time.
> > > It appears that no one saved a copy.
Folks, does this look like the Holy Grail of which we speak? I got
this
from a member of my Control Data group; it appears to be the portable
distribution, un-ported.
TABLE OF CONTENTS
Part 1
Summary of Tools and Library Routines
Introduction
File 2 - Copy (in Fortran)
File 3 - Ratfor bootstrap (in Fortran)
File 4 - Library Routines, Symbol Definitions, and
Temporary Versions of the Primitives
File 5 - Reading Command Line Arguments - Echo and Getarg
File 6 - The CAT tool for testing File Access Primitives
File 7 - File Insertion - Incl
File 8 - Ratfor in ratfor
------ - In-Core Editing.
File 9 - Text Formatting
File 10 - File Archiving
File 11 - Text Editing - Random IO Primitives
File 12 - The Remainder of the Basic Tools
File 13 - The Shell
File 14 - Documentation
File 15 - Additional Tools (which have been included as
they were received; some may require additional
primitives)
File 16 - Spelling Dictionary
Part 2
Specifications for System-dependent Primitives
SUMMARY OF CONTENTS OF TAPE
1. TOOLS
ar ................................. archive file maintainer
cat ....................... concatenate and print text files
ch .................................... change text patterns
comm ....................... print lines common to two files
cpress ................................ compress input files
crt ..................................copy files to terminal
crypt ................... encrypt and decrypt standard input
date ............................... print the date and time
dc ......................................... desk calculator
detab ............................... convert tabs to spaces
diff ..................... isolate differences between files
echo ........................... echo command line arguments
ed .................................................. editor
edin ........................................ in-core editor
entab .................... convert spaces to tabs and spaces
expand .............................. uncompress input files
fb ................ search blocks of lines for text patterns
field ............................ manipulate fields of data
find ....................... search a file for text patterns
format ......................................... format text
includ ......................... file inclusion preprocessor
kwic ............ prepare lines for keyword-in-context index
lam ......................................... laminate files
ll ...................................... print line lengths
macro ...................... general-purpose macro processor
mcol ................................ multicolumn formatting
mv .................................... move (rename) a file
os .................. convert backspaces into multiple lines
pl ................... print specified lines/pages in a file
pr .............................................. print file
ratfor ................................. Ratfor preprocessor
rev .......................................... reverse lines
rm ................................... remove (delete) files
roff ........................................ [see 'format']
sedit ........................................ stream editor
sh ................................ command line interpreter
show ......................... show all characters in a file
sort .......................... sort and/or merge text files
spell ............................... locate spelling errors
split ............................... split file into pieces
tail ............................ print last lines of a file
tee ................... copy input to output and named files
tr ............................... character transliteration
tsort ........................... topologically sort symbols
uniq ............. strip adjacent repeated lines from a file
unrot ...................... unrotate lines prepared by kwic
wc ............. count lines, words, and characters in files
xref ..................... make a cross reference of symbols
-1-
2. SUBROUTINES AND PRIMITIVES
(* indicates that the implementation of the routine is
system-dependent
# indicates that the routine may, in some cases, be
system-dependent)
definitions .................... standard Ratfor definitions
File Manipulation
#amove ......................... move (rename) file1 to file2
*close ................................ close (detach) a file
*create .... create a new file (or overwrite an existing one)
*gettyp .............. get type of file (character or binary)
*isatty .......... determine if file is a teletype/CRT device
#mkuniq ........................... generate unique file name
*open ... open an existing file for reading, writing, or both
*remove .................. remove a file from the file system
I/O
fcopy ............................. copy file in to file out
*flush .................... flush output buffer for file 'fd'
getc .................... read character from standard input
*getch ............................. read character from file
#getlin ............................. get next line from file
*note ....................... determine current file position
#prompt ............................... prompt user for input
putc .................... write character to standard output
*putch .............................. write character to file
putdec .................. write integer n in field width >=w
putint ..... write integer n onto file fd in field width >=w
#putlin ..................... output a line onto a given file
putstr ........... write str onto file fd in field width >=w
*readf ............................. read from an opened file
*remark ........................... print single-line message
*seek ............................... move read/write pointer
*writef ............................. write to an opened file
Process Control
*spawn ...................................... execute subtask
String Manipulation
addset ........... put c in array(j) if it fits, increment j
addstr ...... add string s to str(j) if it fits, increment j
clower ................................ fold c to lower case
concat ...................... concatenate 2 strings together
ctoc ................................. copy string-to-string
ctoi ....... convert string at in(i) to integer, increment i
ctomn ....... translate ascii control character to mnemonic
cupper ..................... convert character to upper case
equal ............ compare str1 to str2; return YES if equal
esc .... map array(i) into escaped character, if appropriate
fold .......................... convert string to lower case
gctoi .......... generalized character-to-integer conversion
getwrd . get non-blank word from in(i) into out, increment i
-2-
gitoc .......... generalized integer-to-character conversion
index ....................... find character c in string str
itoc ................... convert integer to character string
length ............................ compute length of string
lower ......................... convert string to lower case
mntoc ......................... ascii mneumonic to character
scopy ...................... copy string at from(i) to to(j)
sdrop ........................ drop characters from a string
skipbl ...................... skip blanks and tabs at str(i)
stake ........................ take characters from a string
stcopy ........ copy string at from(i) to to(j); increment j
strcmp ................................... compare 2 strings
strim .......... trim trailing blanks and tabs from a string
substr ...................... take a substring from a string
type ........................... determine type of character
upper ......................... convert string to upper case
Pattern Matching
amatch ........ look for pattern matching regular expression
getpat .......encode regular expression for pattern matching
makpat ...... encode regular expression for pattern matching
match ....................... match pattern anywhere on line
Command Line Handling
*delarg ............. delete command line argument number 'n'
*getarg .......................... get command line arguments
gfnarg .......................... get next filename argument
query ...................... print command usage information
Dynamic Storage Allocation
dsfree ..................... free a block of dynamic storage
dsget .................... obtain a block of dynamic storage
dsinit .......................... initialize dynamic storage
Symbol Table Manipulation
delete ................... remove a symbol from symbol table
enter ......................... place symbol in symbol table
lookup ..... get string associated with name from hash table
mktabl ................................. make a symbol table
rmtabl ............................... remove a symbol table
sctabl .................. scan all symbols in a symbol table
Date Manipulation
fmtdat .................... convert date to character string
*getnow ........................... get current date and time
wkday ...... get day-of-week corresponding to month-day-year
Error Handling
cant ...... print 'name: can't open' and terminate execution
error .... print single-line message and terminate execution
Miscellaneous
*endst . close all open files and terminate program execution
*initst .. initialize all standard files and common variables
-3-
3. ADDITIONAL TOOLS AND LIBRARY ROUTINES
As assortment of tools and library routines including:
1) Alternate versions of tools included earlier on
the tape
2) Tools requiring additional primitives
3) Experimental tools and routines
4) Other tools and routines not yet accepted as part
of the basic package
4. COMPLETE DOCUMENTATION FOR TOOLS AND LIBRARY ROUTINES
5. PRIMERS
edit ................................................ editor
ratfor ................................. ratfor preprocessor
6. SPELLING DICTIONARY