2 |
7u83 |
1 |
.\" Crown Copyright (c) 1997
|
|
|
2 |
.\"
|
|
|
3 |
.\" This TenDRA(r) Manual Page is subject to Copyright
|
|
|
4 |
.\" owned by the United Kingdom Secretary of State for Defence
|
|
|
5 |
.\" acting through the Defence Evaluation and Research Agency
|
|
|
6 |
.\" (DERA). It is made available to Recipients with a
|
|
|
7 |
.\" royalty-free licence for its use, reproduction, transfer
|
|
|
8 |
.\" to other parties and amendment for any purpose not excluding
|
|
|
9 |
.\" product development provided that any such use et cetera
|
|
|
10 |
.\" shall be deemed to be acceptance of the following conditions:-
|
|
|
11 |
.\"
|
|
|
12 |
.\" (1) Its Recipients shall ensure that this Notice is
|
|
|
13 |
.\" reproduced upon any copies or amended versions of it;
|
|
|
14 |
.\"
|
|
|
15 |
.\" (2) Any amended version of it shall be clearly marked to
|
|
|
16 |
.\" show both the nature of and the organisation responsible
|
|
|
17 |
.\" for the relevant amendment or amendments;
|
|
|
18 |
.\"
|
|
|
19 |
.\" (3) Its onward transfer from a recipient to another
|
|
|
20 |
.\" party shall be deemed to be that party's acceptance of
|
|
|
21 |
.\" these conditions;
|
|
|
22 |
.\"
|
|
|
23 |
.\" (4) DERA gives no warranty or assurance as to its
|
|
|
24 |
.\" quality or suitability for any purpose and DERA accepts
|
|
|
25 |
.\" no liability whatsoever in relation to any use to which
|
|
|
26 |
.\" it may be put.
|
|
|
27 |
.\"
|
|
|
28 |
.TH calculus 1
|
|
|
29 |
.SH NAME
|
|
|
30 |
calculus \- algebraic type system tool
|
|
|
31 |
.SH SYNOPSIS
|
|
|
32 |
\fBcalculus\fR [ \fIoptions\fR ] \fIinput-file\fR ... [ \fIoutput\fR ]
|
|
|
33 |
.\" ----------------------------------------------------------------------
|
|
|
34 |
.SH DESCRIPTION
|
|
|
35 |
\fBcalculus\fR translates a specification of an algebraic type system,
|
|
|
36 |
\fIinput-file\fR, into code representing that system. This takes the
|
|
|
37 |
form of a number of files which are generated in the output directory,
|
|
|
38 |
\fIoutput\fR. If no output directory is specified then the current
|
|
|
39 |
working directory is used.
|
|
|
40 |
.PP
|
|
|
41 |
Input files and command-line options may be given in any order. Options
|
|
|
42 |
always relate to the input files immediately following.
|
|
|
43 |
.PP
|
|
|
44 |
By default, C code implementing the type system is generated, however
|
|
|
45 |
this may be changed by means of command-line options.
|
|
|
46 |
.\" ----------------------------------------------------------------------
|
|
|
47 |
.SH OPTIONS
|
|
|
48 |
.\" ----------------------------------------------------------------------
|
|
|
49 |
.IP \fB-A\fIname\fR
|
|
|
50 |
Specifies that the algebra named \fIname\fR should be used by the
|
|
|
51 |
output routines. Unless otherwise specified the last algebra input is
|
|
|
52 |
used for output.
|
|
|
53 |
.\" ----------------------------------------------------------------------
|
|
|
54 |
.IP \fB-E\fIfile\fR
|
|
|
55 |
Specifies a file containing a list of extra types to \fBcalculus\fR.
|
|
|
56 |
These are used, for example, to generate extra disk reading and writing
|
|
|
57 |
routines in conjunction with the \fB-d\fR option.
|
|
|
58 |
.\" ----------------------------------------------------------------------
|
|
|
59 |
.IP \fB-T\fIfile\fR
|
|
|
60 |
Specifies a template file which is used to generate an output file
|
|
|
61 |
\fIoutput\fR.
|
|
|
62 |
.\" ----------------------------------------------------------------------
|
|
|
63 |
.IP \fB-a\fR
|
|
|
64 |
Causes \fBcalculus\fR to generate extra statements in its C code which
|
|
|
65 |
includes assertions about null pointers etc. and other code to help
|
|
|
66 |
in writing programs using the tool.
|
|
|
67 |
.\" ----------------------------------------------------------------------
|
|
|
68 |
.IP \fB-d\fR
|
|
|
69 |
Causes \fBcalculus\fR to generate disk reading and writing routines
|
|
|
70 |
designed to add persistence to the generated type system.
|
|
|
71 |
.\" ----------------------------------------------------------------------
|
|
|
72 |
.IP \fB-i\fR
|
|
|
73 |
Indicates to \fBcalculus\fR that \fIinput\fR is a simple input file.
|
|
|
74 |
.\" ----------------------------------------------------------------------
|
|
|
75 |
.IP \fB-o\fR
|
|
|
76 |
Causes \fBcalculus\fR to output a pretty-print of the input algebra
|
|
|
77 |
into \fIoutput\fR, which in this instance in an output file. If no
|
|
|
78 |
output file is given then the standard output is used.
|
|
|
79 |
.\" ----------------------------------------------------------------------
|
|
|
80 |
.IP \fB-p\fR
|
|
|
81 |
Causes \fBcalculus\fR to generate printing routines designed for use
|
|
|
82 |
in the debugging of programs written using the type system.
|
|
|
83 |
.\" ----------------------------------------------------------------------
|
|
|
84 |
.IP \fB-r\fR
|
|
|
85 |
Indicates to \fBcalculus\fR that \fIinput\fR is the output of a
|
|
|
86 |
previous \fB-w\fR option.
|
|
|
87 |
.\" ----------------------------------------------------------------------
|
|
|
88 |
.IP \fB-t\fR
|
|
|
89 |
Causes \fBcalculus\fR to generate \fI#pragma token\fR commands describing
|
|
|
90 |
the type system. These are designed so that \fItcc\fR(1) can apply
|
|
|
91 |
extremely rigorous type checking to programs written using the type
|
|
|
92 |
system.
|
|
|
93 |
.\" ----------------------------------------------------------------------
|
|
|
94 |
.IP \fB-v\fR
|
|
|
95 |
Causes \fBcalculus\fR print its version number.
|
|
|
96 |
.\" ----------------------------------------------------------------------
|
|
|
97 |
.IP \fB-w\fR
|
|
|
98 |
Causes \fBcalculus\fR to output a dump of the input algebra into
|
|
|
99 |
\fIoutput\fR, which in this instance is an output file.
|
|
|
100 |
.\" ----------------------------------------------------------------------
|
|
|
101 |
.IP \fB-x\fR
|
|
|
102 |
Causes \fBcalculus\fR to suppress the vector and vector pointer constructs
|
|
|
103 |
in its output.
|
|
|
104 |
.\" ----------------------------------------------------------------------
|
|
|
105 |
.SH SEE ALSO
|
|
|
106 |
\fItcc\fR(1).
|
|
|
107 |
.\" ----------------------------------------------------------------------
|