home *** CD-ROM | disk | FTP | other *** search
- .NH
- Languages
- .NH 2
- The C Language
- .LP
- .sh CC
- Compile and/or link edit programs in the C
- language.
- The
- .UC UNIX
- operating system, most of the
- subsystems and C itself are written in C.
- For a full description of C, read
- .ul
- The C Programming Language,
- Brian W. Kernighan and Dennis M. Ritchie,
- Prentice-Hall, 1978.
- .op
- General purpose language
- designed for structured programming.
- .op
- Data types include
- character,
- integer,
- float,
- double,
- pointers to all types,
- functions returning above types,
- arrays of all types,
- structures and unions of all types.
- .op
- Operations intended to give machine-independent control
- of full machine facility, including to-memory
- operations and
- pointer arithmetic.
- .op
- Macro preprocessor for parameterized code and inclusion of
- standard files.
- .op
- All procedures recursive, with parameters by value.
- .op
- Machine-independent pointer manipulation.
- .op
- Object code uses full
- addressing capability of the PDP-11.
- .op
- Runtime library gives access to all system facilities.
- .OP
- Definable data types.
- .OP
- Block structure
- .sh LINT
- Verifier for C programs.
- Reports questionable or nonportable usage such as:
- .nf
- .in +2
- Mismatched data declarations and procedure interfaces.
- .br
- Nonportable type conversions.
- .br
- Unused variables, unreachable code, no-effect operations.
- .br
- Mistyped pointers.
- .br
- Obsolete syntax.
- .in -2
- .OP
- Full cross-module checking of separately compiled programs.
- .sh CB
- A beautifier for C programs.
- Does proper indentation and placement of braces.
- .NH 2
- Fortran
- .LP
- .sh F77
- A full compiler for
- ANSI Standard Fortran 77.
- .OP
- Compatible with C and supporting tools at object level.
- .OP
- Optional source compatibility with Fortran 66.
- .OP
- Free format source.
- .op
- Optional subscript-range checking, detection of uninitialized variables.
- .OP
- All widths of arithmetic:
- 2- and 4-byte integer; 4- and 8-byte real; 8- and 16-byte
- complex.
- .sh RATFOR
- Ratfor adds rational
- control structure \o'a\(ga' la C to Fortran.
- .op
- Compound statements.
- .op
- If-else, do, for, while,
- repeat-until, break, next
- statements.
- .op
- Symbolic constants.
- .op
- File insertion.
- .op
- Free format source
- .op
- Translation of relationals like >, >=.
- .op
- Produces genuine Fortran to carry away.
- .op
- May be used with F77.
- .sh STRUCT
- Converts ordinary ugly Fortran into structured Fortran (i.e., Ratfor),
- using statement grouping, if-else, while, for, repeat-until.
- .NH 2
- Other Algorithmic Languages
- .LP
- .sh BAS
- An interactive interpreter, similar in style to BASIC.
- Interpret unnumbered statements immediately,
- numbered statements upon `run'.
- .op
- Statements include:
- .in+2
- .nf
- comment,
- dump,
- for...next,
- goto,
- if...else...fi,
- list,
- print,
- prompt,
- return,
- run,
- save.
- .fi
- .in 0
- .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.
- .sh DC
- Interactive programmable 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
- Reverse Polish operators:
- .in+2
- .nf
- + \- * /
- remainder, power, square root,
- load, store, duplicate, clear,
- print, enter program text, execute.
- .in-2
- .fi
- .sh BC
- A C-like interactive 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.
- .op
- Go-to-less programming.
- .NH 2
- Macroprocessing
- .LP
- .nr c 0 1
- .sh M4
- A general purpose macroprocessor.
- .OP
- Stream-oriented, recognizes macros anywhere in text.
- .OP
- Syntax fits with functional syntax of most higher-level
- languages.
- .OP
- Can evaluate integer arithmetic expressions.
- .NH 2
- Compiler-compilers
- .LP
- .sh YACC
- An LR(1)-based compiler writing system.
- During execution of resulting
- parsers, arbitrary C functions may be
- called to do code generation or semantic actions.
- .op
- BNF syntax specifications.
- .op
- Precedence relations.
- .op
- Accepts formally ambiguous grammars
- with non-BNF resolution rules.
- .sh LEX
- Generator of lexical analyzers.
- Arbitrary C functions may be called
- upon isolation of each lexical token.
- .OP
- Full regular expression,
- plus left and right context dependence.
- .OP
- Resulting lexical analysers interface cleanly
- with YACC parsers.
-