comp.lang.ada
 help / color / mirror / Atom feed
* lint-like tool for Ada
@ 1993-07-01 16:22 rochester!news.crd.ge.com!e7sa!groleau
  0 siblings, 0 replies; only message in thread
From: rochester!news.crd.ge.com!e7sa!groleau @ 1993-07-01 16:22 UTC (permalink / raw)


I would be satisfied with a mere cross-reference generator.  I found ONE in
the PAL (formerly ASR) by using archie for "xref" and "cross-ref".  It's 
written in Pascal and I can't find a Pascal compiler on our system.

I could translate it to Ada, but it parses and xrefs a SINGLE file and
reference locations are line numbers.  It also apparently does not distinguish
between declarations, assignments, calls, etc.  or between overloaded names.

I'm looking for something like

   package X
         with'ed by B.S
         with'ed by B.T
         use'd by B.T

   function B.F
         declared in B
         called by B.S

   variable B.V
         declared in B
         assigned in B
         assigned in B.S
         examined in B.T

File names/line numbers would be icing on the cake.  I need it for the same
reason as the other posters--to remove or move to lower levels withs, uses, 
objects, etc. that are not used at a particular level and are causing
1. loads of unnecessary recompilations
2. tremendous obscurity in unfamiliar code.

It's not sufficient for me to just search one file at a time for "is this
referenced?" because I need to find out what goes where to re-design.  I have
inherited code that is partitioned by "shape"  by which I mean
  Author: "OK, at the top of this package are all the messages, and at
           the bottom of that one are all the pointers to the messages.
           Over here we have the instantiations of a queue for each message,
           and ...."
  Me:     "Why didn't you put all the messages to the blue box, and their
           pointers and queues in the one package, and those for the red box
           in another?"
  Author: "What would that buy?"
  Me:     "1. You wouldn't have to recompile ALL files when something changes
              in the red box.
           2. I could understand any particular package without having to
              understand the entire million-lines-of-code project.
           3. I could understand a subprogram without having to bounce around
              thirteen files of declarations."
  Boss:   "Insights like that are the reason we put you on this job, Wes!"

Unfortunately, the "author" is long gone and I have to substitute long-hours
of eyeball work.

Wes Groleau

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~1993-07-01 16:22 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1993-07-01 16:22 lint-like tool for Ada rochester!news.crd.ge.com!e7sa!groleau

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