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,19b6efa2ecebaed0 X-Google-Attributes: gid103376,public From: Samuel Mize Subject: Re: Ada95 Pretty-Printers Date: 1997/06/10 Message-ID: <339D677D.2FAC886C@link.com>#1/1 X-Deja-AN: 247481759 References: <339C58A6.4D5A@sprintmail.com> Organization: PSI Public Usenet Link Newsgroups: comp.lang.ada Date: 1997-06-10T00:00:00+00:00 List-Id: 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