Scroll to navigation

patscc(1) General Commands Manual patscc(1)


patscc - ATS2 compiler frontend


patscc [options] files...


patscc is a frontend to the Postiats compiler patsopt for the ATS2 language.


patscc has a command-line option syntax in the style of gcc and accepts all the same options, many of them being passed directly to the gcc backend. Here are summarized the non-gcc options.

Specify the name of the C compiler on the command line. Otherwise, use environment variable ATSCCOMP or the default. See further details on environment variables.
Clean up incidental generated C files after compilation finishes.
Only compile the given ATS source files into C files.
Define a name/value macro toplevel value in ATS. -DDATS also passes this option to the C compiler.
Add a path to search for ATS files when doing static and dynamic loads. -IIATS also passes this path to the C compiler.
These indicate that the following file is a SATS or a DATS file. Unnecessary if standard filename extensions .sats or .dats are used.
Place line pragma information based on ATS source in the generated C code.
Typecheck the given ATS source files, but go no further.
Show ATS2/Postiats version and gcc version.


Use the value of this environment variable as the command name of the C compiler. The default is gcc -D_XOPEN_SOURCE -I${ATSHOME} -I${ATSHOME}/ccomp/runtime -L${ATSHOME}/ccomp/atslib/lib
Use the value of this environment variable as the path to the ATS library installation. The default is distribution-specific.
Use the value of this environment variable as the command name of the ATS compiler. The default is patsopt.


patscc -o test -O3 test.dats

Compile test.dats to an executable named test. Tell gcc to use the third level of optimization.

patscc -tcats test.dats

Typecheck test.dats only.

patscc -ccats test.dats

Compile to C file test_dats.c only.

patscc -o test.o -c test.dats -cleanaft

Compile test.dats to an object file named test.o, and delete intermediate C file.


These programs are documented fully by The ATS2/Postiats user's manual available via the web at


patscc was written by Hongwei Xi.

This manual page was written by Matthew Danish <>, for the Debian project (and may be used by others).

October 8, 2013