[aspectc-user] Announcement AspectC++ 0.7pre3

Danilo Beuche danilo.beuche at pure-systems.com
Sat Jun 21 02:36:08 CEST 2003


things are speeding up, we are happy to announce a third and last 
pre-release of AspectC++: Release 0.7pre2 "as time goes by" is
available for  Linux, Solaris, Win32, MacOS X
This is an experimental pre-release of the upcoming 0.7. Release date 
for 0.7 is fixed to 2003-07-01

Major changes to 0.7pre2 (from ChangeLog):
         * last version before stable release (see below)
         * improved template handling
                 + many STLs working
                         - tested: gcc 2.xx STL, Microsoft Visual
			  Studio STL
                 + gcc 3.x STL requires workaround
                         see README for more information

         * improved performance
                - it is now possible to instruct ac++ to skip analysis of
                   function bodies which are not inside the project.

         * new command line options:
            -r when given the -r <filename> option ac++ generates an XML
		file with information which aspects have been applied
		where. Please note, XML file format is likely to be
		changed in near future.

                 --version :-)

         * documentation improved
               - beside the quick reference a compiler usage manual and a
                 language reference (with many examples) are available

         * bug fixes:
                - most of the bugs reported by users could be fixed
		(about 80)

         * bugzilla:
                 - See and report bugs here:
                 http://www.aspectc.org/bugzilla or

        * renaming:
		- 'thisJoinPoint' was renamed to 'tjp'
                 - 'aspectOf' was renamed to 'aspectof'
                 - using the old names is still allowed but not
                   recommended as they might become unsupported
                   in future releases

        * name pointcuts with function names now partly supported:
                 - '||','&&', '!', and within works with function names
                 - the argument of call() and execution() can now be a
                   complex expression, which results in a name pointcut
                   that contains function names
                 - within() supports function names

         * proceed:
                 - it is now possible to use tjp->proceed() instead of

         * examples:
                 - void removed in front of before, after, and around
                 - thisJoinPoint and aspectOf renamed
                 - updated proceed calls

         * new command line options:
                 - --config <file> can now be provide the config file for
                   the ac++ parser. If you use --config it is not
                   necessary to define PUMA_CONFIG.

         * Open issues:
                 - it is not possible to weave aspects into code
		  instanciated from templates (ac++ creates no templates

         * stable release: 2003-07-01 release date of the stable
		0.7 version
                 - with sources & GPL

Changes to 0.6 and earlier:

This release includes a completely new parser which is more flexible and

Basic template stuff already does work. However, template
support is not yet complete enough to be very useful.

The commandline interface has been changed slightly:
      "-p" doesn't allow two arguments anymore, use
      "-p dir-in -d dir-out" instead.

The "-x" switch to select the support of language dialects (GNU,Borland
C++, ...) is currently not available.

The PUMA_CONFIG ( usually called puma.config ) has a slightly different
format compared to version 0.6. Please update this file with the new

There are still bugs. We now provide a bug tracking system at
http://www.aspectc.org/bugzilla. Please use this system to report bugs.

Packages for all targets are available from http://www.aspectc.org.
If you encounter difficulties parsing some header files, we need your
feedback to extend and adapt AspectC++.

- AspectC++ expects C++ files to be named as .cc. If your are
using other extensions, you can specify them with the -e command line

Example: if your files are named as .cpp call ac++ as "ac++ -e cpp"

If you are using more than just one file extension, you can give a
regular expression as the argument of -e to specify them - don't use
multiple -e switches i.e. -e "(cxx|cpp)" .

Special notes on the Win32 version:

- The Win32 package is a ZIP archive. If you are using WinZip you should
extract the archive to C:\ - all the files contained in the archive will
be placed under C:\AC.

- The package contains the three files env.bat, examples.bat and
pumabc55.cfg that show how to setup environment variables for BCC55 and
how to run AspectC++ and the BCC compiler on the examples.

- This version is only tested with the free version of Borland C++ 5.5
available from htt;/www.borland.com. It should work with other
compilers, as long as AspectC++ can parse the include files provided by
this compiler.

Danilo Beuche                           Phone: +49-391-54456910
pure-systems GmbH                       Fax:   +49-391-54456990

aspectc-user mailing list
aspectc-user at aspectc.org

More information about the aspectc-user mailing list