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,15890893c0618a8a X-Google-Attributes: gid103376,public From: bobduff@world.std.com (Robert A Duff) Subject: Re: [Q] Tools for Ada Quality and Style Date: 1996/04/30 Message-ID: #1/1 X-Deja-AN: 152294916 references: <9604172134.AA27114@eight-ball> <4m3ouj$b0p@inferno.mpx.com.au> <4m5159$hgk@neon3.neonramp.com> <4xenp57jj1.fsf@leibniz.enst-bretagne.fr> organization: The World Public Access UNIX, Brookline, MA newsgroups: comp.lang.ada Date: 1996-04-30T00:00:00+00:00 List-Id: In article <4xenp57jj1.fsf@leibniz.enst-bretagne.fr>, Laurent Guerby wrote: > A bit of FSF commercial ;-), here are the feature you mentioned, >and how they are provided with emacs/gnat/gdb : Yeah, it's pretty nice, and I use it all the time. But let me play Devil's Advocate for a moment. >- Pretty printer integrated (emacs font(lazy)-lock plus ps-print). Which sometimes garbles the code. Often enough that I can't really trust it to format large regions of code, without checking what it did, by hand. It doesn't really understand the entire syntax of Ada correctly. (I'm talking about bugs here, not just disagreements on formatting style.) >- Find definition of everything (procedure, types) since the Ada mode >parses gnatf outpout). And the gnatf output is usually out of date, because there's no easy and fast way to keep it up to date with my latest keystrokes. >- RCS or CVS support (with systematic window for log entry). > >- Customization (sometimes seen as a nightmare for emacs user but not >so difficult if you read the manuals ;-). Easy customization is a two edged sword. It means the designer of the program doesn't need to make it do something reasonable by default, because, hey, anybody who doesn't like it can change it. I've done a small amount of Emacs-Lisp programming, and I agree, it's not all that difficult, but still, why should an Ada programmer have to learn how to program Emacs? (Counter argument: learning Lisp, or any dialect thereof, is good for the soul. ;-) ) >- Integrated multi language debugger gud/gdb (with a bit of experience >it works for tasking and distributed programming). Gdb's understanding of Ada is still pretty immature, IMHO. The integration with Emacs is nice, though. Most of my bugs (if not caught at compile time) are some sort of assertion or constraint check failure that localized the problem pretty well (when I'm lucky!), and then the incorrect code is sitting right there ready to be edited. But when I go beyond those simple (usual) cases, gdb gets confused. >- Multi sources syntactic and semantic checks with window and point on >error ala Turbo Pascal (with the GNAT messages in bonus). The Devil has nothing to say here. Yes, this is quite nice. >- Cross reference tool, gnatf (ASIS soon, may be integrated under >emacs). Again, how do you keep the output up to date? >- ACT coding standard (syntactic) switch plus some tools to do some >minor reformatings. Last time I checked, the ACT coding standard wasn't documented very well -- you have to guess what it is by looking at existing code, and dealing with error messages from the style checker. >- Reformater on demand (non too much intrusive). Not sure how this is different from the first item. > Of course it's worth every penny ;-). ... Agreed. I use it every day! ;-) - Bob