Dans comp.lang.ada, Gautier �crit : >What I mean: a program that translates Ada 95 code into >"intermediate" Ada 83 code, referencing some packages >like Interfaces, implementation of streams etc., eventually >system-dependant. You may want to have a look at GNAT's expansion mechanism: GNAT first parses an Ada 95 compilation unit into an abstract tree whose structure is close to that of the grammar as specified by the RM, then rewrites parts of that tree to remove all "complicated" constructs such as tagged types and tasking. The resulting expanded tree is then handed to the code generation machinry. The expanded tree does not always correspond to valid Ada constructions, but it is probably closer to Ada 83 than the original Ada 95 tree. Depending on your precise needs, this might be an appropriate starting point. You can obtain an Ada-like rendition of the expanded tree using the -gnatD command line switch. Thomas. -- Thomas.Quinot@Cuivre.FR.EU.ORG