home *** CD-ROM | disk | FTP | other *** search
-
- GW-Ada/Ed Distribution January 1994
-
- Prof. Michael B. Feldman
- Department of Electrical Engineering and Computer Science
- The George Washington University
- Washington, DC 20052
- (202) 994-5253 (voice)
- (202) 994-5296 (fax)
- mfeldman@seas.gwu.edu (Internet)
-
- This distribution contains the source code and executables for GW-Ada/Ed,
- which consists of the NYU Ada/Ed translator/interpreter system for DOS,
- together with an integrated editor developed by Prof. Arthur Vargas Lopes
- of the Pontifical University at Porto Alegre, Brazil. Lopes began his work on
- GW-Ada/Ed while he was a doctoral student at The George Washington
- University. There is also a very nice extended runtime facility, with
- interesting kinds of source tracing, developed by Charles Kann, a
- doctoral student at GW.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Purpose License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version. See relevant excerpts below.
-
-
- System Requirements
-
- IBM PC Compatible, 386 or 486, running MS-DOS or PC-DOS
- at least 3.6 mb available extended memory
- at least 5 mb free hard disk space
-
-
- Acquiring GW-Ada/Ed
-
- GW-Ada/Ed is distributed in the form of .zip archives created by info-zip,
- which is included in the distribution.
-
- The installable distribution consists of the following files:
-
- -rw-r--r-- 1 mfeldman users 1431491 Jan 9 16:24 binaries.zip
- -rw-r--r-- 1 mfeldman users 34437 Jan 9 11:47 deptree.zip
- -rw-r--r-- 1 mfeldman users 89467 Jan 9 11:24 pretty.zip
- -rw-r--r-- 1 mfeldman users 10643 Jan 21 16:45 readme.dos
- -rw-r--r-- 1 mfeldman users 24329 Jan 21 16:33 readme.nyu
- -rw-r--r-- 1 mfeldman users 15999 May 14 1992 script11.zip
- -rw-r--r-- 1 mfeldman users 371454 Jan 9 17:59 support.zip
- -rw-r--r-- 1 mfeldman users 30581 Jan 21 16:45 unzip.exe
- -rw-r--r-- 1 mfeldman users 32461 Jan 21 14:31 userman.dos
- -rw-r--r-- 1 mfeldman users 202112 Jun 26 1993 zip19p1.zip
-
- unzip.exe is a DOS program to unzip the zip archives; zip19p1.zip contains
- the entire info-zip distribution, including the zip program so that you
- can create your own archives.
-
- Userman.dos is a user-manual text file, describing the GW development
- environment. Readme.nyu is a text file with documentation on the NYU
- part of the system. Note that you do not have to use the GW-Ada/Ed
- integrated environment, but can execute the various parts of NYU Ada/Ed
- from the DOS command line, as described in the NYU instructions.
-
- Binaries.zip is the archive containing the GW-Ada/Ed binaries; support.zip
- is the other files necessary to run the system, and several sets of useful
- demonstration programs.
-
- Now for some extra goodies: Pretty.zip is a pre-compiled version of the NASA
- PrettyPrinter, useful for formatting Ada programs nicely. Deptree.zip is
- a pre-compiled program for computing and displaying the dependency tree of
- a set of Ada compilation units. Finally, script11.zip is a public-domain
- program that will set up a file into which all your terminal input and
- output is copied. This is very useful for preparing assignments to turn in,
- or for reporting strange GW-Ada/Ed behavior to us.
-
- If you are interested in the source code, which was compiled with the
- Intel C compiler running under DOS 5.0, get the following files:
-
- -rwxr-xr-x 1 mfeldman 103339 Jan 28 16:44 envsourc.zip
- -rwxr-xr-x 1 mfeldman 318490 Jan 28 16:45 hlpsourc.zip
- -rw-r--r-- 1 mfeldman 58787 Jan 28 16:45 monsourc.zip
- -rw-r--r-- 1 mfeldman 926615 Jan 28 16:46 nyusourc.zip
-
- which contain the sources for the editor environment, help system,
- runtime monitor, and the slightly modified NYU Ada/Ed, respectively.
-
- BE SURE TO USE BINARY MODE TO FTP AND DOWNLOAD ALL THE zip AND exe FILES!
-
- When you un-archive the files (see the instructions below), you will
- find a user manual, userman.doc, describing the GW development
- environment, and a file readme.nyu file with documentation on the NYU
- part of the system. Note that you do not have to use the GW-Ada/Ed
- integrated environment, but can execute the various parts of NYU Ada/Ed
- from the DOS command line, as described in the NYU instructions.
-
- Installing GW-Ada/Ed
-
- Back up your distribution to floppy disks. Put binaries.zip on one
- diskette, and the other files, including support.zip, on another.
-
- It is very important to follow these instructions EXACTLY. Of the hundreds
- of e-mail messages we have received about GW-Ada/Ed, many report problems
- that are attributable simply to things being installed incorrectly.
-
- Assuming that:
-
- support.zip diskette is in drive B:
- the target hard disk is C:
-
-
- (1) Installation will create a directory called adaed containing
- everything, so first change to the disk in which you wish this
- directory to be installed.
-
- C:
- cd c:\
-
- (2) Copy unzip.exe from the diskette to the hard drive
-
- copy b:\unzip.exe .
-
- (3) Unzip the first archive
-
- unzip b:\support.zip
-
- (4) change to the newly created adaed directory
-
- cd adaed
-
- (5) replace the first diskette with the second, and type
-
- c:\unzip b:\binaries.zip
-
- (6) Create a working directory for your Ada programs:
-
- mkdir c:\adaed\myprogs
-
- (7) Add c:\adaed to your DOS path, for example
-
- path=c:\adaed;c:\;c:\dos
-
- (8) create the adaed environment variable:
-
- set adaed=c:\adaed
-
- NOTE: It is EXTREMELY important that the GW-Ada/Ed binaries (.exe files
- and all the help stuff) be at the top level of the adaed directory,
- and that the path and environment variable both point there. If this
- is not the case, you will get very strange error messages from the GW-Ada/Ed
- shell.
-
- You might wish to add steps (7) and (8) to your autoexec.bat file, or
- create a separate setup.bat just to run when you need to use GW-Ada/Ed.
-
- (9) You are now ready to enter the GW-Ada/Ed environment.
-
- cd c:\adaed\myprogs
- gwada
-
- Once you enter the editor for the first time, you must select "new
- library" from the "options" menu to create a library for your Ada
- compilation output. Most of the other menu selections are pretty obvious
- and you are invited to explore them.
-
- For more information on how to use GW-Ada/Ed select the "GW-Ada/Ed" option
- within the "Help" top menu item. For information on how to use the
- editor select the "Editor" option within the "Help" top menu item.
-
- You can also use <F1> to get a screen on help on using the "hot keys" in
- the environment.
-
- If you wish to run the Ada/Ed components adacomp, adabind, adaexec, and
- adalib, from the DOS command line, keep in mind that the GW-Ada/Ed
- environment has given the name "mylib" to your Ada library. You can
- create additional Ada libraries, but only "mylib" is accessible to the
- environment, and Ada/Ed can work with only one library at a time. See
- the NYU documentation for more details on this.
-
- Additional Libraries
-
- We are providing a few additional libraries for you to work with. One is
- a set of interesting demos developed at GWU; another is John Dalbey's
- Spider Graphics; still other is an adaptation of the Portable Ada Math
- Library. These are set up in separate subdirectories. A fourth
- subdirectory contains a lot of interesting Ada programs supplied by NYU
- as part of their distribution.
-
- Ada/Ed requires that all units "with-ed" by a given main program be
- compiled into the same Ada library as the main, so the best way to use
- the math and graphics packages is to compile them into your program
- library as set up above. All you need to do to accomplish this is give
- the GW-Ada/Ed editor (or Ada/Ed) the full pathname, for example
- c:\adaed\math\math.ads, when you open the file. This way you can leave
- the source code in its own subdirectory without cluttering up your
- working directory.
-
- Help with the Ada Language Reference Manual
-
- Part of the GW-Ada/Ed environment is a help system that assists in searching
- the Ada Language Reference Manual. This hypertext-like navigational aid
- is accessed from the Help menu in GW-Ada/Ed. If you have a mouse driver
- installed, you can use it to select topics.
-
- Templates in the Editor
-
- We are experimenting with "templates" in the editor. Try selecting
- options from the "Ada" menu. Some of the templates are very
- straightforward control structures; others are "higher-level"
- structures. You can change the contents of the templates - they are all
- in .tpl files in the adaed directory. You can use any ASCII editor to
- change them. We are developing the idea of making the entire
- template-selection menu user-definable.
-
- Package Completion
-
- The package is a very important structure in Ada. To help you create
- packages easily, we have included in the editor a facility that will
- automatically create the skeleton of a package body once you have
- constructed and compiled the specification. See the user manual for
- further details.
-
- Runtime Monitoring
-
- This system incorporates some innovative facilities for letting you
- observe the behavior of your program as it executes. When you start
- executing a program, a window opens to show you its source code, and
- scrolls the code, line-by-line, during execution. You can also "single-
- step" through the code; pressing the space bar advances the execution
- one more line. In addition, if your program calls a subprogram, a window
- opens for the subprogram, overlapping the calling program's window.
- Finally, you can control the execution speed of your program with a
- "speed control."
-
- If your program contains multiple Ada tasks, the runtime monitor will
- let you follow the execution of the various tasks as they are "time-
- shared". You can open up to four windows to show task source code. See
- the user manual for further details.
-
- Known Problems with GW-Ada/Ed
-
- (1) After doing repeated compile/bind/execute cycles, gwada may crash.
- We think this is due to "storage leaks" - slowly running out of
- memory - but we are not sure yet. Just re-start gwada and
- keep working.
-
- We are working actively on the integrated environment, and encourage you
- to submit suggestions and bug reports. However, you must realize that
- this is an educational project, operating with little or no funding.
- Therefore we cannot promise new versions or bug fixes. We'll do the best
- we can.
-
- Possible Problems with Ada/Ed
-
- Ada/Ed is a quite stable compiler/interpreter, and almost always
- compiles correct Ada code correctly. At GW we use Ada/Ed for our
- freshman-level Ada course because of its useful error messages, speed of
- compilation, and economy of disk space because only small pseudo-code
- files are created, never full executables. Overall, you will find it a
- very useful way to explore Ada without investing in a commercial
- compiler.
-
- Incorrect code will almost always give rise to useful error diagnostics.
- Occasionally, incorrect programs with bizarre syntax or semantic errors
- will cause an "Ada/Ed Internal Error". If this happens, you will
- generally get a useful listing file anyway, so you can correct the
- errors and re-compile, writing off the crash to Ada/Ed bugs, of which
- there may still be some. In very unusual cases, Ada/Ed may crash on a
- correct but unusually-structured program.
-
- Occasionally we may be able to fix a bug in Ada/Ed itself, but we are
- treating that system as stable and essentially frozen. Therefore we make
- no promises to debug Ada/Ed. For that matter, neither does NYU, as they
- are busy at work developing a true compiler for Ada 9X, to be
- distributed under the GNU Public License as part of the gcc
- distribution. They expect an initial release in 1993.
-
- Keep in touch! Let us know how you like this system.
-
- Disclaimer
-
- This software is distributed absolutely WITHOUT ANY WARRANTY; without even
- the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- See the GNU General Public License for more details.
-
- To receive a copy of the GNU General Public License write to the Free
- Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139.
-
- The following is an excerpt from the GNU General Public License concerning
- warranties:
-
- Because the program is licensed free of charge, there is no warranty
- for the program, to the extent permitted by applicable law. Except when
- otherwise stated in writing the copyright holders and/or other parties
- provide the program "as is" without warranty of any kind, either expressed
- or implied, including, but not limited to, the implied warranties of
- merchantability and fitness for a particular purpose. The entire risk as
- to the quality and performance of the program is with you. Should the
- program prove defective, you assume the cost of all necessary servicing,
- repair or correction.
-
- In no event unless required by applicable law or agreed to in writing
- will any copyright holder, or any other party who may modify and/or
- redistribute the program as permitted above, be liable to you for damages,
- including any general, special, incidental or consequential damages arising
- out of the use or inability to use the program (including but not limited
- to loss of data or data being rendered inaccurate or losses sustained by
- you or third parties or a failure of the program to operate with any other
- programs), even if such holder or other party has been advised of the
- possibility of such damages.
-
- Acknowledgement
-
- This project was sponsored by The George Washington University, and in
- part by the United States Advanced Research Projects Agency (ARPA) under
- contract #FY3592-93-10234, administered by Phillips Laboratory, Kirtland
- AFB, NM 87117-5776.
-