File: AA-F-3-2.html

package info (click to toggle)
ada-reference-manual 20021112web-3
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, lenny, sarge
  • size: 18,652 kB
  • ctags: 8,921
  • sloc: makefile: 52; sh: 20
file content (428 lines) | stat: -rw-r--r-- 32,985 bytes parent folder | download
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
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
    <TITLE>AARM95 - Edited Output Generation</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>&nbsp;&nbsp;&nbsp;<A HREF="AA-0-29.html">Index</A>&nbsp;&nbsp;&nbsp;<A HREF="AA-F-3-1.html">Previous</A>&nbsp;&nbsp;&nbsp;<A HREF="AA-F-3-3.html">Next</A></P>
<HR>
<H1> F.3.2 Edited Output Generation</H1>

<H4 ALIGN=CENTER>Dynamic Semantics</H4>
<DIV Class="Paranum"><FONT SIZE=-2>1</FONT></DIV>
<DIV Class="Normal" Style="margin-bottom: 0.4em">&nbsp;&nbsp;&nbsp;The contents of
an edited output string are based on: </DIV>
<DIV Class="Paranum"><FONT SIZE=-2>2</FONT></DIV>
<UL Class="Bulleted"><LI TYPE=DISC>A value, Item, of some decimal type Num,</LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>3</FONT></DIV>
<UL Class="Bulleted"><LI TYPE=DISC>An expanded picture String Pic_String,</LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>4</FONT></DIV>
<UL Class="Bulleted"><LI TYPE=DISC>A Boolean value, Blank_When_Zero,</LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>5</FONT></DIV>
<UL Class="Bulleted"><LI TYPE=DISC>A Currency string,</LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>6</FONT></DIV>
<UL Class="Bulleted"><LI TYPE=DISC>A Fill character,</LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>7</FONT></DIV>
<UL Class="Bulleted"><LI TYPE=DISC>A Separator character, and</LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>8</FONT></DIV>
<UL Class="Bulleted"><LI TYPE=DISC>A Radix_Mark character. </LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>9</FONT></DIV>
<DIV Class="Normal">&nbsp;&nbsp;&nbsp;The combination of a True value for Blank_When_Zero
and a '*' character in Pic_String is inconsistent; no edited output string
is defined.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>10</FONT></DIV>
<DIV Class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;A layout error is identified in the rules below
if leading non-zero digits of Item, character values of the Currency
string, or a negative sign would be truncated; in such cases no edited
output string is defined.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>11</FONT></DIV>
<DIV Class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;The edited output string has lower bound 1 and
upper bound N where N = Pic_String'Length + Currency_Length_Adjustment
- Radix_Adjustment, and </DIV>
<DIV Class="Paranum"><FONT SIZE=-2>12</FONT></DIV>
<UL Class="Bulleted"><LI TYPE=DISC>Currency_Length_Adjustment = Currency'Length - 1 if there
is some occurrence of '$' in Pic_String, and 0 otherwise.</LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>13</FONT></DIV>
<UL Class="Bulleted"><LI TYPE=DISC>Radix_Adjustment = 1 if there is an occurrence of 'V' or
'v' in Pic_Str, and 0 otherwise. </LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>14</FONT></DIV>
<DIV Class="Normal" Style="margin-bottom: 0.4em">&nbsp;&nbsp;&nbsp;&nbsp;<A NAME="I7084"></A>Let
the magnitude of Item be expressed as a base-10 number I<SUB><FONT SIZE=+1><FONT SIZE=-2>p</FONT></FONT></SUB>&middot;&middot;&middot;I<SUB><FONT SIZE=+1><FONT SIZE=-2>1</FONT></FONT></SUB>.F<SUB><FONT SIZE=+1><FONT SIZE=-2>1</FONT></FONT></SUB>&middot;&middot;&middot;F<SUB><FONT SIZE=+1><FONT SIZE=-2>q</FONT></FONT></SUB>,
called the <I>displayed</I> <I>magnitude</I> of Item, where: </DIV>
<DIV Class="Paranum"><FONT SIZE=-2>15</FONT></DIV>
<UL Class="Bulleted"><LI TYPE=DISC>q = Min(Max(Num'Scale, 0), n) where n is 0 if Pic_String
has no <FONT FACE="Arial, Helvetica">radix</FONT> and is otherwise the
number of digit positions following <FONT FACE="Arial, Helvetica">radix</FONT>
in Pic_String, where a digit position corresponds to an occurrence of
'9', a <FONT FACE="Arial, Helvetica">zero_suppression_char</FONT> (for
an <FONT FACE="Arial, Helvetica">all_zero_suppression_number</FONT>),
a <FONT FACE="Arial, Helvetica">currency_char</FONT> (for an <FONT FACE="Arial, Helvetica">all_currency_number</FONT>),
or a <FONT FACE="Arial, Helvetica">sign_char</FONT> (for an <FONT FACE="Arial, Helvetica">all_sign_number</FONT>).</LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>16</FONT></DIV>
<UL Class="Bulleted"><LI TYPE=DISC>I<SUB><FONT SIZE=+1><FONT SIZE=-2>p</FONT></FONT></SUB>
/= 0 if p&gt;0. </LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>17</FONT></DIV>
<DIV Class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;If n &lt; Num'Scale, then the above number is
the result of rounding (away from 0 if exactly midway between values).</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>18</FONT></DIV>
<DIV Class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;If Blank_When_Zero = True and the displayed magnitude
of Item is zero, then the edited output string comprises all space character
values. Otherwise, the picture String is treated as a sequence of instances
of syntactic categories based on the rules in <A HREF="AA-F-3-1.html">F.3.1</A>,
and the edited output string is the concatenation of string values derived
from these categories according to the following mapping rules.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>19</FONT></DIV>
<DIV Class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;Table F-1 shows the mapping from a sign control
symbol to a corresponding character or string in the edited output. In
the columns showing the edited output, a lower-case 'b' represents the
space character. If there is no sign control symbol but the value of
Item is negative, a layout error occurs and no edited output string is
produced.</DIV>
<DIV Class="SyntaxIndented"><TABLE frame="border" rules="all" border="2"><CAPTION><B>Table F-1: Edited Output for Sign Control Symbols</B></CAPTION>
<TR><TH align="center"><B>Sign Control Symbol</B><TH align="center"><B>Edited
Output for <BR>
Non-Negative Number</B><TH align="center"><B>Edited Output for <BR>
Negative Number</B>
<TR><TD align="center">'+'<TD align="center">'+'<TD align="center">'-'
<TR><TD align="center">'-'<TD align="center">'b'<TD align="center">'-'
<TR><TD align="center">'&lt;'<TD align="center">'b'<TD align="center">'('
<TR><TD align="center">'&gt;'<TD align="center">'b'<TD align="center">')'
<TR><TD align="center">&quot;CR&quot;<TD align="center">&quot;bb&quot;<TD align="center">&quot;CR&quot;
<TR><TD align="center">&quot;DB&quot;<TD align="center">&quot;bb&quot;<TD align="center">&quot;DB&quot;
</TABLE>
</TABLE></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>20</FONT></DIV>
<DIV Class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;An instance of <FONT FACE="Arial, Helvetica">fixed_LHS_sign</FONT>
maps to a character as shown in Table F-1.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>21</FONT></DIV>
<DIV Class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;An instance of <FONT FACE="Arial, Helvetica">fixed_$_char</FONT>
maps to Currency.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>22</FONT></DIV>
<DIV Class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;An instance of <FONT FACE="Arial, Helvetica">direct_insertion</FONT>
maps to Separator if <FONT FACE="Arial, Helvetica">direct_insertion</FONT>
= '_', and to the <FONT FACE="Arial, Helvetica">direct_insertion</FONT>
Character otherwise.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>23</FONT></DIV>
<DIV Class="Normal" Style="margin-bottom: 0.4em">&nbsp;&nbsp;&nbsp;&nbsp;An instance of
<FONT FACE="Arial, Helvetica">number</FONT> maps to a string <I>integer_part</I>
&amp; <I>radix_part</I> &amp; <I>fraction_part</I> where: </DIV>
<DIV Class="Paranum"><FONT SIZE=-2>24</FONT></DIV>
<UL Class="Bulleted"><LI TYPE=DISC>The string for <I>integer_part</I> is obtained as follows:
</LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>25</FONT></DIV>
<DL Class="NestedEnumerated"><DT>1.<DD Class="Enumerated">
Occurrences of '9' in <FONT FACE="Arial, Helvetica">fore_digits</FONT>
of <FONT FACE="Arial, Helvetica">number</FONT> are replaced from right
to left with the decimal digit character values for I<SUB><FONT SIZE=+1><FONT SIZE=-2>1</FONT></FONT></SUB>,
..., I<SUB><FONT SIZE=+1><FONT SIZE=-2>p</FONT></FONT></SUB>, respectively.</DL>
<DIV Class="Paranum"><FONT SIZE=-2>26</FONT></DIV>
<DL Class="NestedEnumerated"><DT>2.<DD Class="Enumerated">
Each occurrence of '9' in <FONT FACE="Arial, Helvetica">fore_digits</FONT>
to the left of the leftmost '9' replaced according to rule 1 is replaced
with '0'.</DL>
<DIV Class="Paranum"><FONT SIZE=-2>27</FONT></DIV>
<DL Class="NestedEnumerated"><DT>3.<DD Class="Enumerated">
If p exceeds the number of occurrences of '9' in <FONT FACE="Arial, Helvetica">fore_digits</FONT>
of <FONT FACE="Arial, Helvetica">number</FONT>, then the excess leftmost
digits are eligible for use in the mapping of an instance of <FONT FACE="Arial, Helvetica">zero_suppression</FONT>,
<FONT FACE="Arial, Helvetica">floating_LHS_sign</FONT>, <FONT FACE="Arial, Helvetica">floating_$_currency</FONT>,
or <FONT FACE="Arial, Helvetica">floating_#_currency</FONT> to the left
of <FONT FACE="Arial, Helvetica">number</FONT>; if there is no such instance,
then a layout error occurs and no edited output string is produced. </DL>
<DIV Class="Paranum"><FONT SIZE=-2>28</FONT></DIV>
<UL Class="Bulleted" Style="margin-bottom: 0.3em"><LI TYPE=DISC>The <I>radix_part</I> is: </LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>29</FONT></DIV>
<UL Class="NestedBulleted"><LI TYPE=DISC>&quot;&quot; if <FONT FACE="Arial, Helvetica">number</FONT>
does not include a <FONT FACE="Arial, Helvetica">radix</FONT>, if <FONT FACE="Arial, Helvetica">radix</FONT>
= 'V', or if <FONT FACE="Arial, Helvetica">radix</FONT> = 'v'</LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>30</FONT></DIV>
<UL Class="NestedBulleted"><LI TYPE=DISC>Radix_Mark if <FONT FACE="Arial, Helvetica">number</FONT>
includes '.' as <FONT FACE="Arial, Helvetica">radix</FONT> </LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>31</FONT></DIV>
<UL Class="Bulleted" Style="margin-bottom: 0.3em"><LI TYPE=DISC>The string for <I>fraction_part</I> is obtained as follows:
</LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>32</FONT></DIV>
<DL Class="NestedEnumerated"><DT>1.<DD Class="Enumerated">
Occurrences of '9' in <FONT FACE="Arial, Helvetica">aft_digits</FONT>
of <FONT FACE="Arial, Helvetica">number</FONT> are replaced from left
to right with the decimal digit character values for F<SUB><FONT SIZE=+1><FONT SIZE=-2>1</FONT></FONT></SUB>,
... F<SUB><FONT SIZE=+1><FONT SIZE=-2>q</FONT></FONT></SUB>.</DL>
<DIV Class="Paranum"><FONT SIZE=-2>33</FONT></DIV>
<DL Class="NestedEnumerated"><DT>2.<DD Class="Enumerated">
Each occurrence of '9' in <FONT FACE="Arial, Helvetica">aft_digits</FONT>
to the right of the rightmost '9' replaced according to rule 1 is replaced
by '0'. </DL>
<DIV Class="Paranum"><FONT SIZE=-2>34</FONT></DIV>
<DIV Class="Normal" Style="margin-bottom: 0.4em">&nbsp;&nbsp;&nbsp;&nbsp;An instance of
<FONT FACE="Arial, Helvetica">zero_suppression</FONT> maps to the string
obtained as follows: </DIV>
<DIV Class="Paranum"><FONT SIZE=-2>35</FONT></DIV>
<DL Class="Enumerated"><DT>&nbsp;&nbsp;&nbsp;&nbsp;1.<DD Class="Enumerated">
The rightmost 'Z', 'z', or '*' Character values are replaced with the
excess digits (if any) from the <I>integer_part</I> of the mapping of
the <FONT FACE="Arial, Helvetica">number</FONT> to the right of the <FONT FACE="Arial, Helvetica">zero_suppression</FONT>
instance,</DL>
<DIV Class="Paranum"><FONT SIZE=-2>36</FONT></DIV>
<DL Class="Enumerated"><DT>&nbsp;&nbsp;&nbsp;&nbsp;2.<DD Class="Enumerated">
A <FONT FACE="Arial, Helvetica">context_sensitive_insertion</FONT> Character
is replaced as though it were a <FONT FACE="Arial, Helvetica">direct_insertion</FONT>
Character, if it occurs to the right of some 'Z', 'z', or '*' in <FONT FACE="Arial, Helvetica">zero_suppression</FONT>
that has been mapped to an excess digit,</DL>
<DIV Class="Paranum"><FONT SIZE=-2>37</FONT></DIV>
<DL Class="Enumerated" Style="margin-bottom: 0.3em"><DT>&nbsp;&nbsp;&nbsp;&nbsp;3.<DD Class="Enumerated">
Each Character to the left of the leftmost Character replaced according
to rule 1 above is replaced by: </DL>
<DIV Class="Paranum"><FONT SIZE=-2>38</FONT></DIV>
<UL Class="NestedBulleted"><LI TYPE=DISC>the space character if the zero suppression Character is
'Z' or 'z', or</LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>39</FONT></DIV>
<UL Class="NestedBulleted"><LI TYPE=DISC>the Fill character if the zero suppression Character is
'*'. </LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>40</FONT></DIV>
<DL Class="Enumerated"><DT>&nbsp;&nbsp;&nbsp;&nbsp;4.<DD Class="Enumerated">
A layout error occurs if some excess digits remain after all 'Z', 'z',
and '*' Character values in <FONT FACE="Arial, Helvetica">zero_suppression</FONT>
have been replaced via rule 1; no edited output string is produced. </DL>
<DIV Class="Paranum"><FONT SIZE=-2>41</FONT></DIV>
<DIV Class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;An instance of <FONT FACE="Arial, Helvetica">RHS_sign</FONT>
maps to a character or string as shown in Table F-1.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>42</FONT></DIV>
<DIV Class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;An instance of <FONT FACE="Arial, Helvetica">floating_LHS_sign</FONT>
maps to the string obtained as follows. </DIV>
<DIV Class="Paranum"><FONT SIZE=-2>43</FONT></DIV>
<DL Class="Enumerated"><DT>&nbsp;&nbsp;&nbsp;&nbsp;1.<DD Class="Enumerated">
Up to all but one of the rightmost <FONT FACE="Arial, Helvetica">LHS_Sign</FONT>
Character values are replaced by the excess digits (if any) from the
<I>integer_part</I> of the mapping of the <FONT FACE="Arial, Helvetica">number</FONT>
to the right of the <FONT FACE="Arial, Helvetica">floating_LHS_sign</FONT>
instance.</DL>
<DIV Class="Paranum"><FONT SIZE=-2>44</FONT></DIV>
<DL Class="Enumerated"><DT>&nbsp;&nbsp;&nbsp;&nbsp;2.<DD Class="Enumerated">
The next Character to the left is replaced with the character given by
the entry in Table F-1 corresponding to the <FONT FACE="Arial, Helvetica">LHS_Sign</FONT>
Character.</DL>
<DIV Class="Paranum"><FONT SIZE=-2>45</FONT></DIV>
<DL Class="Enumerated"><DT>&nbsp;&nbsp;&nbsp;&nbsp;3.<DD Class="Enumerated">
A <FONT FACE="Arial, Helvetica">context_sensitive_insertion</FONT> Character
is replaced as though it were a <FONT FACE="Arial, Helvetica">direct_insertion</FONT>
Character, if it occurs to the right of the leftmost <FONT FACE="Arial, Helvetica">LHS_Sign</FONT>
character replaced according to rule 1.</DL>
<DIV Class="Paranum"><FONT SIZE=-2>46</FONT></DIV>
<DL Class="Enumerated"><DT>&nbsp;&nbsp;&nbsp;&nbsp;4.<DD Class="Enumerated">
Any other Character is replaced by the space character..</DL>
<DIV Class="Paranum"><FONT SIZE=-2>47</FONT></DIV>
<DL Class="Enumerated"><DT>&nbsp;&nbsp;&nbsp;&nbsp;5.<DD Class="Enumerated">
A layout error occurs if some excess digits remain after replacement
via rule 1; no edited output string is produced. </DL>
<DIV Class="Paranum"><FONT SIZE=-2>48</FONT></DIV>
<DIV Class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;An instance of <FONT FACE="Arial, Helvetica">fixed_#_currency</FONT>
maps to the Currency string with n space character values concatenated
on the left (if the instance does not follow a <FONT FACE="Arial, Helvetica">radix</FONT>)
or on the right (if the instance does follow a <FONT FACE="Arial, Helvetica">radix</FONT>),
where n is the difference between the length of the <FONT FACE="Arial, Helvetica">fixed_#_currency</FONT>
instance and Currency'Length. A layout error occurs if Currency'Length
exceeds the length of the <FONT FACE="Arial, Helvetica">fixed_#_currency</FONT>
instance; no edited output string is produced.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>49</FONT></DIV>
<DIV Class="Normal" Style="margin-bottom: 0.4em">&nbsp;&nbsp;&nbsp;&nbsp;An instance of
<FONT FACE="Arial, Helvetica">floating_$_currency</FONT> maps to the
string obtained as follows: </DIV>
<DIV Class="Paranum"><FONT SIZE=-2>50</FONT></DIV>
<DL Class="Enumerated"><DT>&nbsp;&nbsp;&nbsp;&nbsp;1.<DD Class="Enumerated">
Up to all but one of the rightmost '$' Character values are replaced
with the excess digits (if any) from the <I>integer_part</I> of the mapping
of the <FONT FACE="Arial, Helvetica">number</FONT> to the right of the
<FONT FACE="Arial, Helvetica">floating_$_currency</FONT> instance.</DL>
<DIV Class="Paranum"><FONT SIZE=-2>51</FONT></DIV>
<DL Class="Enumerated"><DT>&nbsp;&nbsp;&nbsp;&nbsp;2.<DD Class="Enumerated">
The next Character to the left is replaced by the Currency string.</DL>
<DIV Class="Paranum"><FONT SIZE=-2>52</FONT></DIV>
<DL Class="Enumerated"><DT>&nbsp;&nbsp;&nbsp;&nbsp;3.<DD Class="Enumerated">
A <FONT FACE="Arial, Helvetica">context_sensitive_insertion</FONT> Character
is replaced as though it were a <FONT FACE="Arial, Helvetica">direct_insertion</FONT>
Character, if it occurs to the right of the leftmost '$' Character replaced
via rule 1.</DL>
<DIV Class="Paranum"><FONT SIZE=-2>53</FONT></DIV>
<DL Class="Enumerated"><DT>&nbsp;&nbsp;&nbsp;&nbsp;4.<DD Class="Enumerated">
Each other Character is replaced by the space character.</DL>
<DIV Class="Paranum"><FONT SIZE=-2>54</FONT></DIV>
<DL Class="Enumerated"><DT>&nbsp;&nbsp;&nbsp;&nbsp;5.<DD Class="Enumerated">
A layout error occurs if some excess digits remain after replacement
by rule 1; no edited output string is produced. </DL>
<DIV Class="Paranum"><FONT SIZE=-2>55</FONT></DIV>
<DIV Class="Normal" Style="margin-bottom: 0.4em">&nbsp;&nbsp;&nbsp;&nbsp;An instance of
<FONT FACE="Arial, Helvetica">floating_#_currency</FONT> maps to the
string obtained as follows: </DIV>
<DIV Class="Paranum"><FONT SIZE=-2>56</FONT></DIV>
<DL Class="Enumerated"><DT>&nbsp;&nbsp;&nbsp;&nbsp;1.<DD Class="Enumerated">
Up to all but one of the rightmost '#' Character values are replaced
with the excess digits (if any) from the <I>integer_part</I> of the mapping
of the <FONT FACE="Arial, Helvetica">number</FONT> to the right of the
<FONT FACE="Arial, Helvetica">floating_#_currency</FONT> instance.</DL>
<DIV Class="Paranum"><FONT SIZE=-2>57</FONT></DIV>
<DL Class="Enumerated"><DT>&nbsp;&nbsp;&nbsp;&nbsp;2.<DD Class="Enumerated">
The substring whose last Character occurs at the position immediately
preceding the leftmost Character replaced via rule 1, and whose length
is Currency'Length, is replaced by the Currency string.</DL>
<DIV Class="Paranum"><FONT SIZE=-2>58</FONT></DIV>
<DL Class="Enumerated"><DT>&nbsp;&nbsp;&nbsp;&nbsp;3.<DD Class="Enumerated">
A <FONT FACE="Arial, Helvetica">context_sensitive_insertion</FONT> Character
is replaced as though it were a <FONT FACE="Arial, Helvetica">direct_insertion</FONT>
Character, if it occurs to the right of the leftmost '#' replaced via
rule 1.</DL>
<DIV Class="Paranum"><FONT SIZE=-2>59</FONT></DIV>
<DL Class="Enumerated"><DT>&nbsp;&nbsp;&nbsp;&nbsp;4.<DD Class="Enumerated">
Any other Character is replaced by the space character.</DL>
<DIV Class="Paranum"><FONT SIZE=-2>60</FONT></DIV>
<DL Class="Enumerated"><DT>&nbsp;&nbsp;&nbsp;&nbsp;5.<DD Class="Enumerated">
A layout error occurs if some excess digits remain after replacement
rule 1, or if there is no substring with the required length for replacement
rule 2; no edited output string is produced. </DL>
<DIV Class="Paranum"><FONT SIZE=-2>61</FONT></DIV>
<DIV Class="Normal" Style="margin-bottom: 0.4em">&nbsp;&nbsp;&nbsp;&nbsp;An instance of
<FONT FACE="Arial, Helvetica">all_zero_suppression_number</FONT> maps
to: </DIV>
<DIV Class="Paranum"><FONT SIZE=-2>62</FONT></DIV>
<UL Class="Bulleted"><LI TYPE=DISC>a string of all spaces if the displayed magnitude of Item
is zero, the <FONT FACE="Arial, Helvetica">zero_suppression_char</FONT>
is 'Z' or 'z', and the instance of <FONT FACE="Arial, Helvetica">all_zero_suppression_number</FONT>
does not have a <FONT FACE="Arial, Helvetica">radix</FONT> at its last
character position;</LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>63</FONT></DIV>
<UL Class="Bulleted"><LI TYPE=DISC>a string containing the Fill character in each position
except for the character (if any) corresponding to <FONT FACE="Arial, Helvetica">radix</FONT>,
if <FONT FACE="Arial, Helvetica">zero_suppression_char</FONT> = '*' and
the displayed magnitude of Item is zero;</LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>64</FONT></DIV>
<UL Class="Bulleted"><LI TYPE=DISC>otherwise, the same result as if each <FONT FACE="Arial, Helvetica">zero_suppression_char</FONT>
in <FONT FACE="Arial, Helvetica">all_zero_suppression_aft</FONT> were
'9', interpreting the instance of <FONT FACE="Arial, Helvetica">all_zero_suppression_number</FONT>
as either <FONT FACE="Arial, Helvetica">zero_suppression</FONT> <FONT FACE="Arial, Helvetica">number</FONT>
(if a <FONT FACE="Arial, Helvetica">radix</FONT> and <FONT FACE="Arial, Helvetica">all_zero_suppression_aft</FONT>
are present), or as <FONT FACE="Arial, Helvetica">zero_suppression</FONT>
otherwise. </LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>65</FONT></DIV>
<DIV Class="Normal" Style="margin-bottom: 0.4em">&nbsp;&nbsp;&nbsp;&nbsp;An instance of
<FONT FACE="Arial, Helvetica">all_sign_number</FONT> maps to: </DIV>
<DIV Class="Paranum"><FONT SIZE=-2>66</FONT></DIV>
<UL Class="Bulleted"><LI TYPE=DISC>a string of all spaces if the displayed magnitude of Item
is zero and the instance of <FONT FACE="Arial, Helvetica">all_sign_number</FONT>
does not have a <FONT FACE="Arial, Helvetica">radix</FONT> at its last
character position;</LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>67</FONT></DIV>
<UL Class="Bulleted"><LI TYPE=DISC>otherwise, the same result as if each <FONT FACE="Arial, Helvetica">sign_char</FONT>
in <FONT FACE="Arial, Helvetica">all_sign_number_aft</FONT> were '9',
interpreting the instance of <FONT FACE="Arial, Helvetica">all_sign_number</FONT>
as either <FONT FACE="Arial, Helvetica">floating_LHS_sign</FONT> <FONT FACE="Arial, Helvetica">number</FONT>
(if a <FONT FACE="Arial, Helvetica">radix</FONT> and <FONT FACE="Arial, Helvetica">all_sign_number_aft</FONT>
are present), or as <FONT FACE="Arial, Helvetica">floating_LHS_sign</FONT>
otherwise. </LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>68</FONT></DIV>
<DIV Class="Normal" Style="margin-bottom: 0.4em">&nbsp;&nbsp;&nbsp;&nbsp;An instance of
<FONT FACE="Arial, Helvetica">all_currency_number</FONT> maps to: </DIV>
<DIV Class="Paranum"><FONT SIZE=-2>69</FONT></DIV>
<UL Class="Bulleted"><LI TYPE=DISC>a string of all spaces if the displayed magnitude of Item
is zero and the instance of <FONT FACE="Arial, Helvetica">all_currency_number</FONT>
does not have a <FONT FACE="Arial, Helvetica">radix</FONT> at its last
character position;</LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>70</FONT></DIV>
<UL Class="Bulleted"><LI TYPE=DISC>otherwise, the same result as if each <FONT FACE="Arial, Helvetica">currency_char</FONT>
in <FONT FACE="Arial, Helvetica">all_currency_number_aft</FONT> were
'9', interpreting the instance of <FONT FACE="Arial, Helvetica">all_currency_number</FONT>
as <FONT FACE="Arial, Helvetica">floating_$_currency</FONT> <FONT FACE="Arial, Helvetica">number</FONT>
or <FONT FACE="Arial, Helvetica">floating_#_currency</FONT> <FONT FACE="Arial, Helvetica">number</FONT>
(if a <FONT FACE="Arial, Helvetica">radix</FONT> and <FONT FACE="Arial, Helvetica">all_currency_number_aft</FONT>
are present), or as <FONT FACE="Arial, Helvetica">floating_$_currency</FONT>
or <FONT FACE="Arial, Helvetica">floating_#_currency</FONT> otherwise.
</LI></UL>

<H4 ALIGN=CENTER>Examples</H4>
<DIV Class="Paranum"><FONT SIZE=-2>71</FONT></DIV>
<DIV Class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;In the result string values shown below, 'b'
represents the space character. </DIV>
<DIV Class="Paranum"><FONT SIZE=-2>72</FONT></DIV>
<DIV Class="Examples"><TT>Item:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Picture&nbsp;and&nbsp;Result&nbsp;Strings:</TT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>73</FONT></DIV>
<DIV Class="Examples"><TT>123456.78&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Picture:&nbsp;&nbsp;&quot;-###**_***_**9.99&quot;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;bbb$***123,456.78&quot;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;bbFF***123.456,78&quot;&nbsp;(currency&nbsp;=&nbsp;&quot;FF&quot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;separator&nbsp;=&nbsp;'.',<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;radix&nbsp;mark&nbsp;=&nbsp;',')</TT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>74/1</FONT></DIV>
<DIV Class="Examples"><TT>{<I><A HREF="defect1.html#8652/0089">8652/0089</A></I>}
<BR>
123456.78&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Picture:&nbsp;&nbsp;&quot;-<S>$$</S>$**_***_**9.99&quot;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result:&nbsp;&nbsp;&nbsp;&quot;<S>bb</S>b$***123,456.78&quot;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;b<S>bb</S>FF***123.456,78&quot;&nbsp;(currency&nbsp;=&nbsp;&quot;FF&quot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<S>&nbsp;&nbsp;</S>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;separator&nbsp;=&nbsp;'.',<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<S>&nbsp;&nbsp;</S>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;radix&nbsp;mark&nbsp;=&nbsp;',')</TT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>75</FONT></DIV>
<DIV Class="Examples"><TT>0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Picture:&nbsp;&quot;-$$$$$$.$$&quot;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result:&nbsp;&nbsp;&quot;bbbbbbbbbb&quot;</TT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>76</FONT></DIV>
<DIV Class="Examples"><TT>0.20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Picture:&nbsp;&quot;-$$$$$$.$$&quot;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result:&nbsp;&nbsp;&quot;bbbbbb$.20&quot;</TT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>77</FONT></DIV>
<DIV Class="Examples"><TT>-1234.565&nbsp;&nbsp;&nbsp;&nbsp;Picture:&nbsp;&quot;&lt;&lt;&lt;&lt;_&lt;&lt;&lt;.&lt;&lt;###&gt;&quot;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result:&nbsp;&nbsp;&quot;bb(1,234.57DMb)&quot;&nbsp;&nbsp;(currency&nbsp;=&nbsp;&quot;DM&quot;)</TT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>78</FONT></DIV>
<DIV Class="Examples"><TT>12345.67&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Picture:&nbsp;&quot;###_###_##9.99&quot;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result:&nbsp;&nbsp;&quot;bbCHF12,345.67&quot;&nbsp;&nbsp;&nbsp;(currency&nbsp;=&nbsp;&quot;CHF&quot;)</TT></DIV>

<HR>
<P><A HREF="AA-TOC.html">Contents</A>&nbsp;&nbsp;&nbsp;<A HREF="AA-0-29.html">Index</A>&nbsp;&nbsp;&nbsp;<A HREF="AA-F-3-1.html">Previous</A>&nbsp;&nbsp;&nbsp;<A HREF="AA-F-3-3.html">Next</A>&nbsp;&nbsp;&nbsp;<A HREF="AA-TTL.html">Legal</A></P>
</BODY>
</HTML>