ASIS2XML
========

ASIS is the Ada Semantic Interface Specification; see
<http://www.acm.org/sigada/WG/asiswg/>.

This program converts a unit's ASIS representation into XML, so as to
make it easier to develop transformational tools using (for example)
XSLT.

Licensing
---------

ASIS2XML is released under the GNU General Public Licence Version 2, a
copy of which is in the file COPYING.

Location
--------

ASIS2XML's home page is at
<http://gnat-asis.sourceforge.net/pmwiki.php/Main/ASIS2XML>.

Prerequisites
-------------

GNAT 3.15p or later
The corresponding GNAT ASIS
XML/Ada 1.0 or later

Building
--------

These instructions are written for Linux and assume you've already
extracted the distribution into your home directory; the files are at
~/asis2xml-yyyymmdd/. The supplied Makefile uses the GNAT Project file
asis2xml.gpr, which makes assumptions about where things are; they
should be straightforward to change.

Install ASIS-for-GNAT. I've used "make INSTALL_DIR=$HOME/asis-3.15p"
(substitute your GNAT version there).

Make a symbolic link ~/asis pointing to $INSTALL_DIR. There should now
be a file ~/asis/asis.gpr and a directory ~/asis/asis/.

Unpack XML/Ada.

Make a symbolic link ~/xmlada pointing to the XML/Ada installation
directory.

Go to the asis2xml directory and just say "make".

Installation
------------

Copy asis2xml to a directory on your path.

Use
---

asis2xml will accept a tree file (.adt), or a directory which is a
GNAT object directory containing a set of .adt files. The GNAT ASIS
implementation doesn't understand Project files, so if you have any
sort of complex path setup the way to go is to generate the tree files
using the Project:

  $ gnatmake -Pbuild -c -f -gnatct example.ads

creates example.adt in your project (build.gpr)'s Object_Dir -- in the
case of asis2xml's asis2xml.gpr, this is ./.build.

  $ asis2xml .build/example.adt >example.xml

The output is in "packed" XML; to get a more legible view, you can
use HTML Tidy from http://tidy.sourceforge.net/:

   $ asis2xml .build/example.adt | tidy -xml -i >example.tidy.xml

or variations.

===
Simon Wright, <simon@pushface.org>
$Id: INSTALL 216 2006-08-26 21:49:03Z simonjwright $
