From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,66752102482bbdca X-Google-Attributes: gid103376,public From: "Robert I. Eachus" Subject: Re: Required Metrics Date: 2000/06/03 Message-ID: <39391CCA.D2B10DE8@earthlink.net>#1/1 X-Deja-AN: 630601404 Content-Transfer-Encoding: 7bit References: <5DDO4.2237$wb7.194854@news.flash.net> <8ek4ea$5ta$1@nnrp1.deja.com> <8es65n$5hn$1@nnrp1.deja.com> <%MoQ4.7915$wb7.556168@news.flash.net> <8eulom$u8m$1@nnrp1.deja.com> <3914F1DC.A5EE1751@earthlink.net> <8f3tfl$d32$1@nnrp1.deja.com> <39233EC6.C4738579@earthlink.net> <8g8orr$a16$1@nnrp1.deja.com> X-Accept-Language: en,pdf Content-Type: text/plain; charset=us-ascii X-Complaints-To: abuse@earthlink.net X-Trace: newsread2.prod.itd.earthlink.net 960044103 63.24.55.104 (Sat, 03 Jun 2000 07:55:03 PDT) Organization: The MITRE Corporation MIME-Version: 1.0 NNTP-Posting-Date: Sat, 03 Jun 2000 07:55:03 PDT Newsgroups: comp.lang.ada Date: 2000-06-03T00:00:00+00:00 List-Id: 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.