From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 29 Jul 91 07:56:56 GMT From: eachus@mitre-bedford.arpa (Robert I. Eachus) Subject: Re: Character Type Definition Message-ID: List-Id: I said: > Since the set you need is not contiguous you need a Set construct. > If you don't have a generic Set package around ;-) all you need do is: > type Character_Set is array (Character) of Boolean; > pragma PACK(Character_Set) > Now for your example the code is: > Math_Operator: constant Character_Set := > ('^' | '*' | '/' | '+' | '-' => True, others => False); > ... > if Math_Operator(My_Operator) then... Norm Cohen pointed out to me that 4.3.2(6) forbids the initial value for Math_Operator unless it is qualified, in spite of the fact that it is already constrained: Math_Operator: constant Character_Set := Character_Set'('^' | '*' | '/' | '+' | '-' => True, others => False); If this makes no sense to you, I think that you will find yourself with lots of company. However, I think it comes under the heading of insufficiently broken to try to fix before Ada 9X. -- Robert I. Eachus with STANDARD_DISCLAIMER; use STANDARD_DISCLAIMER; function MESSAGE (TEXT: in CLEVER_IDEAS) return BETTER_IDEAS is...