Man Linux: Main Page and Category List

NAME

       calculus - algebraic type system tool

SYNOPSIS

       calculus [ options ] input-file ... [ output ]

DESCRIPTION

       calculus translates a specification of an algebraic type system, input-
       file, into code representing that system.  This takes  the  form  of  a
       number  of  files  which are generated in the output directory, output.
       If no output directory is specified then the current working  directory
       is used.

       Input  files  and  command-line  options  may  be  given  in any order.
       Options always relate to the input files immediately following.

       By default, C code implementing the type system is  generated,  however
       this may be changed by means of command-line options.

OPTIONS

       -Aname Specifies  that  the  algebra  named  name should be used by the
              output routines.  Unless otherwise specified  the  last  algebra
              input is used for output.

       -Efile Specifies  a  file containing a list of extra types to calculus.
              These are used, for example, to generate extra disk reading  and
              writing routines in conjunction with the -d option.

       -Tfile Specifies  a  template  file which is used to generate an output
              file output.

       -a     Causes calculus 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.

       -d     Causes calculus to generate disk reading  and  writing  routines
              designed to add persistence to the generated type system.

       -i     Indicates to calculus that input is a simple input file.

       -o     Causes  calculus  to  output a pretty-print of the input algebra
              into output, which in this instance in an output  file.   If  no
              output file is given then the standard output is used.

       -p     Causes  calculus  to generate printing routines designed for use
              in the debugging of programs written using the type system.

       -r     Indicates to calculus that input is the output of a previous  -w
              option.

       -t     Causes  calculus  to  generate #pragma token commands describing
              the type system.  These are designed so that  tcc(1)  can  apply
              extremely  rigorous  type checking to programs written using the
              type system.

       -v     Causes calculus print its version number.

       -w     Causes calculus to output a  dump  of  the  input  algebra  into
              output, which in this instance is an output file.

       -x     Causes  calculus  to  suppress  the  vector  and  vector pointer
              constructs in its output.

SEE ALSO

       tcc(1).

                                                                   calculus(1)