From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,87dcbc853960d3bd X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!fu-berlin.de!uni-berlin.de!not-for-mail From: "Martin Dowie" Newsgroups: comp.lang.ada Subject: Re: Moving from Ada 83 to Ada 95 Date: Thu, 25 Nov 2004 11:28:20 -0000 Organization: BAE SYSTEMS Message-ID: <41a5c059$1_1@baen1673807.greenlnk.net> References: X-Trace: news.uni-berlin.de c9MqmDYT71T+jRAEF8H7VQq/efhFVmo+8N1n1AthOkO7nJNrNy X-Orig-Path: baen1673807.greenlnk.net!baen1673807!not-for-mail X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4807.1700 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700 X-Original-NNTP-Posting-Host: baen1673807.greenlnk.net Xref: g2news1.google.com comp.lang.ada:6457 Date: 2004-11-25T11:28:20+00:00 List-Id: vrenna wrote: > Has someone done such thing? I need to move a huge application made > in Ada 83 and installed on Solaris, to Ada 95 (probably on Linux)... > looks very tough but maybe there're automatic tools and good advices > out there. What do you say? If the original was well written (i.e. with portability in mind) then it should be very straight forward. I had the misfortune to try with some very badly written code - 'with'-ing in package System into every other package and using the non-standard items in it! Other things that needed changing were subtle little things that one compiler would accept the new one wouldn't, e.g. 1) Address clauses must immediately follow the object declaration in the new one; 2) Deal with non-portable pragmas; 3) Spot 'new' Ada95 reserved words; 4) Array indexing changes The last of these may have been the original compiler (XD-Ada) being "over-zealous", as I've found nothing in any porting guide that indicates this should have been necessary. In the end I wrote a small (~400 NCNB lines) program to do it all. Cheers -- Martin