.\" Copyright (c) 2002-2004 The TenDRA Project .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $TenDRA: tendra/src/man/utilities/calculus.1,v 1.4 2005/10/18 15:07:21 stefanf Exp $ .\" .TH "calculus" "1" "Tue 18 Oct 2005, 08:00" "calculus 1.3.0" "TenDRA 5.0.0" .SH "NAME" .PP \fBcalculus\fP - algebraic type system tool .SH "SYNOPSIS" .PP \fBcalculus\fP [\fIoptions\fP] \fIinput-file\fP \&... [\fIoutput\fP] .SH "DESCRIPTION" .PP \fBcalculus\fP translates a specification of an algebraic type system, \fIinput-file\fP, into code representing that system\&. This takes the form of a number of files which are generated in the output directory, \fIoutput\fP\&. If no output directory is specified then the current working directory is used\&. .PP Input files and command-line options may be given in any order\&. Options always relate to the input files immediately following\&. .PP By default, C code implementing the type system is generated, however this may be changed by means of command-line options\&. .SH "OPTIONS" .IP "\fB-A\fP\fIname\fP" 5 Specifies that the algebra named \fIname\fP should be used by the output routines\&. Unless otherwise specified the last algebra input is used for output\&. .IP "\fB-E\fP\fIfile\fP" 5 Specifies a file containing a list of extra types to \fBcalculus\fP\&. These are used, for example, to generate extra disk reading and writing routines in conjunction with the \fB-d\fP option\&. .IP "\fB-V\fP" 5 Causes \fBcalculus\fP print its version number\&. .IP "\fB-T\fP\fIfile\fP" 5 Specifies a template file which is used to generate an output file \fIoutput\fP\&. .IP "\fB-a\fP" 5 Causes \fBcalculus\fP to generate extra statements in its C code which includes assertions about null pointers etc\&. and other code to help in writing programs using the tool\&. .IP "\fB-c\fP" 5 To be documented\&. .IP "\fB-d\fP" 5 Causes \fBcalculus\fP to generate disk reading and writing routines designed to add persistence to the generated type system\&. .IP "\fB-e\fP" 5 To be documented\&. .IP "\fB-h\fP, \fB--help\fP" 5 Prints a summary of all options\&. .IP "\fB-i\fP" 5 Indicates to \fBcalculus\fP that \fIinput\fP is a simple input file\&. .IP "\fB-l\fP" 5 To be documented\&. .IP "\fB-m\fP" 5 To be documented\&. .IP "\fB-n\fP" 5 To be documented\&. .IP "\fB-o\fP" 5 Causes \fBcalculus\fP to output a pretty-print of the input algebra into \fIoutput\fP, which in this instance in an output file\&. If no output file is given then the standard output is used\&. .IP "\fB-p\fP" 5 Causes \fBcalculus\fP to generate printing routines designed for use in the debugging of programs written using the type system\&. .IP "\fB-r\fP" 5 Indicates to \fBcalculus\fP that \fIinput\fP is the output of a previous \fB-w\fP option\&. .IP "\fB-t\fP" 5 Causes \fBcalculus\fP to generate \fI#pragma token\fP commands describing the type system\&. These are designed so that \fBtcc\fP\fB(1)\fP can apply extremely rigorous type checking to programs written using the type system\&. .IP "\fB-v\fP" 5 To be documented\&. .IP "\fB-w\fP" 5 Causes \fBcalculus\fP to output a dump of the input algebra into \fIoutput\fP, which in this instance is an output file\&. .IP "\fB-x\fP" 5 Causes \fBcalculus\fP to suppress the vector and vector pointer constructs in its output\&. .IP "\fB-z\fP" 5 To be documented\&. .SH "SEE ALSO" .PP \fBtcc\fP\fB(1)\fP\&. ...\" created by instant / docbook-to-man, Tue 18 Oct 2005, 08:00