comp.lang.ada
 help / color / mirror / Atom feed
From: Niklas Holsti <niklas.holsti@tidorum.invalid>
Subject: Re: Select + Accept syntax question
Date: Sat, 27 Aug 2016 22:20:13 +0300
Date: 2016-08-27T22:20:13+03:00	[thread overview]
Message-ID: <e2e7feFrg8eU1@mid.individual.net> (raw)
In-Reply-To: <60637c3a-c699-4e4c-9fd3-1a081cb6152c@googlegroups.com>

On 16-08-27 21:26 , Andrew Shvets wrote:

> The one thing that threw me for a loop was when I put any type of code right before the above two accept keywords, like so:
> while Go_Loop LOOP
>   select
>     when Internal_Value = 0 =>
>       Ada.Text_IO.Put_Line("hello world");
>       accept Input(Value : in Integer) do
>         Internal_Value := Value;
>       end Input;
>   or
>     when Internal_Value /= 0 =>
>       Ada.Text_IO.Put_Line("hello world");
>       accept Retrieve(Value : out Integer) do
>         Value := Internal_Value;
>       end Retrieve;
>
> And I get the following output from the compiler:
>
>> gnatmake -g .\task_demo_11.adb
> gcc -c -I.\ -g -I- .\task_demo_11.adb
> task_demo_11.adb:25:16: missing "END SELECT;" for "SELECT" at line 18
> task_demo_11.adb:25:17: select alternative ("ACCEPT", "ABORT", "DELAY") expected
> task_demo_11.adb:38:07: "OR" not allowed here
> task_demo_11.adb:42:07: no "SELECT" for this "END SELECT"
> gnatmake: ".\task_demo_11.adb" compilation error
>
> Why does this happen?  Why can't I have code right before the accept?

Before I try to answer that question, I would like to know what 
behaviour you expect from such code. In particular, exactly when would 
that code be executed?

-- 
Niklas Holsti
Tidorum Ltd
niklas holsti tidorum fi
       .      @       .


  reply	other threads:[~2016-08-27 19:20 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-27 18:26 Select + Accept syntax question Andrew Shvets
2016-08-27 19:20 ` Niklas Holsti [this message]
2016-08-27 19:47   ` Andrew Shvets
2016-08-28  6:52     ` Niklas Holsti
2016-08-27 19:36 ` Jeffrey R. Carter
2016-08-27 19:48   ` Andrew Shvets
2016-08-27 23:22     ` Jeffrey R. Carter
replies disabled

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