1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE>AARM95 - Simple and Compound Statements - Sequences of Statements</TITLE>
<META NAME="Author" CONTENT="JTC1/SC22/WG9/ARG, by Randall Brukardt, ARG Editor">
<META NAME="GENERATOR" CONTENT="Arm_Form.Exe, Ada Reference Manual generator">
<STYLE type="text/css">
DIV.paranum {position: absolute; font-family: Arial, Helvetica, sans-serif; left: 0.5 em; top: auto}
TT {font-family: "Courier New", monospace}
DT {display: compact}
DIV.Normal {font-family: "Times New Roman", Times, serif; margin-bottom: 0.6em}
DIV.Wide {font-family: "Times New Roman", Times, serif; margin-top: 0.6em; margin-bottom: 0.6em}
DIV.Annotations {font-family: "Times New Roman", Times, serif; margin-left: 4.0em; margin-bottom: 0.6em}
DIV.WideAnnotations {font-family: "Times New Roman", Times, serif; margin-left: 4.0em; margin-top: 0.6em; margin-bottom: 0.6em}
DIV.Index {font-family: "Times New Roman", Times, serif}
DIV.SyntaxSummary {font-family: "Times New Roman", Times, serif; margin-left: 2.0em; margin-bottom: 0.4em}
DIV.Notes {font-family: "Times New Roman", Times, serif; margin-left: 2.0em; margin-bottom: 0.6em}
DIV.NotesHeader {font-family: "Times New Roman", Times, serif; margin-left: 2.0em}
DIV.SyntaxIndented {font-family: "Times New Roman", Times, serif; margin-left: 2.0em; margin-bottom: 0.4em}
DIV.Indented {font-family: "Times New Roman", Times, serif; margin-left: 6.0em; margin-bottom: 0.6em}
DIV.CodeIndented {font-family: "Times New Roman", Times, serif; margin-left: 4.0em; margin-bottom: 0.6em}
DIV.SmallIndented {font-family: "Times New Roman", Times, serif; margin-left: 10.0em; margin-bottom: 0.6em}
DIV.SmallCodeIndented {font-family: "Times New Roman", Times, serif; margin-left: 8.0em; margin-bottom: 0.6em}
DIV.Examples {font-family: "Courier New", monospace; margin-left: 2.0em; margin-bottom: 0.6em}
DIV.SmallExamples {font-family: "Courier New", monospace; font-size: 80%; margin-left: 7.5em; margin-bottom: 0.6em}
DIV.IndentedExamples {font-family: "Courier New", monospace; margin-left: 8.0em; margin-bottom: 0.6em}
DIV.SmallIndentedExamples {font-family: "Courier New", monospace; font-size: 80%; margin-left: 15.0em; margin-bottom: 0.6em}
UL.Bulleted {font-family: "Times New Roman", Times, serif; margin-left: 2.0em; margin-right: 2.0em; margin-top: 0em; margin-bottom: 0.5em}
UL.SmallBulleted {font-family: "Times New Roman", Times, serif; margin-left: 6.0em; margin-right: 6.0em; margin-top: 0em; margin-bottom: 0.5em}
UL.NestedBulleted {font-family: "Times New Roman", Times, serif; margin-left: 4.0em; margin-right: 4.0em; margin-top: 0em; margin-bottom: 0.5em}
UL.SmallNestedBulleted {font-family: "Times New Roman", Times, serif; margin-left: 8.0em; margin-right: 8.0em; margin-top: 0em; margin-bottom: 0.5em}
UL.IndentedBulleted {font-family: "Times New Roman", Times, serif; margin-left: 8.0em; margin-right: 8.0em; margin-top: 0em; margin-bottom: 0.5em}
UL.CodeIndentedBulleted {font-family: "Times New Roman", Times, serif; margin-left: 6.0em; margin-right: 6.0em; margin-top: 0em; margin-bottom: 0.5em}
UL.CodeIndentedNestedBulleted {font-family: "Times New Roman", Times, serif; margin-left: 8.0em; margin-right: 8.0em; margin-top: 0em; margin-bottom: 0.5em}
UL.SyntaxIndentedBulleted {font-family: "Times New Roman", Times, serif; margin-left: 4.0em; margin-right: 4.0em; margin-top: 0em; margin-bottom: 0.5em}
UL.NotesBulleted {font-family: "Times New Roman", Times, serif; margin-left: 4.0em; margin-right: 4.0em; margin-top: 0em; margin-bottom: 0.5em}
UL.NotesNestedBulleted {font-family: "Times New Roman", Times, serif; margin-left: 6.0em; margin-right: 6.0em; margin-top: 0em; margin-bottom: 0.5em}
DL.Hanging {font-family: "Times New Roman", Times, serif; margin-top: 0em; margin-bottom: 0.6em}
DD.Hanging {margin-left: 6.0em}
DL.IndentedHanging {font-family: "Times New Roman", Times, serif; margin-left: 4.0em; margin-top: 0em; margin-bottom: 0.6em}
DD.IndentedHanging {margin-left: 2.0em}
DL.HangingInBulleted {font-family: "Times New Roman", Times, serif; margin-left: 2.0em; margin-right: 2.0em; margin-top: 0em; margin-bottom: 0.5em}
DD.HangingInBulleted {margin-left: 4.0em}
DL.SmallHanging {font-family: "Times New Roman", Times, serif; margin-left: 4.0em; margin-top: 0em; margin-bottom: 0.6em}
DD.SmallHanging {margin-left: 7.5em}
DL.SmallIndentedHanging {font-family: "Times New Roman", Times, serif; margin-left: 8.0em; margin-top: 0em; margin-bottom: 0.6em}
DD.SmallIndentedHanging {margin-left: 2.0em}
DL.SmallHangingInBulleted {font-family: "Times New Roman", Times, serif; margin-left: 6.0em; margin-right: 6.0em; margin-top: 0em; margin-bottom: 0.5em}
DD.SmallHangingInBulleted {margin-left: 5.0em}
DL.Enumerated {font-family: "Times New Roman", Times, serif; margin-right: 0.0em; margin-top: 0em; margin-bottom: 0.5em}
DD.Enumerated {margin-left: 2.0em}
DL.SmallEnumerated {font-family: "Times New Roman", Times, serif; margin-left: 4.0em; margin-right: 4.0em; margin-top: 0em; margin-bottom: 0.5em}
DD.SmallEnumerated {margin-left: 2.5em}
DL.NestedEnumerated {font-family: "Times New Roman", Times, serif; margin-left: 2.0em; margin-right: 2.0em; margin-top: 0em; margin-bottom: 0.5em}
DL.SmallNestedEnumerated {font-family: "Times New Roman", Times, serif; margin-left: 6.0em; margin-right: 6.0em; margin-top: 0em; margin-bottom: 0.5em}
</STYLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFF0" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<P><A HREF="AA-TOC.html">Contents</A> <A HREF="AA-0-29.html">Index</A> <A HREF="AA-5.html">Previous</A> <A HREF="AA-5-2.html">Next</A></P>
<HR>
<H1> 5.1 Simple and Compound Statements - Sequences of Statements</H1>
<DIV Class="Paranum"><FONT SIZE=-2>1</FONT></DIV>
<DIV Class="Normal"> [A <FONT FACE="Arial, Helvetica">statement</FONT>
is either simple or compound. A <FONT FACE="Arial, Helvetica">simple_statement</FONT>
encloses no other <FONT FACE="Arial, Helvetica">statement</FONT>. A <FONT FACE="Arial, Helvetica">compound_statement</FONT>
can enclose <FONT FACE="Arial, Helvetica">simple_statement</FONT>s and
other <FONT FACE="Arial, Helvetica">compound_statement</FONT>s.] </DIV>
<H4 ALIGN=CENTER>Syntax</H4>
<DIV Class="Paranum"><FONT SIZE=-2>2</FONT></DIV>
<DIV Class="SyntaxIndented"><FONT FACE="Arial, Helvetica">sequence_of_statements<A NAME="I2884"></A>
::= </FONT><A NAME="I2885"></A><FONT FACE="Arial, Helvetica">statement</FONT> {<A NAME="I2886"></A><FONT FACE="Arial, Helvetica">statement</FONT>}</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>3</FONT></DIV>
<DIV Class="SyntaxIndented"><FONT FACE="Arial, Helvetica">statement<A NAME="I2887"></A>
::= </FONT><BR>
{<A NAME="I2888"></A><FONT FACE="Arial, Helvetica">label</FONT>} <A NAME="I2889"></A><FONT FACE="Arial, Helvetica">simple_statement</FONT> | {<A NAME="I2890"></A><FONT FACE="Arial, Helvetica">label</FONT>} <A NAME="I2891"></A><FONT FACE="Arial, Helvetica">compound_statement</FONT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>4</FONT></DIV>
<DIV Class="SyntaxIndented"><FONT FACE="Arial, Helvetica">simple_statement<A NAME="I2892"></A>
::= </FONT><A NAME="I2893"></A><FONT FACE="Arial, Helvetica">null_statement</FONT><BR>
| <A NAME="I2894"></A><FONT FACE="Arial, Helvetica">assignment_statement</FONT> | <A NAME="I2895"></A><FONT FACE="Arial, Helvetica">exit_statement</FONT><BR>
| <A NAME="I2896"></A><FONT FACE="Arial, Helvetica">goto_statement</FONT> | <A NAME="I2897"></A><FONT FACE="Arial, Helvetica">procedure_call_statement</FONT><BR>
| <A NAME="I2898"></A><FONT FACE="Arial, Helvetica">return_statement</FONT> | <A NAME="I2899"></A><FONT FACE="Arial, Helvetica">entry_call_statement</FONT><BR>
| <A NAME="I2900"></A><FONT FACE="Arial, Helvetica">requeue_statement</FONT> | <A NAME="I2901"></A><FONT FACE="Arial, Helvetica">delay_statement</FONT><BR>
| <A NAME="I2902"></A><FONT FACE="Arial, Helvetica">abort_statement</FONT> | <A NAME="I2903"></A><FONT FACE="Arial, Helvetica">raise_statement</FONT><BR>
| <A NAME="I2904"></A><FONT FACE="Arial, Helvetica">code_statement</FONT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>5</FONT></DIV>
<DIV Class="SyntaxIndented"><FONT FACE="Arial, Helvetica">compound_statement<A NAME="I2905"></A>
::= </FONT><BR>
<A NAME="I2906"></A><FONT FACE="Arial, Helvetica">if_statement</FONT> | <A NAME="I2907"></A><FONT FACE="Arial, Helvetica">case_statement</FONT><BR>
| <A NAME="I2908"></A><FONT FACE="Arial, Helvetica">loop_statement</FONT> | <A NAME="I2909"></A><FONT FACE="Arial, Helvetica">block_statement</FONT><BR>
| <A NAME="I2910"></A><FONT FACE="Arial, Helvetica">accept_statement</FONT> | <A NAME="I2911"></A><FONT FACE="Arial, Helvetica">select_statement</FONT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>6</FONT></DIV>
<DIV Class="SyntaxIndented"><FONT FACE="Arial, Helvetica">null_statement<A NAME="I2912"></A>
::= </FONT><B>null</B>;</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>7</FONT></DIV>
<DIV Class="SyntaxIndented"><FONT FACE="Arial, Helvetica">label<A NAME="I2913"></A>
::= </FONT><<<I>label_</I><A NAME="I2914"></A><FONT FACE="Arial, Helvetica">statement_identifier</FONT>>></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>8</FONT></DIV>
<DIV Class="SyntaxIndented"><FONT FACE="Arial, Helvetica">statement_identifier<A NAME="I2915"></A>
::= </FONT><A NAME="I2916"></A><FONT FACE="Arial, Helvetica">direct_name</FONT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>9</FONT></DIV>
<DIV Class="SyntaxIndented">The <FONT FACE="Arial, Helvetica">direct_name</FONT>
of a <FONT FACE="Arial, Helvetica">statement_identifier</FONT> shall
be an <FONT FACE="Arial, Helvetica">identifier</FONT> (not an <FONT FACE="Arial, Helvetica">operator_symbol</FONT>).
</DIV>
<H4 ALIGN=CENTER>Name Resolution Rules</H4>
<DIV Class="Paranum"><FONT SIZE=-2>10</FONT></DIV>
<DIV Class="Normal"> The <FONT FACE="Arial, Helvetica">direct_name</FONT>
of a <FONT FACE="Arial, Helvetica">statement_identifier</FONT> shall
resolve to denote its corresponding implicit declaration (see below).
</DIV>
<H4 ALIGN=CENTER>Legality Rules</H4>
<DIV Class="Paranum"><FONT SIZE=-2>11</FONT></DIV>
<DIV Class="Normal"> Distinct <FONT FACE="Arial, Helvetica">identifiers</FONT>
shall be used for all <FONT FACE="Arial, Helvetica">statement_identifier</FONT>s
that appear in the same body, including inner <FONT FACE="Arial, Helvetica">block_statement</FONT>s
but excluding inner program units. </DIV>
<H4 ALIGN=CENTER>Static Semantics</H4>
<DIV Class="Paranum"><FONT SIZE=-2>12</FONT></DIV>
<DIV Class="Normal"> For each <FONT FACE="Arial, Helvetica">statement_identifier</FONT>,
there is an implicit declaration (with the specified <FONT FACE="Arial, Helvetica">identifier</FONT>)
at the end of the <FONT FACE="Arial, Helvetica">declarative_part</FONT>
of the innermost <FONT FACE="Arial, Helvetica">block_statement</FONT>
or body that encloses the <FONT FACE="Arial, Helvetica">statement_identifier</FONT>.
The implicit declarations occur in the same order as the <FONT FACE="Arial, Helvetica">statement_identifier</FONT>s
occur in the source text. If a usage name denotes such an implicit declaration,
the entity it denotes is the <FONT FACE="Arial, Helvetica">label</FONT>,
<FONT FACE="Arial, Helvetica">loop_statement</FONT>, or <FONT FACE="Arial, Helvetica">block_statement</FONT>
with the given <FONT FACE="Arial, Helvetica">statement_identifier</FONT>.
</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>12.a</FONT></DIV>
<DIV Class="Annotations"><FONT SIZE=-1><B>Reason: </B>We talk in terms
of individual <FONT FACE="Arial, Helvetica">statement_identifiers</FONT>
here rather than in terms of the corresponding statements, since a given
<FONT FACE="Arial, Helvetica">statement</FONT> may have multiple <FONT FACE="Arial, Helvetica">statement_identifier</FONT>s.</FONT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>12.b</FONT></DIV>
<DIV Class="Annotations"><FONT SIZE=-1>A <FONT FACE="Arial, Helvetica">block_statement</FONT>
that has no explicit <FONT FACE="Arial, Helvetica">declarative_part</FONT>
has an implicit empty <FONT FACE="Arial, Helvetica">declarative_part</FONT>,
so this rule can safely refer to the <FONT FACE="Arial, Helvetica">declarative_part</FONT>
of a <FONT FACE="Arial, Helvetica">block_statement</FONT>.</FONT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>12.c</FONT></DIV>
<DIV Class="Annotations"><FONT SIZE=-1>The scope of a declaration starts
at the place of the declaration itself (see <A HREF="AA-8-2.html">8.2</A>).
In the case of a label, loop, or block name, it follows from this rule
that the scope of the implicit declaration starts before the first explicit
occurrence of the corresponding name, since this occurrence is either
in a statement label, a <FONT FACE="Arial, Helvetica">loop_statement</FONT>,
a <FONT FACE="Arial, Helvetica">block_statement</FONT>, or a <FONT FACE="Arial, Helvetica">goto_statement</FONT>.
An implicit declaration in a <FONT FACE="Arial, Helvetica">block_statement</FONT>
may hide a declaration given in an outer program unit or <FONT FACE="Arial, Helvetica">block_statement</FONT>
(according to the usual rules of hiding explained in <A HREF="AA-8-3.html">8.3</A>).</FONT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>12.d</FONT></DIV>
<DIV Class="Annotations"><FONT SIZE=-1>The syntax rule for <FONT FACE="Arial, Helvetica">label</FONT>
uses <FONT FACE="Arial, Helvetica">statement_identifier</FONT> which
is a <FONT FACE="Arial, Helvetica">direct_name</FONT> (not a <FONT FACE="Arial, Helvetica">defining_identifier</FONT>),
because labels are implicitly declared. The same applies to loop and
block names. In other words, the <FONT FACE="Arial, Helvetica">label</FONT>
itself is not the defining occurrence; the implicit declaration is.</FONT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>12.e</FONT></DIV>
<DIV Class="Annotations" Style="margin-bottom: 0.4em"><FONT SIZE=-1>We
cannot consider the <FONT FACE="Arial, Helvetica">label</FONT> to be
a defining occurrence. An example that can tell the difference is this:
</FONT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>12.f</FONT></DIV>
<DIV Class="SmallExamples"><TT><B>declare</B><BR>
--<I> Label Foo is implicitly declared here.</I><BR>
<B>begin</B><BR>
<B>for</B> Foo <B>in</B> ... <B>loop</B><BR>
...<BR>
<<Foo>> --<I> Illegal.</I><BR>
...<BR>
<B>end</B> <B>loop</B>;<BR>
<B>end</B>;<BR>
</TT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>12.g</FONT></DIV>
<DIV Class="Annotations"><FONT SIZE=-1>The label in this example is hidden
from itself by the loop parameter with the same name; the example is
illegal. We considered creating a new syntactic category name, separate
from <FONT FACE="Arial, Helvetica">direct_name</FONT> and <FONT FACE="Arial, Helvetica">selector_name</FONT>,
for use in the case of statement labels. However, that would confuse
the rules in Section 8, so we didn't do it. </FONT></DIV>
<H4 ALIGN=CENTER>Dynamic Semantics</H4>
<DIV Class="Paranum"><FONT SIZE=-2>13</FONT></DIV>
<DIV Class="Normal"> <A NAME="I2917"></A>The execution of a <FONT FACE="Arial, Helvetica">null_statement</FONT>
has no effect.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>14</FONT></DIV>
<DIV Class="Normal"> <A NAME="I2918"></A>A <I>transfer of control</I>
is the run-time action of an <FONT FACE="Arial, Helvetica">exit_statement</FONT>,
<FONT FACE="Arial, Helvetica">return_statement</FONT>, <FONT FACE="Arial, Helvetica">goto_statement</FONT>,
or <FONT FACE="Arial, Helvetica">requeue_statement</FONT>, selection
of a <FONT FACE="Arial, Helvetica">terminate_alternative</FONT>, raising
of an exception, or an abort, which causes the next action performed
to be one other than what would normally be expected from the other rules
of the language. [As explained in <A HREF="AA-7-6-1.html">7.6.1</A>,
a transfer of control can cause the execution of constructs to be completed
and then left, which may trigger finalization.]</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>15</FONT></DIV>
<DIV Class="Normal"> <A NAME="I2919"></A>The execution of a <FONT FACE="Arial, Helvetica">sequence_of_statements</FONT>
consists of the execution of the individual <FONT FACE="Arial, Helvetica">statement</FONT>s
in succession until the <FONT FACE="Arial, Helvetica">sequence_</FONT>
is completed. </DIV>
<DIV Class="Paranum"><FONT SIZE=-2>15.a</FONT></DIV>
<DIV Class="Annotations"><FONT SIZE=-1><B>Ramification: </B>It could
be completed by reaching the end of it, or by a transfer of control.
</FONT></DIV>
<DIV Class="NotesHeader"><FONT SIZE=-1>NOTES</FONT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>16</FONT></DIV>
<DIV Class="Notes"><FONT SIZE=-1>1 A <FONT FACE="Arial, Helvetica">statement_identifier</FONT>
that appears immediately within the declarative region of a named <FONT FACE="Arial, Helvetica">loop_statement</FONT>
or an <FONT FACE="Arial, Helvetica">accept_statement</FONT> is nevertheless
implicitly declared immediately within the declarative region of the
innermost enclosing body or <FONT FACE="Arial, Helvetica">block_statement</FONT>;
in other words, the expanded name for a named statement is not affected
by whether the statement occurs inside or outside a named loop or an
<FONT FACE="Arial, Helvetica">accept_statement</FONT> -- only nesting
within <FONT FACE="Arial, Helvetica">block_statement</FONT>s is relevant
to the form of its expanded name. </FONT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>16.a</FONT></DIV>
<DIV Class="Annotations" Style="margin-bottom: 0.4em"><FONT SIZE=-1><B>Discussion:
</B>Each comment in the following example gives the expanded name associated
with an entity declared in the task body: </FONT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>16.b</FONT></DIV>
<DIV Class="SmallExamples"><TT><B>task body</B> Compute <B>is</B><BR>
Sum : Integer := 0; <I>-- Compute.Sum</I><BR>
<B>begin</B><BR>
Outer: <I>-- Compute.Outer</I><BR>
<B>for</B> I <B>in</B> 1..10 <B>loop</B> <I>-- Compute.Outer.I</I><BR>
Blk: <I>-- Compute.Blk</I><BR>
<B>declare</B><BR>
Sum : Integer := 0; <I>-- Compute.Blk.Sum</I><BR>
<B>begin</B><BR>
<B>accept</B> Ent(I : out Integer; J : in Integer) <B>do</B><BR>
<I>-- Compute.Ent.I, Compute.Ent.J</I><BR>
Compute.Ent.I := Compute.Outer.I;<BR>
Inner: <I>-- Compute.Blk.Inner</I><BR>
<B>for</B> J <B>in</B> 1..10 <B>loop</B><BR>
<I>-- Compute.Blk.Inner.J</I><BR>
Sum := Sum + Compute.Blk.Inner.J * Compute.Ent.J;<BR>
<B>end loop</B> Inner;<BR>
<B>end</B> Ent;<BR>
Compute.Sum := Compute.Sum + Compute.Blk.Sum;<BR>
<B>end</B> Blk;<BR>
<B>end loop</B> Outer;<BR>
Record_Result(Sum);<BR>
<B>end</B> Compute;</TT></DIV>
<H4 ALIGN=CENTER>Examples</H4>
<DIV Class="Paranum"><FONT SIZE=-2>17</FONT></DIV>
<DIV Class="Normal" Style="margin-bottom: 0.4em"> <I>Examples of
labeled statements:</I> </DIV>
<DIV Class="Paranum"><FONT SIZE=-2>18</FONT></DIV>
<DIV Class="Examples"><TT><<Here>> <<Ici>> <<Aqui>> <<Hier>> <B>null</B>;</TT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>19</FONT></DIV>
<DIV Class="Examples"><TT><<After>> X := 1;</TT></DIV>
<H4 ALIGN=CENTER>Extensions to Ada 83</H4>
<DIV Class="Paranum"><FONT SIZE=-2>19.a</FONT></DIV>
<DIV Class="Annotations"><FONT SIZE=-1><A NAME="I2920"></A>The <FONT FACE="Arial, Helvetica">requeue_statement</FONT>
is new. </FONT></DIV>
<H4 ALIGN=CENTER>Wording Changes from Ada 83</H4>
<DIV Class="Paranum"><FONT SIZE=-2>19.b</FONT></DIV>
<DIV Class="Annotations"><FONT SIZE=-1>We define the syntactic category
<FONT FACE="Arial, Helvetica">statement_identifier</FONT> to simplify
the description. It is used for labels, loop names, and block names.
We define the entity associated with the implicit declarations of statement
names.</FONT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>19.c</FONT></DIV>
<DIV Class="Annotations"><FONT SIZE=-1>Completion includes completion
caused by a transfer of control, although RM83-5.1(6) did not take this
view. </FONT></DIV>
<HR>
<P><A HREF="AA-TOC.html">Contents</A> <A HREF="AA-0-29.html">Index</A> <A HREF="AA-5.html">Previous</A> <A HREF="AA-5-2.html">Next</A> <A HREF="AA-TTL.html">Legal</A></P>
</BODY>
</HTML>
|