HERBER@FNALA.FNAL.GOV ("Randolph J. Herber, CD/DCD/SP, x2966") (03/08/91)
The following observations are in order: 1) 'ksh' is licensed software of AT&T corporation. 2) The source code is available for purchase from AT&T Toolchest. The telephone numbers I have for them may be out-of-date. +1 800 828 8649 or +1 919 855 2743 (These number now belong to UNIX Systems Laboratories.) 3) The last time I checked on the price for an organization license it was US$3,000 for the source and US$20,000 additional if the organization wanted to sublicense the executables outside the organization. I enclose a text from the AT&T Toolchest describing it that is about a year in age. Randolph J. Herber, herber@fnalf.fnal.gov >From: SMTP%"info-iris-request@vmb.brl.mil" 7-MAR-1991 11:50:34.44 >To: info-iris@BRL.MIL >CC: >Subj: Korn shell for IRIS (ksh) > >Date: 7 Mar 91 14:53:59 GMT >From: Kamran Sokhanvari <mcsun!cernvax!chx400!chx400!sgzh!root@uunet.uu.net> >Organization: Silicon Graphics, Zurich >Subject: Korn shell for IRIS (ksh) >Message-Id: <1991Mar7.145359.21510@sgzh.uu.ch> >Sender: info-iris-request@BRL.MIL >To: info-iris@BRL.MIL > > >Does anyone have a copy of korn shell running on their IRIS >workstation. If yes I would appreciate either a binary copy >or the source code for our system. > >Please use Email to reply. > >Many thanks in advance. > > >Kamran Sokhanvari, >SGI Zurich, Switzerland > OVERVIEW The UNIX System Toolchest is an electronic catalog for browsing and ordering certain AT&T source software. The Toolchest provides a channel through which unsupported software products, developed within AT&T, can be distributed to the commercial UNIX world. As you browse through the catalog, you'll find descriptions of all the Toolchest programs, complete with information on memory and disk requirements, documentation, and license fees. Because the Toolchest offers an innovative electronic distribution mechanism, you will be able to start ordering and receiving software as soon as you have registered with the Toolchest Administrator. Registration is free if your company is a source licensee of UNIX System V; otherwise, a fee of $100.00 is assessed. To register, your company must execute a license agreement which covers all software available through the UNIX System Toolchest. You will be sent one contract covering both Csource and binary sublicensing terms. Some of the points on which you will be asked to agree are: 1. You may make multiple copies of the source for your company's INTERNAL use. No CPU serial number reporting is required. 2. Licenses are final once the electronic distribution has been completed to your machine. 3. AT&T does not warrant the suitability of the software products for any specific use. 4. You are responsible for keeping the software in confidence. 5. Sublicensing is available for a lump sum (no royalties) on a per tool basis, as written in the contract. Registration is not required to browse. When you decide to register, either use item number 8 on the main menu or call 201-829-8843 between 9am-5pm Eastern time. The software, sent to your computer using the uucp network, is distributed "as is" and in source code format. Machines and operating systems listed for each tool in the tool specifications do not represent a warrantee by AT&T that the tool runs in that environment, but are furnished to give you an idea of how much this tool has been ported to different configurations. The Toolchest has a menu interface, allowing you to choose your own path through the system. The menus all have selection fields which require input from you. Selections may be made in either upper or lower case, and require that you press RETURN after typing the desired selection. If you don't understand an input request or error message, type a question mark (?) without a RETURN and help information will appear. If fields are optional, a RETURN or <CTRL> n will move you to the next field (see item number 2 on the main menu.) IMPORTANT: The editing in the fields is overlay editing. If you type a selection that you wish to change or if the cursor is placed at the end of a field that you wish to change, then you must BACKSPACE over the characters and then retype. You should not leave a field until you are sure your input is correct because you will not be able to return to fields that you have already visited. Browsing will give you a list of tools a screenful at a time. You may move forward or backward through the entire list of tools. On each screen you may request to see long descriptions or specifications of any tool AND you may license or sublicense the tools you are interested in. You may queue a list of tools for licensing. This will NOT commit you to license these tools as you will be shown the billing information and asked for confirmation before any tool is licensed. The Toolchest is an implementation of a new technology in distributing software electronically. We welcome any comments (see item 9 on the main menu) you may have regarding this unique distribution channel of AT&T's commercially available software. Welcome to the UNIX System Toolchest. Please send us comments so that we may serve you better. Sorry, but there are no educational discounts for universities. A source upgrade policy is in effect. When an upgraded version of a tool that you have licensed becomes available, you will be notified via a postal card. The card will give you the cut-off date for ordering the upgrade at the discounted upgrade price. For information/ordering of the following unsupported software, call UNIX(r) Software Licensing at 1-800-828-UNIX. DITROFF, N PACK, C/370, S, TEXT MANAGER, TRACE, PMTS, FACE. Toolchest customers in the USA now have the option of receiving licensed source code and documentation in ENCRYPTED form. This feature will make electronic distribution of software more secure from file corruption and lost data due to errors in transmission. The Toolchest will send to your machine, FREE of charge, the package that will DECRYPT your files. This package, called "tcunseal" uses YOUR PERSONAL Toolchest PASSWORD as the decryption key for deciphering your files. The "tcunseal" package will be sent, as usual, in source code format to be compiled on your machine. So...if you HAVE purchase permission from the Toolchest and would like to take advantage of this new encryption/decryption feature, simply select 'Send Comments' from the 'Main Menu' and make your request known; or call the Toolchest Administrator direct at (201) 829-8843 between 9am and 5pm Eastern time. If your corporation or educational institution requires purchase order numbers on all purchases, please indicate this on the purchase authorization form accompanying your Toolchest license agreement. Your account can be set up to allow you to enter a P.O. # at the time of each purchase. This P.O. # will be reflected on the paper invoice mailed to you requesting payment for purchases. If you must mail a copy of the purchase order to us, send it to the attention of Ms. Pat Kelly at AT&T Information Systems P.O. Box 65080 Charlotte, NC 28265 ____________________________________________________________________________ 4415wdw environment Windowing for AT&T-IS 4415 terminal 630_pkg environment 5620 DMD/630 MTG Text Package anim graphics Algorithm Animation asd administration Automatic Software Distribution awkcc programming aid awk to C translator bptap programming aid Background Process Terminal Access Pkg captoinfo administration Termcap to Terminfo Conversion centipede game Insect Shooting Game chunk language Segment Text into conv-dt programming aid Date Conversion routines cpio file utility Copy file archives in and out cscope debugger Interactive C Program Analyzer cursor programming aid Shell Cmd Pkg for Cursor Positioning datebook office Maintain per. Appointment Calendar dmd-pgmg environment Collection of Teletype 5620 DMD Prog's dmdps driver Bitmap Printer Interface dsh environment MS-DOS Command Emulation edit-one editor Easy full screen Editor emacs-tc editor Full screen Ed itor, split screen file-util1 file utility Extract lines; Extr. ASCII strings fmail office Full screen Interface to std mail gebaca game Corporate Logo Shooting Game getopt programming aid Std Command Line Arg Parser heqs math Hierarchical EQuation Solver icurse programming aid Interpreter for Curses Library inedit programming aid Input Line Editor infocmp administration Compare Terminfo Descriptions inspect debugger C/C++ Syntax Checker keynote language A music programming language for MIDI ksh-i language KornShell Command & Programming Language lisp-tc language Lisp Interpreter ltrace debugger lex and yacc Debugger make-util file utility Makefile Generator and Analyzer map graphics World map generator mk programming aid A successor to make nawk language Pattern Scanning & Processing Language ncsl programming aid Count Non-Commentary src lines nmake programming aid New Make Program p-shell language Prolog-based Knowledge Prog Environment paisley language Executable Specification Language port3 library Package of FORTRAN Subroutin es port3-approx library PORT3 FORTRAN Approximation Subroutines port3-diff library PORT3 FORTRAN Diff Equation Subroutines port3-frame library PORT3 FORTRAN Subroutine Framework Pkg port3-linalg library PORT3 FORTRAN Linear Algebra Subroutine port3-opt library PORT3 FORTRAN Optimization Subroutines port3-pde library PORT3 FORTRAN Part Diff Equa Subroutines port3-quad library PORT3 FORTRAN Quadrature Subroutines port3-roots library PORT3 FORTRAN Root Finder Subroutines port3-spfns library PORT3 FORTRAN Spec Function Subroutines port3-trans library PORT3 FORTRAN Fast Fourier Transforms port3-util library PORT3 FORTRAN Sub Library Utilities reltools programming aid Software Reliability Analyzer rogue-tc game Screen-oriented fantasy Game sam editor A Bitmap Editor scicalc office Full-screen Scientific Calculator sh-pgmg1 programming aid Set of Useful Shell Prog. Tools sh-pgmg2 programming aid Another Set of Useful Shell Prog. Tools slog debugger Flexible Src level LOGging Facility snocone language Translate Snocone into SNOBOL4 spin programming aid Automated Protocol Simulator, Validator sw_mgmt_pkg administration Software Package Management Tools tabs forms C Library Windowing Interface tape-tools file utility Extract Utilities for IBM Std Tapes teco-tc editor popular DEC editor for the UNIX system tek graphics "troff" Filter for Tek4014 cmds tforms forms A Forms Package for Video Terminals tttt game 3D Tic-Tac-Toe for 2 players tunex administration UNIX System Performance Tuning Tool unity-tc database Relational DB for simple files varityper office DWB 1.0 for Varityper Equipment vsh-tc environment Menu Shell vsort file utility Sort for Large and/or Binary Files Tool name: tape-tools TAPE-TOOLS - Extract Utilities for IBM Standard Tapes TAPE-TOOLS is a package of subroutines that make it practical to access large volumes of IBM compatible tape data in a reasonable length of time. The TTU (tape-tool utilities) system is a code generator that can build efficient tape processing programs. Simple descriptions of record layouts, record selection criteria, and output requirements are used to direct the assembly of custom programs from a library of code fragments. TTU generates C language programs to select, extract and translate data stored in EBCDIC format on tapes. You fill in a simple dictionary describing the tape (or use one already in existence), respond to prompts from TTU for conditions on the records and fields to be extracted. The TTU system analyzes this request and generates a program to read the tape and return the requested data. This approach is easy to use and provides programs that are reasonably fast and predictably structured. The structure allows a programmer, even one not involved in the generation of the program, to alter the program to meet special needs. Sltread is an analysis tool for IBM compatible standard label tapes. It can extract a specified file from a tape, convert the data from EBCDIC to ASCII and write it onto standard output. Sltread can also read variable format records and multitape files. Sltcopy makes an accurate copy of all the valid data on a labeled tape; damaged blocks are discarded (or, optionally, salvaged); and the tape labels are revised to reflect the changes. Tcopy complements sltcopy; it copies nonlabeled tapes. It cannot adjust the labels to account for blocks deleted due to input errors. Tcopy and sltcopy replace "dd" for most tape copy operations, since they are easier to use and more tolerant of input errors. A "fastdd" program is included for use when Tcopy and sltcopy are inappropriate. Sltgen is a software package developed to create labeled tapes for users who want to send files to sites running an IBM compatible operating system. Output is limited to the "fixed length blocked" format, and all files on the tape must have the same record size and block length. The script depends on features found in the Korn shell. Sltlib contains three classes of C functions for those who wish to build their own software to process IBM compatible standard label tapes: * Volume, dataset, and record management functions * Fortran compatibility functions * functions to read and write IBM compatible standard labels The programmer interface for the volume, dataset, and record management functions is similar to the one provided by the "open", "read", and "close" UNIX system calls. The Fortran compatibility functions allow you to use a Fortran program to extract logical records from a tape without requiring the use of an external utility, such as "fastdd", to translate data into the standard UNIX system stream format. The tape label I/O functions are usually used internally by the data management functions, but they can also be useful building blocks for constructing special purpose tape management tools such as tape copy utilities. Documentation for the tape-processing commands consists of user manuals and manual pages. Version : 1.0 Price for source : $ 950.00 Price for sublicensing : $ 10000.00 Size of source (K bytes) : 575 Size of object (on 3B20) : 87 Size of docs (K bytes) : 21 Language : C Provider : Smith, G; Belanger, D; ... Machines : AT&T 3B20 Operating systems : UNIX System V Dependencies/Restrictions : none Tool name: teco-tc TECO-TC - Text Editor and COrrector This popular text editor on vendor-supplied operating systems for PDP-8, VAX-11, and PDP-10 computers, is compatible with "TECO-11" for the PDP-11 running under RSX-11, and the VAX-11 running under VAX/VMS. This editor makes life easier for former users of CRSX-11 and VMS because it provides compatible editing features that ease the transition from DEC operating systems to UNIX System V. Major features of the UNIX system TECO-TC are: - Command Invocation - TECO-TC recognizes the commands "teco", "create" (instead of "make") and "mung". It also supports the initialization files "TECO.INI" and "TECO.TEC." - Terminal Handling - TECO-TC obtains the user's erase, line kill, and interrupt characters, as set by "stty", and uses them in place of DELETE, ^U, and ^C. - CRT Support - TECO-TC may be built to use a terminal database. Doing so allows TECO-TC to provide CRT-style character and line erase on a wide variety of terminals. However, TECO-TC does not support the "W" command or the VTEDIT TECO macro. - File Handling - TECO-TC understands full and relative UNIX pathnames in all file-handling commands; the EB command creates back-up files. As in standard TECO, TECO-TC breaks text files into logical pages, where a form feed character denotes end- of-page. - Commands - TECO-TC attempts to be as faithful as possible to TECO-11. The release notes describe the few discrepancies. Affected commands are: EG, EN, and EJ. Commands may be entered as upper, lower, or mixed cases. - Extensions - TECO-TC provides an EE command to access the UNIX environment variables. There is also a way to examine command line arguments (for "mung"). Documentation includes manual pages, release notes, and a printable command reference sheet. Further information can be obtained from DEC's PDP-11 TECO User's Guide. Version : 1.0 Price for source : $ 450.00 Price for sublicensing : $ 3000.00 Size of source (K bytes) : 445 Size of object (on 3B20) : 76 Size of docs (K bytes) : 41 Language : C Provider : Kristol, Dave Machines : AT&T 3B20, DEC VAX, DEC PDP 11/70 Operating systems : UNIX System V Dependencies/Restrictions : Tool name: tunex TUNEX - UNIX OS Performance Tuning Tool TUNEX is a tool for performance tuning of the UNIX Operating System. TUNEX receives data from "sar", "sadp", "acctcom", "sysdef", and "mount" and interprets the data using tuning rules and a number of performance modules. Observations regarding the system are made and, if applicable, appropriate recommendations follow. TUNEX looks at the measurement data during a specified period, and if the resource utilization is high, it searches for the existence of problems such as low cache hit ratios, inappropriate size of internal tables, inappropriate allocation of file systems to drives (unbalanced load), deteriorated file systems, etc.. If any of these problems are observed, the problem and a possible remedy are presented. In some cases, TUNEX will respond that the system is highly utilized but cannot recommend any tuning changes. TUNEX consists of a main module and four performance analysis modules. The main module, Monitor, uses "sar" measurements and the results from the performance modules. It can be invoked at any time to provide information for a time period during which "sar" results are available. Presently, TUNEX uses the saved system measurements in system files and does not keep its own "sar" and accounting measurements. This is to minimize TUNEX's overhead on the system in terms of cpu time and storage. Three of the four performance analysis modules need to be run regularly to provide data that will be used by Monitor. Inclusion of any of these modules is optional. However, the problem diagnosis and recommendation power of Monitor increases when more modules are used. Also, any of the performance modules can be used independently of the rest of TUNEX or can be incorporated or modified for use in other applications. Following is a brief description of the four modules. Disk Cache Sizing Module - This is a module that predicts I/O performance given the buffer cache is increased to a certain level. This module requires a change to the UNIX kernel source. This code is included in the package with instructions of where it must be inserted. The code affects bio.c, main.c, and sysinfo.h. Consequently, sadc.c and "sar.c" are also changed. The overhead introduced by this module is on the order of 0.5% - 2% on the cpu. Dcopy Incentive Module - This module evaluates file system organization and predicts an approximate performance improvement in terms of disk utilization after the file system has been reorganized using dcopy(1M) or fscopy(). This module can be run during off-peak hours and hence does not introduce extra load during busy periods. However, the data for this module (from "sadp") needs to be collected during typical busy periods. File System Configuration Module - This module looks for alternative allocation of file systems to drives and partitions and presents the one(s) that minimize(s) maximum disk response times and/or minimize(s) maximum file system response times. This module can also be run at less busy periods. The data collected for the dcopy incentive module is used by this module also. Sticky Bit Analysis Module - This module selects the best candidates for setting sticky bits. The module does not introduce any load to the system during busy hours. The saved accounting information is used at off-peak hours to produce the list of recommended commands. SOFTWARE-HARDWARE LIMITATIONS - The current version of TUNEX runs on UNIX System V on both swapping and demand paging releases. Features such as selection of good candidates for setting sticky bits are more effective on swapping releases. The current version of TUNEX cannot provide much information on the paging activities. In addition to "sadp", the I/O system related modules need other information on disk drives such as size, number cylinders, optimal gap and min-max seek times. The current version has such information for disk drives CDC-675meg, CDC-340meg and 72meg. Inclusion of other disk drives in the list is possible as long as the information listed above is available. Documentation for TUNEX consists of a memorandum and a manual. Version : 1.0 Price for source : $ 2200.00 Price for sublicensing : NA Size of source (K bytes) : 527 Size of object (on 3B20) : 325 Size of docs (K bytes) : 63 Language : C, sh, awk Provider : Samadi, B Machines : AT&T 3B2, 3B5, 3B20; DEC VAX Operating systems : UNIX System V Dependencies/Restrictions : Tool name: port3 PORT3 - Mathematical Subroutine Library PORT3 is a library of approximately 600 mathematical subroutines for numeric computation and program development. These coordinated, modular subroutines cover a wide variety of mathematical applications. For example, the library includes extensive spline approximation and interpolation facilities, integration routines that can integrate noisy intergrands or intergrands with a singularity, and subroutines built around an efficient extrapolation algorithm for solving ordinary differential equations. PORT3 also has an extensive group of subroutines for solving linear systems. There are routines for solving general and complex systems, and banded, symmetric, and sparse systems. Optimization routines are included to perform tasks such as nonlinear least squares and linear and quadratic programming. In addition, PORT3 includes routines for solving sets of time-dependent partial differential equations in one space dimension, an innovative routine for integrating stiff systems, quadrature routines, and a self-sorting Fast Fourier Transform. The main subjects covered by PORT3 are: - Approximation, Interpolation, and Extrapolation (42 routines) - Differential Equations (5 routines) - Partial Differential Equations (12 routines) - Linear Algebra and Eigensystems (103 routines) - Optimization and Mathematical Programming (49 routines) - Quadrature (14 routines) - Roots or Zeros (6 routines) - Special Functions (16 routines) - Transforms (11 routines) Single-precision and double-precision versions of all subroutines (where appropriate) are provided. PORT3 also includes utility programs that encompass subjects such as random-number generation (uniform or normal variate), arithmetic utilities, evaluation of expansions in terms of orthogonal polynomials, operations on one-dimensional arrays (including sorting), and output printing. Two significant features of PORT3 are the automatic error-checking programs and dynamic storage allocation. You do not have to test for errors or provide error-indicating parameters in calls to the subroutines; scratch storage is automatic and dynamic so you do not have to include scratch arrays. The PORT3 library is composed mainly of the traditional areas of numeric computation software. It does not include statistical routines or duplicate programs that are included in other libraries. Each algorithm has been carefully selected, tested, and used to ensure its accuracy and efficiency. Most of the subroutines were developed at AT&T Bell Laboratories. PORT3 is written in a subset of Fortran 66 that has been successfully compiled with many different compilers including several Fortran 77 compilers and the IBM VS FORTRAN. PORT3 runs under most Fortran systems from the very large (e.g., PORT3 CRAY-1) to the very small (e.g., Apple II). Documentation consists of an Installation manual, complete descriptions of each chapter, and some indexes. The PORT3 libraries can be licensed as a complete package or each individual PORT3 chapter can be licensed separately. Version : 3.0 Price for source : $ 3500.00 Price for sublicensing : $35000.00 Size of source (K bytes) : 4884 Size of object (on 3B20) : 3707 Size of docs (K bytes) : 1658 Language : Fortran Provider : Schryer, N; Fox, P; Hall, A Machines : AT&T 3B line, PC 6300, 7300; DEC VAX; IBM PC Operating systems : UNIX System V Dependencies/Restrictions : Tool name: ksh-i KSH-88 - The KornShell Command and Programming Language KSH-88 is the most recent version of the KornShell Language described in "The KornShell Command and Programming Language," by Morris Bolsky and David Korn of AT&T Bell Laboratories. The KornShell is a shell programming language, which is upward compatible with "sh" (the Bourne Shell), with many added features. KSH-88 provides an enhanced programming environment in addition to the major command-entry features of the BSD shell "csh". With KSH-88, medium-sized programming tasks can be performed at shell- level without a significant loss in performance. In addition, "sh" scripts can be run on KSH-88 without modification. A number of enhancements and bug fixes have been made, many of which were to enhance portability with certain compile options driven by the characteristics of the target system. Most of the code now conforms to the IEEE POSIX 1003.1 standard and to the proposed ANSI-C standard. Like the previous version, KSH-I is designed to accept eight bit character sets transparently, thereby making it internationally compatible. It can support multi-byte characters sets with some characteristics of the characters set given at run time. KSH-88 provides the following features, which were also inherent in KSH: - Enhanced Command Re-entry Capability: The KSH-88 history function records commands entered at any shell level and stores them, up to a user-specified limit, even after you log off. This allows you to re-enter long commands with a few keystrokes - even those commands you entered yesterday. The history file allows for eight bit characters in commands and supports essentially unlimited size histories. - In-line Editing: In "sh", the only way to fix mistyped commands is to backspace or retype the line. KSH-88 allows you to edit a command line using a choice of EMACS-TC or "vi" functions. You can use the in-line editors to complete filenames as you type them. You may also use this editing feature when entering command lines from your history file. - Extended I/O Capabilities: KSH-88 provides several I/O capabilities not available in "sh", including the ability to: o specify a file descriptor for input o start up and run co-processes o produce a prompt at the terminal before a read o easily format and interpret responses to a menu o echo lines exactly as output without escape processing o read and echo lines ending in " o Improved performance: KSH-88 executes many scripts faster than the System V Bourne shell. A major reason for this is that many of the functions provided by "echo" and "expr" are built-in. o Integer Arithmetic: A built-in command in KSH-88 allows you to do integer arithmetic in any base from two to thirty-six. Almost the complete set of C language operators are available. Further, variables in arithmetic expressions may include one-dimensional arrays. Arithmetic expressions can be used to form arguments to commands. o Shell Functions and Aliases: Two mechanisms - functions and aliases - can be used to assign a user-selected identifier to an existing command or shell script. Functions allow local variables and provide scoping for exception handling. Functions can be searched for and loaded on first reference the way scripts are. o Substring Capabilities: KSH-88 allows you to create a substring of any given string directly by stripping off leading or trailing substrings during parameter substitution. You can also specify attributes, such as upper and lower case, field with and justification to shell variables. o More pattern matching capabilities: KSH-88 allows you to specify regular expressions for file and string matches. o Improved debugging: KSH-88 can generate line numbers on execution traces. Also, I/O redirections are now traced. There is a DEBUG trap that gets evaluated after each command so that errors can be localized. o Job Control: On systems that support job control, including System V Release 4, KSH-88 provides a job- control mechanism almost identical to that of the BSD "csh", version 4.1. This feature allows you to stop and restart programs, and to move programs between the foreground and the background. o Added security: KSH-88 can execute scripts which do not have read permission and scri pts which have the setuid and/or setgid set when invoked by name, rather than as an argument to the shell. It is possible to log or control the execution of setuid and/or setgid scripts. The noclobber option prevents you from accidentally erasing a file by redirecting to an existing file. Documentation for KSH-88 consists of an "Introduction to KSH-88", "Compatibility with the Bourne Shell", a manual page and a README file. In addition, the "KornShell Command and Programming Language," book is available from Prentice Version : 88d Price for source : $ 3000.00 Price for sublicensing : $ 20000.00 Size of source (K bytes) : 614 Size of object (on 3B20) : 377 Size of docs (K bytes) : 161 Language : C Provider : Korn, David Machines : AT&T 3Bs, UNIX PC, 6386; VAX; Amdahl; CCI; Sun 3/4/386i; Cray-2; Allian Operating systems : Operating systems : UNIX System V, BSD, Sun OS, Unicos, HP/UX, Ultrix, Domain/IX, UIMPS Dependencies/Restrictions : none Tool name: nawk NAWK - Pattern Scanning and Processing Language NAWK is the newest version of awk as described by the book "The AWK Programming Language" by Aho, Weinberger, and Kernighan, published by Addison-Wesley. NAWK contains several bug fixes, performance, and portability enhancements. Also, the -S and -R options have been removed and the expression '(i, j, k) in array' permits testing membership using multiple subscripts. Awk is a programming language which handles simple, mechanical data manipulation tasks like changing the format of data, checking its validity, finding items with some property, adding up numbers, printing reports, and so on. An awk program is a sequence of patterns and actions that tell what to look for in the input data and what to do when it's found. Awk searches a set of files for lines matched by any of the patterns; performing the corresponding actions when they are found. A pattern can select lines by combinations of regular expressions and comparison operations on strings, numbers, fields, variables, and array elements. Actions may perform arbitrary processing on selected lines; the action language looks like C but there are no declarations, and strings and numbers are built-in data types. Awk scans the input files and splits each input line into fields automatically. Because so many things are automatic -- input, field splitting, storage management, initialization -- awk programs are usually much smaller than they would be in a more conventional language. Thus one common use of awk is for the kind of data manipulation suggested above. Programs, a line or two long, are composed at the keyboard, run once, then discarded. In effect, awk is a general-purpose programmable tool that can replace a host of specialized tools or programs. The same brevity of expression and convenience of operations make awk valuable for prototyping larger programs. One starts with a few lines, then refines the program until it does the desired job, experimenting with designs by trying alternatives quickly. Because awk programs are short, it's easy to get started, and easy to start over when experience suggests a different direction. And it's straightforward to translate an awk program into another language once the design is right. Documentation for NAWK consists of a manual page. Version : 2.0 Price for source : $ 300.00 Price for sublicensing : $ 5000.00 Size of source (K bytes) : 120 Size of object (on 3B20) : 230 Size of docs (K bytes) : 5 Language : C, lex, yacc Provider : Aho; Weinberger; Kernighan Machines : AT&T 3B2, 5, 20; UNIX PC; DEC; IBM; Motorola Operating systems : UNIX System V; BSD, XENIX Dependencies/Restrictions : Use with awkcc for increased efficiency. Tool name: cscope CSCOPE - Interactive C Program Analyzer CSCOPE is a menu driven, interactive cross-reference tool that can help a programmer quickly analyze an unfamiliar C program and fix bugs or update parts of the code without having to learn the entire program. CSCOPE combines the best features of tools such as "cxref," "cflow," and "grep," along with a convenient interface to a text editor of the user's choice. Among the functions CSCOPE performs are: * Locating all references to a specific C symbol such as getchar * Locating a specific function and identifying the other functions that call, or are called by, that function * Making global changes in all source files and verifying that changes have been made * Answering questions such as "where does the message 'out of space' come from?" When CSCOPE is invoked, it builds a symbol cross-reference table for the source file and displays a menu. If you select a menu item and type the search text, CSCOPE displays a list that contains the information you requested. For example, a search for a C language symbol results in a list that shows the files, functions, and lines that contain the symbol. At this point, a single keystroke puts you into your editor at the beginning of the line you selected. Searches for calling functions or functions called, strings, and text to be changed result in similar displays. CSCOPE allows you to stack CSCOPE-editor calls. If you are in the editor and see something of interest, you can call CSCOPE from within the editor and continue your examination or modification of the program. When you leave the second call to CSCOPE, you will return to the original point you were at in the editor. CSCOPE is menu driven and has single character commands. It confirms that a command has been recognized and provides feedback while the command is being processed. CSCOPE is especially useful in the design stage of a program or when an unfamiliar program has to be analyzed. It can also be used to complement "sdb" in debugging a program. Cscope Version 8.7 Enhancements You can use regular expressions (regcmp(3X) regular expressions (see the UNIX(R) System V Programmer Reference Manual), which are sightly different than egrep regular expressions) in these input fields Find this C symbol: Find this function or #define: Find functions called by this function: Find functions calling this function: Find this file: Find files #including this file: If there is a cscope.files file in the current directory, cscope will get the list of files from it, as if you had typed cscope -i cscope.files When searching for a C symbol, <global> references are displayed first to make it easy to find the definition of a symbol. To speed up output, some startup messages have been eliminated, curses(3X) is used, and the text of input fields and mouse menus is shorter. The -b option only builds the cross-reference. Use it when using cscope with the batch or at commands. The -n options (where n is 0-8) will go to input field n and search for the following text argument, e.g. "-2 main" will find function main. C++ comments (// comment) are recognized. The documentation for CSCOPE consists of a manual page. Version : 8.7 Price for source : $ 300.00 Price for sublicensing : $ 1000.00 Size of source (K bytes) : 157 Size of object (on 3B20) : 341 Size of docs (K bytes) : 7 Language : C Provider : Steffen, Joseph Machines : AT&T 3B20, 3B2; DEC VAX, 11/70; IBM S370 Compat. Operating systems : UNIX System V, UNIX System V VM; BSD Dependencies/Restrictions : terminfo or curses libraries