TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy

TEAM-ADA@LISTSERV.ACM.ORG

Options: Use Classic View

Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Sender: "Team Ada: Ada Advocacy Issues (83 & 95)" <[log in to unmask]>
X-To: prbhath s <[log in to unmask]>
Date: Mon, 25 Jun 2001 10:25:34 -0500
Reply-To: "David C. Hoos" <[log in to unmask]>
From: "David C. Hoos" <[log in to unmask]>
X-cc: Jacob Sparre Andersen <[log in to unmask]>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="iso-8859-1"
MIME-Version: 1.0
Parts/Attachments: text/plain (62 lines)
Having done this a few times, I can speak with some degree of authority on
the
subject.

Ada83 syntax is something like 99.9% compatible with Ada95.  The largest
single
compile-time error I encountered in this arena was the changed syntax for
generic units with unconstrained actual subtypes. Here is that difference:

Ada95 provides new syntax for a generic formal private type to indicate
that the actual subtype is allowed to be indefinite (i.e. unconstrained
without defaults).  The old syntax is retained, but the meaning is changed
to require definite actuals (i.e. constrained or with defaults).

A full discussion of Ada83/Ada95 compatibility may be found at
http://www.adaic.org/docs/compat-guide/compat-guide6-0.txt

However, the largest part of the effort is dealing with calls to
compiler-specific
libraries.  Many features of Ada95 -- e.g., (the Ada.Command_Line package)
were unspecified in Ada83, so each compiler vendor was free to implement
his own libraries -- and VADS in particular has a number of library units
typically heavily-used that are not compatible with the Ada95 language-
defined libraries.

Depending on your platform, the folks at gnat.com may have some libraries
with
the VADS interfaces that can be used as a compatibility layer.

My own approach for much of this was to replace the VADS bodies with
implementations that invoke either the standard Ada95 libraries, and/or the
florist
implementation of the POSIX/Ada95 bindings.

Depending on how well the designers of the original code isolated compiler-
specific library call, and how much code there is, the amount of work to be
done
in this arena can be significant.

As a starting pint, I suggest running gnatchop on all of your Ada83 source
files,
then attempting to compile them with GNAT to get a feel for what's involved.

----- Original Message -----
From: "prbhath s" <[log in to unmask]>
To: <[log in to unmask]>
Sent: Monday, June 25, 2001 9:00 AM
Subject: porting from Ada 83 to Ada 95


> Hello all,
>   I have a requirement where in i have to port code from VADS Ada 83
> compiler to GNAT Ada 95 compiler. My query is, if there is any tool
> available for this work or any guideline sort of thing which helps in
> porting.
>
> Thanks in advance
> Prabhath S
> _________________________________________________________________________
> Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.
>

ATOM RSS1 RSS2