From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,426f0675765be765 X-Google-Attributes: gid103376,public From: "Samuel T. Harris" Subject: Re: ASIS question Date: 2000/03/28 Message-ID: <38E0B791.66B7E31A@Raytheon.com>#1/1 X-Deja-AN: 603404856 Content-Transfer-Encoding: 7bit References: <9q30esco91p3ja4agq20qksm0jgnnegfr7@4ax.com> X-Accept-Language: en Content-Type: text/plain; charset=us-ascii Organization: Raytheon Aerospace Engineering Services Mime-Version: 1.0 Newsgroups: comp.lang.ada Date: 2000-03-28T00:00:00+00:00 List-Id: Andy Askey wrote: > > Is anyone in here an ASIS wiz? You know, the kind who just > can't get enough opportunities to show off that wizardry?? > > I've been playing with ASIS 2.0 for a couple days and have figured out > how to loop over elements and unwind subtypes/derived type back into > their base types. I've also figured out how to loop through all the > components of a record structure. Now, I'd like to combine the two > and determine the base types of the components in a record structure > -- but this is where it appears to take a wizard to bridge the gap. > > Anyone have any helpful hints... or simple source code examples they > would care to share? I've read the examples from SIGADA, but these do > not show anything other than the most elementary uses. I will > appreciate any help that anyone offers. > My experience is limited to ASIS for Ada 83 but I hope this helps anyway. Once you have an element of kind a_component_declaration this can be used just like an_object_declaration. I assume you already have each a_component_declaration from the record since you say your are looping through all the components of a record. Also sssuming you already have a routine which takes an_object_declaration and produces the base type, you can reuse this same routine on each a_component_declaration you produce from decomposing the record. No wizardry involved :) -- Samuel T. Harris, Principal Engineer Raytheon, Aerospace Engineering Services "If you can make it, We can fake it!"