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=-0.3 required=5.0 tests=BAYES_00,FROM_DOMAIN_NOVOWEL, INVALID_DATE,MSGID_SHORT autolearn=no autolearn_force=no version=3.4.4 Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site sdcrdcf.UUCP Path: utzoo!linus!decvax!decwrl!pyramid!hplabs!sdcrdcf!steve From: steve@sdcrdcf.UUCP (Steven Holtsberg) Newsgroups: net.lang.ada Subject: Arrays Declarations Message-ID: <2635@sdcrdcf.UUCP> Date: Tue, 18-Feb-86 17:27:46 EST Article-I.D.: sdcrdcf.2635 Posted: Tue Feb 18 17:27:46 1986 Date-Received: Thu, 20-Feb-86 00:10:57 EST Organization: System Development Corporation, Santa Monica Keywords: index constraint List-Id: I have read the paragraph on index constraints (page 3-29, second from bottom) over and over, and I still do not know what they are talking about. It says: If an index constraint follows a type mark in a subtype indication, then the type or subtype denoted by the type mark _must not already impose an index constraint_. The type mark must denote either an unconstrained array type or an access type whose designated type is such an array type. As I understand it, an index constraint (page 3-27) is a list of ranges or subtype indications. So, if it follows a type mark, we have something like: INTEGER INTEGER range 0 .. 100 or INTEGER range 0 .. 100 The first makes no sense, so I assume they mean the second, which is an index constraint itself (as well as one that follows a type mark). On the same page, there is an example, type T is array(POSITIVE range MIN .. MAX) of COMPONENT; It seems that the type mark in question is POSITIVE and the index constraint is range MIN .. MAX. So, this means that POSITIVE must not already impose an index constraint. But this makes no sense: although predefined (see page 3-32), POSITIVE has the constraint 1 .. INTEGER'LAST. The only thing I can infer is that the type of subtype denoted by the type mark cannot impose a user-defined index constraint. I am not sure of this- is there any agreement on the net? However, the next sentence really confuses me: The type mark must denote either an unconstrained array type or an access type whose designated type is such an array type. POSITIVE certainly does not satisfy this condition. Does anyone know what they are talking about?