home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-04-11 | 99.4 KB | 2,380 lines |
- Archive-name: computer-lang/Ada/comp-lang-ada/part1
- Comp-lang-ada-archive-name: comp-lang-ada/part1
- Posting-Frequency: monthly
- Last-modified: 17 February 1995
- Last-posted: 19 January 1995
-
- comp.lang.ada
- Frequently Asked Questions (FAQ)
-
- This is part 1 of a 3-part posting.
- Part 2 begins with question 4.5.
- Part 3 begins with question 9.
- They should be the next postings in this thread.
-
-
- Introduction
-
- Ada is an advanced, modern programming language, designed and
- standardized to support and strongly encourage widely recognized
- software engineering principles: reliability, portability, modularity,
- reusability, programming as a human activity, efficiency,
- maintainability, information hiding, abstract data types, genericity,
- concurrent programming, object-oriented programming, etc.
-
- All Ada compilers must pass a validation test. Ada is not a superset
- or extension of any other language. Ada does not allow the dangerous
- practices or effects of old languages, although it does provide
- standardized mechanisms to interface with other languages such as
- Fortran, Cobol, and C.
-
- Ada is recognized as an excellent vehicle for education in programming
- and software engineering, including for a first programming course.
-
- Ada is defined by an international standard (the language reference
- manual, or LRM), which has been revised in 1995. Ada is taught and
- used all around the world (not just in the USA). Ada is used in a very
- wide range of applications: banking, medical devices,
- telecommunications, air traffic control, airplanes, railroad
- signalling, satellites, rockets, etc.
-
- The latest version of this FAQ is always accessible through WWW as
- http://lglwww.epfl.ch/Ada/FAQ/comp-lang-ada.html
-
- Maintenance
-
- This FAQ is 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]
-
- Some time ago, the AdaIC announced it would 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: How do I do [choose_a_goal] in Ada?
- + 3.8: I think Ada could really benefit from having
- [choose_a_feature] from [choose_a_language] ...
- + 3.9: 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.10: I very strongly agree/disagree with the Ada mandate (or
- a post dealing with it). Why doesn't anyone praise/criticize
- it? Should I?
- + 3.11: Why shouldn't I cross-post my comp.lang.ada messages to
- other comp.lang.* newsgroups?
- + 3.12: I don't have FTP service on the host where I have an
- account. Is there any other way I can access FTP sites?
- o 3.12.1: The AJPO host has a special e-mail service for
- FTP.
-
-
- * 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 NYU Ada Translator -- An Ada 9X
- Compiler
- + 4.3: What cheap (<500$) Ada compilers are available?
- + 4.4: Is there an Ada compiler for common machine X/common
- 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: Reuse
- o 9.2.1: Are there any free, public-domain, or other
- general-access software repositories that contain Ada
- source code and information on reuse?
- o 9.2.2: Is there a database of reusable Ada software
- components?
- + 9.3: Where can I get Ada benchmark programs?
- + 9.4: Are there any dial-up BBS systems that deal with Ada?
-
-
- * 10: Credits
-
- * 11: Copying this FAQ
-
-
- _________________________________________________________________
-
-
- 1: Recent changes to the FAQ
-
-
- * 950207: revised introduction.
- * 950126: revised BBS section.
- * 950124: approved for posting in *.answers.
- * 950111: Alsys changed name to Thomson Software Products.
- * 950109: electronic versions of the Ada LRM.
- * 950106: Updated annotated list of books.
- * 950104: Don't cross-post from comp.lang.ada.
- * 941222: updated list of FTP sites.
- * 941219: added Nebbe's rule.
- * 941219: fixed ftp URLs.
- * 941209: How to contact vendors.
- * 941019: How do I do [choose_a_goal] in Ada?
- * 941010: Updated the list of Ada books.
- * 940916: How to access FTP by email.
- * 940831: What is Ada, and where can one get more information?
- * 940830: Ada 9X books.
- * 940818: added an explicit copyright statement.
- * 940817: love/hatred of the Ada mandate.
- * 940816: where are yacc grammars for Ada?
- * 940815: made into a hypertext version to browse on WWW.
- * 940815: is there an Ada compiler for machine X with OS Y?
- * 940815: pointer to list of reusable components.
- * 940812: references to network resources now follow the URL
- convention.
- * 940812: completely revised the structure.
- * 9408: new maintainer.
-
-
- What's important and missing:
- * description of the ACVC.
- * CD-ROMs.
- * list of regular Ada-related events.
-
-
- _________________________________________________________________
-
-
- 2: Information about this document
-
- This file is posted monthly to comp.lang.ada, comp.answers, and
- news.answers.
-
- This document has a home on the Ada WWW Server, in hypertext format (
- URL http://lglwww.epfl.ch/Ada/FAQ/comp-lang-ada.html ). The text-only
- version is also available in directory
- ftp://lglftp.epfl.ch/pub/Ada/FAQ
-
- It is available--as posted in *.answers--on rtfm.mit.edu, which
- archives all FAQ files posted to *.answers; see
- ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/computer-lang/Ada
-
- [A pretty old version of the FAQ is still available for downloading
- via anonymous FTP from the AJPO host (ajpo.sei.cmu.edu), in directory
- ftp://ajpo.sei.cmu.edu/public/comp-lang-ada (files cla-faq1 and
- cla-faq2).]
-
- For notes on FTP, or the lack thereof, see question 3.10, describing
- how to use FTP by e-mail.
-
- Magnus Kempe maintains this document; it's not a job, it's a hobby.
- Feedback (corrections, suggestions, ideas) 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, text-only version of this document, as
- it is automatically generated from the on-line, hypertext 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 :-).
-
- In addition, ISO and IEEE recommend as a general guideline to spell
- like proper names the language names that are pronounced as they are
- spelled (e.g. Ada, Pascal, Cobol, Basic, Fortran). Note: that a name
- originally resulted from abbreviation is considered irrelevant. For
- language names that are phonetically spelled (e.g. C, C++, APL, PL/1),
- they should be spelled in all uppercase.
-
-
- 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 directory ftp://ajpo.sei.cmu.edu/public/ada9x 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; it is quite readable. 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 directory 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 revised Reference Manual (RM for Ada 95--v5.95 final draft) is
- available, in plain ASCII and Postscript files, in directories
- ftp://ajpo.sei.cmu.edu/public/ada9x/mrtcomments/rm9x/v5.95 and
- (compressed files)
- ftp://ajpo.sei.cmu.edu/public/ada9x/mrtcomments/rm9x/v5.95.compresse
- d
-
- This is dated 25 November 1994 and is freely distributable. For
- language lawyers and implementors, the Annotated Ada Reference Manual
- (AARM) is also available there.
-
- The old, Ada 83 LRM is available in plain ASCII files in directory
- ftp://ajpo.sei.cmu.edu/public/lrm
-
- Both Ada 83 and Ada 9X reference manuals also 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, directory ftp://ajpo.sei.cmu.edu/public/usage
- contains a summary of the Ada Usage Database and a number of
- individual project descriptions that may be of interest.
-
-
- 3.7: How do I do [choose_a_goal] in Ada?
-
- This kind of question often revolves around an issue which is
- dependent on a specific implementation or operating system. Thus, in
- order to improve the odds of getting a useful answer, one should
- indicate what the host and target environments are (Ada vendor,
- compiler version, OS version, machine). Ada implementations normally
- come with a vendor-supplied library which provides hooks to the
- environment (operating system, graphics, etc.); check the
- documentation.
-
- Even in the case of things that are in the language, there are
- implementation dependencies that make it helpful to always have this
- information at hand if people want the most effective help. Note that
- annex F requires "the reference manual of each Ada implementation" to
- "include an appendix (called Appendix F) that describes all
- implementation-dependent characteristics."
-
-
- 3.8: 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?"
-
- Further, if you are going to compare programming languages, please
- note "Nebbe's rule":
-
- If you can't think of a least one area where a language is better
- than your preferred language then you probably aren't competent to
- comment on it.
-
-
- 3.9: 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.10: 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 US
- 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 in 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.)
-
- For your information, here is the text of "Public Law 101-511 Sec
- 8092":
-
- Notwithstanding any other provisions of law, after June 1, 1991,
- where cost effective, all Department of Defense software shall be
- written in the programming language Ada, in the absence of special
- exemption by an official designated by the Secretary of Defense.
-
- What about discussing the US Ada mandate?
-
- If you want to argue either for or against US Government Ada policies
- please restrict your postings to "usa" (field "Distribution:").
- Remember that Ada is an international standard, but the US mandate is
- not an international issue.
-
- 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), 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), and c) no programming language is the
- most appropriate for every problem (true, but
- irrelevant--standardizing on a single good language for all DoD
- development and maintenance is practical, economical, and much better
- than not standardizing at all).
-
- 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.
-
-
- 3.11: Why shouldn't I cross-post my comp.lang.ada messages to other
- comp.lang.* newsgroups?
-
- The huge majority of the comp.lang.ada messages are Ada specific, and
- many are from people supporting Ada, so that all threads developing on
- c.l.a end up dealing with Ada.
-
- Cross-posting should be used with caution and careful thought, for
- various reasons:
- * First, avoid annoying readers of other newsgroup with irrelevant
- Ada messages. If you expect to successfully proselytize by
- cross-posting into newsgroups dedicated to other programming
- languages, think twice! Note that if you are replying to a
- cross-posted article, it is your responsibility to pare down the
- newsgroup lists ("Newsgroups: c.l.a,xyz,xyz" and "Followup-to:
- c.l.a,xyz").
-
- * Second, the subject line ("Subject: xyz") should be relevant to
- all cross-posted groups (e.g. if the thread originated in c.l.a
- and then is cross-posted, think about the message--if there is
- any--explicitly carried over by the subject; some people read the
- subject line only).
-
- * Finally, it is good and polite practice to mention explicitly in
- the text of a cross-posted article that it is cross-posted and
- where you would like followup articles to go.
-
-
- Exaggerated cross-posting is in the same category as junk mail:
- negative publicity.
-
-
- 3.12: I don't have FTP service on the host where I have an account. Is there
- any other way I can access FTP sites?
-
- If you are not connected to the Internet but do send and receive
- email from the net, you can use an "ftp by mail" agent, such as
- ftpmail, which is provided by DEC's Western Research Labs (DECWRL).
- The mail server may be reached by sending a mail message to
- uucp!decwrl!ftpmail or ftpmail@decwrl.dec.com .
-
- Complete instructions for using ftpmail may be retrieved with a
- message to the above address with subject "ftpmail" and the single
- word "help" as the text of your message. Example query:
-
- To: ftpmail@decwrl.dec.com
- Subject: ftpmail
-
- help
-
-
- 3.12.1: The AJPO host has a special e-mail service for FTP.
-
- The AJPO host, ajpo.sei.cmu.edu, will provide mail-server
- capabilities on an experimental basis. The available services provided
- by this automatic mail server are: services, Re, help, info, man,
- directory, and file-request. To request a service, send e-mail to
- "ftpmail@ajpo.sei.cmu.edu" and place its name in the Subject line of
- the mail message, followed by any needed parameters. The mail server
- will respond to your request with either the information you requested
- or an error message.
-
- The following are common examples on how to request services from the
- AJPO host mail server:
-
- ----------------------------------------------------------------
- 1) To get "help" --
-
- To: ftpmail@ajpo.sei.cmu.edu
- Subject: help
-
- ----------------------------------------------------------------
-
- 2) To get "man" pages of a particular service, such as
- "directory" --
-
- To: ftpmail@ajpo.sei.cmu.edu
- Subject: man directory
-
- This service takes as a parameter the name of a service, and
- returns a manual page on that service.
-
- ----------------------------------------------------------------
-
- 3) To get a "directory" listing of the AJPO anonymous FTP area
- (/public) --
-
- To: ftpmail@ajpo.sei.cmu.edu
- Subject: directory
-
- The "directory" service takes as an optional parameter a file or
- directory name, and returns the results of an "ls -l" on that
- parameter. For example, to get a listing of the
- /public/compiler directory you would submit a message with the
- Subject of:
-
- Subject: directory compiler
-
- The filename pattern may include wildcards as defined by the C
- shell. For example, to get a listing of the /public directories
- beginning with "p" you would submit a message with the Subject
- of:
-
- Subject: directory p*
-
- ----------------------------------------------------------------
-
- 4) Use "file-request" to get /public/README file --
-
- To: ftpmail@ajpo.sei.cmu.edu
- Subject: file-request README
-
- The "file-request" service takes as an optional parameter a
- filename, and will return the contents of the file. Text files
- are returned verbatim, while binary files are encoded via the
- Unix "uuencode" command. Large files (greater than 1000 lines
- long) will be split into multiple mail messages. For example,
- to get the file "README" in the /public/compiler directory you
- would submit a message with the Subject of:
-
- Subject: file-request compiler/README
-
- ----------------------------------------------------------------
-
- Below is a sample response to a "help" request.
-
- From: FTP Mail Server
- Message-Id:
- To: adainfo@ajpo.sei.cmu.edu
- Subject: Re: help
- In-Reply-To:
- Content-Type: text/plain; charset=us-ascii
-
- You have sent electronic mail to the Ada Joint Programs Office
- automatic mail server. This server is based on the
- ServiceMail(tm) Toolkit from Enterprise Integration Technologies.
-
- In general, you may request a service by placing its name in the
- Subject line of a mail message, followed by any needed
- parameters. The mail server will respond to your request with
- either the information you requested or an error message.
-
- Here is a brief description of the available services:
-
- services: This service returns a list of the available
- services.
-
- Re: This service discards all messages with "Re:" in
- the subject line. This is to prevent mail
- loops.
-
- help: This service returns this help message.
-
- info: This service returns this help message.
-
- man: This service takes as a parameter the name of a
- service, and returns a manual page on that
- service.
-
- directory: This service takes as an optional parameter a
- file or directory name, and returns the results
- of an "ls -l" on that parameter. The root of
- the file structure is the AJPO anonymous FTP
- area.
-
- file-request: This service takes as an optional parameter a
- file name, and will return the contents of the
- file. The root of the file structure is the
- AJPO anonymous FTP area. Text files are
- returned verbatim, while binary files are
- encoded via the Unix "uuencode" command. Large
- files (greater than 1000 lines long) will be
- split into multiple mail messages.
-
- Try 'man ' to get more information on a particular
- service. Please report bugs and other problems to
- ftpmail-request@ajpo.sei.cmu.edu.
-
-
- _________________________________________________________________
-
-
- 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 (a
- PostScript version is also available in
- ftp://ajpo.sei.cmu.edu/public/compiler/val-comp.ps). 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 directory 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
- directory
- 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 NYU Ada Translator -- An Ada 9X Compiler
-
- GNAT is available from the New York University host, in directory
- ftp://cs.nyu.edu/pub/gnat. There are versions for UNIX-based systems
- (Sun, DEC, IBM, Next, ...), and versions for DOS, OS/2, and NT 386/486
- systems. Usually the latest version is made available for both Sun
- SPARC (SunOS 4.1) and OS/2 systems.
-
- It is also available in the Public Ada Library (PAL -- formerly the
- Ada Software Repository), under directory
- ftp://wuarchive.wustl.edu/pub/languages/ada/compiler/gnat (Internet
- address: 128.252.135.4). A mirror site of the PAL also carries GNAT,
- directory: 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 DDC-I, Encore, Harris, IBM, Irvine Compiler,
- PSS, Rational, R.R., Tartan, TeleSoft (now part of Thomson Software
- Products), and Thomson Software Products (ex-Alsys).
-
- 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.
-
- Rational also offers OpenAda for $99. (Rational Software Corporation,
- 2800 San Tomas Expressway, Santa Clara, CA 95051-0951; tel:
- 1-800-RAT-1212)
-
- R.R. Software: R.R.'s Janus/Ada Professional Development System --
- 80386 MS-DOS -- regularly goes for $500. (R.R. Software, P.O. Box
- 1512, Madison, WI 53701; contact: Randall Brukardt 608/251-3133;
- e-mail: rbrukardt@bix.com)
-
- Thomson Software Products (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. Thomson Software Products
- does run specials on it periodically. Call Pat Michalowski at
- 619/457-2700 for more info.
-
- Thomson Software Products offers the same compilation system for $144
- to qualified educational institutions under its LEAP program. The
- program also offers substantial educational discounts on other Thomson
- Software Products products, as well as site license arrangements.
- Contact Kathy Ruggiero at 617/270-0030 for more info.
-
-
- 4.4: Is there an Ada compiler for common machine X/common 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 (see 4.1).
-
-
- 4.4.1: For the Macintosh
-
- Rational 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. Thomson
- Software Products (ex-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.
-
- Archive-name: computer-lang/Ada/comp-lang-ada/part2
- Comp-lang-ada-archive-name: comp-lang-ada/part2
- Posting-Frequency: monthly
- Last-modified: 17 February 1995
- Last-posted: 19 January 1995
-
- comp.lang.ada
- Frequently Asked Questions (FAQ)
-
- This is part 2 of a 3-part posting.
- Part 3 begins with question 9; it should be the next posting in this thread.
- Part 1 should be the previous posting in this thread.
-
-
- 4.5: How can I contact Ada compiler vendors?
-
- Note: The AdaIC's Validated Compiler List (see 4.1) 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) of email and phone contacts for questions
- and/or sales.
-
- Alsys: see Thomson Software Products
-
- Convex
- questions
- allison@convex.com (Brian Allison)
- Tel: 214/497-4346
-
- Cray
- questions
- det@cray.com (Dave Thersleff)
- Tel: 612/683-5701
- sales
- svc@cray.com (Sylvia Crain)
- Tel: 505/988-2468
-
- DDC-I
- sales
- sale@ddci.dk
- Tel: (602) 275-7172
- Tel: +45 45 87 11 44
-
- Green Hills Software Inc.
- questions
- support@ghs.com
- sales
- eric@ghs.com (Eric Schacherer)
- Tel: 805-965-6044
-
- 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
-
- OC Systems Inc.
- questions
- Email: info@ocsystems.com
- sales
- Tel: (703) 359-8160
- Fax: (703) 359-8161
-
- Rational Software Corporation
- sales
- product_info@rational.com
- Tel: (408) 496-3600 or (800) RAT-1212
-
- R.R. Software
- rbrukardt@bix.com (Randy Brukardt)
- Tel: 800-Pc-Ada-4u (or: 800-722-3248)
-
- Tartan
- questions
- customer-support@tartan.com
- Tel: (412) 856-3600 (ext 150)
- sales
- info@tartan.com
- Tel: (800) 856-5255 or (412) 856-3600
-
- TeleSoft
- questions
- adasupport@alsys.com
- (Note that TeleSoft is now part of Thomson Software Products.)
- Tel: 619/457-2700
- sales
- marketng@alsys.com
- Tel: 619/457-2700
-
- Thomson Software Products (ex-Alsys)
- questions
- adasupport@alsys.com
- sales
- marketng@alsys.com
- Tel: 619/270-0030 (voice) Pat Michalowski
-
-
- _________________________________________________________________
-
-
- 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 directory 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 directory
- ftp://wuarchive.wustl.edu/pub/languages/ada/swtools/emacs/adamode.
-
-
- 6.2: Are there versions of lex and yacc that generate Ada code?
-
- The Arcadia project produced the tools aflex and ayacc, both written
- in Ada and producing Ada code. They can be found in directory
- ftp://liege.ics.uci.edu/pub/irus (Internet address: 128.195.1.5,
- 128.195.13.1).
-
-
- 6.3: Where can I get a yacc/ayacc grammar to read Ada code?
-
- A yacc and lex grammar for Ada 83 is available via FTP from the
- comp.compiler archives at primost.cs.wisc.edu and via e-mail from the
- compilers server at compilers-server@iecc.cambridge.ma.us .
-
- A yacc grammar for Ada 9X is available in
- ftp://ajpo.sei.cmu.edu/public/ada9x/rm9x/grammar9x.y
-
- and a lex grammar for Ada 9X is available in
- ftp://ajpo.sei.cmu.edu/public/ada9x/rm9x/lexer9x.l.
-
-
- 6.4: What is Anna, and where can I get it?
-
- Anna is a language for formally specifying Ada programs. It extends
- Ada with various different kinds of specification constructs from ones
- as simple as assertions, to as complex as algebraic specifications. A
- whole lot of tools have been implemented for Anna, including:
- 1. The standard DIANA extension packages, parsers, pretty-printers.
- 2. Semantic checker (very similar to standard semantic checkers for
- programming languages).
- 3. Specification analyzer -- this is a tool used to test a
- specification for correctness before a program based on the
- specification is written.
- 4. Annotation transformer -- this transforms Anna specification
- constructs into checks on the Ada program that is developed based
- on the specification. This tool is currently in the process of
- being enhanced so that it can handle at least all the legal Ada
- programs in the ACVC test-suite.
- 5. Runtime debugger -- The instrumented program output by the
- annotation transormer can be run with a special debugger that
- allows program debugging based on formal specifications.
-
-
- All tools have been developed in Ada and are therefore extremely
- portable. Anna has been ported to many platforms, details of which can
- be obtained from the person who handles Anna releases. You can send
- e-mail to anna-request@anna.stanford.edu for answers to such
- questions. Actually, there is also a mailing list --
- anna-users@anna.stanford.edu. Send e-mail to the earlier address if
- you want to get on this list.
-
- One could view Anna and its toolset as a *very* significant
- enhancement of assertions that are provided in languages such as C
- (using the assert statement). The enhancements are in the form of both
- (1) many more high level specification constructs; and (2) more
- sophisticated tool support.
-
- However, there are those who would not even wish to compare Anna with
- C assertions! :-)
-
- The Anna tools may be found in directory
- ftp://anna.stanford.edu/pub/anna.
-
-
- 6.5: What is DRAGOON, and where can I get it?
-
- DRAGOON is a language, implemented as an Ada preprocessor (i.e., it
- generates pure Ada). DRAGOON is truly object-oriented, including
- complete support for multiple inheritance. A very nice feature of
- DRAGOON not found in many OO languages is the concept of "behavioral"
- inheritance. This allows you to keep the concurrent behavior of object
- separated from the object class hierarchy.
-
- The book by Colin Atkinson, "Object-Oriented Reuse, Concurrency and
- Distribution: An Ada-Based Approach" (ACM Press, 1991, ISBN:
- 0201565277), is very well written and describes the language
- succinctly and completely.
-
- For a copy of the preprocessor, contact:
-
- Mr. Andrea Di Maio
- TXT Ingegneria Informatica S.p.A.
- Via Socrate, 41
- 20128 Milan, ITALY
- phone: + 39-2-2700 1001
-
-
- 6.6: Where can I get language translators?
-
- The AdaIC maintains a Products and Tools Database on its bulletin
- board (703/614-0215), and one of the categories is translators. (The
- list of products should not be considered exhaustive; if you wish to
- suggest additions, please contact the AdaIC.) Besides access to the
- database via the bulletin board, you can also call the AdaIC
- (800-AdaIC-11 or 703/685-1477) and ask for a customized search.
-
- Should I?
-
- In addition to all the usual caveats, however, it should also be noted
- that translation itself is a controversial issue.
-
- When a project makes the transition to Ada from some other language,
- one question that arises is whether to translate older code into Ada.
- Among the immediate considerations are how much of the code can in
- fact be translated by a program intended for that purpose, versus how
- much will still require re-coding by hand. And will the translated
- code suffer a significant loss in speed of execution? Further, a
- project must consider whether the translated code will reflect sound
- software engineering and be readily understandable and modifiable. Or
- will the translated code be merely "Fortranized Ada" or "Cobolized
- Ada", or the like, possibly retaining limitations present in the
- earlier code? Portability is also a problem.
-
- The resolution of such issues will require an understanding of the
- earlier code, an appreciation of the similarities and differences
- between its language and Ada, and an evaluation of the translation
- program under consideration.
-
-
- 6.7: What is ASIS?
-
- The Ada Semantic Interface Specification is a layered
- vendor-independent open architecture. ASIS queries and services
- provide a consistent interface to information within the Ada Program
- Library created at compile time. Clients of ASIS are shielded and free
- from the implementation details of each Ada compiler vendor's
- proprietary library and intermediate representation.
-
- ASIS Version 1.1.0 is the latest version of the ASIS83 1.1 (Ada 83) de
- facto industry standard. It differs from the previous ASIS83 Version
- 1.1 in errata, clarifications, and two new functions in
- Asis.Declarations (Implicit_Components and
- Implicit_Variant_Components).
-
- ASIS Version 2.0.0 is the Ada 9x version of ASIS, called ASIS9X. As
- errors, misunderstandings, and clarifications are discovered, the ASIS
- Working Group will release new edited versions of the specification.
- The latest working draft for ASIS is ASIS 1.1.0, dated July 1993.
-
- Your comments are welcome, if you wish to see replies to your
- comments, please join the e-mail discussion group (discussed below)
- first.
-
-
- 6.7.1: How can I find out more about ASIS?
-
- Can I take part in its development? The following electronic mail
- forums now exist for the ASISWG.
-
- asiswg-technical@ajpo.sei.cmu.edu
- technical discussions
-
- asiswg@ajpo.sei.cmu.edu
- high-level non-technical discussions
-
- To have your email address added to these forums, send e-mail to:
-
- asiswg-technical-request@ajpo.sei.cmu.edu
- asiswg-request@ajpo.sei.cmu.edu
-
- Include your preferred e-mail address, name, telephone number, and
- surface mail address.
-
-
- 6.7.2: How can I get hold of ASIS?
-
- ASIS 2.0.0, 1.1.1, and 1.1.0 (along with the earlier version 1.1) are
- available from directory ftp://ajpo.sei.cmu.edu/public/asis.
-
- If you do not have Internet FTP access, the AJPO host provides
- mail-server capabilities. To get more information about the
- mail-server, send e-mail to "ftpmail@ajpo.sei.cmu.edu", and address
- your message as:
-
- To: ftpmail@ajpo.sei.cmu.edu
- Subject: help
-
- To get a copy of the /public/asis/README file, address your e-mail as:
-
- To: ftpmail@ajpo.sei.cmu.edu
- Subject: file-request asis/README
-
- To get a "directory" listing of /public/asis/v1.1.0, address your
- e-mail as:
-
- To: ftpmail@ajpo.sei.cmu.edu
- Subject: directory asis
-
- To get any of the various files, e.g.,
- /public/asis/v1.1.1/asis_1.1.1.asc.ps, address your e-mail as:
-
- To: ftpmail@ajpo.sei.cmu.edu
- Subject: file-request asis/v1.1.1/asis_1.1.1.asc.ps
-
- The filename pattern may include the "*" wildcard.
-
- Files have been compressed into .zip files. On Unix hosts, you can
- uncompress with unzip, and under DOS with PKUNZIP (at least version
- 2.04).
-
- _________________________________________________________________
-
-
- 7: Bindings
-
-
- 7.1: General
-
- The AdaIC (see question 5.2, above) has a report on "Available Ada
- Bindings". It can be ordered in hardcopy as flyer T82, and it can be
- downloaded from the AdaIC Bulletin Board (703/604-4624) as
- bindings.txt. It is also available by anonymous FTP on the AJPO host
- in ftp://ajpo.sei.cmu.edu/public/dev-tool/bindings.txt.
-
-
- 7.2: POSIX/Ada
-
-
- 7.2.1: What is the status of the POSIX/Ada work?
-
- The IEEE approved IEEE Standard 1003.5-1992 in June 1992. This is the
- Ada Binding to the facilities defined in ISO 9945-1:1989/IEEE
- 1003.1-1990, the POSIX System Services.
-
- IEEE Standards Committee P1003.5 is now working on Ada bindings to
- IEEE draft standards 1003.4, Real-Time Extensions and 1003.4a, Threads
- Extensions. Current plans call for an IEEE ballot in October 1993,
- with IEEE approval in September 1995. For more information, contact
- the P1003.5 Chairman, Jim Lonjers (lonjers@vfl.paramax.com,
- 805/987-9457).
-
-
- 7.2.2: How can I get a copy of POSIX/Ada?
-
- You can buy a copy of the standard from the IEEE. The order number is
- "SH 15354", and the mailing address is "IEEE Service Center, 445 Hoes
- Lane, Piscataway, NJ 08855-1331". They will accept credit-card orders
- at 1-800/678-4333. The cost is $62.50 + $5.00 s/h ($43.75 + $4.00 s/h
- for IEEE Members).
-
-
- 7.2.3: Is it available via FTP?
-
- Current IEEE policy prohibits electronic distribution of IEEE
- standards. Proceeds from the sale of IEEE standards help support the
- IEEE standards program. However, The POSIX P1003.5 committee has been
- able to work out an arrangement with the IEEE to make the POSIX/Ada
- package specifications available for distribution via e-mail and
- anonymous FTP from directory
- ftp://ajpo.sei.cmu.edu/public/dev-tool/POSIX. The AJPO files are
- also mirrored at the PAL.
-
-
- 7.3: How do I interface X Window System with Ada?
-
- This question turns out to be pretty darn hard to answer easily.
- There are at least three variables that need to be filled:
- 1. platform where you are going to be running.
- 2. compiler you would like to use.
- 3. level/flavor of X you would like to run (e.g., just need bindings
- to Xlib, want Openlook as opposed to Motif, etc).
-
-
- Once you fill all three of the above, then you can start to get
- answers. In order to keep the answer brief, companies that offer such
- products are simply listed, along with locations where free versions
- are available.
-
- Before giving you the list, a little history is in order. The first
- Xlib bindings that were publically available were done by SAIC for
- STARS. This implementation had many bugs, but it was there, and it was
- free. This version was eventually withdrawn from the STARS repository,
- and has now been replaced with a better one. In addition, SAIC has
- done an Xt implementation based on these Xlib bindings (also for
- STARS). NOTE: the above description may well be inaccurate,
- corrections are welcome.
-
- Now, for the list:
-
- First off, there is a pretty complete list of available bindings
- for X as well as other stuff at the AdaIC.
- FTP Location:
-
- ftp://ajpo.sei.cmu.edu/public/dev-tool/bindings.txt
-
- Free versions:
- STARS: bindings to Xlib and Xt. Available on
- source.asset.com.
- Note: the ASSET host no longer takes anonymous FTP. To
- request an account, contact: info@source.asset.com
-
- Non-free versions:
- SERC: bindings to Xlib/Xt/Motif
- contact: well!sercmail@apple.com (Scott Cleveland)
-
- Verdix: bindings to Xlib/Xt/Motif
- (Note that bindings to Xview are included with the SunAda Sun4 compiler)
- contact: moskow@verdix.com (Paul Moskowitz)
-
- ATC: bindings to Xlib/Xt/Motif
- contact: ???
-
- TeleSoft (now part of Thomson Software Products, ex-Alsys):
- bindings to Xlib/Xt/Motif (TeleWindows)
- (Note that bindings to Xview are included with the TeleSoft Sun4 compiler)
- contact: marketng@alsys.com
-
- X-based GUI (Graphical User Interface) Builders:
- Objective (OIS): Screen Machine
- contact: Phil Carrasco (703/264-1900)
-
- TeleSoft (now part of Thomson Software Products, ex-Alsys): TeleUSE
- contact: philippe@telesoft.com
-
- EVB Software Engineering, Inc. : GRAMMI
- contact : info@evb.com
- or info_server@evb.com with subject "send grammi"
-
- Sun Microsystems: DevGuide
- contact: ???
-
- SERC: UIL-to-Ada code generator
- (not really a GUI-builder, but works with several builders to
- generate Ada instead of other languages).
- contact: well!sercmail@apple.com (Scott Cleveland)
-
-
- _________________________________________________________________
-
-
- 8: Is there a list of good Ada books?
-
- Just for a list of texts, etc. (no evaluations or recommendations),
- you might take a look at
- ftp://ajpo.sei.cmu.edu/public/ed-train/adabooks.txt.
-
-
- An Annotated Sampling of Ada-Oriented Textbooks
-
- November 1994
-
- Michael B. Feldman
- Department of Electrical Engineering and Computer Science
- The George Washington University
- Washington, DC 20052
- (202) 994-5919 (voice)
- (202) 994-0227 (fax)
- mfeldman@seas.gwu.edu
-
- (with contributions from Jack Beidler, Duane Jarc, Suzanne Pawlan Levy,
- Mathew Lodge, and David Weller, as indicated by their initials following
- their reviews)
-
- As chair of the SIGAda Education Working Group, and a denizen of the
- Internet newsgroups, I am often asked to give references for "Ada
- textbooks." This list responds to these many queries.
-
- The textbooks in the Group 1 are written especially for students without
- programming experience, who are learning Ada as their first language.
- Most of these can also cover at least part of a typical CS2-level
- course. The books in Group 2 use Ada as their language of
- discourse but are "subject-oriented:" data structures, file structures,
- compilers, comparative languages. The remaining books in Group 3 are
- either "Ada books" focusing on the language features or more general
- books that use Ada, at least in part, but do not fit obviously into a
- standard curriculum "pigeonhole."
-
- I invite you to add to the list. Please write your annotated entry in
- the form I have used here and write or e-mail it to me. I will include
- it in my next version and credit you as a co-compiler of the list.
-
- Disclaimers: I wrote two of the texts listed here; I hope the
- annotations are impartial enough. And any annotated bibliography is
- selective and opinionated. Your mileage may vary.
-
- Group 1: Books Suitable for a First Course in Programming
-
- Bover, D.C.C., K.J. Maciunas, and M.J. Oudshoorn.
- Ada: A First Course in Programming and Software Engineering.
- Addison-Wesley, 1992. ISBN 0-201-50992-X
- This work is, to our knowledge, the first Ada book to emerge from
- Australia, from a group of authors with much collective experience in
- teaching Ada to first-year students. A number of interesting examples
- are presented, for example, an Othello game. The book is full of gentle
- humor, a definite advantage in a world of dry and serious texts. In the
- book's favor is the large number of complete programs. On the other
- hand, it is rather "European" in its terseness; American teachers may
- miss the pedagogical apparatus and "hand-holding" typically found in
- today's CS1 books. Generic units are hardly mentioned.
-
- Culwin, F. Ada: a Developmental Approach.
- Prentice-Hall, 1992.
- This work introduces Ada along with a good first-year approach to
- software development methodology. Much attention is paid to program
- design, documentation, and testing. Enough material is present in data
- structures and algorithm analysis is present to carry a CS2 course. A
- drawback of the book is that the first third is quite "Pascal-like" in
- its presentation order: procedures, including nested ones, are presented
- rather early, and packages are deferred until nearly the middle of the
- book. This is certainly not a fatal flaw, but it will frustrate teachers
- wishing a more package-oriented presentation. The programs and solutions
- are apparently available from the author.
-
- Dale, N., D. Weems, and J. McCormick.
- Programming and Problem Solving with Ada. D. C. Heath, 1994.
- ISBN 0-669-29360-1
- This book is inspired by Dale and Weems' very successful Introduction to
- Pascal and Structured Design, but it is not simply an Ada version. Ada's
- more advanced capabilities such as exceptions, packages and generic units
- are included in this text. In addition, more than half of the material is
- completely new, and the order of the topics is signficantly different. It
- also has more of a software engineering focus than the Pascal version. The
- only Ada topics not included in this text are tasks and access types.
- Procedures and packages are introduced early. Each chapter includes case
- studies, testing and debugging hints and excellent non-programming exercises
- and programming problems. The text comes with a program disk containing all
- the programs given in the book. In addition, a validated Meridian Ada
- compiler with complete documentation is available at low cost to students
- using this book. (S. P. L.)
-
- DeLillo, N. J.
- A First Course in Computer Science with Ada.
- Irwin, 1993. (ISBN 0-256-12538-4)
- This book is a first in the Ada literature: a version comes with an
- Ada compiler, the AETech-IntegrAda version of Janus Ada. Author, publisher,
- and software supplier are to be commended for their courage in this.
- The book itself covers all the usual CS1 topics. In my opinion, the order
- of presentation is a bit too Pascal-like, with functions and procedures
- introduced in Chapter 5 (of 15) and no sign of packages (other than Text_IO)
- until Chapter 10. Unconstrained arrays and generics are, however, done
- nicely for this level, and Chapter 13 is entirely devoted to a single
- nontrivial case study, a statistical package. I wish there were more
- complete programs in the early chapters, to put the (otherwise good)
- discussion of control and data structures in better context.
-
- Feldman, M.B., and E.B. Koffman.
- Ada: Problem Solving and Program Design.
- Addison-Wesley, 1992. ISBN 0-201-53364-2
- This work combines the successful material from Koffman's CS1 pedagogy
- with a software-engineering-oriented Ada presentation order. Packages
- are introduced early and emphasized heavily; chapters on abstract data
- types, unconstrained arrays, generics, recursion, and dynamic data
- structures appear later. The last five chapters, combined with some
- language-independent algorithm theory, can serve as the basis of a CS2
- course. A diskette with all the fully-worked packages and examples
- (about 180) is included; the instructor's manual contains a diskette
- with project solutions.
-
- Savitch, W.J. and C.G. Petersen.
- Ada: an Introduction to the Art and Science of Programming.
- Benjamin/Cummings, 1992. ISBN 0-8053-7070-6
- This is a straightforward adaptation of the well-known Savitch Pascal
- books. Ada is introduced in a Pascal-like order, with subtypes and
- packages introduced halfway through the book. This is purely a CS1 book.
- The final chapter covers dynamic data structures. There is minimal coverage
- of unconstrained array types; generics are introduced at the halfway
- point to explain Text_IO, then continued only in the final chapter. The
- authors intended this book to provide a painless transition to Ada for
- teachers of Pascal; one wishes they had taken advantage of the chance to
- show some of the interesting Ada concepts as well. Program examples from
- the text are available on disk, but only as part of the instructor's
- manual; a solutions disk is available for a fee from the authors.
-
- Skansholm, J. Ada from the Beginning. (2nd ed.)
- Addison Wesley, 1994. ISBN 0-201-62448-6
- This book was one of the first to use Ada with CS1-style pedagogy.
- There are excellent sections on the idiosyncracies of interactive I/O (a
- problem in all languages), and a sufficient number of fully-worked
- examples to satisfy students. Generics, linked lists and recursion are
- covered at the end; there is no tasking coverage, but one would not
- expect this at CS1-level. A very interesting addition is the new
- Chapter 14, in which OOP in both Ada 83 and Ada 94 is discussed.
- This is an especially lucid explanation of OOP in Ada, and makes a real
- contribution because it doesn't just discuss tagged types as a "feature"
- of Ada 94, but shows very nicely what is possible in Ada 83 (instead
- of just what is _not_ possible), and shows how Ada 94 adds functionality.
-
- Smith, James F., and Thomas S. Frank
- Introduction to Programming Concepts and Methods with Ada
- McGraw-Hill, Inc., 1994 ISBN 0-07-911725-2
- This is a well written and easy to use text. The book takes a spiraled
- approach to CS 1. The authors do an excellent job integrating Ada into
- the book. They take a very direct approach, especially with an early
- introduction to the package concept and the traditional Text_IO package.
- Faculty who have taught CS 1 with Pascal should like this book. Instead
- of making a big fanfare about Ada features, they simply introduce them
- as good support for software development concepts. The authors have
- carefully chosen the Ada topics they decided to cover in this book in
- order to strike a balance between staying true to the CS 1 course while
- presenting enough of the programming language. If you teach CS 1 you
- might at least want to get a copy of this text just to look at two
- chapters, Chapter 7 and Chapter 14. Seven covers program correctness and
- run-time event (exception handling) and fourteen is a beautiful presentation
- and example of generic packaging. Both presentations are done in an
- appropriate manner for CS 1. (J. B.)
-
- Volper, D., and M. Katz. Introduction to Programming Using Ada.
- Prentice-Hall, 1990. ISBN 0-13-493529-2
- This book uses a heavily "spiraled" approach to Ada, and is designed
- for a 2-semester course, covering nearly all of Ada eventually. There
- are lots of fully-coded examples, and good pedagogical sections on
- testing, coding style, etc. If you like spiraling, you'll like this. The
- down side is that you can't find all you need on a given subject in one
- place. It's at the other end of the scale from the "Ada books" that
- follow the Ada Language Reference Manual (LRM) order.
-
-
- Group 2: Other Books Intended for Undergraduate Courses
-
- Ben-Ari, M. Principles of Concurrent and Distributed Programming.
- Prentice-Hall 1990. (OS/concurrency) ISBN 0-13-711821-X
- In my opinion, this is the best introduction to concurrency on the
- market. Ada notation is used for everything, but the focus is on
- concurrency and not on Ada constructs per se. I liked the CoPascal
- notation of the first edition better, but this book is still great. A
- software disk is promised in the preface; I had to work quite hard to
- get it from the publisher, which finally had to express-ship it from
- England. The software comes with a tiny Ada-ish interpreter, complete
- with Pascal source code, adapted from Wirth's Pascal/S via CoPascal.
- There are also some real Ada programs, most of which I've tested and
- found correct and portable.
-
- Feldman, M.B. Data Structures with Ada.
- Addison Wesley, 1993. ISBN 0-201-52673-5
- (CS2/data structures)
- This book is a reasonable approximation to a modern CS2 book: "big O"
- analysis, linked lists, queues and stacks, graphs, trees, hash methods,
- and sorting, are all covered. The Ada is a bit old-fashioned, especially
- the lack of generics; the book was published before compilers could
- handle generics. The packages and other programs are available free from
- the author. The book is currently under revision with Addison-Wesley and
- should appear in 1995.
-
- Fischer, C., and R. LeBlanc. Crafting a Compiler.
- Benjamin Cummings, 1988. (compilers) ISBN 0-8053-3201-4
- This book uses Ada as its language of discourse and Ada/CS, a usefully
- large Ada subset, as the language being compiled. If you can get the
- "plain Pascal" tool software by ftp from the authors, you'll have a good
- translator-writing toolset. Skip the Turbo Pascal diskette version,
- which is missing too many pieces to be useful. I've used the book since
- it came out with both undergrad and graduate compiler courses; it
- embodies a good blend of theory and "how it's really done" coding.
- Students like it. The authors have recently published a second version,
- which uses C as its coding language but retains Ada/CS as the language
- being compiled.
-
- Hillam, Bruce. Introduction to Abstract Data Types Using Ada.
- Prentice-Hall, 1994. (data structures) ISBN 0-13-045949-6
- This is a very readable treatment of data structures presented using Ada
- that makes good use of Ada features such as generics. It contain many
- complete programs and packages. Unfortunately, obvious syntax errors make
- it apparent that not all examples have been compiled. The level of
- presentation is somewhere between an elementary, CS 2, data structures
- course and an advanced, CS 7, course. A subset of first eleven chapters
- provide the appropriate topics for a CS 2 course, but not the pedagogy
- necessary for a course at that level. (D. J.)
-
- Lomuto, N. Problem-Solving Methods with Examples in Ada.
- Prentice-Hall, 1987.(algorithms)
- Inspired by Polya's classic How to Solve It, this book can make a nice
- addition to an Ada-oriented algorithms course. It makes too many
- assumptions about students' programming background to use as a CS1 book,
- and doesn't teach enough Ada to be an "Ada book." But it makes nice
- reading for students sophisticated enough to handle it. I'd classify it
- as similar to Bentley's Programming Pearls.
-
- Miller, N.E. and C.G. Petersen. File Structures with Ada.
- Benjamin/Cummings, 1990. (file structures) ISBN 0-8053-0440-1
- Designed for a straightforward ACM-curriculum file structures course,
- this book succeeds at what it does. There are good discussions of ISAM
- and B-tree organizations. The software can be purchased a low cost from
- the authors; it seems to approximate in Ada all those C-based file
- packages advertised in programmer-oriented trade publications.
-
- Schneider, G.M., and S.C. Bruell.
- Concepts in Data Structures and Software Development (with Ada
- Supplement by P. Texel).
- West, 1991. (CS2/data structures)
- This work is not, strictly speaking, an Ada book; rather, it is a
- solid, language-independent approach to modern CS2. The language of
- discourse in the book is a Pascal-like ADT language rather like Modula-2
- in style; some examples are coded in legal Pascal. The Ada supplement
- makes it usable in an Ada-based course, but the supplement is rather too
- terse (100 pages of large type) for my taste, and insufficiently well
- keyed to the book chapters. The supplement's effectiveness would be
- greatly enhanced by full translations to Ada of a large number of the
- book's examples.
-
- Sebesta, R.W. Concepts of Programming Languages (2nd ed.).
- Benjamin Cummings, 1993. (comparative languages) ISBN 0-8053-7132-X
- If you've been around for a while, you might remember the late Mark
- Elson's 1975 book by the same title. This is similar: a concept-by-
- concept presentation, with -- in each chapter -- examples taken from
- several languages. I include this work in an "Ada list" because I like its
- nice, impartial coverage of Ada. I especially like the chapters on
- abstraction and exception handling. The book covers -- comparatively,
- of course -- most of the lanuages you'd like to see, including C, C++,
- Lisp, Smalltalk, etc., with nice historical chapters as well. The book
- is readable; my students like it. Our undergraduate and graduate courses
- both use it as a base text.
-
- Stubbs, D.F., and N.W. Webre.
- Data Structures with Abstract Data Types and Ada.
- PWS-Kent, 1993. (advanced data structures) ISBN 0-534-14448-9
- This work updates and adapts to Ada the material in the authors'
- successful data structures texts using Pascal and Modula-2. It is good for a
- "heavy" CS2, i.e., one on the theoretical side, or a "light" CS7, i.e. it
- is not as theory-oriented as the Weiss work below. More Ada, especially
- regarding advanced types, is taught here than in Weiss. Especially
- interesting about all the books from these authors is that they have
- matched their "big O" performance prediction with tables and graphs
- showing actual performance measurements.
-
-
- Weiss, M.A.
- Data Structures and Algorithms in Ada.
- Benjamin/Cummings, 1993. ISBN 0-8053-9055-3
- I think this book reaches its intended market -- data structures courses
- (CS7) -- rather well with Ada. There's a good mixture of theory and practice
- (ADT design, for example), and coverage of new topics like amortized algorithm
- analysis and splay trees. A book at this level should not pay too much
- attention to teaching a language; rather it should make good use of its
- language of discourse. The Ada version does not attempt to teach either the
- language or Ada-style software engineering, but shows good understanding of
- the language, uses generic packages quite well and focuses on the theory of
- algorithms, as a book at this level should. This is the first, and so far
- the only, text in Ada for this course.
-
- Group 3: A Selection of Other Ada-Related Books
-
- Barnes, J.
- Programming in Ada. (4th edition)
- Addison-Wesley, 1994. ISBN 0-201-62407-9
- Barnes' work has been one of the most popular "Ada books." Some students
- find it hard to see how the pieces fit together from Barnes' often
- fragmentary examples; it is difficult to find complete, fully-worked out,
- compilable programs. This just-out fourth edition has a 100-page summary of
- Ada 95.
-
- Booch, G.
- Software Components with Ada.
- Benjamin Cummings, 1987. ISBN 0-8053-0610-2
- This work is an encyclopedic presentation of data structure packages
- from Booch's OOD point of view. It is great for those who love
- taxonomies. It's not for the faint-hearted, because the volume of
- material can be overwhelming. It could serve as a text for an advanced
- data structures course, but it's thin in "big O" analysis and other
- algorithm-theory matters. The book is keyed to the (purchasable) Booch
- Components.
-
- Booch, G. and D. Bryan, with C. Petersen
- Software Engineering with Ada. (3rd edition)
- Benjamin/Cummings 1994. ISBN 0-8053-0613-7
- Another of the classical "Ada books." Introduces Booch's OOD ideas. Not
- for use to introduce Ada to novices, in my opinion; there are some nice
- fully-worked case studies but they begin too far into the book, after long
- sections on design, philosophy, and language elements. The earlier chapters
- contain too much fragmentary code, a common flaw in books that follow the LRM
- order. The third edition contains an appendix describing Ada 9X.
-
- Bryan, D.L., and G.O. Mendal. Exploring Ada, Volumes 1.and 2.
- Prentice-Hall, 1990 and 1992 respectively. ISBN 0-13-295684 (vol. 1);
- ISBN 0-13-297227-1 (vol. 2)
- This is an excellent study of some of the interesting nooks and
- crannies of Ada; it sometimes gets tricky and "language-lawyerly."
- Volume 2 takes up tasking, generics, exceptions, derived types, scope
- and visibility; Volume 1 covers everything else. The programs are short
- and narrowly focused on specific language issues. If you like Bryan's
- "Dear Ada" column in Ada Letters, you'll like this book. It is certainly
- not a book for beginners, but great fun for those who know Ada already
- and wish to explore.
-
- Burns, Alan, and Geoff Davies.
- Concurrent Programming.
- Addison-Wesley, 1993, ISBN 0-201-54417-2
- Solid book covering all aspects of writing concurrent software. Uses
- a version of Pascal called FC-Pascal (available for free through the
- Internet). The FC means "Functionally Concurrent". It has constructs
- that are similar to Ada 9X, and this is by no accident -- the authors
- frequently point out that the implementations in FC-Pascal are taken
- from Ada 9X's Tasks and Protected Types. Covers lots of low-level problems
- by gradually building up from simple examples. Highly recommended for a
- Concurrent Programming class. Exercises and Further readings are provided
- at the end of each chapter. (D.W.)
-
- Burns, Alan and Wellings, Andy
- Real Time Systems and their Programming Languages
- Addison-Wesley 1990. (ISBN 0-201-17529-0)
- This is an excellent and unique book. Basic concepts and terminology are
- explained before moving on to explain the major aspects of real time design.
- "Real world" examples are presented in Ada, Modula-2 and occam 2, though
- Ada is clearly the authors' language of choice and gets the most coverage.
- Topics covered include reliability and fault tolerance, concurrency,
- synchronisation, scheduling, message passing, atomic transactions, resource
- control, distributed systems and low-level device control. Efficiency is not
- neglected, and Ada support here is particularly strong with detail on the
- CIFO package. Several case studies are also presented. The only failing of
- the book is that it needs updating to cover Ada 9x and its real-time annex,
- Modula-3 etc. However, the basic concepts that the authors convey so clearly
- are independent of implementation language. (M. L.)
-
- Cohen, N. Ada as a Second Language.
- McGraw Hill, 1986. ISBN 0-07-011589-3
- This book is a quite comprehensive exploration of Ada which
- follows the LRM in its presentation order. My graduate students like it
- because it is more detailed and complete than alternative texts. It's an
- excellent book for students who know their languages and want to study
- all of Ada. There are good discussions of "why's and wherefore's" and
- many long, fully-worked examples. An anxiously-awaited 2nd edition
- covering Ada 95 is in the pipeline.
-
- Gauthier, M. Ada: Un Apprentissage (in French).
- Dunod, 1989.
- I found this an especially interesting, almost philosophical approach
- to Ada. The first section presents Ada in the context of more general
- laguage principles: types, genericity, reusability. The second section
- introduces testing and documentation concerns, as well as tasking; the
- third considers generics and variant records in the more general context
- of polymorphism. For mature Ada students in the French-speaking world,
- and others who can follow technical French, this book can serve as a
- different slant on the conventional presentations of the language. An
- English translation would be a real contribution to the Ada literature.
-
- Gehani, N. Ada: an Advanced Introduction (2nd edition).
- Prentice-Hall, 1989. ISBN 0-13-004334-6
- I've always liked Gehani's literate writing style; he knows his
- languages and treats Ada in an interesting, mature, and balanced
- fashion. This book comes with a diskette sealed in the back of the book,
- which is advantageous because the book has numerous nontrivial, fully-
- worked examples.
-
- Gehani, N. Ada: Concurrent Programming (2nd edition).
- Silicon Press, 1991. ISBN 0-929306-08-2
- This is a less formal, more Ada-oriented presentation of concurrency
- than the Ben-Ari work. I use both books in my concurrency course; its
- real strength is the large number of nontrivial, fully worked examples.
- Gehani offers a nice critique of the tasking model from the point of
- view of an OS person. The preface promises the availability of a
- software disk from the publisher.
-
- Naiditch, D.J. Rendezvous with Ada
- New York: John Wiley and Sons, 1989. ISBN 0-471-61654-0
- A nice, relatively quick survey of the language for experienced
- programmers. Warning: there are not too many complete programs here, at
- least at the beginning. But overall, this is a good choice, less overwhelming
- than, say, Cohen, for "learning the language" quickly.
-
- Nyberg, K. (editor) The Annotated Ada Reference Manual.(3rd edition)
- Grebyn Corporation, 1993.
- This is the definitive work on Ada legalities, because it presents not
- only the full text of the LRM but also the official Ada Interpretations
- as prepared by the Ada Rapporteur Group of Working Group 9 of the
- International Organization for Standardization (ISO) and approved by
- that organization. These commentaries, interleaved with the LRM text,
- are promulgated by the Ada Joint Program Office, the American National
- Standards Institute (ANSI) agent for Ada, in the Ada Compiler Validation
- Suite (ACVC). They are thus binding upon compiler developers. I recommend
- this book as an essential volume in the library of every serious Ada
- enthusiast.
-
- Watt, D.A., B.A. Wichmann, and W. Findlay. Ada Language and Methodology.
- Prentice-Hall, 1987. ISBN 0-13-004078-9
- This work presents some interesting programming projects, and the
- coverage of design and testing--at the level of a first-year student--is
- quite good. The first third of the book concentrates heavily on
- classical control and data structures, leaving exceptions, packages and
- even procedures until the "programming in the large" material in the
- second third. CS2 teachers will find too little concentration on
- algorithm analysis. On the other hand, tasking and machine-dependent
- programming are covered. Like the Shumate work, this book would make a
- suitable introduction to Ada for students with a semester or so of
- programming experience; it "jumps in" too quickly to satisfy the needs
- of neophytes and is not well-tailored to CS1 or CS2 needs.
-
- Archive-name: computer-lang/Ada/comp-lang-ada/part3
- Comp-lang-ada-archive-name: comp-lang-ada/part3
- Posting-Frequency: monthly
- Last-modified: 17 February 1995
- Last-posted: 19 January 1995
-
- comp.lang.ada
- Frequently Asked Questions (FAQ)
-
- This is part 3 of a 3-part posting.
- Part 2 begins with question 4.5.
- Parts 1 and 2 should be the previous postings in this thread.
-
-
- 9: Resources
-
-
- 9.1: What FTP sites exist that contain information about Ada or Ada source?
-
-
- Public Ada Library (formerly Ada Software Repository)
- wuarchive.wustl.edu (Internet address: 128.252.135.4)
-
- Mirror: ftp.cdrom.com
-
- European mirror: ftp.cnam.fr (Internet address: 192.33.159.6)
-
- European CD-ROM mirror: ftp.cs.kuleuven.ac.be in
- pub/Ada-Belgium/cdrom
-
- Ada-Belgium ftp server
- ftp.cs.kuleuven.ac.be in pub/Ada-Belgium
-
- AJPO and AdaIC
- ajpo.sei.cmu.edu [mirrored by the PAL, listed above] (Internet
- address: 192.58.107.159)
-
- ASSET / STARS (Software Technology for Adaptable, Reliable Systems):
- source.asset.com (Internet Address: 192.131.125.10)
-
- Note: the ASSET host no longer takes anonymous FTP. To request
- a free account, contact: info@source.asset.com
-
-
- 9.2: Reuse
-
-
- 9.2.1: Are there any free, public-domain, or other general-access software
- repositories that contain Ada source code and information on reuse?
-
- There are a number of them, among them PAL (the Public Ada Library)
- and ELSA, described below.
-
- Public Ada Library (formerly Ada Software Repository)
-
- Formerly the Ada Software Repository (ASR), the Public Ada Library
- (PAL) is a collection of programs, components, tools, general
- information, and educational materials; taking up hundreds of
- megabytes, it contains the source code for hundreds of distinct items
- as documented in its Master Index. Previously housed on the SIMTEL20
- host computer, it is now located at Washington University at St.
- Louis's host (wuarchive.wustl.edu -- which had been a mirror site for
- the ASR). The PAL is available for anonymous FTP, directory:
- ftp://wuarchive.wustl.edu/pub/languages/ada,
-
- The PAL has its own FAQ, a copy of which is stored in directory
- ftp://rtfm.mit.edu/pub/usenet-by-group/comp.lang.ada, which stores
- the FAQ files posted to news.answers.
-
- ELSA (previously AdaNet)
-
- ELSA is a component of the Repository Based Software Engineering
- (RBSE) Program sponsored by NASA's Technology Utilization Division. It
- is a public-domain reuse library containing value-added software from
- ASR (PAL), STARS, JPL, many educational institutions, and various
- other sources. The non-software information includes relevant research
- papers, standards, and technical reports.
-
- ELSA also distributes components on floppy disks. All of its services
- are free of charge.
-
- For more information, contact ELSA Client Service at 1-800/444-1458 or
- lacey@rbse.mountain.net.
-
-
- 9.2.2: Is there some sort of database of re-usable Ada software
- components?
-
- You might want to join ACM SigAda (see question 5.3) in order to
- subscribe to Ada Letters. They publish a list of reusable components
- on an annual basis. The most recent list was in the March/April 1994
- issue (XIV.2). In fact, it is more of a list of lists, in that it
- mentions places that have sets of reusable components. The maintainer
- of the Ada Letters "master list" is levine@sun490.fdu.edu (also
- levine@vax.fdu.edu).
-
- To our knowledge this list is NOT available online. Check also the
- software repositories, mentioned above (question 9.2.1).
-
-
- 9.3: Where can I get Ada benchmark programs?
-
- In addition to the information below, you may also wish to look at
- the AdaIC flyer "How to Obtain Benchmark Performance Test Suites and
- Results", flyer C15, file benchmrk.txt on the AJPO host
- (ajpo.sei.cmu.edu). (For more on the AdaIC and downloading files, see
- questions 5.2, 9.1, and 9.2.)
-
- The Ada Evaluation System
-
- The Ada Evaluation System (AES) may be obtained from the British
- Standards Institute at the following address:
-
- Software Product Services
- Software Engineering Department
- BSIQA
- P.O. Box 375
- Milton Keynes MK14 6LL
- United Kingdom
- Tel: 0908 220908
- UUCP: sed@bsiqa.uucp
- (Internet: bsiqa!sed@uunet.uu.net)
-
- As of February 1993, the current version is the DIY-MAPSE-01 version.
- It is available at a cost of 3,000 pounds sterling. BSI also offers a
- validation service at a cost of 24,000 pounds sterling. Principal
- documents are a User's Manual, a Reference Manual, and a Test
- Description Document.
-
- The Ada Evaluation System (AES) was merged with the Ada Compiler
- Evaluation Capability (ACEC) under a joint agreement between the
- Ministry of Defence of the United Kingdom and the Department of
- Defense of the United States that was signed in June of 1991. The
- merged product has been released as the Ada Compiler Evaluation System
- (ACES), which is the latest version of the ACEC.
-
- The Ada Compiler Evaluation Capability/Ada Compiler Evaluation System
-
- The Ada Compiler Evaluation System (ACES) may be obtained from:
-
- Data and Analysis Center for Software (DACS)
- Attn: Document Dataset Ordering
- Kamen Sciences Corporation
- P.O. Box 120
- Utica, NY 13503-0120
- Tel: 315/734-3696; Fax: 315/734-3699
- Internet: dacs@kaman.com
-
- There are three documents: the User's Guide, the Reader's Guide, and
- the Version Description Document. The total cost for the software (on
- 6250-bpi 9-track VMS Backup tape) and documentation is 100 US dollars.
-
-
- ACES is also available for downloading via anonymous FTP from the AJPO
- host computer, where it can be found in the /public/aces directory. It
- can also be downloaded from the Public Ada Library (PAL -- see
- question 9.3.1).
-
- Hartstone Benchmarks
-
- Electronic-mail requests for Hartstone should be sent to the following
- Internet address: hartstone-info@sei.cmu.edu .
-
- The reply message will contain full details of how to obtain source
- code and documentation by various means, including anonymous FTP.
- There is no charge for the Hartstone source code.
-
- For people without Internet access, the address to send requests to
- is:
-
- REST Transition Services
- Software Engineering Institute
- Carnegie Mellon University
- Pittsburgh, PA 15213-3890
- Phone: 412/268-7787
-
- Hartstone source code may also be retrieved from the PIWG bulletin
- board. (See below.)
-
- The PIWG Benchmarks
-
- The ACM Performance Issues Working Group (PIWG) benchmarks may be
- obtained in one of three ways:
- 1. Via anonymous FTP from the ajpo.sei.cmu.edu machine. Users should
- issue the command "ftp ajpo.sei.cmu.edu" and log in using the word
- "anonymous" as the login name and an identifying string (e.g., the
- user's e-mail address) as password. Change directory ("cd"
- command) to the "public/piwg/piwg_11_92" directory and use the FTP
- file-transfer commands to retrieve the files. The README file
- contains information about using the benchmarks.
-
- 2. Via the PIWG bulletin board. Ideally, users should access this
- from a PC (rather than a dumb terminal) using a modem capable of
- sending and receiving at 1200 baud or higher. The number of the
- bulletin board is 412/268-7020. Once connected to the bulletin
- board, users will be able to navigate their way around the system
- using simple menus that the system provides. The point of contact
- for this service is Gene Rindels, 412/268-6728.
- 3.
-
- Via a written request or telephone request to the following
- service:
-
- PIWG Distribution
- Software Engineering Institute
- Carnegie Mellon University
- Pittsburgh, PA 15213-3890
- Tel: 412/268-7787
- As of February 1993, the current release of the PIWG suite is the one
- dated 11/92. There is no charge for the PIWG benchmarks.
- Documentation for the PIWG benchmarks consists principally of the
- READ.ME file distributed with the suite and comments in the
- individual test programs and command files. There is also
- additional information about the PIWG suite in the Winter 1990
- special edition of Ada Letters (Vol. X, No. 3, special edition on
- Ada Performance Issues).
-
-
- 9.4: Are there any dial-up BBS systems that deal with Ada?
-
- (Caveat: Telephone numbers can change without notice. If I find out a
- number doesn't work, it will be noted but the entry will be kept in
- until I'm sure the service has actually been discontinued. If you are
- aware of a better number, please let me know.)
-
- AdaIC BBS
- Tel: 703/604-4624
- AUTOVON: 664-4624
-
- AdaNet BBS: This is a free service that maintains e-mail
- connections for people not on the Internet, an Ada source code
- repository, and a selection of other on-line Ada-related
- documents. It is sponsored by NASA.
- Call 800/444-1458 to register for access.
-
- Air Force Software Technology Support Center (STSC) BBS
- Tel: 801/774-6509
- Baud: 2400, 1200, 300
- Bits: 8
- Parity: None
- Stop Bits: 1
-
- ACM SIGAda Performance Issues Working Group
- PIWG Ada Benchmarks BBS
- Tel: 412/268-7020
-
- Embedded Systems Programming Magazine BBS
- Tel: 415/905-2689
-
- Naval Computer Telecommunications Command
- Tel: 804/444-7841 (DSN 564-7841)
-
- R.R. Software. Inc.
- Tel: 608/251-5121
- 9600 baud max.
-
-
- _________________________________________________________________
-
-
- 10: Credits
-
- The following persons have contributed (directly or indirectly
- through e.g. comp.lang.ada) to the information gathered in this FAQ:
- the Ada Information Clearinghouse--AdaIC [I know, AdaIC is not a
- person; still, they managed the FAQ for about one year], Heddy
- Boubaker, Susan Carlson, Cyrille Comar, Robert Dewar, Patrick Donohoe,
- Herndon R. Elliott, Dave Emery, Don Erway, Michael Feldman, John
- Goodenough, Drew Johnson, Michele L. Kee, Mathew Lodge, "tjmesler",
- Gary Morris, Robb Nebbe, Pascal Obry, Richard O'Keefe, Kurt Olender,
- Manuel Op de Coul, Isaac Pentimaki, Margie Price, Richard Riehle,
- Tucker Taft, Dave Weller, and the maintainer has simply :-) organized,
- polished, or added some information for your satisfaction. The general
- HTML structure of this FAQ was inspired by the WWW FAQ.
-
- _________________________________________________________________
-
-
- 11: Copying this FAQ
-
- This FAQ is Copyright 1994, 1995 by Magnus Kempe. It may be freely
- redistributed as long as it is completely unmodified and that no
- attempt is made to restrict any recipient from redistributing it on
- the same terms. It may not be sold or incorporated into commercial
- documents without the explicit written permission of the copyright
- holder.
-
- Permission is granted for this document to be made available under the
- same conditions for file transfer from sites offering unrestricted
- file transfer on the Internet and from Forums on e.g. Compuserve and
- Bix.
-
- This document is provided as is, without any warranty.
-
-