From: Magnus.Kempe@di.epfl.ch (Magnus Kempe)
Subject: Ada FAQ: comp.lang.ada (part 1 of 3)
Date: 21 Mar 1995 18:11:29 GMT
Date: 1995-03-21T18:11:29+00:00 [thread overview]
Message-ID: <3kn4sh$bd7@disunms.epfl.ch> (raw)
Archive-name: computer-lang/Ada/comp-lang-ada/part1
Comp-lang-ada-archive-name: comp-lang-ada/part1
Posting-Frequency: monthly
Last-modified: 20 March 1995
Last-posted: 20 February 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.
Recent changes to this FAQ are listed in the first section after the table
of contents.
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]
_________________________________________________________________
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 95 (aka Ada 9X)?
o 3.3.1: Are there already Ada 95 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 95
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
* 950320: updated How to contact vendors (email, phone, WWW).
* 950228: general URL updates: AdaIC host changed (no longer AJPO).
* 950221: Ada 9X is officially Ada 95 since February 15, 1995.
* 950221: added AdaBasis repository.
* 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.
* 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 95 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
It is available --as posted in *.answers-- on rtfm.mit.edu, which
archives all FAQ files posted to *.answers; see directory
ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/computer-lang/Ada
The text-only version is also available in directory
ftp://lglftp.epfl.ch/pub/Ada/FAQ
Magnus Kempe maintains this document; it's a hobby, not a job.
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, the ISO and IEEE recommend as a general guideline that
one 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 95 (aka Ada 9X)?
Ada 95 refers to the current, revised version of the Ada standard.
(Ada 83 was the original ANSI/ISO standard.) The Ada 9X Project Office
was responsible for the revision, and worked closely with the
international community to ensure Ada retains its ISO status. The Ada
9X process was very open. Many documents are available for downloading
from directory
ftp://sw-eng.falls-church.va.us/public/AdaIC/docs/9Xproject on the
AdaIC 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 95 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 95.
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 95 implementations prior to validation.
There is also a (still partial) GNU Ada 95 compilation system (GNAT)
available since late 1993. (See question 4.2.3.)
3.3.1: Are there already Ada 95 books?
The Ada 95 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 in their final versions by
FTP from the AJPO host, in directory
ftp://sw-eng.falls-church.va.us/public/AdaIC/docs/standard/95lrm_rat
(v6.0).
There are also a few commercial books which have sections on Ada 95 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 on the AdaIC host,
in
ftp://sw-eng.falls-church.va.us/public/AdaIC/pol-hist/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--v6.0 final version) is
available, in plain ASCII and Postscript files, in directories
ftp://sw-eng.falls-church.va.us/public/AdaIC/docs/standard/95lrm_rat
/v6.0
and (compressed files)
ftp://sw-eng.falls-church.va.us/public/AdaIC/docs/standard/95lrm_rat
/v6.0.compressed
This version was released in December 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 a compressed set of ASCII files in
directory
ftp://sw-eng.falls-church.va.us/public/AdaIC/docs/standard/83lrm
Both Ada 83 and Ada 95 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 AdaIC 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://sw-eng.falls-church.va.us/public/AdaIC/docs/usage/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 AdaIC host, directory
ftp://sw-eng.falls-church.va.us/public/AdaIC/docs/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 95 compiler available. And remember that Ada 95 is the first
internationally 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://sw-eng.falls-church.va.us/public/AdaIC/tools/compilers/83val
/val-comp.txt
(if the list is updated during the month, the previous one is replaced).
4.2: Is there a public-domain/free/shareware Ada compiler or interpreter?
There ARE free Ada systems, and there is a choice: Ada/Ed for Ada 83,
and GNAT for Ada 95.
(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 95 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 95 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 95
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 95 compiler. GNAT is
available for OS/2.
next reply other threads:[~1995-03-21 18:11 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
1995-03-21 18:11 Magnus Kempe [this message]
-- strict thread matches above, loose matches on Subject: below --
1996-05-24 0:00 Ada FAQ: comp.lang.ada (part 1 of 3) Magnus Kempe
1996-04-22 0:00 Magnus Kempe
1995-04-20 0:00 Magnus Kempe
1994-12-19 16:54 Magnus Kempe
1994-12-01 16:22 Magnus Kempe
1994-10-18 17:35 Magnus Kempe
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox