comp.lang.ada
 help / color / mirror / Atom feed
From: Stephen Leake <stephen_leake@stephe-leake.org>
Subject: Re: IDE's that support ADA
Date: Mon, 03 Nov 2014 08:38:54 -0500
Date: 2014-11-03T08:38:54-05:00	[thread overview]
Message-ID: <851tpkv1xt.fsf@stephe-leake.org> (raw)
In-Reply-To: alpine.CYG.2.11.1411020930160.5936@WIL414CHAPIN.vtc.vsc.edu

Peter Chapin <PChapin@vtc.vsc.edu> writes:

> I believe the Emacs extension ENSIME also uses the presentation
> compiler to do what it does (code completion, type checking, etc,
> etc). See: https://github.com/ensime. 

Thanks for the tip; I'll look at it for ideas.

> In contrast the IntelliJ plug-in for Scala completely re-implements
> the Scala compiler front-end from scratch. This includes semantic
> analysis (type checking). They did this for two reasons

I'm taking this approach with Emacs Ada mode, because I want it to be
based on a BNF grammar, so it is easy to implement other languages using
the same infrastructure.

That may mean it's too slow :).

> The down side of their approach is that the IDE sometimes gets it
> wrong and occasionally claims something is wrong that isn't or
> vice-versa. 

Since the grammar I'm using is from the LRM, this is easy to avoid.
Well, except when the LRM changes behind my back, as with 'or else raise
<exception>' in aspects :).

Other languages don't have as well-defined or well-structured grammars,
so it may be harder.

>>> I'm looking at the refactor menu in Eclipse... there is an option to
>>> convert a local variable of a method into a field of the class. So in
>>> Ada terms that would be promoting a local variable of a primitive
>>> subprogram to a component of the tagged type.
>>
>> I gather you have not actually used that?
>
> I haven't! To be honest the refactoring I use the most, by far, is
> renaming. I'm nervous about letting the IDE modify my code at will
> because, frankly, I don't entirely trust it. Anything with far
> reaching consequences I tend to preview carefully.

This is the problem for me, as well. The Ada compiler will probably
catch any problems, but it's hard to be sure.

>>> Well, GPS can display the path associated with an unproved
>>> verification condition so you get a visual display of the path where
>>> the failure might occur.
>>
>> I gather that's displaying the information in a SPARK tool error
>> message. Is it really better than just seeing the text of the message?
>> Can you click on something to navigate to the appropriate source code?
>
> Yes. In GPS there is an icon next to the message that when clicked
> will highlight the path. I'm not sure where the information is coming
> from; it's not in the error message itself. I suppose GPS is reading
> some log file or report file generated by gnatprove.

Ok. The default display of such things in Emacs includes the file name;
it should be possible to hide it, but that's not "the Emacs way" :).

-- 
-- Stephe


  reply	other threads:[~2014-11-03 13:38 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-26 18:34 IDE's that support ADA nathandsash
2014-10-26 18:58 ` Martyn Pike
2014-10-26 19:02 ` Niklas Holsti
2014-11-14 22:38   ` rriehle
2014-11-16  0:38     ` David Botton
2014-10-26 21:33 ` David Botton
2014-10-29  1:52   ` Robert Love
2014-10-29  1:58     ` David Botton
2014-11-05 20:58       ` Wesley Pan
2014-10-28  7:38 ` Stephen Leake
2014-10-28 11:43   ` Peter Chapin
2014-10-29 21:47     ` Stephen Leake
2014-10-29 23:28       ` Peter Chapin
2014-10-29 23:48         ` Adam Beneschan
2014-11-01 21:58           ` Stephen Leake
2014-11-03 17:48             ` Adam Beneschan
2014-10-30  8:19         ` Dmitry A. Kazakov
2014-10-30 14:42           ` Adam Beneschan
2014-10-30 16:22             ` Peter Chapin
2014-11-01 22:01               ` Stephen Leake
2014-11-02 15:13                 ` Peter Chapin
2014-11-03 13:41                   ` Stephen Leake
2014-11-03  9:43                 ` IDE's that support Ada Jacob Sparre Andersen
2014-11-03 18:14                   ` Simon Wright
2014-11-04 17:46                   ` Stephen Leake
2014-11-04 19:35                     ` Simon Wright
2014-11-04 20:36                     ` Jacob Sparre Andersen
2014-11-05 14:25                       ` Stephen Leake
2014-11-01 21:53         ` IDE's that support ADA Stephen Leake
2014-11-01 22:46           ` Dmitry A. Kazakov
2014-11-02 15:10           ` Peter Chapin
2014-11-03 13:38             ` Stephen Leake [this message]
2014-11-03 17:00           ` Luke A. Guest
2014-11-03 18:52             ` David Botton
2014-11-03 19:50               ` Luke A. Guest
2014-11-03 20:46                 ` David Botton
2014-11-03 22:55                   ` Luke A. Guest
2014-11-04 18:11                     ` Stephen Leake
2014-11-04  3:41                 ` Dennis Lee Bieber
2014-11-04 18:10                 ` Stephen Leake
2014-11-04 18:03             ` Stephen Leake
2014-11-03 12:24       ` Florian Weimer
2014-10-28 12:59   ` David Botton
2014-10-29 21:51     ` Stephen Leake
2014-11-11  0:11 ` Hubert
2014-11-11  0:31   ` David Botton
replies disabled

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