Download


ATS packages for download

ATS is Open Source and Free Software, and it is freely available under the GNU GENERAL PUBLIC LICENSE version 3 (GPLv3) as is published by the Free Software Foundation. The current implementation of ATS is given the name ATS/Postiats or simply Postiats. Sometimes, this implementation is also referred to as ATS2 for it is the successor of the previous ATS programming language, which may be referred to as ATS1. The latest released ATS/Postiats packages are available at the following links:


Requirements for installation

The following requirements are supposed to be met in order to install ATS:

  • Operating System requirement: ATS is supported under the following operating systems:
    • Linux
    • Windows with Cygwin
    • MacOS
  • Programming Language requirement: GNU C-Compiler (gcc). Other C-compilers (e.g., clang) should work in principle.

We plan to port ATS to other platforms in the future. If you have succeeded in porting ATS to a platform not listed here, please drop us a note.

The GMP library (libgmp.a), which is in general included in a GNU/Linux distribution, is currently optional and it may be required for installing a release of ATS2 in the future. Please see http://gmplib.org for more details on GMP.


Installation of official Debian package

There is an official Debian package (dpkg) of ATS2 currently maintained by Matthew Danish.


Installation of unofficial Redhat package

Please find unofficial RPM distribution of ATS2 on-line currently maintained by Matthew Danish.


Installation through source compilation

This installation method requires access to gcc or some other C-compilers (such as clang), and it is also in need of the GMP library.
  • Step 1:

    After downloading a compressed tarball containing a release of ATS2 from the following site:

    http://sourceforge.net/projects/ats2-lang/download

    please untar it in a directory, say FOO, of your choice. This, for instance, can be done by executing the following command-line:

    tar -zvxf ats2-positiats-x.x.x.tgz

    where ats2-positiats-x.x.x.tgz refers to the downloaded ATS package and x.x.x is its version number.

    All the files and directories extracted from the tarball are now in the directory FOO/ATS-Postiats.

    If you have access to the git command, then you can also do a git-clone to obtain the current release of ATS2:

    git clone git://git.code.sf.net/p/ats2-lang/code ATS-Postiats

  • Step 2:

    Assume that your current directory is FOO/ATS-Postiats. Please execute ./configure and then:

    make all

    This generates executables patscc and patsopt in the directory FOO/ATS-Postiats/bin, which are the commands you need for compiling ATS programs, and a library file libatslib.a in the directory FOO/ATS-Postiats/ccomp/atslib/lib/, which you may need for linking.

    It is possible to choose a C-compiler for compiling patsopt. Currently, the following options are available:

    make CCOMP=gcc all
    make CCOMP=clang all

    It is also possible to set the flag GCFLAG explicitly so as to choose a particular GC for providing memory management needed for running patsopt. Currently, the following options are available:

    make GCFLAG=-D_ATS_NGC all
    make GCFLAG=-D_ATS_GCATS all
    make GCFLAG=-D_ATS_GCBDW all

    The first one means no GC support for running patsopt while the second one and the third one require the built-in GC (of ATS) and the Boehm-Demers-Weiser GC, respectively.

    The current default setting is the following one:

    make CCOMP=gcc GCFLAG=-D_ATS_GCATS all

    In general, if the default setting does not work out, please try the no-GC option by setting GCFLAG to -D_ATS_NGC.

  • Step 3:

    If you do not want to install ATS, please set the environment variable PATSHOME to FOO/ATS-Postiats.

  • Step 4:

    Optionally, you may choose to install ATS. If you do, please first execute the following command-line:

    ./configure --prefix=DESTDIR

    where DESTDIR refers to the directory into which ATS is to be installed. If the argument [--prefix=DESTDIR] is missing, then the default directory for installing ATS is /usr/local.

    You can now install by executing:
    make install

    After installation, you need to set PATSHOME to DESTDIR/lib/ats2-postiats-x.x.x, which is the directory where ATS is installed.

    Note that you can always re-configure before executing make install if you would like to change a previously selected directory for installation:

    ./configure --prefix=DESTDIR2

    Also, you can perform staged installation by making use of the variable DESTDIR. Please see explanation here.

Installation of ATS2-contrib

ATS2-contrib primarily consists of external contributions made to the ATS2 programming language system in the forms of library packages, tutorials, examples, and all sorts of documentation, etc.

  • Step 1:

    After downloading a compressed tarball containing a release of ATS2-contrib from the following site:

    http://sourceforge.net/projects/ats2-lang-contrib/download

    please untar it in a directory, say BAR, of your choice. This, for instance, can be done by executing the following command-line:

    tar -zvxf ats2-lang-contrib-x.x.x.tgz

    where ats2-lang-contrib-x.x.x.tgz refers to the downloaded ATS2-contrib package and x.x.x is the version number of the package.

    All the files and directories extracted from the tarball are now in the directory BAR/ATS-Postiats-contrib. Please set the environment variable PATSHOMERELOC to this directory name and then you are ready to use ATS2-contrib.

    If you have access to the git command, then you can also do a git-clone to obtain the current release of ATS2-contrib:

    git clone git://git.code.sf.net/p/ats2-lang-contrib/code ATS-Postiats-contrib

  • Step 2:

    If you want to install ATS2-contrib, you can move the content of the directory BAR/ATS-Postiats-contrib into ${PATSHOME} and then set PATSHOMERELOC to ${PATSHOME}, where ${PATSHOME} refers to the value of the environment variable PATSHOME.


This page is created with ATS by Hongwei Xi and also maintained by Hongwei Xi. SourceForge.net Logo