This paper introduces OpenAda, a compile-time reflective facility supporting full Ada that is similar to OpenC++ and OpenJava. We explain the general concepts of reflection, including compile-time reflection, introspection, and intercession, and then describe how the compiler is dynamically extended to perform user-defined translations. We then describe the compiler's support for introspection and intercession and provide a complete (through relatively simple) demonstration of use. This example illustrates certain limitations inherent to the implementation that we explain, along with the work-arounds provided.
Download Not Available

BibTex Entry

@inproceedings{Rogers2004,
 author = {P. Rogers and A.J. Wellings},
 booktitle = {Proccedings Software Technologies - Ada Europe},
 editor = {A. Llamosi and A. Strohmeier},
 pages = {166--177},
 publisher = {Springer},
 title = {OpenAda: Compile-Time Reflection for Ada 95},
 volume = {LNCS 3063},
 year = {2004}
}