comp.lang.ada
 help / color / mirror / Atom feed
From: "J-P. Rosen" <rosen@adalog.fr>
Subject: Re: How to challenge a GCC patch?
Date: Mon, 4 Oct 2021 14:26:25 +0200	[thread overview]
Message-ID: <sjerti$5s1$1@dont-email.me> (raw)
In-Reply-To: <sj9937$ten$1@franka.jacob-sparre.dk>

Le 02/10/2021 à 11:34, Randy Brukardt a écrit :

> No, the existing part also had major problems. Many of the terms were never
> defined, many possible effects were missing from the various lists of
> results, and loads of other things as well. 
Huh? ASIS uses the terms of, and as defined in, the LRM. And I never hit 
a "missing result". Curious to see what you are aluding too.
>
>>> The entire model of ASIS doesn't make much sense for static analysis
>>> purposes, it's way too focused on syntax rather than semantics.
Yes, it is a description of the syntactic. Where else can you start from?

>> It is a exact image of the program, from which you can derive all
>> information you need. Some higher level queries are needed, but they can
>> be provided as secondary queries or added to the standard.
> 
> That's exactly the problem. You start with the source code, which is way too
> low a level for any useful analysis. At most, you want a simple connection
> to the source in the semantic information, not trying to preserve every
> punctuation mark and comment. (Janus/Ada discards all of that stuff as soon
> as parsing succeeds.) If you need to refer to the original source, say for
> error handling purposes, then do that, but don't waste vast amounts of space
> and time trying to keep loads of irrelevant material.
The liaison to the source is not fundamental to any serious analysis, 
and anyway you are not required to provide it.

> No sane compiler (validated or not) keeps all of the irrelevant syntactic
> detail required by ASIS. It ends up getting reconstructed solely for the use
> of ASIS, and how a rarely used interface is somehow more reliable escapes
> me.
Except for the not-required text interface, I see very few of these 
"irrelevant syntactic details". OK, you have to keep a boolean to 
remember if "end" is followed by a name. Big deal...

> A true semantic interface on the lines of the one proposed for ASIS would
> make good sense (design of types), but the vast majority of the existing
> ASIS belongs in a rubbish bin. Good riddance.
Says someone who didn't use or implement ASIS. BTW, I understand that 
ASIS would be difficult to implement in Janus Ada, especially when it 
comes to generic expansion. But it's not a reason to deprive others from 
it...

>> [...] (I think it is a fairly close
> representation of the internals of early Rational compilers
True, the design was based on ideas from Diana. But it was designed with 
inputs from various compilers.

> I've assumed most people used it because it was there and because some
> people had spent a lot of time trying to define it as some sort of Standard.
> Just because people put a lot of work into something doesn't mean that it is
> a useful thing.
It allowed me to build a very sophisticated tool, valued at 1.24M$ (see 
https://www.adacontrol.fr), and used by very serious customers. Seems 
enough to qualify it "useful".

-- 
J-P. Rosen
Adalog
2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX
Tel: +33 1 45 29 21 52
https://www.adalog.fr

  reply	other threads:[~2021-10-04 12:26 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-27 10:06 How to challenge a GCC patch? J-P. Rosen
2021-09-27 11:23 ` Stéphane Rivière
2021-09-27 14:18   ` J-P. Rosen
2021-09-28  7:38   ` Arnaud Charlet
2021-09-29 16:26     ` Stéphane Rivière
2021-09-29 19:04       ` Emmanuel Briot
2021-09-29 23:29         ` Luke A. Guest
2021-09-30  6:23           ` J-P. Rosen
2021-09-30  7:53             ` Luke A. Guest
2021-09-30  8:13               ` J-P. Rosen
2021-09-30  8:26                 ` Luke A. Guest
2021-09-30 10:54                   ` J-P. Rosen
2021-09-30 12:27                     ` Luke A. Guest
2021-09-30 15:25                       ` J-P. Rosen
2021-10-01  0:37                       ` Randy Brukardt
2021-10-01  0:33                     ` Randy Brukardt
2021-10-01  0:30                 ` Randy Brukardt
2021-10-01  9:41                   ` J-P. Rosen
2021-10-02  9:14                     ` Randy Brukardt
2021-10-04 12:30                       ` J-P. Rosen
2021-10-14  1:48                         ` Randy Brukardt
2021-10-14  6:09                           ` J-P. Rosen
2021-09-30  7:53             ` Luke A. Guest
2021-09-30  8:16               ` J-P. Rosen
2021-09-30  8:28                 ` Luke A. Guest
2021-09-30 10:56                   ` J-P. Rosen
2021-09-30 12:27                     ` Luke A. Guest
2021-09-30 15:28                       ` J-P. Rosen
2021-09-30  6:19         ` J-P. Rosen
2021-10-01  0:18           ` Randy Brukardt
2021-10-01  9:24             ` J-P. Rosen
2021-10-02  9:34               ` Randy Brukardt
2021-10-04 12:26                 ` J-P. Rosen [this message]
2021-10-14  1:40                   ` Randy Brukardt
2021-10-14  6:04                     ` J-P. Rosen
2021-09-30  5:57     ` J-P. Rosen
2021-09-30  7:29       ` Arnaud Charlet
2021-09-30  7:52         ` J-P. Rosen
2021-09-30  8:21           ` Arnaud Charlet
2021-10-01  9:56             ` J-P. Rosen
2021-10-01 12:29             ` J-P. Rosen
2021-09-30  8:28           ` Fabien Chouteau
2021-09-27 12:48 ` Simon Wright
2021-09-27 14:20   ` J-P. Rosen
2021-09-28  6:55     ` Emmanuel Briot
2021-09-30  6:44       ` J-P. Rosen
2021-09-29  8:58     ` nobody in particular
2021-09-29  9:34       ` Emmanuel Briot
2021-09-29 10:03       ` Simon Wright
2021-09-29 11:03         ` Luke A. Guest
2021-09-29 11:07           ` Simon Wright
2021-09-29 18:58     ` Andreas ZEURCHER
replies disabled

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