CVS difference for arm/source/09.mss

Differences between 1.82 and version 1.83
Log of other versions for file arm/source/09.mss

--- arm/source/09.mss	2006/10/14 06:05:18	1.82
+++ arm/source/09.mss	2006/10/18 00:25:25	1.83
@@ -1,10 +1,10 @@
 @Part(09, Root="ada.mss")
 
-@Comment{$Date: 2006/10/14 06:05:18 $}
+@Comment{$Date: 2006/10/18 00:25:25 $}
 @LabeledSection{Tasks and Synchronization}
 
 @Comment{$Source: e:\\cvsroot/ARM/Source/09.mss,v $}
-@Comment{$Revision: 1.82 $}
+@Comment{$Revision: 1.83 $}
 
 @begin{Intro}
 
@@ -436,7 +436,7 @@
 @key(end) Keyboard_Driver;
 @end{Example}
 
-@i{Examples of declarations of single tasks:}
+@leading@keepnext@i{Examples of declarations of single tasks:}
 @begin{Example}
 @key(task) Controller @key(is)
    @key(entry) Request(Level)(D : Item);  --@RI[  a family of entries]
@@ -885,6 +885,7 @@
 @end{DiffWord95}
 
 
+@RMNewPage@Comment{For printed RM Ada 2005}
 @LabeledClause{Protected Units and Protected Objects}
 
 @begin{Intro}
@@ -4199,9 +4200,9 @@
 @RefSecNum(Entry Queuing Policies)).
 When such an
 alternative is selected, the selected call is
-removed from its entry queue and the @nt<handled_sequence_of_statements>
+removed from its entry queue and the @nt<handled_sequence_of_@!statements>
 (if any) of the corresponding @nt{accept_statement} is executed; after the
-rendezvous completes any subsequent @nt<sequence_of_statements>
+rendezvous completes any subsequent @nt<sequence_of_@!statements>
 of the alternative is executed.
 @PDefn2{Term=[blocked], Sec=(execution of a @nt<selective_accept>)}
 If no selection is immediately possible (in the above sense)
@@ -4222,7 +4223,7 @@
 policy chooses arbitrarily among the @nt<delay_@!alternative>s
 whose expiration time has passed.
 
-The else part is selected and its @nt<sequence_of_statements> is executed
+The else part is selected and its @nt<sequence_of_@!statements> is executed
 if no @nt{accept_alternative} can immediately be selected;
 in particular, if all alternatives are closed.
 
@@ -4378,17 +4379,17 @@
 a call on a procedure implemented by an entry,],Old=[;]}
 the entry call is then issued.@Chg{Version=[2],New=[ Otherwise, the call
 proceeds as described in @RefSecNum{Subprogram Calls} for a procedure call,
-followed by the @nt{sequence_of_statements} of the @nt{entry_call_alternative};
-the @nt{sequence_of_statements} of the @nt{delay_alternative} is ignored.],Old=[]}
+followed by the @nt{sequence_of_@!statements} of the @nt{entry_call_@!alternative};
+the @nt{sequence_of_@!statements} of the @nt{delay_@!alternative} is ignored.],Old=[]}
 
 
 If the call is queued (including due to a requeue-with-abort),
 and not selected before the expiration
 time is reached, an attempt to cancel the call is made.
 If the call completes due to the cancellation, the optional
-@nt<sequence_of_statements> of the @nt<delay_alternative> is
+@nt<sequence_of_@!statements> of the @nt<delay_@!alternative> is
 executed; if the entry call completes normally, the optional
-@nt<sequence_of_statements> of the @nt<entry_call_alternative> is
+@nt<sequence_of_@!statements> of the @nt<entry_call_@!alternative> is
 executed.
 @begin{Ramification}
 @ChgRef{Version=[2],Kind=[Deleted],ARef=[AI95-00345-01]}
@@ -4506,6 +4507,7 @@
 @end{DiffWord83}
 
 
+@RMNewPage@Comment{For printed Ada 2005 RM}
 @LabeledSubClause{Asynchronous Transfer of Control}
 
 @begin{Intro}
@@ -4539,7 +4541,7 @@
 @Chg{Version=[2],New=[@PDefn2{Term=[execution],
   Sec=(asynchronous_select with a procedure call trigger)}],Old=[]}
 For the execution of an @nt{asynchronous_select}
