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
next prev parent 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