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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,d2fdf39976bd1585 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news4.google.com!border1.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!atl-c08.usenetserver.com!news.usenetserver.com!pc03.usenetserver.com!news.flashnewsgroups.com-b7.4zTQh5tI3A!not-for-mail Newsgroups: comp.lang.ada Subject: Re: ANN: Ada source code decorator References: <447306ee$0$11066$9b4e6d93@newsread4.arcor-online.net> From: Stephen Leake Date: Fri, 26 May 2006 07:24:39 -0400 Message-ID: User-Agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (windows-nt) Cancel-Lock: sha1:8XVPahKcaWo38omQI7rj08nwIAA= MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Complaints-To: abuse@flashnewsgroups.com Organization: FlashNewsgroups.com X-Trace: 3a6334476e585e73ae4a430687 Xref: g2news2.google.com comp.lang.ada:4491 Date: 2006-05-26T07:24:39-04:00 List-Id: Simon Wright writes: > Stephen Leake writes: > >> Simon Wright writes: >> >>> Georg Bauhaus writes: >>> >>>> (* XML - time permitting, using Simon Wright's ASIS based GIs.) >>> >>> Although that work was useful, a lot more needs to be done on it to >>> make it anywhere near complete. It would be a lot easier if ASIS >>> (the standard) was open-source. >> >> The ASIS _standard_ is open-source; it consists of Ada specs giving >> the API. >> >> The GNAT implementation is also open-source. >> >> So what is missing? > > Something to make it clear what the actual structure is. I found it > very hard indeed to understand what the API was trying to tell me; Perhaps there needs to be more user-friendly documentation of the ASIS structure. > for example, a qualified name a.b.c is stored in something like > > (a (b (c))) > > which you can understand a compiler using, Well, yes; ASIS is designed to represent the information a compiler knows. So it helps to be able to think like a compiler :). > rather than > > > a > b > c > Well, this has nothing to do with being "open source". You are arguing that the particular structure defined in the ASIS spec is not one you would use for your particular application. That is certainly your choice. Everyone else will also have a particular choice; probably different. I suspect the choice of structure depends heavily on the algorithm you want to implement. So it will be very difficult to get agreement on a _standard_ XML representation of Ada source code. But it's probably worth trying. > and asis2xml would _definitely_ produce the latter (I forget whether > it actually does at this stage). http://www.pushface.org/asis2xml/ says the structure output by asis2xml follows that of ASIS, so I'd be surprised if it did what you describe above. I would argue that an XML structure that is as close as possible to the ASIS structure would be the best one to standardize. When you (Simon Wright), as the author of asis2xml, decided to change the representation of a qualified name as above, what criteria were you using to determine the "right" structure? How would that transformation handle expressions like Array_1 (i).Function_Pointer_2 (x, y, z).Component ? When using ASIS to implement a non-trivial source processing algorithm, the first step is to transform the ASIS-defined structure into one that is better for your algorithm; that's what auto_text_io does (my ASIS tool). Even if you start from an ASIS-equivalent XML representation, that will still be true. -- -- Stephe