comp.lang.ada
 help / color / mirror / Atom feed
From: "Robert I. Eachus" <rieachus@earthlink.net>
Subject: Re: Required Metrics
Date: 2000/06/03
Date: 2000-06-03T00:00:00+00:00	[thread overview]
Message-ID: <39391CCA.D2B10DE8@earthlink.net> (raw)
In-Reply-To: 8g8orr$a16$1@nnrp1.deja.com

Robert Dewar wrote:
 
> You missed the point. There was a requirement that if you
> support lines of length N, you must also support identifiers
> of length N, including externally visible names of length N.
> It is impractical in most environments to allow arbitrary
> length for identifier names.

   No, I didn't miss the point, since at Honeywell we did have a
compiler that ran into exactly this problem.  The compiler used a hash
table with the actual identifier strings stored in the heap. 
Originally, the only limit on identifier length was imposed by the type
of text file used for the source file.  This limit was always shorter
than the limit imposed by the compiler (none) or by the size of memory
on the machine used to compile the program.  We could pass the ACVC test
on the largest DPS-6 machines with the maximum line length set to
2**16-4, which was the longest line allowed if you used a special file
type.  However, on the low end machines, that ACVC test would fail to
compile when it couldn't allocate one of the long identifiers.  In this
case, we could have broken the test up into several parts, but it was
much easier to require a smaller maximum line length--I'd have to look
but I think we used 8K--so that all validations were identical.  (Later,
I think DDC changed their front-end to store the identifier strings in a
file and just keep the hash table in memory.  But the Line length limit
stayed.)

    So I do personally know that in at least one case, this ACVC test
did force a compiler limitation.  And we did fix this in Ada 95--you are
allowed to have different limits on identifier size and line length. 
(And I do mean we.  I remember giving an example where requiring 255
instead of 254 would cause problems, and you (Robert Dewar) suggested
250, since there was no particular reason not to choose a decimal, not
binary, round number.)

    Hmmm.  Just remembering a different effect of this rule in Ada 83. 
There were some ACVC floating point tests that had long numeric
literals.  The length of these literals depended on the number of digits
allowed in a floating point type declaration.  I remember at least one
compiler choosing not to support extended floating point since their
compiler couldn't support numeric literals as long as required by those
tests.  (Does anyone remember?  Was that the ALS?  It certainly was a
VAX targeted compiler.)  In any case choosing a "short enough" maximum
line length negated the problem.




  reply	other threads:[~2000-06-03  0:00 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-04-29  0:00 Required Metrics Ken Garlington
2000-04-29  0:00 ` swhalen
2000-05-01  0:00   ` Required Metrics (GNAT et al) Ken Garlington
2000-05-01  0:00     ` swhalen
2000-05-01  0:00       ` Ken Garlington
2000-05-01  0:00 ` Required Metrics Ted Dennison
2000-05-01  0:00   ` Tucker Taft
2000-05-01  0:00     ` Ken Garlington
2000-05-02  0:00       ` Ted Dennison
2000-05-04  0:00         ` Robert Dewar
2000-05-04  0:00           ` Ted Dennison
2000-05-05  0:00           ` Ken Garlington
2000-05-05  0:00             ` Robert Dewar
2000-05-02  0:00       ` Ken Garlington
2000-05-02  0:00         ` Ted Dennison
2000-05-03  0:00         ` Robert Dewar
2000-05-03  0:00           ` Ken Garlington
2000-05-03  0:00             ` Robert A Duff
2000-05-04  0:00               ` Ken Garlington
2000-05-04  0:00                 ` Robert Dewar
2000-05-04  0:00                   ` Robert A Duff
2000-05-04  0:00                     ` Robert Dewar
2000-05-05  0:00                   ` Ken Garlington
2000-05-04  0:00             ` Robert Dewar
2000-05-04  0:00               ` Ken Garlington
2000-05-05  0:00                 ` Robert Dewar
2000-05-04  0:00             ` Robert Dewar
2000-05-04  0:00               ` Ken Garlington
2000-05-05  0:00                 ` Robert Dewar
2000-05-06  0:00                   ` Ken Garlington
2000-05-06  0:00                     ` Robert Dewar
2000-05-07  0:00                       ` Ken Garlington
2000-05-07  0:00                         ` Robert Dewar
2000-05-07  0:00                           ` Ken Garlington
2000-05-07  0:00                             ` Robert Dewar
2000-05-07  0:00                               ` Ken Garlington
2000-05-07  0:00                                 ` Robert Dewar
2000-05-06  0:00                     ` Ken Garlington
2000-05-06  0:00                       ` Robert Dewar
2000-05-06  0:00                       ` Robert Dewar
2000-05-07  0:00                         ` Ken Garlington
2000-05-07  0:00                           ` Robert Dewar
2000-05-08  0:00                         ` Ole-Hjalmar Kristensen
2000-05-04  0:00               ` Wes Groleau
2000-05-01  0:00   ` Ken Garlington
2000-05-04  0:00     ` Roger Barnett
2000-05-05  0:00       ` Robert Dewar
2000-05-04  0:00     ` Robert Dewar
2000-05-05  0:00       ` Ken Garlington
2000-05-05  0:00         ` Robert Dewar
2000-05-05  0:00           ` Ted Dennison
2000-05-06  0:00             ` Robert Dewar
2000-05-07  0:00           ` Robert I. Eachus
2000-05-07  0:00             ` Robert Dewar
2000-05-18  0:00               ` Robert I. Eachus
2000-05-18  0:00                 ` Robert A Duff
2000-05-19  0:00                   ` Robert I. Eachus
2000-05-21  0:00                   ` Robert Dewar
2000-06-03  0:00                     ` Robert I. Eachus [this message]
2000-05-07  0:00             ` Ken Garlington
2000-05-07  0:00               ` Robert Dewar
2000-05-07  0:00                 ` Ken Garlington
2000-05-07  0:00                   ` Robert Dewar
2000-05-08  0:00             ` Ole-Hjalmar Kristensen
2000-05-08  0:00               ` Robert Dewar
2000-05-08  0:00               ` Robert Dewar
2000-05-18  0:00               ` Robert I. Eachus
2000-05-18  0:00                 ` Ken Garlington
replies disabled

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