AID - Abstract Interface Definition

Compiler for Language Independent Interfaces
AID FreeHEP
Member of FreeHEP Printable Page

NOT YET RELEASED

AID 0.9.5 Release Notes

Release Notes Version: : 1.4 $.

The most recent version of this file is available here.
Release notes for all versions of the PS Viewer are available here.

AID is a tool to generate language specific interfaces and classes (Java, C++, ...)  from abstract interface definition source files (.aid).

The tools reads in one or more .aid files, parses them for correctness and keeps all information in a runtime-type-identification (RTTI) tree in memory. It then uses several generators to generate the language specific interfaces and/or classes. It also uses a simple pre-processor to handle cases where the method definitions differ between different languages.

Contents

Major changes in AID 0.9.5

  • FREEHEP-397: AID now separately packaged, for easier updates and distribution.
  • FREEHEP-27: Internal change in RTTI to keep track of packages using IPackage.
  • FREEHEP-439: added flag to switch off virtual inheritance.
  • FREEHEP-501: C++ generated code can have names of variables translated to avoid clashes with macros.
  • Added support for Python
  • Fixed command line parsing to handle -version.
  • aid type "byte" now maps to "unsigned char" in c++.

Documentation

The following documentation is currently available:

License

AID is part of the FreeHEP Java Library, an "Open Source" library distributed under the terms of the LGPL. If you have questions about the licensing please send a mail to: developers@freehep.org.

Installing AID

Download AID and unpack. The distribution creates the following directory structure:

AID-version            containing license and release notes
AID-version/bin        containing run scripts
AID-version/lib        containing jar files

Compiling AID

The current distribution does not contain source files.

To (re-)build AID you need to get AID-0.9.5-src.zip or .tar.gz file from the ftp://ftp.slac.stanford.edu/software/freehep/AID/v0.9.5/ directory.

To compile it, follow the general instructions for Building the Java FreeHEP Library and compile only the freehep-aid.jar file using the command:

ant -Djar=aid

To build the distribution kit:

cd org/freehep/aid
gmake dist

Running AID

Set the environment variable AID_HOME to your unpacked AID distribution.

Add /bin to your PATH and run:

aid

Features/Limitations of the Current Release

The following limitations exist:

  • All outstanding issues in the Bug Database.
  • The distribution kits contain some CVS directories and files, please ignore.
  • The freehep-base.jar file (and especially its sources) are dependent on some external jar files which are not strictly needed for the PS Viewer. Please ignore for now. In a later release we will shrink freehep-base.jar and get rid of these dependencies.

Reporting Bugs

To report bugs or request enhancements you may use the FreeHEP bug database, component AID.

Examples

The AID/examples directory does not contain any examples at this time.