comp.lang.ada
 help / color / mirror / Atom feed
From: Niklas Holsti <niklas.holsti@tidorum.invalid>
Subject: Re: Ada standard and maximum line lengths
Date: Tue, 29 Jan 2013 21:54:05 +0200
Date: 2013-01-29T21:54:05+02:00	[thread overview]
Message-ID: <amqnmtF3q45U1@mid.individual.net> (raw)
In-Reply-To: <51080c38$0$6561$9b4e6d93@newsspool4.arcor-online.net>

On 13-01-29 19:51 , Georg Bauhaus wrote:
> On 29.01.13 17:58, Niklas Holsti wrote:
>> On 13-01-29 17:29 , Georg Bauhaus wrote:
>>> On 29.01.13 13:31, Niklas Holsti wrote:
>>>> Even for hypothetical SW of some sort that generates Ada source code
>>>> automatically, I think it very unlikely that it would generate
>>>> identifiers of that length, since Ada identifiers can be qualified and
>>>> sorted into packages etc. much more flexibly than is the case for linker
>>>> symbols.
>>>
>>> GNAT writes similar identifiers into object files, and
>>> the same hysterical raisins spoil the cake. At least the
>>> names---those to be exported to other compilers---seem shorter
>>> if package hierarchies are not used extensively.
>>
>> So what? These are *linker symbols*, not Ada (source) identifiers. I
>> don't understand why you bring them into a discussion of source-code
>> identifier lengths.
> 
> Linker symbols reappear in source text.

Show an example, please, where it is necessary to write a linker symbol
verbatim as an Ada identifier.

> So, linker symbols are two-sided creatures: on the one side, they
> are intended for use by linkers; on the other side, they reappear
> in source text, even when "just in a pragma" or some such.

If they are written in a pragma as a string, they are not Ada
identifiers, and the ARM limit on identifier length does not apply.

> By the response above, I need to accept long identifiers in
> practice; it is a fact that compilers support the reality
> of excessively long identifiers and so these reappear in source
> text,

Not as identifiers. As strings, occasionally.

>    valid standard C++ program     valid standard Ada program
>               |                             |
>                               _
>                               |  (non-standard pragmas)
>                               _
>                  /                       \
>             compilers A+B            compilers C+E
>                  |                       |
>                 OK                      NOK
> 
> The same valid programs, translated on the same platform, can
> be rejected because the program needs to imports the long,
> non-standard, non-portable names.

Sure, using link-name pragmas is unportable, since different compilers
mangle identifiers into symbols in different ways.

Sure, this is a poor mess and should be improved.

But it has nothing to do with limits on identifier length in Ada.

> Going back to my initial question. Suppose linker symbols
> were structured. Won't the rather technical need for allowing
> long identifiers in Ada source text just vanish?

There has never been, and is not now, such a need.

-- 
Niklas Holsti
Tidorum Ltd
niklas holsti tidorum fi
      .      @       .



  parent reply	other threads:[~2013-01-29 19:54 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-28  5:02 Ada standard and maximum line lengths Lucretia
2013-01-28  6:01 ` J-P. Rosen
2013-01-28  6:28 ` Jeffrey Carter
2013-01-28  8:05   ` Niklas Holsti
2013-01-28 16:42     ` Jeffrey Carter
2013-01-28 20:22       ` Niklas Holsti
2013-01-28 20:46         ` J-P. Rosen
2013-01-28 21:29           ` Niklas Holsti
2013-01-29  1:42             ` Randy Brukardt
2013-01-29  6:15             ` J-P. Rosen
2013-01-29 10:25               ` Niklas Holsti
2013-01-29 11:31                 ` Georg Bauhaus
2013-01-29 12:11                   ` Simon Wright
2013-01-29 12:31                   ` Niklas Holsti
2013-01-29 12:37                     ` Niklas Holsti
2013-01-29 15:29                     ` Georg Bauhaus
2013-01-29 16:58                       ` Niklas Holsti
2013-01-29 17:51                         ` Georg Bauhaus
2013-01-29 18:18                           ` Shark8
2013-01-29 19:54                           ` Niklas Holsti [this message]
2013-01-29 23:12                             ` Georg Bauhaus
2013-01-30  9:18                               ` Niklas Holsti
2013-01-30  9:51                                 ` Simon Wright
2013-01-30 15:28                                 ` Robert A Duff
2013-01-30 23:24                                   ` Randy Brukardt
2013-01-31  2:16                                     ` Robert A Duff
2013-01-31  9:10                                       ` Stefan.Lucks
2013-01-31  9:30                                         ` Niklas Holsti
2013-01-31  9:51                                           ` Simon Wright
2013-01-31 10:56                                           ` Georg Bauhaus
2013-01-31 18:02                                         ` Jeffrey Carter
2013-01-31 23:54                                       ` Randy Brukardt
2013-02-01  9:15                                         ` Niklas Holsti
2013-02-01 23:13                                           ` Randy Brukardt
2013-02-02  1:24                                             ` Lucretia
2013-02-02 14:12                                               ` Robert A Duff
2013-02-05  2:09                                               ` Randy Brukardt
2013-01-31  9:03                                   ` Dmitry A. Kazakov
2013-01-30  9:37                               ` Simon Wright
2013-01-30 12:02                                 ` Georg Bauhaus
2013-01-29 23:47                             ` Jeffrey Carter
2013-01-30  7:24                               ` Niklas Holsti
2013-01-30 10:09                                 ` J-P. Rosen
2013-01-29 20:36                 ` Niklas Holsti
2013-01-29 21:01                   ` Robert A Duff
2013-01-29 21:14                   ` Dmitry A. Kazakov
2013-01-28  8:18 ` Dmitry A. Kazakov
2013-01-28 10:02   ` Maciej Sobczak
2013-01-28 11:57     ` Georg Bauhaus
2013-01-28 13:28       ` Niklas Holsti
2013-01-28 15:14       ` J-P. Rosen
2013-01-28 16:13       ` Dmitry A. Kazakov
2013-01-28 15:13     ` Dmitry A. Kazakov
2013-01-28 13:49 ` Robert A Duff
2013-01-29  2:09   ` Randy Brukardt
2013-01-29 18:46 ` Lucretia
2013-01-29 20:53   ` Robert A Duff
2013-01-29 21:22   ` Dmitry A. Kazakov
2013-01-30  3:22     ` Lucretia
2013-01-30  9:49       ` Dmitry A. Kazakov
2013-01-30 23:28         ` Randy Brukardt
2013-02-01  1:48       ` Shark8
2013-01-29 21:29   ` Dmitry A. Kazakov
2013-01-29 21:53   ` Adam Beneschan
replies disabled

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