macros for different classes of network
[unix-history] / .ref-BSD-3 / usr / doc / summary / vhel2
CommitLineData
8dc8ae1a
BJ
1.NH
2Languages
3.NH 2
4The C Language
5.LP
6.sh CC
7Compile and/or link edit programs in the C
8language.
9The
10.UC "UNIX/32V"
11operating system, most of the
12subsystems and C itself are written in C.
13For a full description of C, read
14.ul
15The C Programming Language,
16Brian W. Kernighan and Dennis M. Ritchie,
17Prentice-Hall, 1978.
18.op
19General purpose language
20designed for structured programming.
21.op
22Data types include
23character,
24integer,
25float,
26double,
27pointers to all types,
28functions returning above types,
29arrays of all types,
30structures and unions of all types.
31.op
32Operations intended to give machine-independent control
33of full machine facility, including to-memory
34operations and
35pointer arithmetic.
36.op
37Macro preprocessor for parameterized code and inclusion of
38standard files.
39.op
40All procedures recursive, with parameters by value.
41.op
42Machine-independent pointer manipulation.
43.op
44Object code uses full
45addressing capability of the VAX-11.
46.op
47Runtime library gives access to all system facilities.
48.OP
49Definable data types.
50.OP
51Block structure
52.sh LINT
53Verifier for C programs.
54Reports questionable or nonportable usage such as:
55.nf
56.in +2
57Mismatched data declarations and procedure interfaces.
58.br
59Nonportable type conversions.
60.br
61Unused variables, unreachable code, no-effect operations.
62.br
63Mistyped pointers.
64.br
65Obsolete syntax.
66.in -2
67.OP
68Full cross-module checking of separately compiled programs.
69.sh CB
70A beautifier for C programs.
71Does proper indentation and placement of braces.
72.NH 2
73Fortran
74.LP
75.sh F77
76A full compiler for
77ANSI Standard Fortran 77.
78.OP
79Compatible with C and supporting tools at object level.
80.OP
81Optional source compatibility with Fortran 66.
82.OP
83Free format source.
84.op
85Optional subscript-range checking, detection of uninitialized variables.
86.OP
87All widths of arithmetic:
882- and 4-byte integer; 4- and 8-byte real; 8- and 16-byte
89complex.
90.sh RATFOR
91Ratfor adds rational
92control structure \o'a\(ga' la C to Fortran.
93.op
94Compound statements.
95.op
96If-else, do, for, while,
97repeat-until, break, next
98statements.
99.op
100Symbolic constants.
101.op
102File insertion.
103.op
104Free format source
105.op
106Translation of relationals like >, >=.
107.op
108Produces genuine Fortran to carry away.
109.op
110May be used with F77.
111.sh STRUCT
112Converts ordinary ugly Fortran into structured Fortran (i.e., Ratfor),
113using statement grouping, if-else, while, for, repeat-until.
114.NH 2
115Other Algorithmic Languages
116.sh DC
117Interactive programmable desk calculator.
118Has named storage locations as well
119as conventional stack for holding integers or programs.
120.op
121Unlimited precision decimal arithmetic.
122.op
123Appropriate treatment of decimal fractions.
124.op
125Arbitrary input and output radices, in particular
126binary, octal, decimal and hexadecimal.
127.op
128Reverse Polish operators:
129.in+2
130.nf
131+ \- * /
132remainder, power, square root,
133load, store, duplicate, clear,
134print, enter program text, execute.
135.in-2
136.fi
137.sh BC
138A C-like interactive interface to the desk calculator DC.
139.op
140All the capabilities of DC with a high-level syntax.
141.op
142Arrays and recursive functions.
143.op
144Immediate evaluation of expressions and evaluation of
145functions upon call.
146.op
147Arbitrary precision elementary functions:
148exp, sin, cos, atan.
149.op
150Go-to-less programming.
151.NH 2
152Macroprocessing
153.LP
154.nr c 0 1
155.sh M4
156A general purpose macroprocessor.
157.OP
158Stream-oriented, recognizes macros anywhere in text.
159.OP
160Syntax fits with functional syntax of most higher-level
161languages.
162.OP
163Can evaluate integer arithmetic expressions.
164.NH 2
165Compiler-compilers
166.LP
167.sh YACC
168An LR(1)-based compiler writing system.
169During execution of resulting
170parsers, arbitrary C functions may be
171called to do code generation or semantic actions.
172.op
173BNF syntax specifications.
174.op
175Precedence relations.
176.op
177Accepts formally ambiguous grammars
178with non-BNF resolution rules.
179.sh LEX
180Generator of lexical analyzers.
181Arbitrary C functions may be called
182upon isolation of each lexical token.
183.OP
184Full regular expression,
185plus left and right context dependence.
186.OP
187Resulting lexical analysers interface cleanly
188with YACC parsers.