AspeCt-oriented C Download

AspeCt-oriented C Download

Click to the following links to get the tar file for AspeCt-oriented C, which includes sources, test cases and manual. To date, AspeCt-oriented C has been downloaded 11503 times.

Download ACC Version Link to ACC Feature List Release Date
Development Builds
ACC V0.9 RC features August 12, 2010
ACC v0.8x
May 03, 2010
Latest Stable Version
ACC v0.8 features January 5, 2008
Older Versions
ACC v0.7 features July 31, 2007
ACC v0.6 features May 30, 2007
ACC v0.5 features March 12, 2007
ACC v0.4 features January 2, 2007
ACC v0.3 features October 17, 2006
ACC v0.2 features September 8, 2006
ACC v0.1 features July 31, 2006

Supported Platforms

  • Linux
  • Mac/OS X
  • Solaris
  • Windows (under Cygwin)

ACC Generated Code Executed on the Following Platforms

  • under all of the above
    • Tested on:
      • RedHat with GCC 4.1.X .
      • Ubuntu 9.04 32bit with GCC 3.4.X and GCC 4.3.X .
      • Ubuntu 64bit with GCC 4.4.X .
      • Cygwin 6.1 with GCC 3.4.X and 4.3.X .
  • under and within OS/161 (teaching Operating System running on a MIPS-1 instruction set)
  • within NUT/OS on an ATmega 128 RISC micro-controller

If you build AspeCt-oriented C successfully on other platforms or successfully run ACC generated code on an exotic platform, please contact us.

A Larger Stress Testing Experiment

acc V 0.5 was successfully used to advice all functions of gcc, g++, c++, and gcj.

#include <stdio.h>

before():call($ $(...)){
  fprintf(stderr, "%s\n", this->funcName);

fprintf is used to print to standard error since gcc uses standard out to create intermediate files.

Build and Test

The following description assumes a Linux environment and a sufficiently recent installation of gcc (version 2.9 or higher.)

You can build the ACC compiler and run the test cases as follows:

>tar -xvf ACC.tar          <--- unzip the tar file

>cd ACC

>make                             <--- build and run the test cases

result:				    <--- build is successful and all test cases pass
total=38, succeed = 38 , fail = 0

The ACC compiler resides in the src/working directory with name acc.

Note, some of our builds are distributed as compressed ".bz2" files. To uncompressed, either use bunzip or "tar -j".

To uncompess, either use

>tar -jvf ACC.tar.bz2          <--- to uncompress the tar file
>bunzip ACC.tar.bz2          <--- to uncompress the tar file
and then follow the build steps above.

Compile with ACC

Since the you successfully built the ACC, you can now compile with using acc or tacc. There are two methods to do this which are explained as follows.

Method #1 Note, if you are the administrator of the system, after make, you can apply the following command.

Use sudo copy to move acc and tacc to your usr/bin

>cd ACC/bin

>sudo cp * /usr/bin              <---force to move all files in ACC/bin to usr/bin

>cd ../lib                           <----go to lib directory 

>sudo cp * /usr/lib                 <----force to move libacc.a to usr/lib

Now you can use acc and tacc directly just like gcc.

Note: when compile with gcc, please make sure you include acc library by typing -lacc to avoid compilation errors.

Method #2 Note, you can also run acc or tacc as an executable file.

Use ./acc follow by the files need to be compiled.

>cd ACC/bin

>./acc file2.acc

Special Targets

The following special build targets are supported:

  1. 'build' : only builds the ACC compiler.
  2. 'test' : only runs the test cases, assuming the ACC compiler is already built.
  3. 'clean' : removes the ACC compiler and working directory created when running the test cases.

runTest Script

Optionally, you could run individual or all test cases by using the runTest script under the ACC/test directory, like this:

>cd ACC/test

>./runTest case01 case02	<--- run individual test cases


>./runTest case*		<--- run all test cases

If the ACC compiler is not in the default directory, set ACCTEST variable to point to the ACC compiler before running the runTest script as follows:


>export ACCTEST

>cd ACC/test

>./runTest case*

AspeCt-oriented C is continously evolving. New features are gradually becoming available. If you would like to be informed about AspeCt-oriented C News, such as new releases, major bug fixes etcetera, please contact us to join the AspeCt-oriented C mailing list. The mailing list is low traffic and is only used for disseminating AspeCt-oriented C News.