Groups | Search | Server Info | Login | Register
Groups > comp.lang.ada > #49704
| 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> |
"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 | Next — Previous in thread | Next in thread | Find similar
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