Groups | Search | Server Info | Login | Register


Groups > comp.lang.ada > #49704

Re: How to challenge a GCC patch?

From "Randy Brukardt" <randy@rrsoftware.com>
Newsgroups comp.lang.ada
Subject Re: How to challenge a GCC patch?
Date 2021-10-02 04:34 -0500
Organization JSA Research & Innovation
Message-ID <sj9937$ten$1@franka.jacob-sparre.dk> (permalink)
References (3 earlier) <sj242s$ptk$1@dont-email.me> <d1be0d32-e153-42ad-8b78-eec6b6fda07en@googlegroups.com> <sj3ktk$emb$1@dont-email.me> <sj5k3u$p85$1@franka.jacob-sparre.dk> <sj6k41$7i4$1@dont-email.me>

Show all headers | View raw


"J-P. Rosen" <rosen@adalog.fr> wrote in message 
news:sj6k41$7i4$1@dont-email.me...
> Le 01/10/2021 à 02:18, Randy Brukardt a écrit :
>> "J-P. Rosen" <rosen@adalog.fr> wrote in message
>> The ASIS design and definition is a mess (at least from the perspective 
>> of
>> explaining what is expected). We tried to clean it up in the previous 
>> ASIS
>> standardization update, but that was a lot of work and we probably didn't
>> match implementations very well.
> That was mainly an attempt to introduce more static and tagged typing, and 
> it failed due to the complexity involved (and that AdaCore said they would 
> never implement it). LibAdalang made the same error, and got the same 
> unnecessary complexity.

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. That all would have had to be 
fixed even if the semantic interface was completely forgotten (indeed, it 
was kept pretty separate for that reason).

>> The entire model of ASIS doesn't make much sense for static analysis
>> purposes, it's way too focused on syntax rather than semantics.
> 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.

>> And it
>> doesn't work well for syntax analysis because it requires a compilable
>> program. So it really has a very narrow use case (if any).
> On the contrary. There is no semantic you can analyze in a non-compilable 
> program. And since it analyzes the output of a validated compiler, you can 
> trust it better than any custom analyzer without known pedigree.

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.

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.

 ...
> But you didn't use it. True, a first approach or a casual reading of the 
> interface is not very friendly. But the more you use it, the more you 
> realize that it is very consistently defined, and allows you to do 
> whatever you need.

I don't use it because implementing it would require adding loads of useless 
cruft to our Ada compiler. And even then, it doesn't make much sense based 
on our compilation model and our generic unit model. Supporting it would be 
like building a whole new Ada compiler. Ergo, it is a lie, it claims to be 
an "interface to a compiler", but it requires many things that most 
compilers would not waste time on. (I think it is a fairly close 
representation of the internals of early Rational compilers, which is 
probably why they were so slow and memory hogs. ;-) So what is it really? 
Just a very complex way to do stuff that you can easily do with a parser. No 
worth anyone's time, IMHO.

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.

                                             Randy.

Back to comp.lang.ada | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

