.h0 "\na.\n+b Basic Program Development Package" .nr c 0 1 .sp .in0 A kit of fundamental programming tools. Some of these utilities are used as integral parts of the higher level languages described below. .sh AR Archive and library maintainer. Combines several files into one for housekeeping efficiency. Archive files are used by the link editor LD as libraries. .op Create new archive. .op Update archive by date. .op Replace or delete files. .op Table of contents. .op Retrieve from archive. .sh AS Assembler. Similar to PAL-11, but different in detail. .op Creates object program consisting of .in+2 .nf code, possibly read-only, initialized data or read-write code, uninitialized data. .in -2 .fi .op Relocatable object code is directly executable without further transformation. .op Object code normally includes a symbol table. .op Combines source files. .op Local labels. .op Conditional assembly. .op \*(lqConditional jump\*(rq instructions become branches or branches plus jumps depending on distance. .sh Manual Printed manual for the assembly language. .sh Library The basic run-time library. These routines are used freely by all system software. .op Formatted writing on standard output. .op Time conversions. .op Convert integer and floating numbers to ASCII and vice versa. .op Elementary functions: sin, cos, log, exp, atan, sqrt, gamma. .op Password encryption. .op Quicksort. .op Buffered character-by-character I/O. .op Random number generator. .op Floating point interpreter for 11/40's and non-floating point machines. .sh (LIBP) An elaborated I/O library. .op Formatted input and output. .op Ability to put characters back into input streams. .sh Manual Printed manual for LIBP. .sh DB Interactive post-mortem debugger. Works on core dump files, such as are produced by all program aborts, on object files, or on any arbitrary file. .op Symbolic addressing of files that have symbol tables. .op Octal, decimal or ASCII output. .op Symbolic disassembly. .op Octal or decimal patching. .sh OD Dump any file. .op Output options include: .in+2 octal or decimal by words, .br octal by bytes, .br ASCII, .br opcodes, .br hexadecimal, .br any combination of the above. .op Range of dumping is controllable. .sh LD Link edit. Combine relocatable object files. Insert required routines from specified libraries. .op Resulting code may be sharable. .op Resulting code may have separate instruction and data spaces. .sh NM Print the namelist (symbol table) of an object program. Provides control over the style and order of names that are printed. .sh SIZE Report the core requirements of one or more object files. .sh STRIP Remove the relocation and symbol table information from an object file to save space. .sh TIME Run a command and report timing information on it. .sh PROF Construct a profile of time spent per routine from statistics gathered by time-sampling the execution of a program. Uses floating point. .op Subroutine call frequency and average times for C programs. .h0 "\na.\n+b The Programming Language ``C''" .nr c 0 1 .nr b 0 1 .sh CC Compile and/or link edits programs in the C language. The U\s8NIX\s10 operating system, most of the subsystems and C itself are written in C. .op Full general purpose language designed for structured programming. .op Data types: .nf .in+2 character, integer, float, double, pointers to all types, arrays of all types, structures of all types, functions returning all types. .in-2 .fi .op Operations intended to give access to full machine facility, including to-memory operations and data-sensitive pointer arithmetic. .op Macro preprocessor for parameterized code and inclusion of standard files. .op All procedures recursive, with parameters by value. .op Natural coercions. .op True compiled object code capitalizing on addressing capability of the PDP11. .op Runtime library gives access to all system facilities. .sh Manuals Printed manual and tutorial for the C language. .sh CDB An interactive debugger tailored for use with C. .op Usable in real time or post-mortem. .op The debugger is a completely separate process from the debuggee. No debugging code is loaded with debuggee. .op Prints all kinds of data in natural notation: .nf .in+2 character, integer (octal and decimal), float, double, machine instructions (disassembled). .in -2 .fi .op Stack trace and fault identification. .op Breakpoint tracing. .h0 "\n+a Other Languages" .nr b 0 1 .h0 "\na.\n+b FORTRAN" .sh FC Compile and/or link-edit FORTRAN IV programs. Object code is \*(lqthreaded\*(rq. Relies heavily on floating point. .op Idiosyncracies: .nf .in+2 free form, lower-case source code, no arithmetic statement functions, unformatted I/O requires record lengths agree, no BACKSPACE, no P FORMAT control on input. .in-2 .fi .op Handles mixed-mode arithmetic, general subscripts and general DO limits. .op 32-bit integer arithmetic. .op Free format numeric input. .op Understands these nonstandard specifications: .in+2 LOGICAL*1, *2, *4, .br INTEGER*2, *4, .br REAL*4, *8, .br COMPLEX*8, *16, .br IMPLICIT. .in-2 .fi .sh RC ``Ratfor'', a preprocessor that adds rational control structure \o'a\(ga' la C to FORTRAN. .op Else, for, while, repeat...until statements. .op Symbolic constants. .op File insertion. .op Compound statements. .op Can produce genuine FORTRAN to carry away. .sh Manual Printed manual for Ratfor. .h0 "\na.\n+b Other Algorithmic Languages" .nr c 0 1 .sh BAS An interpreter, similar in style to BASIC, that allows immediate execution of unnumbered statements, or deferred execution of numbered statements. .op Statements include: .in+2 .nf comment, dump, for...next, goto, if...else...fi, list, print, prompt, return, run, save. .fi .op All calculations double precision. .op Recursive function defining and calling. .op Builtin functions include log, exp, sin, cos, atn, int, sqr, abs, rnd. .op Escape to ED for complex program editing. .op Usable as a filter. .sh DC Programmable reverse Polish desk calculator. Has named storage locations as well as conventional stack for holding integers or programs. .op Unlimited precision decimal arithmetic. .op Appropriate treatment of decimal fractions. .op Arbitrary input and output radices, in particular binary, octal, decimal and hexadecimal. .op Operators include: .in+2 .nf + \- * / remainder, power, square root, load, store, duplicate, clear, print, enter program text, execute. .in-2 .fi .op Usable as a filter. .sh BC A C-like interface to the desk calculator DC. .op All the capabilities of DC with a high-level syntax. .op Arrays and recursive functions. .op Immediate evaluation of expressions and evaluation of functions upon call. .op Arbitrary precision elementary functions: exp, sin, cos, atan, J\v'.3'\s8n\s10\v'-.3'. .op Go-to-less programming. .op Usable as a filter. .sh Manual Printed manual for BC. .sh SNO An interpreter very similar to SNOBOL 3. .op Limitations: .nf .in+2 function definitions are static, pattern matches are always anchored, no built-in functions. .in-2 .fi .op Usable as a filter. .sh Manual Reprint of basic article. .h0 "\na.\n+b Macroprocessing" .nr c 0 1 .sh M6 A general purpose macroprocessor. .op Stream-oriented, recognizes macros anywhere in text. .op Integer arithmetic. .op Usable as a filter. .sh Manual Printed manual for M6. .h0 "\na.\n+b Compiler-compilers" .nr c 0 1 .sh TMG A classical top-down compiler-compiler language. Provides a formalism for syntax-directed translation. Produces driving tables to be loaded with a standard interpreter. .op Resulting compilers can have arbitrary tables kept in paged secondary store. .op Integer arithmetic capability. .op Syntactic function capability (similar to ALGOL 68 metaproductions). .sh Manual Printed manual for the TMG compiler-writing system. .sh YACC An LR(1)-based compiler writing system. During execution of resulting parsers, arbitrary C-language, Ratfor or FORTRAN functions may be called to do code generation or semantic actions. .op BNF syntax specifications. .op Handles precedence relations. .op Accepts formally ambiguous grammars with non-BNF resolution rules. .op Optimizes space taken by driving tables. .sh Manual Printed manual for the YACC compiler-writing system. .h0 "\n+a Word Processing" .nr b 0 1 .sh ROFF A typesetting program for terminals. Easy for nontechnical people to learn, and good for most ordinary kinds of documents. Input consists of data lines intermixed with control lines, such as .ta 8n .ti 10 .li .sp 2 insert two lines of space .ti10 .li .ce center the next line .br .op Justification of either or both margins. .op Automatic hyphenation. .op Generalized running heads and feet, with even-odd page capability, numbering, etc. .op Definable macros for frequently used control sequences (no substitutable arguments). .op All 4 margins and page size dynamically adjustable. .op Hanging indents and one-line indents. .op Absolute and relative parameter settings. .op Optional legal-style numbering of output lines. .op Multiple file capability. .sh CREF Make cross-reference listings of a collection of files. Each symbol is listed together with file, line number, and text of each line in which it occurs. .op Assembler or C language. .op Gathering or suppressing references to selected symbols. .op Last symbol defined may replace line number. .op Various ways to sort output available. .op Selective print of uniquely occurring symbols. .sh INDEX Make cross-reference indexes of English text. .op Handles lists of specific index terms or excluded terms. .op Handles words hyphenated across lines. .op Understands TROFF and NROFF output, so can gather references according to final pagination. .op Output capabilities like CREF. .op Frequency counts. .sh FORM Form letter generator. Remembers any number of forms and stock phrases such as names and addresses. Output usually intended to be ROFFed. .op Anything that is typed in can be remembered for later use. .op Runs interactively, querying only for those items that are not in its memory. .op Any item may call for the inclusion of other items. For example, full name, address, first name, title, etc., may be separately retrieved from one name key. .sh FED Editor for the memory used by FORM. Extract any item, turn it over to context editor ED for editing, and put it back when done. .op List names of selected items. .op Print contents of selected item. .sh SORT Sort or merge ASCII files line-by-line. .op Sort up or down. .op Sort lexicographically or on numeric key. .op Multiple keys located by delimiters or by character position. .op May sort upper case together with lower into dictionary order. .op Usable as a filter. .sh UNIQ Collapse successive duplicate lines in a file into one line. .op Publishes lines that were originally unique, duplicated, or both. .op May give redundancy count for each line. .op Usable as a filter. .sh TR Do one-to-one character translation according to an arbitrary code. .op May coalesce selected repeated characters. .op May delete selected characters. .op Usable as a filter. .sh DIFF Report line changes, additions and deletions necessary to bring two files into agreement. .op May produce an editor script to convert one file into another. .sh COMM Identify common lines in two sorted files. Output in up to 3 columns shows lines present in first file only, present in both, and/or present in second only. .sh CMP Compare two files and report disagreeing bytes. .sh GREP Print all lines in a file that satisfy a pattern of the kind used in the editor ED. .op May print all lines that fail to match. .op May print count of hits. .op Usable as a filter. .sh WC Count the lines and \*(lqwords\*(rq (blank-separated strings) in a file. .op Usable as a filter. .sh TYPO Find typographical errors. Statistically analyzes all the words in a text, weeds out several thousand familiar ones, and publishes the rest sorted so that the most improbably spelled ones tend to come to the top of the list. .sh GSI Simulate Model 37 Teletype facilities on GSI-300, DASI and other Diablo-mechanism terminals. .op Gives half-line and reverse platen motions. .op Approximates Greek letters and other special characters by overstriking. .op Usable as a filter. .sh COL Canonicalize files with reverse line feeds for one-pass printing. .op Usable as a filter.