comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Wright <simon@pushface.org>
Subject: Re: Ada reference manual rule for doubled parentheses around if_expression?
Date: Sat, 01 Aug 2015 08:36:35 +0100
Date: 2015-08-01T08:36:35+01:00	[thread overview]
Message-ID: <lysi83o3y4.fsf@pushface.org> (raw)
In-Reply-To: 87r3nokwpf.fsf@theworld.com

Bob Duff <bobduff@theworld.com> writes:

> Stephen Leake <stephen_leake@stephe-leake.org> writes:
>
>> A question recently came up on the Emacs ada-mode list; my Emacs
>> ada-mode parser rejects this if_expression in an association list:
>>
>>    Tmp : Boolean := Id (if True then True else True);
>>
>> but accepts this:
>>
>>    Tmp : Boolean := Id ((if True then True else True));
>>
>> I remember seeing some rule in the Ada reference manual that says the
>> doubled parens are not needed here. But now I can't find the rule,
>> and I don't want to edit my grammar without a reference.
>>
>> Anyone know where that rule is? or what to search for?
>
> 4.5.7(7).  This is a syntax rule, despite not being written in BNF.  I
> suggest you read the AARM annotations.

The question to which Stephe refers also shows

   function F2 (V : Integer) return Boolean
   is (True and then True)
      or else True;

which GNAT accepts but probably shouldn't? the parens in ARM 6.8(2)[1]
wrap the whole expression.

[1] http://www.ada-auth.org/standards/12rm/html/RM-6-8.html#p2

  reply	other threads:[~2015-08-01  7:36 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-31 17:00 Ada reference manual rule for doubled parentheses around if_expression? Stephen Leake
2015-07-31 18:29 ` Bob Duff
2015-08-01  7:36   ` Simon Wright [this message]
2015-08-01  9:11   ` Stephen Leake
2015-08-01 13:42     ` Bob Duff
2015-08-03 22:56       ` Randy Brukardt
2015-07-31 20:07 ` EGarrulo
replies disabled

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