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.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,5188f16fad7607fb X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: RUSSIAN,UTF8 Received: by 10.224.70.131 with SMTP id d3mr12917404qaj.0.1349711051697; Mon, 08 Oct 2012 08:44:11 -0700 (PDT) Received: by 10.52.71.38 with SMTP id r6mr2576227vdu.12.1349711051663; Mon, 08 Oct 2012 08:44:11 -0700 (PDT) Path: r17ni19qap.0!nntp.google.com!l8no31459739qao.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Mon, 8 Oct 2012 08:44:11 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=213.154.208.18; posting-account=K1cP1QoAAAD_GR6kW2Td0NqGqGBLRE8h NNTP-Posting-Host: 213.154.208.18 References: User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <8ca46b0e-355e-4f77-a727-5c4846f98474@googlegroups.com> Subject: Re: choice_expression From: Maxim Reznik Injection-Date: Mon, 08 Oct 2012 15:44:11 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Date: 2012-10-08T08:44:11-07:00 List-Id: =D0=BF=D0=BE=D0=BD=D0=B5=D0=B4=D0=B5=D0=BB=D1=8C=D0=BD=D0=B8=D0=BA, 8 =D0= =BE=D0=BA=D1=82=D1=8F=D0=B1=D1=80=D1=8F 2012=C2=A0=D0=B3., 17:49:05 UTC+3 = =D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D1=8C Ad= am Beneschan =D0=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=B0=D0=BB: > On Monday, October 8, 2012 6:34:27 AM UTC-7, Maxim Reznik wrote: >=20 > > BTW GNAT understands it as "(False in False) and False" >=20 >=20 >=20 > If this isn't a typo, then GNAT is wrong; "and" has a higher precedence t= han "in", so that A in B and C should be intepreted as A in (B and C). >=20 I belive priority of membership test is the same as for relational_operator= , because both of them are in the same syntax rule, so interpretation shoul= d be the same as for "A < B and C" =3D> "(A=20 > I personally can't imagine using a construct "X in ..." where X is a bool= ean expression. It seems highly useless,=20 [skipped] Neither I can't. It looks strange why language designers added couple of dedicated ARM rules= to allow useless constructs with unclear, ambiguous and error-prone syntax= :(