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