-whose @nt<triggering_statement> is @Chg{Version=[2],
+whose @nt<triggering_@!statement> is @Chg{Version=[2],
 New=[a @nt<procedure_or_entry_call>],Old=[an @nt<entry_call_statement>]},
 the @Syni(entry_)@nt<name>@Chg{Version=[2],New=[, @Syni{procedure_}@nt{name},
 or @Syni{procedure_}@nt{prefix},],Old=[]} and actual parameters are evaluated
@@ -4554,14 +4556,14 @@
 then the @nt<abortable_part> is never started.]@Chg{Version=[2],New=[ If the
 call is on a procedure that is not implemented by an entry, the call proceeds
 as described in @RefSecNum{Subprogram Calls}, followed by the
-@nt{sequence_of_statements} of the @nt{triggering_alternative}@Redundant[;
+@nt{sequence_of_@!statements} of the @nt{triggering_@!alternative}@Redundant[;
 the @nt{abortable_part} is never started].],Old=[]}
 
 
 @PDefn2{Term=[execution],
   Sec=(asynchronous_select with a delay_statement trigger)}
 For the execution of an @nt<asynchronous_select> whose
-@nt<triggering_statement> is a @nt<delay_statement>,
+@nt<triggering_@!statement> is a @nt<delay_statement>,
 the @i(delay_)@nt<expression> is evaluated
 and the expiration time is determined,
 as for a normal @nt<delay_statement>.
@@ -4569,19 +4571,19 @@
 is executed.
 
 If the @nt<abortable_part> completes and is left prior to completion of the
-@nt<triggering_statement>,
-an attempt to cancel the @nt<triggering_statement> is made.
+@nt<triggering_@!statement>,
+an attempt to cancel the @nt<triggering_@!statement> is made.
 If the attempt to cancel succeeds (see @RefSecNum(Entry Calls) and
 @RefSecNum(Delay Statements, Duration, and Time)), the
 @nt<asynchronous_select> is complete.
 
-If the @nt<triggering_statement> completes other than
+If the @nt<triggering_@!statement> completes other than
 due to cancellation,
 the @nt<abortable_part>
 is aborted (if started but not yet completed @em
 see @RefSecNum(Abort of a Task - Abort of a Sequence of Statements)).
-If the @nt<triggering_statement> completes normally, the optional
-@nt<sequence_of_statements> of the @nt<triggering_alternative> is
+If the @nt<triggering_@!statement> completes normally, the optional
+@nt<sequence_of_@!statements> of the @nt<triggering_@!alternative> is
 executed after the @nt<abortable_part> is left.
 @begin(Discussion)
   We currently don't specify when the by-copy [@key(in)] @key(out)
@@ -4591,8 +4593,8 @@
   to justify possibly overspecifying the implementation approach,
   since some of the parameters are passed by reference anyway.
 
-  In an earlier description, we required that the @nt<sequence_of_statements>
-  of the @nt<triggering_alternative> execute after aborting
+  In an earlier description, we required that the @nt<sequence_of_@!statements>
+  of the @nt<triggering_@!alternative> execute after aborting
   the @nt<abortable_part>, but before waiting for it to complete
   and finalize, to provide more rapid response to the triggering event
   in case the finalization was unbounded. However, various reviewers felt
@@ -4605,7 +4607,7 @@
   One possibility is to leave this area implementation defined,
   so as to encourage experimentation. The user would then have
   to assume the worst about what kinds of actions are appropriate
-  for the @nt<sequence_of_statements> of the @nt<triggering_alternative>
+  for the @nt<sequence_of_@!statements> of the @nt<triggering_@!alternative>
   to achieve portability.
 @end(Discussion)
 
@@ -4660,7 +4662,7 @@
   @ChgRef{Version=[2],Kind=[AddedNormal],ARef=[AI95-00345-01]}
   @ChgAdded{Version=[2],Text=[@Defn{extensions to Ada 95}
   A procedure can be used as the
-  @nt{triggering_statement} of an @nt<asynchronous_select>, if the procedure
+  @nt{triggering_@!statement} of an @nt<asynchronous_select>, if the procedure
   might actually be an entry]}
 @end{Extend95}
 
@@ -4670,8 +4672,8 @@
 @begin{Intro}
 @redundant[An @nt{abort_statement} causes one or more tasks to become abnormal, thus
 preventing any further interaction with such tasks. The completion
-of the @nt<triggering_statement> of an @nt<asynchronous_select>
-causes a @nt{sequence_of_statements} to be aborted.]
+of the @nt<triggering_@!statement> of an @nt<asynchronous_select>
+causes a @nt{sequence_of_@!statements} to be aborted.]
 @end{Intro}
 
 @begin{Syntax}
@@ -4775,7 +4777,7 @@
 
 @PDefn{unspecified}
 The order in which tasks become abnormal as the result
-of an @nt<abort_statement> or the abort of a @nt<sequence_of_statements>
+of an @nt<abort_statement> or the abort of a @nt<sequence_of_@!statements>
 is not specified by the language.
 
 @leading@;If the execution of an entry call is aborted,
@@ -4811,7 +4813,7 @@
   @end(Ramification)
 
   the start of the execution of a @nt<select_statement>,
-  or of the @nt<sequence_of_statements> of an @nt<exception_handler>.
+  or of the @nt<sequence_of_@!statements> of an @nt<exception_handler>.
   @begin(Reason)
     The start of an @nt<exception_handler> is considered an abort completion
     point simply because it is easy for an implementation to check

Questions? Ask the ACAA Technical Agent