How to challenge a GCC patch? "J-P. Rosen" <rosen@adalog.fr> - 2021-09-27 12:06 +0200
  Re: How to challenge a GCC patch? Stéphane Rivière <stef@genesix.org> - 2021-09-27 13:23 +0200
    Re: How to challenge a GCC patch? "J-P. Rosen" <rosen@adalog.fr> - 2021-09-27 16:18 +0200
    Re: How to challenge a GCC patch? Arnaud Charlet <charlet@adacore.com> - 2021-09-28 00:38 -0700
      Re: How to challenge a GCC patch? Stéphane Rivière <stef@genesix.org> - 2021-09-29 18:26 +0200
        Re: How to challenge a GCC patch? Emmanuel Briot <briot.emmanuel@gmail.com> - 2021-09-29 12:04 -0700
          Re: How to challenge a GCC patch? "Luke A. Guest" <laguest@archeia.com> - 2021-09-30 00:29 +0100
            Re: How to challenge a GCC patch? "J-P. Rosen" <rosen@adalog.fr> - 2021-09-30 08:23 +0200
              Re: How to challenge a GCC patch? "Luke A. Guest" <laguest@archeia.com> - 2021-09-30 08:53 +0100
                Re: How to challenge a GCC patch? "J-P. Rosen" <rosen@adalog.fr> - 2021-09-30 10:13 +0200
                Re: How to challenge a GCC patch? "Luke A. Guest" <laguest@archeia.com> - 2021-09-30 09:26 +0100
                Re: How to challenge a GCC patch? "J-P. Rosen" <rosen@adalog.fr> - 2021-09-30 12:54 +0200
                Re: How to challenge a GCC patch? "Luke A. Guest" <laguest@archeia.com> - 2021-09-30 13:27 +0100
                Re: How to challenge a GCC patch? "J-P. Rosen" <rosen@adalog.fr> - 2021-09-30 17:25 +0200
                Re: How to challenge a GCC patch? "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-30 19:37 -0500
                Re: How to challenge a GCC patch? "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-30 19:33 -0500
                Re: How to challenge a GCC patch? "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-30 19:30 -0500
                Re: How to challenge a GCC patch? "J-P. Rosen" <rosen@adalog.fr> - 2021-10-01 11:41 +0200
                Re: How to challenge a GCC patch? "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-02 04:14 -0500
                Re: How to challenge a GCC patch? "J-P. Rosen" <rosen@adalog.fr> - 2021-10-04 14:30 +0200
                Re: How to challenge a GCC patch? "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-13 20:48 -0500
                Re: How to challenge a GCC patch? "J-P. Rosen" <rosen@adalog.fr> - 2021-10-14 08:09 +0200
              Re: How to challenge a GCC patch? "Luke A. Guest" <laguest@archeia.com> - 2021-09-30 08:53 +0100
                Re: How to challenge a GCC patch? "J-P. Rosen" <rosen@adalog.fr> - 2021-09-30 10:16 +0200
                Re: How to challenge a GCC patch? "Luke A. Guest" <laguest@archeia.com> - 2021-09-30 09:28 +0100
                Re: How to challenge a GCC patch? "J-P. Rosen" <rosen@adalog.fr> - 2021-09-30 12:56 +0200
                Re: How to challenge a GCC patch? "Luke A. Guest" <laguest@archeia.com> - 2021-09-30 13:27 +0100
                Re: How to challenge a GCC patch? "J-P. Rosen" <rosen@adalog.fr> - 2021-09-30 17:28 +0200
          Re: How to challenge a GCC patch? "J-P. Rosen" <rosen@adalog.fr> - 2021-09-30 08:19 +0200
            Re: How to challenge a GCC patch? "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-30 19:18 -0500
              Re: How to challenge a GCC patch? "J-P. Rosen" <rosen@adalog.fr> - 2021-10-01 11:24 +0200
                Re: How to challenge a GCC patch? "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-02 04:34 -0500
                Re: How to challenge a GCC patch? "J-P. Rosen" <rosen@adalog.fr> - 2021-10-04 14:26 +0200
                Re: How to challenge a GCC patch? "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-13 20:40 -0500
                Re: How to challenge a GCC patch? "J-P. Rosen" <rosen@adalog.fr> - 2021-10-14 08:04 +0200
      Re: How to challenge a GCC patch? "J-P. Rosen" <rosen@adalog.fr> - 2021-09-30 07:57 +0200
        Re: How to challenge a GCC patch? Arnaud Charlet <charlet@adacore.com> - 2021-09-30 00:29 -0700
          Re: How to challenge a GCC patch? "J-P. Rosen" <rosen@adalog.fr> - 2021-09-30 09:52 +0200
            Re: How to challenge a GCC patch? Arnaud Charlet <charlet@adacore.com> - 2021-09-30 01:21 -0700
              Re: How to challenge a GCC patch? "J-P. Rosen" <rosen@adalog.fr> - 2021-10-01 11:56 +0200
              Re: How to challenge a GCC patch? "J-P. Rosen" <rosen@adalog.fr> - 2021-10-01 14:29 +0200
            Re: How to challenge a GCC patch? Fabien Chouteau <fabien.chouteau@gmail.com> - 2021-09-30 01:28 -0700
  Re: How to challenge a GCC patch? Simon Wright <simon@pushface.org> - 2021-09-27 13:48 +0100
    Re: How to challenge a GCC patch? "J-P. Rosen" <rosen@adalog.fr> - 2021-09-27 16:20 +0200
      Re: How to challenge a GCC patch? Emmanuel Briot <briot.emmanuel@gmail.com> - 2021-09-27 23:55 -0700
        Re: How to challenge a GCC patch? "J-P. Rosen" <rosen@adalog.fr> - 2021-09-30 08:44 +0200
      Re: How to challenge a GCC patch? nobody in particular <nobody@devnull.org> - 2021-09-29 08:58 +0000
        Re: How to challenge a GCC patch? Emmanuel Briot <briot.emmanuel@gmail.com> - 2021-09-29 02:34 -0700
        Re: How to challenge a GCC patch? Simon Wright <simon@pushface.org> - 2021-09-29 11:03 +0100
          Re: How to challenge a GCC patch? "Luke A. Guest" <laguest@archeia.com> - 2021-09-29 12:03 +0100
            Re: How to challenge a GCC patch? Simon Wright <simon@pushface.org> - 2021-09-29 12:07 +0100
      Re: How to challenge a GCC patch? Andreas ZEURCHER <ZUERCHER_Andreas@outlook.com> - 2021-09-29 11:58 -0700

csiph-web