comp.lang.ada
 help / color / mirror / Atom feed
From: Samuel Mize <smize@link.com>
Subject: Re: Ada95 Pretty-Printers
Date: 1997/06/10
Date: 1997-06-10T00:00:00+00:00	[thread overview]
Message-ID: <339D677D.2FAC886C@link.com> (raw)
In-Reply-To: 339C58A6.4D5A@sprintmail.com


John G. Volan wrote:
> Are there any pretty-printers out there for Ada95?

This seems to come up every so often, and the answer so far has
been "not really."

I would suppose that one could be built using the AdaMagic front
end, but that's sheer speculation and I don't know how much it costs.

An Ada mode for emacs could be applied in a batch format, if you
find one that works reliably for what you want.


> ...  Apex is frustrating because it actively
> reformats almost every syntactic structure in Ada to suit Rational's
> coding style.

That's a feature.  Just ask them.

...
> Apex will ignore your line breaks and alignment, and reformat
...
> Apex does a lot of this sort of thing (I don't _even_ want to begin
> on how it mangles long expressions), but it doesn't provide very
> many hooks to control this behavior.

I got in the habit of putting an empty comment where I wanted a
line break.  To use your first example:

   procedure Operation             --
     (This  : in     This_Type;    --
      That  : in     That_Type;    --
      Other :    out Other_Type);

will become something like:

   procedure Operation             --
     (This  : in This_Type;    --
      That  : in That_Type;    --
      Other : out Other_Type);

(Assuming that Apex doesn't maintain the blanks to line up "in"
and "out").

I used this mostly to keep expressions broken up the way I wanted.
I found that, if you could keep the line breaks where you want
them, you can get fairly readable expression formatting with just
adding a few extraneous parentheses to direct the formatter to
indent a sub-expression (I have to do the same thing with emacs). 

I got third-hand, supposedly from someone at Rational, that if you
put two spaces at the end of a line, the reformatter will leave
that line break.  If you don't want trailing comments in your code,
you can try it.  I don't know if it's a feature they promise to
support, or just an artifact of the then-current implementation.

I personally prefer using the comments to maintain line breaks,
because people get used to the formatter output.  Thus, someone
might misread the expression, because they expect the indentation
to be correct.  So, I prefer a visible indication that the
automated indentation has been tampered with.

Sam Mize

--
-- Samuel Mize           (817) 619-8622               "Team Ada"
-- Hughes Training Inc.  PO Box 6171 m/s 400, Arlington TX 76005




       reply	other threads:[~1997-06-10  0:00 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <339C58A6.4D5A@sprintmail.com>
1997-06-10  0:00 ` Samuel Mize [this message]
1997-06-10  0:00   ` Ada95 Pretty-Printers John G. Volan
1997-06-11  0:00     ` Samuel Mize
1997-06-12  0:00     ` Robert Dewar
1997-06-12  0:00     ` John G. Volan
1997-06-13  0:00       ` Samuel Mize
1997-06-14  0:00         ` Robert Dewar
1997-06-14  0:00           ` Samuel Mize
1997-06-14  0:00             ` Robert Dewar
1997-06-14  0:00         ` Tom Phinney
1997-06-10  0:00   ` stuman
1997-06-10  0:00   ` John G. Volan
1997-06-10  0:00     ` Spam Hater
1997-06-10  0:00       ` Spam Hater
1997-06-16  0:00     ` Greg Gicca @pulsar
1997-06-10  0:00 ` Anonymous
1997-06-10  0:00   ` John G. Volan
1997-06-11  0:00 ` Rolf Ebert
1997-06-11  0:00   ` John G. Volan
1997-06-11  0:00 ` Matthew Heaney
1997-06-12  0:00 ` Jeff Burns
replies disabled

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