comp.lang.ada
 help / color / mirror / Atom feed
From: Thomas Wolf <t_wolf@angelfire.com>
Subject: Re: AdaBrowse 2.1
Date: Wed, 3 Jul 2002 13:20:51 +0200
Date: 2002-07-03T13:20:51+02:00	[thread overview]
Message-ID: <MPG.178cfc4450cd7112989691@news.ip-plus.net> (raw)
In-Reply-To: ui4npi4uafhr20@corp.supernews.com

David@Botton.com wrote:
> I've made available the GNAT-3.14p Runtime on AdaPower at
> http://www.adapower.com/lang/gnatrun/packages.html using AdaBrowse 2.01
> (I didn't have a chance to update yet to the new version).

Nice. I also noted that the GWindows reference has been generated
with AdaBrowse.

Hm. I somehow didn't think that anybody would like to process the
standard Ada library with AdaBrowse -- I myself tried once, and
was disappointed because (at least the GNAT) sources do contain
only very few comments. It would have been nice if these sources
included the relevant RM paragraphs as comments. Then one could
get a really useful HTML docu...

After having looked at the generated docu, I decided to add a
-g command-line option to AdaBrowse that makes it generate
cross-references to items from the standard library, too.
(It didn't do that until now, because I had problems dealing
with implicit items from Standard. Also, part of the reason for
this restriction was that early versions of AdaBrowse couldn't
deal with krunched filenames, and GNAT's whole standard library
uses krunched names...)

Hence, the current version of AdaBrowse is 2.11, available now
at the URL

  http://home.tiscalinet.ch/t_wolf/tw/ada95/adabrowse/

AdaBrowse 2.11 has passed all my regression tests (which now
include generating a full docu for the standard lib of GNAT
3.14p).

New features:

1. A -g command-line switch. If set, AdaBrowse generates cross-
   references to items from the standard library (except those
   from package Standard), too.
2. A new configuration file key "Refs_To_Standard"; its value
   must be "True" or "False" (without the quotes). If True,
   same as "-g" on the command line. If False, switches off
   generation of cross-refs to standard items.
3. Bug correction: 2.1 had a bug which made it handle "Path"
   prefixes case-sensitively. Would work only if the unit name
   prefix in the key was given in all lowercase. I.e.
   "Path.Ada = ..." wouldn't work, but "Path.ada = ..." worked.
   This is corrected in 2.11; both work now.
4. Major speed improvement: AdaBrowse tries to minimize the
   number of times ASIS contexts are opened and closed. This
   appears to be a time-consuming operation in ASIS-for-GNAT,
   and also seems to incur memory leaks.

BTW, I tried generating the HTML docu for GNAT's standard lib
using (on Win 2k)

set SRCS=x:\gnat\lib\gcc-lib\pentium-mingw32msv\2.8.1\adainclude

for %%i in (%SRCS%\*.ads) do \
gcc -c -gnatg -gnatc -gnatt -I%SRCS% -I- %%i

ls -1 *.adt | %ADABROWSE_HOME%\adabrowse -g -f- -T. -I%SRCS% \
-o.\AdaBrowse_Output\ -is -t -p

In other words, I first generated all the *.adt files, and then
let adabrowse run on all of them. Before the speed optimization
(#4 above), that took 92 minutes and AdaBrowse used up 180Mb of
virtual memory on my machine. After the optimization, this now
takes about 1 minute and uses some 5Mb of memory.

-- 
-----------------------------------------------------------------
Thomas Wolf                          e-mail: t_wolf@angelfire.com




      parent reply	other threads:[~2002-07-03 11:20 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-02 12:05 ANN: AdaBrowse 2.1 Thomas Wolf
2002-07-03  2:18 ` David Botton
2002-07-03 11:07   ` David C. Hoos, Sr.
2002-07-03 11:20   ` Thomas Wolf [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox