Ada-95 from GWU: It's easiest if you use the default file extensions .ads for specification files and .adb for other files. Make sure you have updated your AUTOEXEC.BAT file as described in the README files provided with the GWU distribution. If you have downloaded the IDE: Start with the Show Errors option chosen from the Options/SetOptions menu. You may create, load, edit, save, and compile files as in the Turbo/Borland IDE for C/C++. Closing the compile window will load your errors file (the equivalent of the "*.lis" file for the Ada-83 implementation on the student Suns. You needn't link or bind files; instead you may select GnatMake from the Make menu. This choice will automatically compile and link the selected files, and any files subordinate to it (if you use file names that are the same as your package names). Use the Run menu choice to execute your file. If you have not downloaded the IDE: After editing your file, you may compile with the command gcompile or compile and link the file (and all subordinate files) with the make command gnatmake You may then execute by typing the filename (no extension). For example, to test the linked list example (files "linkeg.adb", "link.ads", "link.adb"), type gnatmake linkeg and then linkeg Ada-83 in Unix There are four command-line utilities are: adacomp - the compiler itself adabind - the linker adaexec - the program executor adalib - the library contents lister To use the compiler, you need to decide whether you the compiled code is going into a new library or an existing library. For your very first efforts (using only one compilation unit), it's safe to use a new library. In this case, type the command adacomp -n -l The extension .ada may be omitted from the source filename. If the library already exists, its contents will be overwritten. In the case of separate compilation, you will want at some point to add compiled code to an existing library. The command here is the same, except that the -n is omitted, namely adacomp -l Any old compiled version of the source file will be overwritten by the new version. If there are compiler errors, a file with extension "*.lis" will be generated containing appropriate error messages. To link all the files in a library, the command adabind mylib may be used provided that Ada can determine which is the main program. The linker will tell you if it can't make this determination. If it can't, then the form adabind -m of the link command should be used. It is possible to have the compiler do the linking/binding as well as the compiling, to do so (and thus avoid the call to "adabind"), type adacomp -b -m main -l mylib gcd1.ada If you want to use a new library, include the -n switch. Once binding has occurred, the main procedure can be executed as follows: adaexec -m main mylib Note that the format for this command is the same as for adabind. Finally, you can see what procedures/functions are in a library by using the adalib command: adalib mylib Note that libraries are implemented as directories. It's better to use the "adalib" command to see what's in your library, rather than any Unix command. You can use the unix "rm" command to delete a library. Also note that (unlike the situation in C, e.g., with #include and make) it is the names of procedures and packages that are significant in Ada, rather than the names of the files that contain them. Thus the argument following -m in "adabind" is a procedure name, rather than a file name. Also, the name of the file containing a package body may be unrelated to the name of the file containing the package specification, since the packages themselves must be given names in each case (although it might still be wise to give the files related names).