* Ada83 equivalents for Ada95 [not found] <md5:0CCFC2005521EA8746533FEB9AA03D75> @ 1996-05-09 0:00 ` James A. Squire 1996-05-10 0:00 ` Robert A Duff 1996-05-17 0:00 ` New POSIX Ada Activity Announcement Shane P. McCarron 1996-05-28 0:00 ` Ada83 equivalents for Ada95 Jon S Anthony 1996-05-29 0:00 ` Ken Garlington 2 siblings, 2 replies; 14+ messages in thread From: James A. Squire @ 1996-05-09 0:00 UTC (permalink / raw) Has anybody gone to the trouble of translating code that uses features new to Ada95 back into its Ada83 equivalent? If anyone knows of such examples that are available on the Internet, please let me know (email or comp.lang.ada). Thank you. -- James Squire MDA Avionics Tools & Processes ja_squire@csehp3.mdc.com "one of these days I'm going to better myself by going to Knight school" "You'll be a web knight instead of a web page!" ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Ada83 equivalents for Ada95 1996-05-09 0:00 ` Ada83 equivalents for Ada95 James A. Squire @ 1996-05-10 0:00 ` Robert A Duff 1996-05-24 0:00 ` Joe Gwinn 1996-05-17 0:00 ` New POSIX Ada Activity Announcement Shane P. McCarron 1 sibling, 1 reply; 14+ messages in thread From: Robert A Duff @ 1996-05-10 0:00 UTC (permalink / raw) In article <31927190.35AA@csehp3.mdc.com>, James A. Squire <m193884@CSEHP3.MDC.COM> wrote: >Has anybody gone to the trouble of translating code that uses features >new to Ada95 back into its Ada83 equivalent? If anyone knows of such >examples that are available on the Internet, please let me know (email >or comp.lang.ada). I don't know of any such effort. I'm curious as to why you want this. Do you want to develop Ada 95 code, but then run it on a system where Ada 95 does not yet exist, but Ada 83 compilers do exist? It seems pretty difficult, to me. For example, how do you translate access-to-subprogram types into Ada 83? It could be done. Represent an access-to-subprogram value as an integer number. Generate a single subprogram for each access-type-subtype type. This subprogram does a case statement on the integer, and has one branch for every possible subprogram that might have been called. The translation tool would have to do a global analysis of the entire program, to track down every 'Access. For every subprogram P, if somebody wrote P'Access anywhere in the program, assign a unique integer to P, and put a call to P in that case statement mentioned above. Every such P would have to be declared in the visible part of its package, even if in the original source, P is declared in the body. I'm not sure how you would preserve elaboration order, since that case-statement subprogram will need extra with-clauses to be added. In any case, such a tool would be approximately as complex as an Ada compiler -- the same order of magnitude anyway. If you've gone that far, why not just write an Ada 95 compiler? Also, efficiency would suffer. - Bob ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Ada83 equivalents for Ada95 1996-05-10 0:00 ` Robert A Duff @ 1996-05-24 0:00 ` Joe Gwinn 1996-05-25 0:00 ` JP Thornley 1996-05-28 0:00 ` Brad Balfour 0 siblings, 2 replies; 14+ messages in thread From: Joe Gwinn @ 1996-05-24 0:00 UTC (permalink / raw) We have the Ada83 versus Ada95 problem as well. In short, we plan to use the Ada83 subset of Ada95, so that in some future, we will be able to transition to Ada95, should the customer so desire. This will happen, if at all, long after the present project is complete. We are avoiding Ada95 for now, because we couldn't find sufficiently mature compilers, tools, runtimes, for our targets, and Ada83 is sufficient. If Ada83 is any guide, it will be three years before Ada95 reaches anything like Ada83's present level of maturity. Ada83 took more like six years, but started from scratch. The Ada95 standard defines this Ada83 subset, by what it doesn't mention as having been broken by Ada95. Joe Gwinn ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Ada83 equivalents for Ada95 1996-05-24 0:00 ` Joe Gwinn @ 1996-05-25 0:00 ` JP Thornley 1996-05-28 0:00 ` Brad Balfour 1 sibling, 0 replies; 14+ messages in thread From: JP Thornley @ 1996-05-25 0:00 UTC (permalink / raw) In article: <31A66DAA.7418@sud.ed.ray.com> Joe Gwinn <gwinn@sud.ed.ray.com> writes: > > We have the Ada83 versus Ada95 problem as well. In short, we plan to > use the Ada83 subset of Ada95, so that in some future, we will be able > to transition to Ada95, should the customer so desire. > [snip] We are in the same position - but with (almost) total upward compatibility it isn't too difficult. On a different but related topic, has anyone looked at designing Ada 83 code so that the transition to using the *new* features of Ada 95 is as easy as possible. For example, I can't use child packages in Ada 83, but perhaps I can make greater use of sub-packages, so that when the switch is made I can easily pull out the children and get the benefit in subsequent development (although I'm not sure about how much I would be forced to change the 'with's). Similar ideas for tagged types, protected objects, .... would be very valuable for those of us who aren't going to be using Ada 95 for a few years yet. [This may have been asked before, but I missed any replies (if there were any).] Phil Thornley -- ------------------------------------------------------------------------ | JP Thornley EMail jpt@diphi.demon.co.uk | ------------------------------------------------------------------------ ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Ada83 equivalents for Ada95 1996-05-24 0:00 ` Joe Gwinn 1996-05-25 0:00 ` JP Thornley @ 1996-05-28 0:00 ` Brad Balfour 1996-05-28 0:00 ` Robert A Duff 1 sibling, 1 reply; 14+ messages in thread From: Brad Balfour @ 1996-05-28 0:00 UTC (permalink / raw) In article <31A66DAA.7418@sud.ed.ray.com>, Joe Gwinn <gwinn@sud.ed.ray.com> wrote: >We have the Ada83 versus Ada95 problem as well. In short, we plan to >use the Ada83 subset of Ada95, so that in some future, we will be able >to transition to Ada95, should the customer so desire. [snip] >The Ada95 standard defines this Ada83 subset, by what it doesn't mention >as having been broken by Ada95. > >Joe Gwinn You are looking for a report on the Upward Incompatibilities that Ada 95 has with respect to Ada 83. The short answer is that there are *very few* upward incompatibilites. The long answer is that an exhaustive document has been produced by Bill Taylor. It can be found at http://sw-eng.falls-church.va.us/AdaIC/docs/compat-guide/compat-guide6-0.txt There are even tools available that you can purchase which will automatically detect these problems in your Ada 83 code. May people have found that just running the code through an Ada 95 compiler, such as GNAT, will detect many (but not all) problems. You may also want to reconsider using Ada 95 now. My organization has been supporting Ada 95 projects for the past 18 months. We've found that Ada 95 can definitely be used for production projects to be delivered to the field. Brad Brad Balfour SIGAda WWW Server CACI, Inc. http://www.acm.org/sigada/ 703/277-6767 and also try: bbalfour@std.caci.com http://lglwww.epfl.ch/Ada/ *new address: 3930 Pender Drive * Fairfax, VA 22030 * 703/277-6767** ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Ada83 equivalents for Ada95 1996-05-28 0:00 ` Brad Balfour @ 1996-05-28 0:00 ` Robert A Duff 1996-05-29 0:00 ` Norman H. Cohen 1996-05-29 0:00 ` Ken Garlington 0 siblings, 2 replies; 14+ messages in thread From: Robert A Duff @ 1996-05-28 0:00 UTC (permalink / raw) In article <bbalfour-2805961408500001@stmac0088.std.caci.com>, Brad Balfour <bbalfour@std.caci.com> wrote: >There are even tools available that you can purchase which will >automatically detect these problems in your Ada 83 code. Which tools are those? >... May people have >found that just running the code through an Ada 95 compiler, such as GNAT, >will detect many (but not all) problems. Running the code through an Ada 95 compiler, and then executing it, ought to find the vast majority of problems, I would think. And as Brad says, there aren't many problems. The two *worst* problems are probably: (1) There are now 256 Characters, instead of 128, and (2) generic formals need a (<>) to accept an unconstrained array. - Bob ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Ada83 equivalents for Ada95 1996-05-28 0:00 ` Robert A Duff @ 1996-05-29 0:00 ` Norman H. Cohen 1996-05-29 0:00 ` Ken Garlington 1 sibling, 0 replies; 14+ messages in thread From: Norman H. Cohen @ 1996-05-29 0:00 UTC (permalink / raw) In article <Ds4yxt.7wJ@world.std.com>, bobduff@world.std.com (Robert A Duff) writes: |> And as Brad says, there aren't many problems. The two *worst* problems |> are probably: (1) There are now 256 Characters, instead of 128, and (2) |> generic formals need a (<>) to accept an unconstrained array. A third problem right up there with those is that package bodies that are not required are now forbidden: package Data is Table: array (1 .. 100 ) of Float; ... end Data; package body Data is -- legal but dangerous in Ada 83, illegal in Ada 95 begin for I in Table'Range loop Table(I) := ...; end loop; end Data; There are simple tricks that can be used in Ada 83 to make the package body required, and hence legal. Here's one that was posted here recently: package Data is Table: array (1 .. 100 ) of Float; ... private type Package_Body_Needed; end Data; package body Data is -- legal but dangerous in Ada 83, illegal in Ada 95 type Package_Body_Needed is record null; end record; begin for I in Table'Range loop Table(I) := ...; end loop; end Data; (One can also use a dummy subprogram rather than a dummy type.) This should be done even in Ada-83 code that will never be ported to Ada 95. Otherwise, it's too easy to accidently build a system that includes the declaration but not the body of package Data, meaning that Data.Table never gets initialized. -- Norman H. Cohen ncohen@watson.ibm.com ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Ada83 equivalents for Ada95 1996-05-28 0:00 ` Robert A Duff 1996-05-29 0:00 ` Norman H. Cohen @ 1996-05-29 0:00 ` Ken Garlington 1 sibling, 0 replies; 14+ messages in thread From: Ken Garlington @ 1996-05-29 0:00 UTC (permalink / raw) Robert A Duff wrote: > > In article <bbalfour-2805961408500001@stmac0088.std.caci.com>, > Brad Balfour <bbalfour@std.caci.com> wrote: > >There are even tools available that you can purchase which will > >automatically detect these problems in your Ada 83 code. > > Which tools are those? Two non-compiler tools promoted at TRI-Ada '95 that look for Ada 95 incompatibilities in Ada 83 code: * Ada-ASSURED 3.0 from GrammaTech (info@grammatech.com) * Ada9X Transition Aid from Software Compositions (swcinfo@aol.com) -- LMTAS - "Our Brand Means Quality" ^ permalink raw reply [flat|nested] 14+ messages in thread
* New POSIX Ada Activity Announcement 1996-05-09 0:00 ` Ada83 equivalents for Ada95 James A. Squire 1996-05-10 0:00 ` Robert A Duff @ 1996-05-17 0:00 ` Shane P. McCarron 1 sibling, 0 replies; 14+ messages in thread From: Shane P. McCarron @ 1996-05-17 0:00 UTC (permalink / raw) Dear Colleague, The P1003.5c working group of the Portable Applications Standards Committee (PASC) of the IEEE Computer Society invites you to participate in a mock ballot of the draft IEEE POSIX standard for an Ada binding to P1003.1g, "Protocol Independent Interfaces" (i.e., sockets and XTI network interfaces). We will distribute the first mock ballot of our draft document in the very near future (June 96), and we have created an Email reflector to disseminate information about this effort. The list will also serve as the forum to communicate general information about this activity. This information will include quarterly POSIX meeting minutes, schedules, and announcements. If you would like to participate in the mock ballot, or take an active role in the working group, or if you simply have an interest in observing the flow of information exchanged on this subject, please subscribe to this list by sending mail to posix-ada-net-request@pasc.org with the word "subscribe" in the body of the message. NOTE: This broadcast was also sent to several Email reflectors, so some of you may receive multiple copies of this letter. We apologize for any inconvenience this may cause you. Also, several of you may have already communicated your desire to participate in the mock ballot. If this is the case, we will make sure you get subscribed to the list. Regards, The P1003.5c Working Group ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Ada83 equivalents for Ada95 [not found] <md5:0CCFC2005521EA8746533FEB9AA03D75> 1996-05-09 0:00 ` Ada83 equivalents for Ada95 James A. Squire @ 1996-05-28 0:00 ` Jon S Anthony 1996-05-29 0:00 ` Ken Garlington 2 siblings, 0 replies; 14+ messages in thread From: Jon S Anthony @ 1996-05-28 0:00 UTC (permalink / raw) In article <31A66DAA.7418@sud.ed.ray.com> Joe Gwinn <gwinn@sud.ed.ray.com> writes: > If Ada83 is any guide, it will be three years before Ada95 reaches > anything like Ada83's present level of maturity. Ada83 took more like Well, since this is wrong, I guess your guide is poor... This really is a misleading and confusing statement at best. I have been using Ada95 on real stuff for over a year under Gnat. We are also looking into the Thompson ObjectAda for NT (though we have not yet used this, information indicates that it is pretty much "there"). What platform are you using? If it is VMS, then, yes, I suppose you will not get something until the VMS port of Gnat that ACT is doing for Digital is released. Otherwise, IMO, you are just plain in the weeds - big time. /Jon -- Jon Anthony Organon Motives, Inc. 1 Williston Road, Suite 4 Belmont, MA 02178 617.484.3383 jsa@organon.com ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Ada83 equivalents for Ada95 [not found] <md5:0CCFC2005521EA8746533FEB9AA03D75> 1996-05-09 0:00 ` Ada83 equivalents for Ada95 James A. Squire 1996-05-28 0:00 ` Ada83 equivalents for Ada95 Jon S Anthony @ 1996-05-29 0:00 ` Ken Garlington 1996-05-31 0:00 ` Robert Dewar 2 siblings, 1 reply; 14+ messages in thread From: Ken Garlington @ 1996-05-29 0:00 UTC (permalink / raw) Jon S Anthony wrote: > What platform are you using? If it is VMS, then, yes, I suppose you > will not get something until the VMS port of Gnat that ACT is doing > for Digital is released. Otherwise, IMO, you are just plain in the > weeds - big time. Just as a clarification - the Gnat port will be to Alpha/VMS. As far as I know, VAX/VMS will be "in the weeds" for an indefinite period. -- LMTAS - "Our Brand Means Quality" ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Ada83 equivalents for Ada95 1996-05-29 0:00 ` Ken Garlington @ 1996-05-31 0:00 ` Robert Dewar 1996-06-03 0:00 ` Ken Garlington 0 siblings, 1 reply; 14+ messages in thread From: Robert Dewar @ 1996-05-31 0:00 UTC (permalink / raw) Ken Garlington said "Just as a clarification - the Gnat port will be to Alpha/VMS. As far as I know, VAX/VMS will be "in the weeds" for an indefinite period." This of course depends on customer interest in a VMS port for VAX. There is a GCC port for VAX/VMS, and once the GNAT port for Alpha/VMS exists, putting 2+2 together is certainly practical. So if you are interested in a Vax/VMS port, let us know! Robert Dewar President, Ada Core Technologies ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Ada83 equivalents for Ada95 1996-05-31 0:00 ` Robert Dewar @ 1996-06-03 0:00 ` Ken Garlington 1996-06-03 0:00 ` Robert Dewar 0 siblings, 1 reply; 14+ messages in thread From: Ken Garlington @ 1996-06-03 0:00 UTC (permalink / raw) Robert Dewar wrote: > > Ken Garlington said > > "Just as a clarification - the Gnat port will be to Alpha/VMS. As far > as I know, VAX/VMS will be "in the weeds" for an indefinite period." > > This of course depends on customer interest in a VMS port for VAX. There > is a GCC port for VAX/VMS, and once the GNAT port for Alpha/VMS exists, > putting 2+2 together is certainly practical. So if you are interested in > a Vax/VMS port, let us know! > > Robert Dewar > President, Ada Core Technologies That's why I used the term "indefinite period," as opposed to "forever." I assume sufficient interest will make the "indefinite" period a "definite" one! :) I also assume that this statement might hold true for other compiler vendors - sufficient interest in VAX/VMS would cause them to generate a port. However, I don't think this statement would necessarily be cause to announce multi-vendor support of VAX/VMS just yet! -- LMTAS - "Our Brand Means Quality" ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Ada83 equivalents for Ada95 1996-06-03 0:00 ` Ken Garlington @ 1996-06-03 0:00 ` Robert Dewar 0 siblings, 0 replies; 14+ messages in thread From: Robert Dewar @ 1996-06-03 0:00 UTC (permalink / raw) iKen Garlington said "I also assume that this statement might hold true for other compiler vendors - sufficient interest in VAX/VMS would cause them to generate a port. However, I don't think this statement would necessarily be cause to announce multi-vendor support of VAX/VMS just yet!" The difference in the case of GNAT is that the additional work required is relatively small, given the effort that will already have been put in to create the VMS port for Alpha. ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~1996-06-03 0:00 UTC | newest] Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <md5:0CCFC2005521EA8746533FEB9AA03D75> 1996-05-09 0:00 ` Ada83 equivalents for Ada95 James A. Squire 1996-05-10 0:00 ` Robert A Duff 1996-05-24 0:00 ` Joe Gwinn 1996-05-25 0:00 ` JP Thornley 1996-05-28 0:00 ` Brad Balfour 1996-05-28 0:00 ` Robert A Duff 1996-05-29 0:00 ` Norman H. Cohen 1996-05-29 0:00 ` Ken Garlington 1996-05-17 0:00 ` New POSIX Ada Activity Announcement Shane P. McCarron 1996-05-28 0:00 ` Ada83 equivalents for Ada95 Jon S Anthony 1996-05-29 0:00 ` Ken Garlington 1996-05-31 0:00 ` Robert Dewar 1996-06-03 0:00 ` Ken Garlington 1996-06-03 0:00 ` Robert Dewar
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox