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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: IDE's that support ADA Date: Sat, 1 Nov 2014 23:46:18 +0100 Organization: cbb software GmbH Message-ID: References: <2e8f1414-5556-465f-a7bc-f1513ec973aa@googlegroups.com> <85y4s08x0d.fsf@stephe-leake.org> <85egtqwnte.fsf@stephe-leake.org> <854muiwpsh.fsf@stephe-leake.org> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: mz1FXRBvRwIcgOVlRtEJig.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:22970 Date: 2014-11-01T23:46:18+01:00 List-Id: On Sat, 01 Nov 2014 16:53:50 -0500, Stephen Leake wrote: > Peter Chapin writes: > >> On Wed, 29 Oct 2014, Stephen Leake wrote: >> >>> Hmm. You said "semantic", not "syntactic". So this means a full >>> compile with name and type resolution, not just a syntax parse. That >>> makes sense for simpler languages; I don't think it makes much sense >>> for Ada. >> >> I guess I would disagree here. It's more useful for complex languages >> than for simple languages because the programmer (meaning me) is more >> likely to be unaware of all the rules. Ada has a lot of rules so help >> from the IDE would be welcome. >> >> With the Java IDEs I've used (Eclipse, IntelliJ), if the IDE "signs >> off" on the code, it will compile. I can't recall a time when that >> hasn't been true. Thus the IDE does full name resolution across >> packages, libraries, and considers inheritance, etc, etc. > > I suspect it actually invokes the compiler, and processes the error > messages. That's easy to do, but the compile can be pretty slow if the > project is big enough, so you don't want to do it for every edit. GNAT > does have a "semantic check only mode", which is faster. Unless you do autocompletion, there is no need to run compiler synchronously to the editor. E.g. Visual Studio compiles sources asynchronously to typing and underlines errors it finds seconds later. It is still a bit annoying and sometimes blocks input nevertheless. > The problem I'm getting at is the cross-file interactions mentioned > above. True, especially for separate units GNAT's partial compilation is not much better than simple syntax checks. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de