HOMEWORK PROBLEM 9X_1 INTRODUCTION TO Ada 586 PURPOSE: To gain some experience with Ada9X. This problem can be worked on the gnat compiler. END RESULT: A package Shapes, compiled on an Ada9X compiler. PROBLEM: Page 406, Barnes Programming in Ada, exercise 17.2.1 TURN IN: Printout of whatever you can capture. OBSERVE: gnat naming conventions for now, require the file name to be the compilation unit name with .ads for specs and .adb for bodies. This is just a first example of the object oriented features added to Ada9X, there are more. METHOD: Read Barns book, pages 398-406 Compile with command gcc -c gnate gnatf xxx.adb (There is usually no need to compile specs that have bodies) Link with gnatbl -o xxx xxx.ali (having compiled non generic bodies first) run with xxx READING: BARNES 17.1, 17.2 Ada9X Reference Manual 3.9 ECLUS::CAS$DOC:ADA_RM9X_44.PS is latest ISO draft New features in Ada9X Object Oriented Programming related: Tagged types, abstract types, type extension, class wide types, run time polymorphism, late binding, dispatching, access types for subprograms Program Libraries No longer a flat name space, child libraries, ability to "use" a type public, private and protected parts Interfacing New method, compiler has major responsibility Tasking monitor tasks, asynchronous transfer of control, protected types low level semaphores Misc. new generic features address arithmetic modular arithmetic special interest annexes