Implementing Recursive Data Structures in ADA

  • Ryan Stansifer
  • Weimin Du


As clearly evidenced by Grady Booch in his book Software Components with Ada (Booch, 1987), data structures are an important part of reusable software components. The need for some of these software components arises, because of limitations in programming language design. In particular, the lack of recursive data structures in many languages requires contortions on the part of programmers that hampers the creation, the reuse, the portability, and the reliability of software components. We describe a preprocessor that translates definitions of recursive data structures to Ada.


Binary Tree Software Component Generic Package Type Definition Recursive Type 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Booch, Grady, 1987, Software Components with Ada: Structures, Tools and Subsystems, Benjamin/ Cummings, Menlo Park, CA, 1987.Google Scholar
  2. Cheathan, Thomas E., Jr., 1984, Reusability Through Program Transformation, IEEE Transactions on Software Engineering, Vol. SE-10, No. 5, September 1984, pp. 589–594.Google Scholar
  3. Demers, Alan J., 1982, A Simplified Type Structure for Ada, Jomadas En Computacion, June 1982, pp. 86–104.Google Scholar
  4. Gargaro, Antony, and Pappas, T. L., 1987, Reusability Issues and Ada, IEEE Software, July 1987, pp. 43–51.Google Scholar
  5. Hoare, Charles Antony Richard, 1975, Recursive Data Structures, International Journal of Computer and Information Sciences, Vol. 4, No. 2, June 1975, pp. 105–132.Google Scholar
  6. Ingalls, Daniel H. H., 1978, The Smalltalk-76 Programming System Design and Implementation, Conference Record of the Fifth Annual ACM Symposium on Principles of Programming Languages, January 1978, pp. 9–16.Google Scholar
  7. Kieburtz, Richard B., 1976, Programming Without Pointer Variables, Proceedings of Conference on Data: Abstraction, Definition and Structure, pp. 95–107.Google Scholar
  8. Milner, Robin, 1984, Proposal for Standard ML, Conference Record of the 1984 ACM Symposium on LISP and Functional Programming, pp. 184–197.Google Scholar
  9. Milner, Robin, 1985, The Standard ML Core Language (Revised), Polymorphism: The ML/LCF/Hope Newsletter, Vol. 2, No. 2, October 1985.Google Scholar
  10. Tracz, Will, 1988, Software Reuse Myths, Software Engineering Notes, Vol. 13, No. 1, January 1988, pp. 17–21.Google Scholar
  11. United States Department of Defense, 1983, Reference Manual for the Ada Programming Language,United States Government Printing Office, 1983.Google Scholar

Copyright information

© Plenum Press, New York 1990

Authors and Affiliations

  • Ryan Stansifer
    • 1
  • Weimin Du
    • 1
  1. 1.Department of Computer SciencesPurdue UniversityWest LafayetteUSA

Personalised recommendations