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
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE>AARM95 - Reserved Words</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-2-8.html">Previous</A> <A HREF="AA-3.html">Next</A></P>
<HR>
<H1> 2.9 Reserved Words</H1>
<H4 ALIGN=CENTER>Syntax</H4>
<DIV Class="Paranum"><FONT SIZE=-2>1/1</FONT></DIV>
<DIV Class="SyntaxIndented" Style="margin-bottom: 0.2em"><FONT SIZE=-1><I>This
paragraph was deleted.</I></FONT><S> </S></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>2</FONT></DIV>
<DIV Class="SyntaxIndented"><A NAME="I1292"></A>The following are the
<I>reserved words</I> (ignoring upper/lower case distinctions): </DIV>
<DIV Class="Paranum"><FONT SIZE=-2>2.a</FONT></DIV>
<DIV Class="Annotations"><FONT SIZE=-1><B>Discussion: </B>Reserved words
have special meaning in the syntax. In addition, certain reserved words
are used as attribute names.</FONT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>2.b</FONT></DIV>
<DIV Class="Annotations"><FONT SIZE=-1>The syntactic category <FONT FACE="Arial, Helvetica">identifier</FONT>
no longer allows reserved words. We have added the few reserved words
that are legal explicitly to the syntax for <FONT FACE="Arial, Helvetica">attribute_reference</FONT>.
Allowing identifier to include reserved words has been a source of confusion
for some users, and differs from the way they are treated in the C and
Pascal language definitions. </FONT></DIV>
<DIV Class="CodeIndented"><TABLE Width="70%">
<TR><TD align="left"><B>abort</B><TD align="left"><B>else</B><TD align="left"><B>new</B><TD align="left"><B>return</B><TD align="left">
<TR><TD align="left"><B>abs</B><TD align="left"><B>elsif</B><TD align="left"><B>not</B><TD align="left"><B>reverse</B><TD align="left">
<TR><TD align="left"><B>abstract</B><TD align="left"><B>end</B><TD align="left"><B>null</B><TD align="left"> <TD align="left">
<TR><TD align="left"><B>accept</B><TD align="left"><B>entry</B><TD align="left"> <TD align="left"><B>select</B><TD align="left">
<TR><TD align="left"><B>access</B><TD align="left"><B>exception</B><TD align="left"><B>of</B><TD align="left"><B>separate</B><TD align="left">
<TR><TD align="left"><B>aliased</B><TD align="left"><B>exit</B><TD align="left"><B>or</B><TD align="left"><B>subtype</B><TD align="left">
<TR><TD align="left"><B>all</B><TD align="left"> <TD align="left"><B>others</B><TD align="left"> <TD align="left">
<TR><TD align="left"><B>and</B><TD align="left"><B>for</B><TD align="left"><B>out</B><TD align="left"><B>tagged</B><TD align="left">
<TR><TD align="left"><B>array</B><TD align="left"><B>function</B><TD align="left"> <TD align="left"><B>task</B><TD align="left">
<TR><TD align="left"><B>at</B><TD align="left"> <TD align="left"><B>package</B><TD align="left"><B>terminate</B><TD align="left">
<TR><TD align="left"> <TD align="left"><B>generic</B><TD align="left"><B>pragma</B><TD align="left"><B>then</B><TD align="left">
<TR><TD align="left"><B>begin</B><TD align="left"><B>goto</B><TD align="left"><B>private</B><TD align="left"><B>type</B><TD align="left">
<TR><TD align="left"><B>body</B><TD align="left"> <TD align="left"><B>procedure</B><TD align="left"> <TD align="left">
<TR><TD align="left"> <TD align="left"><B>if</B><TD align="left"><B>protected</B><TD align="left"><B>until</B><TD align="left">
<TR><TD align="left"><B>case</B><TD align="left"><B>in</B><TD align="left"> <TD align="left"><B>use</B><TD align="left">
<TR><TD align="left"><B>constant</B><TD align="left"><B>is</B><TD align="left"><B>raise</B><TD align="left"> <TD align="left">
<TR><TD align="left"> <TD align="left"> <TD align="left"><B>range</B><TD align="left"><B>when</B><TD align="left">
<TR><TD align="left"><B>declare</B><TD align="left"><B>limited</B><TD align="left"><B>record</B><TD align="left"><B>while</B><TD align="left">
<TR><TD align="left"><B>delay</B><TD align="left"><B>loop</B><TD align="left"><B>rem</B><TD align="left"><B>with</B><TD align="left">
<TR><TD align="left"><B>delta</B><TD align="left"> <TD align="left"><B>renames</B><TD align="left"> <TD align="left">
<TR><TD align="left"><B>digits</B><TD align="left"><B>mod</B><TD align="left"><B>requeue</B><TD align="left"><B>xor</B><TD align="left">
<TR><TD align="left"><B>do</B><TD align="left"> <TD align="left"> <TD align="left"> <TD align="left">
</TABLE></DIV>
<DIV Class="NotesHeader"><FONT SIZE=-1>NOTES</FONT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>3</FONT></DIV>
<DIV Class="Notes"><FONT SIZE=-1>6 The reserved words appear
in <B>lower case boldface</B> in this International Standard, except
when used in the <FONT FACE="Arial, Helvetica">designator</FONT> of an
attribute (see <A HREF="AA-4-1-4.html">4.1.4</A>). Lower case boldface
is also used for a reserved word in a <FONT FACE="Arial, Helvetica">string_literal</FONT>
used as an <FONT FACE="Arial, Helvetica">operator_symbol</FONT>. This
is merely a convention -- programs may be written in whatever typeface
is desired and available. </FONT></DIV>
<H4 ALIGN=CENTER>Incompatibilities With Ada 83</H4>
<DIV Class="Paranum"><FONT SIZE=-2>3.a</FONT></DIV>
<DIV Class="Annotations"><FONT SIZE=-1><A NAME="I1293"></A>The following
words are not reserved in Ada 83, but are reserved in Ada 95: <B>abstract</B>,
<B>aliased</B>, <B>protected</B>, <B>requeue</B>, <B>tagged</B>, <B>until</B>.
</FONT></DIV>
<H4 ALIGN=CENTER>Wording Changes from Ada 83</H4>
<DIV Class="Paranum"><FONT SIZE=-2>3.b</FONT></DIV>
<DIV Class="Annotations"><FONT SIZE=-1>The clause entitled ``Allowed
Replacements of Characters'' has been moved to <A HREF="AA-J.html">Annex
J</A>, ``<A HREF="AA-J.html">Obsolescent Features</A>''. </FONT></DIV>
<HR>
<P><A HREF="AA-TOC.html">Contents</A> <A HREF="AA-0-29.html">Index</A> <A HREF="AA-2-8.html">Previous</A> <A HREF="AA-3.html">Next</A> <A HREF="AA-TTL.html">Legal</A></P>
</BODY>
</HTML>
|