Subversion Repositories tendra.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
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
.\" ----------------------------------------------------------------------