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=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,496a0ccec2385fd0,start X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1994-09-10 11:15:01 PST Path: nntp.gmd.de!xlink.net!slsv6bt!slbh01.bln.sel.alcatel.de!rcvie!Austria.EU.net!newsfeed.ACO.net!swidir.switch.ch!epflnews!disuns2.epfl.ch!usenet From: Magnus.Kempe@di.epfl.ch (Magnus Kempe) Newsgroups: comp.lang.ada Subject: Ada FAQ: comp.lang.ada (part 1 of 2) Followup-To: poster Date: 9 Sep 1994 19:37:34 GMT Organization: Ecole Polytechnique Federale de Lausanne Distribution: world Message-ID: <34qdhu$rpq@disuns2.epfl.ch> NNTP-Posting-Host: lglsun4.epfl.ch Summary: comp.lang.ada Frequently Asked Questions (and answers), part 1 of 2. Please read before posting. Does *not* get into Ada programming questions [for that see the--future--Ada/language FAQ]. Keywords: comp.lang.ada, Ada Date: 1994-09-09T19:37:34+00:00 List-Id: Archive-name: Ada/comp-lang-ada/part1 Posting-Frequency: monthly Last-modified: 9 September 1994 Last-posted: 1 June 1994 COMP.LANG.ADA FREQUENTLY ASKED QUESTIONS (FAQ) This is part 1 of a 2-part posting. Part 2 begins with question 6.2. It should be the next posting in this thread. Introduction Ada is an advanced, modern programming language, designed and standardized to support widely recognized software engineering principles: reliability, portability, modularity, reusability, programming as a human activity, efficiency, maintainability, information hiding, abstract data types, concurrent programming, object-oriented programming, etc. All Ada compilers must pass a validation test. Ada is defined by an international standard (the language reference manual, or LRM). Ada is in use around the world (not just in the USA). NOTE: This document now has a home on the Ada WWW Server, in hypertext format (URL http://lglwww.epfl.ch/Ada/FAQ/comp-lang-ada.html). Maintenance For the past year or so, the comp.lang.ada FAQ has been maintained by the Ada Information Clearinghouse (cla-faq@ajpo.sei.cmu.edu); prior to that, it was maintained on an individual volunteer basis. This FAQ is now again maintained on an individual volunteer basis, by Magnus Kempe (Magnus.Kempe@di.epfl.ch). [Note: This is done as a hobby, not in my capacity as an employee at the Swiss Federal Institute of Technology. --MK] The AdaIC has announced it will maintain its own FAQ pointing to Ada items available on the Ada Joint Program Office's host. In the meantime, this FAQ still contains pointers to AJPO and AdaIC material. _________________________________________________________________ Report of a product, service, or event, etc., does not constitute an endorsement. Opinions (if any) expressed are those of the submitters and/or maintainer. _________________________________________________________________ Table of Contents: * 1: Recent changes to the FAQ * 2: Information about this document * 3: Elementary questions + 3.1: What is Ada? o 3.1.1: Where can I get other information on Ada? + 3.2: I have seen the language name capitalized as ADA, as well as Ada. Which is right? + 3.3: What is Ada 9X? o 3.3.1: Are there already Ada 9X books? + 3.4: Is Ada a registered trademark (TM) of the US government? + 3.5: Where can I find an electronic version of the Ada language reference manual (LRM)? + 3.6: Is Ada used in commercial applications? + 3.7: I think Ada could really benefit from having [choose_a_feature] from [choose_a_language] ... + 3.8: I just saw a very anti-Ada post that I think is definitely wrong. Why didn't anybody post a response to it? Should I? + 3.9: I very strongly agree/disagree with the Ada mandate (or a post dealing with it). Why doesn't anyone praise/criticize it? Should I? * 4: Compilers + 4.1: Is there a list of validated Ada compilers? + 4.2: Is there a public-domain/free/shareware Ada compiler or interpreter? o 4.2.1: Ada/Ed -- An Interpreter for Ada 83 o 4.2.2: GW-Ada/Ed -- a souped-up version of Ada/Ed for 386/486 DOS and Macintosh machines o 4.2.3: GNAT, The GNU Ada Translator -- An Ada 9X Compiler + 4.3: What cheap (<500$) Ada compilers are available? + 4.4: Is there an Ada compiler for machine X/operating system Y? o 4.4.1: on the Macintosh? o 4.4.2: native for OS/2? + 4.5: How can I contact Ada compiler vendor? * 5: Organizations that deal with Ada and Ada issues + 5.1: Ada Joint Program Office (AJPO) + 5.2: Ada Information Clearinghouse (AdaIC) + 5.3: ACM/SIGAda + 5.4: ISO WG 9 * 6: Tools + 6.1: Is there an Ada-mode for Emacs? + 6.2: Are there versions of lex and yacc that generate Ada code? + 6.3: Where can I get a yacc/ayacc grammar to read Ada code? + 6.4: What is Anna, and where can I get it? + 6.5: What is DRAGOON, and where can I get it? + 6.6: Where can I get language translators? And should I? + 6.7: What is ASIS? o 6.7.1: How can I get hold of ASIS? o 6.7.2: How can I find out more about ASIS? and Can I take part in its development? * 7: Bindings + 7.1: General + 7.2: POSIX o 7.2.1: What is the status of the POSIX/Ada work? o 7.2.2: How can I get a copy of POSIX/Ada? o 7.2.3: Is POSIX/Ada available via FTP? + 7.3: X Window System * 8: Is there a list of good Ada books? * 9: Resources + 9.1: What FTP sites exist that contain information about Ada or Ada source? + 9.2: I don't have FTP service on the host where I have an account. Is there any way I can access FTP sites? o 9.2.1: The AJPO host also has a special e-mail service for FTP. + 9.3: Reuse o 9.3.1: Are there any free, public-domain, or other general-access software repositories that contain Ada source code and information on reuse? o 9.3.2: Is there a database of reusable Ada software components? + 9.4: Where can I get Ada benchmark programs? + 9.5: Are there any dial-up BBS systems that deal with Ada? * 10: Credits * 11: Copying this FAQ _________________________________________________________________ 1: Changes in this file since last posted * 8/31: What is Ada, and where can one get more information? * 8/30: Ada 9X books. * 8/18: added an explicit copyright statement. * 8/17: love/hatred of the Ada mandate. * 8/16: where are yacc grammars for Ada? * 8/16: where are electronic versions of the Ada LRM? * 8/15: made into a hypertext version to browse on WWW. * 8/15: is there an Ada compiler for machine X/operating system Y? * 8/15: pointer to list of reusable components. * 8/12: references to network resources now follow the URL convention. * 8/12: completely revised the structure. * july: new maintainer. What's important and missing: * description of the ACVC. * list of regular Ada-related events. _________________________________________________________________ 2: Information about this document This file has been posted to comp.lang.ada (and will be posted again to news.answers, and comp.answers, as soon as it is approved in its new format and with its new maintainer). This document has a home on the Ada WWW Server, in hypertext format (URL http://lglwww.epfl.ch/Ada/FAQ/comp-lang-ada.html). A previous version of the FAQ is still available for downloading via anonymous FTP from the AJPO host (ajpo.sei.cmu.edu), in ftp://ajpo.sei.cmu.edu/public/comp-lang-ada/ (files cla-faq1 and cla-faq2). (When posted again in *.answers, it will also be available on rtfm.mit.edu, which archives FAQ files posted to news.answers; for the old version, see ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/comp-lang-ada/.) For notes on FTP, or the lack thereof, see question 9.2.1, describing how to use FTP by e-mail. Magnus Kempe maintains this document; it's not a job, it's a hobby. Feedback about it is to be sent via e-mail to magnus.kempe@di.epfl.ch. Thanks. In all cases, the most up-to-date version of the FAQ is the version maintained on the Ada WWW Server. Please excuse any formatting inconsistencies in the posted version of this document, as it is automatically generated from the on-line version. _________________________________________________________________ 3: Elementary questions 3.1: What is Ada? Ada is an advanced, modern programming language, designed and standardized to support widely recognized software engineering principles: reliability, portability, modularity, reusability, programming as a human activity, efficiency, maintainability, information hiding, abstract data types, concurrent programming, object-oriented programming, et caetera. All Ada compilers must pass a validation test. 3.1.1: Where can I get other information on Ada? If you have questions which this FAQ does not answer, you may contact the Ada Information Clearinghouse (see below, question 5.2), use the Usenet newsgroup comp.lang.ada, read the Ada Yearbook published by Ada UK, or the Ada Resources published by the ACM. To find out more, you may also use the Ada WWW Server, URL http://lglwww.epfl.ch/Ada/, which has a companion FAQ: Ada/ada-www-server (also regularly posted to comp.lang.ada). I encourage you to check out the changes listed early in the document each time this FAQ is posted. 3.2: I have seen the language name capitalized as ADA, as well as Ada. Which is right? The correct capitalization is Ada. It's a proper name, for Ada Lovelace (1815-1852), who is regarded to be the world's first programmer. Using all-caps usually implies an acronym, and this forum is not devoted to the American Dental Association :-). 3.3: What is Ada 9X? Ada 9X refers to the revised version of Ada. (Ada 83 is the current ANSI/ISO standard.) The Ada 9X Project Office is responsible for the revision, and is working closely with the international community to ensure Ada retains its ISO status. The Ada 9X process is very open. Volunteer Reviewers are welcome and should contact ada9x-vr@ajpo.sei.cmu.edu . Many documents are available for downloading from the ftp://ajpo.sei.cmu.edu/public/ada9x/ directory on the AJPO host (see question 9.1, FTP sites for more information.) For further information, contact the Ada 9X Project Office, PL/VTES, Kirtland AFB, New Mexico 87117-5776. Ada 9X includes four major areas of enhancement: support for object-oriented programming, data-oriented synchronization, programming-in-the-large, and realtime systems. A great deal of attention is being focused on transitioning to Ada 9X. The validation test suite will be available early (in draft form prior to ANSI/ISO approval with official release 3 months after ANSI/ISO approval). However, for a two-year period vendors will be able to focus on enhanced areas of the language that their customer base wants first; i.e., the first validation test suite will be modularly constructed. Vendors are also being encouraged to release beta-versions of their Ada 9X implementations prior to validation. There is also a (still partial) GNU Ada 9X compilation system (GNAT) available since late 1993. (See question 4.2.3.) 3.3.1: Are there already Ada 9X books? The Ada 9X Rationale explains how to use the new mechanisms of the language. The new Reference Manual is THE reference, of course. The Annotated Reference Manual provides detailed explanations of the rules of the language (good for implementors and language lawyers). All three are available by FTP from the AJPO host, in ftp://ajpo.sei.cmu.edu/public/ada9x/rm9x (v5.0). There are also a few commercial books which have sections on Ada 9X or have integrated the revised definition of the language into their presentation: * J. Barnes. Programming in Ada: Plus an Overview of Ada 9X. Addison Wesley. Price $43.25. ISBN 0-201-62407-9. * G. Booch and D. Bryan. Software Engineering with Ada. 3rd ed., Benjamin/Cummings, 1994. ISBN 0-8053-0608-0. * Naiditch. Rendez-vous with Ada 9X. 2nd ed., John Wiley & Sons, Inc. Price $44.95. ISBN 0-471-01276-9. * J. Skansholm. Ada From the Beginning. 2nd ed., Addison-Wesley 3.4: Is Ada a registered trademark (TM) of the US government? No, but it used to be; there is a "certification mark", though, which is to be used only for validated compilers. Prior to November 30, 1987, the name "Ada" was a registered trademark. In the December 1987 issue of the Ada Information Clearinghouse Newsletter, Ms. Virginia Castor, then Director of the Ada Joint Program Office (AJPO), announced that the Department of Defense would thereafter rely on a certification mark instead of a trademark. (The certification mark is a Pentagon-shaped symbol with a "Validated Ada" message, and can be seen on the documentation of validated Ada compilers.) The text of the 1987 AJPO announcement is available as an AdaIC file on the AJPO host, in ftp://ajpo.sei.cmu.edu/public/policy/trademrk.txt. 3.5: Where can I find an electronic version of the Ada reference manual (LRM)? The Ada 83 LRM is available in plain ASCII files in ftp://ajpo.sei.cmu.edu/public/lrm/. The Ada 9X Draft RM is available in plain ASCII and Postscript files in ftp://ajpo.sei.cmu.edu/public/ada9x/rm9x/. Both Ada 83 and Ada 9X reference manuals exist in hypertext format, accessible through the Ada WWW Server (see the companion FAQ: Ada/ada-www-server). 3.6: Is Ada used in commercial applications? Yes. Ada is used in e.g. airplanes, air traffic control systems, financial systems, telecommunications systems, medical devices. * The AJPO host on the Internet contains a report of Commercial Ada Users Working Group (CAUWG) of the Association for Computing Machinery's Special Interest Group on Ada (ACM SIGAda). Dated June 1993, the report is a survey of applications from around the world that are written in Ada. It is in ftp://ajpo.sei.cmu.edu/public/document/cauwg.txt. * The Ada Information Clearinghouse maintains a list of Ada projects that have submitted information for the AdaIC's Ada Usage Database. It is only a sample of Ada projects, but it includes both commercial and government-related projects. For details on contacting the AdaIC, see question 5.2. * On the AJPO host, the ftp://ajpo.sei.cmu.edu/public/usage/ directory contains a summary of the Ada Usage Database and a number of individual project descriptions that may be of interest. 3.7: I think Ada could really benefit from having [choose_a_feature] from [choose_a_language], or: I think Ada is clearly [inferior_or_superior] to [choose_a_language] because it has [choose_a_feature]. Such posts almost always result in religious language wars and only waste bandwidth. PLEASE refrain from such posts unless you have a specific question about Ada. For example, the following kind of question *is* appropriate: "In [choose_a_language] I can do [choose_a_feature]. How would I go about doing this in Ada?" 3.8: I just saw a very anti-Ada post that I think is definitely wrong. Why didn't anybody post a response to it? Should I? Ada apparently gets more than its share of attacks, probably due to its unique origins, and the fact that it is a requirement for some government software. For the same reasons as in the preceding question, PLEASE refrain from posting a response to these, unless you feel there is something of *significant* importance that you can contribute. Posts containing factual corrections are OK, but posts like "Well, I've used Ada on many projects, and all have been very successful" accomplish nothing. If you are really dead-set on driving your point home to the poster, you can do it via e-mail. 3.9: I very strongly agree/disagree with the Ada mandate. Should I praise/criticize it? First, it is a fact that there is an Ada standard, on which the DoD is aligned (the so-called "mandate"). No shouting match will change that. Second, don't believe rumors (about the mandate, its withdrawal, its being ignored, etc.) you read on comp.lang.ada, unless you have reasons to (i.e. you know the author is trustworthy, or the author provides references which you can check, and which you have checked yourself at least a couple of times.) What about discussing the Ada mandate? Praise of the mandate is usually based on the ideas that a) it is better to have one language than 1500 obscure, proprietary languages for all DoD-owned non-COTS systems, and b) Ada is a good software engineering language, especially when it comes to maintenance. Criticism of the mandate is usually based on the ideas that a) a good language should not need a mandate (which ignores the fact that before standardizing on Ada the DoD had to maintain for 20+ years software written in 1500 obscure, proprietary programming languages--which is hard and costly), and b) the mandate is mostly ineffective, since either it is ignored, or too many waivers are granted, or none is necessary (a policy issue which will in all likelihood NOT be resolved by discussions on comp.lang.ada). Finally, whenever you see a message criticizing the Ada language (or Ada companies) for losing completely both in the market and under the mandate, check the facts for yourself. For the most part, the Ada mandate is enforced; in many critical, commercial systems, Ada is the language of choice and its adoption a success; in the slowly-changing competition of programming languages, FORTRAN and COBOL dominate, and Smalltalk, C++, Eiffel, and Ada are all slowly growing. Ada is (finally, and we hope seriously) penetrating academia. There is a GNU Ada 9X compiler available. And remember that Ada 9X will be the first standardized object-oriented programming language. If you have some new, additional facts, with approriate references so that everyone can check for himself, then posting on a mandate-related issue is OK. If NOT, then refrain from posting. PLEASE, if someone starts a non-factual discussion, the best policy is simply to ignore it or, if you have to, you may reply by private e-mail. Try to hold the same standards as you would in discussing problem-solving with the programming language itself, and put your information in a way which encourages positive action; criticism of inefficiency and/or ineptitude is fine, as long as it is honest, documented, and polite. _________________________________________________________________ 4: Compilers 4.1: Is there a list of validated Ada compilers? Yes, indeed, there is. The latest list can be retrieved by anonymous FTP. It is in ftp://ajpo.sei.cmu.edu/public/compiler/val-comp.txt. If the list is updated during the month, the previous one is replaced. 4.2: Is there a public-domain/free/shareware Ada compiler or interpreter? There ARE free Ada systems, and there is a choice: Ada/Ed for Ada 83, and GNAT for Ada 9X. (Strictly speaking these are NOT "public-domain". They are "free"--under copyright conditions known as "GNU Copyleft". In short: there is no warranty, and you are allowed to copy, modify, and distribute them; but you can't charge anyone for the software itself, and if the software (necessarily including source code) is further distributed, it must be done under the same conditions--i.e. copyable, with sources and modifications, available to everyone else, etc.) 4.2.1: Ada/Ed -- An Interpreter for Ada 83 Ada/Ed is available for PCs, Unix-based machines, Amiga, and Atari systems. The Ada/Ed interpreter for Ada 83 is available from the New York University host, in ftp://cs.nyu.edu/pub/adaed/ (Internet address 128.122.140.24). There you will find a version for UNIX-based machines, and a version for 386/486 DOS machines. Ada/Ed is a translator-interpreter for Ada. It is intended as a teaching tool, and does not have the capacity, performance, or robustness of commercial Ada compilers. Ada/Ed was developed at New York University, as part of a long-range project in language definition and software prototyping. The project produced the first validated translator for Ada, in the form of an executable definition of the language written in SETL. The SETL system served as design document and prototype for the C version. Ada/Ed was last validated under version 1.7 of the ACVC tests. Therefore it is not currently a validated Ada system, and users can expect to find small discrepancies between Ada/Ed and currently validated compilers. Apart from the 100-odd tests of ACVC 1.11 that Ada/Ed currently fails, the major deficiency of the system is that, being an interpreter, it does not implement most representation clauses, and thus does not support systems programming close to the machine level. 4.2.2: GW-Ada/Ed -- a souped-up version of Ada/Ed for 386/486 DOS and Macintosh machines GW-Ada/Ed is available from the PAL, by anonymous FTP; it is in ftp://wuarchive.wustl.edu/pub/languages/ada/compiler/adaed/gwu/. The files are located in subdirectories "dos" and "mac". This project was sponsored by The George Washington University, and in part by the United States Advanced Research Projects Agency (ARPA). This distribution contains the executables for GWAda, which consists of the NYU Ada/Ed translator/interpreter system together with an integrated editor developed by Prof. Arthur Vargas Lopes of the Pontifical University at Porto Alegre, Brazil. Lopes began his work on GWAda while he was a doctoral student at The George Washington University. There is also in the DOS version a very nice extended runtime facility, with interesting kinds of source tracing. GWAda is being freely distributed at no charge. In the near future the developers will make the source code available under the GNU General Public License. Source code is not being provided because the system is still in the developmental stage. Source code for Ada/Ed itself is available from NYU (see above) and from PAL (see questions 9.1 and 9.3). Note that under DOS you do not have to use the GWAda integrated environment, but can execute the various parts of NYU Ada/Ed from the DOS command line, as described in the NYU instructions. System requirements: * IBM PC Compatible, 386 or 486, running MS-DOS or PC-DOS, with at least 3.6 MB available extended memory, and at least 5 MB free hard-disk space. * Mac with a 68030 or 68040 processor, System 7, with at least 4 MB of RAM, and around 10 MB free hard-disk space. 4.2.3: GNAT, The GNU Ada Translator -- An Ada 9X Compiler GNAT is available from the New York University host, in ftp://cs.nyu.edu/pub/gnat/. There are versions for UNIX-based systems, and versions for DOS and 386/486 OS/2 machines. Usually the latest version is made available for both Sun SPARC (SunOS 4.1) and OS/2 machines. It is also available in the Public Ada Library (PAL -- formerly the Ada Software Repository), under ftp://wuarchive.wustl.edu/pub/languages/ada/compiler/gnat/ (Internet address: 128.252.135.4). A mirror site of the PAL also carries GNAT: ftp://ftp.cdrom.com/pub/languages/ada/compiler/gnat/. You can also get a copy from the AdaIC Bulletin Board. But this is a dial-up operation (703/614-0215), and since the files sizes are large, connect times may be lengthy. The bulletin board is best used as a back-up source for those who don't have Internet/FTP access. General (excerpted from "Free Source Code for GNAT 9X Compiler to be Available on Internet", by Robert Dewar and Edmond Schonberg, New York University, Ada Information Clearinghouse Newsletter August 1993) The Computer Science Department of the Courant Institute of Mathematical Sciences at New York University received a contract from the Ada 9X Project Office, under the direction of Christine M. Anderson, to develop a GNU/Ada system. The work is being cosponsored by ARPA and the Ada Joint Program Office. The final delivery will be a full Ada 9X implementation with as much of the core language and annexes implemented as possible. At final delivery, the developers expect to demonstrate to the Ada community a reasonably complete and solid implementation of the core language, and at least part of the language annexes. This delivery will include full sources, and executables for at least the Sun Sparc and PC on OS/2. (On PCs, GNAT will need a full 32-bit environment with several megabytes of memory.) There are a number of official GNAT e-mail addresses: gnat-request@cs.nyu.edu Send a message to this address to be placed on our external mailing list. We send out progress reports, technical reports, digests of technical comments and other information. gnatchat@cs.nyu.edu Send messages to this address for our general consideration. Where appropriate, we will digest these comments for redistribution to the external mailing list -- unless you specifically request that they be considered private. gnat-report@cs.nyu.edu This address is to be used specifically to report problems with the currently available version of the GNAT system. Please be as specific as possible in reporting problems. Do not report missing features for now! OS/2 Version The executables and sources for the OS/2 version of GNAT are split and compressed into two files, each of which can fit on one 3.5-inch high-density diskette. Although it is possible to install GNAT on an OS/2 machine on FAT (MS-DOS-compatble) partition, such an installation will not be fully functional. In fact, GNAT does not support installations on FAT partitions. You will need about 8.5 MB of free disk space after you have copied the appropriate files to your hard drive. About half of this amount is taken up by the source code. In case you want to modify and re-compile GNAT, you will need about 24 MB of free disk space after you have installed GNAT for OS/2 and copied the necessary source files to your hard drive. Ports Several ports of GNAT have been produced by volunteers for a number of additional platforms (e.g. SPARCStations Solaris 2.1, i386/i486 Linux, DECstation (MIPS chip) Ultrix, DOS, SCO Unix). Users should allow time for the volunteers to catch up with the new releases. Note: The DOS version requires installation of DJGPP, DJ Delorie's port of GCC, GNU loader (ld), and GNU assembler (as) to DOS. DJGPP also includes the GO32 memory extender, which works with both VCPI and DPMI standards, which allows working in a Microsoft Window. There is information on DJGPP stored together with GNAT. 4.3: What cheap (<500$) Ada compilers are available? What follows is absolutely *not* exhaustive, but inexpensive compilers are available, and some vendors offer educational discounts or free programs for educational sites. Among those offering educational discounts are Alsys, DDC-I, Encore, Harris, IBM, Irvine Compiler, Meridian, PSS, Rational, R.R., Tartan, and TeleSoft (now part of Alsys). Meridian: Among choices for inexpensive compilers, Meridian offers one for $99. (Meridian Software Systems (A Verdix Company), 205 Van Buren Street - 4th floor, Herndon, VA 22070; contact: Gary Newman, 800/653-2522, 703/318-5810.) Alsys (US pricing only): FirstAda for 286 DOS is $595. It will run on 286 and higher, and will generate applications for any x86 PC. Comes with a full toolset. Alsys does run specials on it periodically. Call Pat Michalowski at 619/457-2700 for more info. Alsys offers the same compilation system for $144 to qualified educational institutions under its LEAP program. The program also offers substantial educational discounts on other Alsys products, as well as site license arrangements. Contact Kathy Ruggiero at 617/270-0030 for more info. Rational: Rational provides free software (Rational Apex) to accredited educational institutions, including military academies, in the United States and Canada. This is under its Software Engineering for Educational Development (SEED) program. To receive information on the program, send your contact information via e-mail to SEED_Info@Rational.com. R.R. Software: R.R.'s Janus/Ada Professional Development System -- 60386 MS-DOS -- regularly goes for $500. (R.R. Software, P.O. Box 1512, Madison, WI 53701; contact: Randall Brukardt 608/251-3133; e-mail: 4269344@mcimail.com.) 4.4: Is there an Ada compiler for machine X/operating system Y? There are hundreds of Ada compilers available on the market. Some answers for Frequently Asked Compilers are listed below. If your specific question is not answered here, check the comprehensive list of validated Ada compilers. 4.4.1: For the Macintosh Meridian sells a compiler with a Toolbox binding and MPW 3.2. It has one limitation for large programs: Packages which contain more than 32K bytes of data will compile, but not link. It works with System 7, and has been reported both as working and not-working on PowerPCs (maybe due to a problem with Inits). The interpreter GW/Ada (see question 4.2.2) works on all Mac architectures. 4.4.2: Native compilers for OS/2 There are several good fully validated compilers. E.g. Alsys has one, and has a partial Ada 9X compiler for Windows; RR Software specializes in the Intel x86 architecture (AETECH repackages and distributes their compilers as IntegrAda) -- and they advertise a partial Ada 9X compiler. GNAT is available for OS/2. 4.5: How can I contact Ada compiler vendors? Note: The AdaIC's Validated Compiler List now contains--at the end of the list--addresses, including e-mail, for compiler-vendor points of contact. Here is a non-exhaustive list (possibly out-of-date, for the moment). Alsys sales (e-mail contact only): tne@world.std.com (Tom Erickson) Alsys sales (voice) Pat Michalowski Tel: 619/270-0030 Convex questions: allison@convex.com (Brian Allison) Tel: 214/497-4346 Cray questions: det@cray.com (Dave Thersleff) Tel: 612/683-5701 Cray sales: svc@cray.com (Sylvia Crain) Tel: 505/988-2468 Harris questions: jeffh@ssd.csd.harris.com (Jeff Hollensen) IBM/Ada questions: malcho@torolab6.vnet.ibm.com (Don Malcho) Tel: 416/448-3727 Intermetrics questions: ryer@inmet.inmet.com (Mike Ryer) Irvine Compiler Corp (ICC) questions: info@irvine.com Tartan questions: englert@tartan.com (Susan Englert) Tel: 412/856-3600 TeleSoft questions: adasupport@telesoft.com (Note that TeleSoft is now part of Alsys.) Tel: 619/457-2700 TeleSoft Sales: marketng@telesoft.com (Philippe Collard) Tel: 619/457-2700 Verdix questions: drew@verdix.com (Drew Johnson) Verdix sales information: moskow@verdix.com (Paul Moskowitz) (Note that Verdix has now merged of Rational.) Tel: 800-BUY-VADS _________________________________________________________________ 5: Organizations that deal with Ada and Ada issues 5.1: Ada Joint Program Office (AJPO) The AJPO is part of the Department of Defense; it facilitates the implementation of the DoD's Software Initiative (Ada) throughout the Services, and maintains the integrity of the Ada language. (The AJPO sponsors the AdaIC.) The address is: Ada Joint Program Office Defense Information Systems Agency 701 South Courthouse Road Arlington, VA 22204-2199 703/604-4619 (autovon 664-4619) fax: 703/685-7019 The current Director and Deputy Directors are: Acting Director Donald Reifer Air Force Liaison Maj M. Dirk Rogers (rogersd@ajpo.sei.cmu.edu) Navy Deputy Liaison Joan McGarity (mcgarity@ajpo.sei.cmu.edu Army Deputy Liaison MAJ Charlotte Lee (leec@ajpo.sei.cmu.edu) DISA Liaison David Basel (baseld@ajpo.sei.cmu.edu) 5.2: Ada Information Clearinghouse (AdaIC) The Ada Information Clearinghouse (AdaIC) provides a full spectrum of information on Ada to anyone interested in finding out more about the programming language. IIT Research Institute operates the AdaIC for the Ada Joint Program Office (AJPO). The address is: Ada Information Clearinghouse P.O. Box 46593 Washington, DC 20050-6593 1-800-AdaIC-11 (232-4211), 703/685-1477; fax: 703/685-7019 The AdaIC publishes a quarterly newsletter, which contains current news, Ada conference reports, announcements from the AJPO Director, and articles on projects using Ada. If you would like to receive a copy of the AdaIC newsletter, please call and request a subscription. There's no charge. The AdaIC also regularly updates and publishes more than 70 separate information flyers. Flyer topics include: * Ada Validated Compilers * Ada News and Current Events * Ada Usage * Ada 9X Project * On-line sources of Ada Information * Ada Bibliographies * Ada Compiler Validation and Evaluation * Resources for Ada Education and Training * Ada Software, Tools, and Interfaces * Ada Regulations, Policies, and Mandates * Ada Historical Information One of the most commonly requested flyers is the Validated Compilers List. This list, which is updated monthly, contains Ada compilers that have been validated by the AJPO. For the most current information on validated Ada compilers, contact the AdaIC. Practically all AdaIC flyers are available via anonymous FTP from the AJPO host, in ftp://ajpo.sei.cmu.edu/public/. 5.3: Association of Computing Machinery's Special Interest Group on Ada (ACM SIGAda) SIGAda's bimonthly publication is Ada Letters. Price for non-members: $55 (Annual ACM membership dues, $82; students, $25). Otherwise it costs $20 per year to ACM members; $10 per year to ACM student members. The address is: Association for Computing Machinery, Inc. 1515 Broadway New York, NY 10036 212/869-7440 SIGAda also has a number of committees and working groups on a variety of topics. 5.4: ISO Working Group 9 (ISO-IEC/JTC1/SC22/WG9, WG9 for short) This is a working group that deals with Ada within the International Standardization Organization. Within WG-9, are several Rapporteur (rap) groups: * ARG: Ada Rapporteur Group -- Comments and Interpretations * CRG: Character Rapporteur Group -- International Character Sets * IRG: Information Systems Rapporteur Group -- Decimal Arithmetic * NRG: Numerics Rapporteur Group -- NUMWG packages * RRG: Real-Time Rapporteur Group -- ExTRA * SRG: SQL Interfaces Rapporteur Group -- SAMeDL * URG: Uniformity Rapporteur Group -- Portability through Uniformity * XRG: Ada 9X Rapporteur Group Ada Rapporteur Group (ARG): This is the group responsible for evaluating comments on the Ada standard. Officially, the group is only developing a technical report addressing comments and questions concerning the ISO standard for Ada. (Arcane ISO rules prevent the ARG or WG9 from issuing "official" interpretations of a standard.) In practice, when a response to a comment is approved by WG9, the response is taken into account by the Ada Validation Office and affects the test suite. The documents containing comments on the standard and ARG responses are called "Ada Commentaries" and are given numbers of the form AI-ddddd/vv, where vv is a version number. Comments and questions about the Ada standard should be sent to ada-comment@ajpo.sei.cmu.edu, using the format specified in the Ada standard. You can receive e-mail notification of an update to a commentary (optionally including the text of the commentary) by sending a request to ada-comment@ajpo.sei.cmu.edu. Commentaries are generally updated only a few times each year. The text of all commentaries is available by anonymous FTP from the AJPO site in the account public/ada-comment. A detailed discussion of ARG procedures and the format of commentaries can be found in the ada-comment account in the file arg-procedures.doc. A reformatted copy of the Reference Manual that includes WG9-approved commentaries is available from Karl Nyberg (karl@grebyn.com). Uniformity Rapporteur Group (URG) Responsible for evaluating Uniformity Issues (UIs). UIs specify/recommend specific choices for the compiler implementor, where the language permits implementation freedom. The "canonical example" is UI-8, on integer types. This UI recommends that integers be at least 32 bits, and provides names for the other predefined integer types. The goal of the URG and the UI's is to further Ada portability by providing uniform implementations of implementation-dependent features commonly used by Ada applications. _________________________________________________________________ 6: Tools 6.1: Is there an Ada-mode for Emacs? There are, in fact, 4 Ada modes for Emacs! * the most recent one, available by FTP, is in ftp://cs.nyu.edu/pub/gnat/emacs-ada-mode. This is still work under development but it is already quite usable. The main features are: + TAB ---> indent (almost always correctly) + compile and parse the errors (with the cursor at the right line AND column) + highlight keywords and comments + create skeletons for all Ada constructs (both 83 and 9x) + goto next (previous) subprogram/package/task + goto beginning of syntactic construct + name completion (when it is a subprogram defined in the file) + untabify, remove trailing spaces automatically before saving + C-c TAB ---> format subprogram specs in GNAT style + and much more to come... The 2 main developers are Markus Heritsch (who works under the direction of Franco Gasperoni at ENST, Paris) and Rolf Ebert (Munich, Germany). * a simple ada-mode shipped as part of the emacs distribution (note: it seems it doesn't work correctly); * a more elaborate one from Steven D. Litvintchouk of Mitre Corp called electric-ada (available from?--NO INFORMATION); and * gnu-ada mode. Here is a small description of the features of this mode: Compile programs within emacs Run compiler as inferior of Emacs, and parse its error messages. NOTE: I believe that this feature will only work with VADS, but it might have been tailored to work with other compilers. Ada dired It supplies a form of dired that helps manage the VADS environment, and it adds ADA vads commands into ada mode. Unlike a previous dired-ada implementation, this version uses the existing dired mode functions except where there is unresolvable conflict. Thus, this is more like a minor mode to dired. Very important because on actual version of emacs 19(beta), in fact lemacs (lucid emacs), dired has changed and we can no longer use gnu-ada mode :-( you can consult the Ada Language Reference Manual (*) during parsing error message. (*)You can get one in e.g. the Public Ada Library. smart indentation Tries hard to do all the indenting automatically. Emphasizes correct insertion of new code using smart templates. Smart template commands (bnf) This is essentially a bnf processor/language-sensitive editor. The next message will give you an ada bnf file that you can use within ada-mode to expand nonterminals. But you can roll your own grammars (e.g., your design grammar or an ADL) and put them in *.bnf files ... The BNF rule set is stored as a list of rules. debugging Ada programs within emacs A facility is provided for the simultaneous display of the source code in one window, while using a.db to step through a function in the other. A small arrow "=>" in the source window, indicates the current line. Move from procedure to procedure or package to package tags Ada and other things ... You can find the gnu-ada mode in ftp://ajpo.sei.cmu.edu/public/infoada/gnu/ as well as in the PAL, under ftp://wuarchive.wustl.edu/pub/languages/ada/swtools/emacs/adamode/.