3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-11-19 10:29:30 +01:00

Updated indentation of n1256.txt for make benefit better generation

This commit is contained in:
Pragmatic Software 2010-07-22 21:08:16 +00:00
parent 5b0aef5e31
commit e81a6a67c8

View File

@ -336,45 +336,45 @@
2. Each instance of a backslash character (\) immediately followed by a new-line 2. Each instance of a backslash character (\) immediately followed by a new-line
character is deleted, splicing physical source lines to form logical source lines. character is deleted, splicing physical source lines to form logical source lines.
Only the last backslash on any physical source line shall be eligible for being part Only the last backslash on any physical source line shall be eligible for being part
of such a splice. A source file that is not empty shall end in a new-line character, of such a splice. A source file that is not empty shall end in a new-line character,
which shall not be immediately preceded by a backslash character before any such which shall not be immediately preceded by a backslash character before any such
splicing takes place. splicing takes place.
3. The source file is decomposed into preprocessing tokens6) and sequences of 3. The source file is decomposed into preprocessing tokens6) and sequences of
white-space characters (including comments). A source file shall not end in a white-space characters (including comments). A source file shall not end in a
partial preprocessing token or in a partial comment. Each comment is replaced by partial preprocessing token or in a partial comment. Each comment is replaced by
one space character. New-line characters are retained. Whether each nonempty one space character. New-line characters are retained. Whether each nonempty
sequence of white-space characters other than new-line is retained or replaced by sequence of white-space characters other than new-line is retained or replaced by
one space character is implementation-defined. one space character is implementation-defined.
4. Preprocessing directives are executed, macro invocations are expanded, and 4. Preprocessing directives are executed, macro invocations are expanded, and
_Pragma unary operator expressions are executed. If a character sequence that _Pragma unary operator expressions are executed. If a character sequence that
matches the syntax of a universal character name is produced by token matches the syntax of a universal character name is produced by token
concatenation (6.10.3.3), the behavior is undefined. A #include preprocessing concatenation (6.10.3.3), the behavior is undefined. A #include preprocessing
directive causes the named header or source file to be processed from phase 1 directive causes the named header or source file to be processed from phase 1
through phase 4, recursively. All preprocessing directives are then deleted. through phase 4, recursively. All preprocessing directives are then deleted.
5. Each source character set member and escape sequence in character constants and 5. Each source character set member and escape sequence in character constants and
string literals is converted to the corresponding member of the execution character string literals is converted to the corresponding member of the execution character
set; if there is no corresponding member, it is converted to an implementation- set; if there is no corresponding member, it is converted to an implementation-
defined member other than the null (wide) character.7) defined member other than the null (wide) character.7)
6. Adjacent string literal tokens are concatenated. 6. Adjacent string literal tokens are concatenated.
7. White-space characters separating tokens are no longer significant. Each 7. White-space characters separating tokens are no longer significant. Each
preprocessing token is converted into a token. The resulting tokens are preprocessing token is converted into a token. The resulting tokens are
syntactically and semantically analyzed and translated as a translation unit. syntactically and semantically analyzed and translated as a translation unit.
8. All external object and function references are resolved. Library components are 8. All external object and function references are resolved. Library components are
linked to satisfy external references to functions and objects not defined in the linked to satisfy external references to functions and objects not defined in the
current translation. All such translator output is collected into a program image current translation. All such translator output is collected into a program image
which contains information needed for execution in its execution environment. which contains information needed for execution in its execution environment.
Forward references: universal character names (6.4.3), lexical elements (6.4), Forward references: universal character names (6.4.3), lexical elements (6.4),
preprocessing directives (6.10), trigraph sequences (5.2.1.1), external definitions (6.9). preprocessing directives (6.10), trigraph sequences (5.2.1.1), external definitions (6.9).
6) As described in 6.4, the process of dividing a source file's characters into preprocessing tokens is 6) As described in 6.4, the process of dividing a source file's characters into preprocessing tokens is
context-dependent. For example, see the handling of < within a #include preprocessing directive. context-dependent. For example, see the handling of < within a #include preprocessing directive.
7) An implementation need not convert all non-corresponding source characters to the same execution 7) An implementation need not convert all non-corresponding source characters to the same execution
character. character.
@ -5427,26 +5427,26 @@ Forward references: conditional inclusion (6.10.1), complex arithmetic
label in the enclosing function. label in the enclosing function.
3 EXAMPLE 1 It is sometimes convenient to jump into the middle of a complicated set of statements. The 3 EXAMPLE 1 It is sometimes convenient to jump into the middle of a complicated set of statements. The
following outline presents one possible approach to a problem based on these three assumptions: following outline presents one possible approach to a problem based on these three assumptions:
1. The general initialization code accesses objects only visible to the current function. 1. The general initialization code accesses objects only visible to the current function.
2. The general initialization code is too large to warrant duplication. 2. The general initialization code is too large to warrant duplication.
3. The code to determine the next operation is at the head of the loop. (To allow it to be reached by 3. The code to determine the next operation is at the head of the loop. (To allow it to be reached by
continue statements, for example.) continue statements, for example.)
/* ... */ /* ... */
goto first_time; goto first_time;
for (;;) { for (;;) {
// determine next operation // determine next operation
/* ... */ /* ... */
if (need to reinitialize) { if (need to reinitialize) {
// reinitialize-only code // reinitialize-only code
/* ... */ /* ... */
first_time: first_time:
// general initialization code // general initialization code
/* ... */ /* ... */
continue; continue;
} }
// handle other operations // handle other operations
/* ... */ /* ... */
} }
@ -6290,7 +6290,7 @@ Forward references: conditional inclusion (6.10.1), complex arithmetic
causes the implementation to behave as if the following sequence of source lines begins causes the implementation to behave as if the following sequence of source lines begins
with a source line that has a line number as specified by the digit sequence (interpreted as with a source line that has a line number as specified by the digit sequence (interpreted as
a decimal integer). The digit sequence shall not specify zero, nor a number greater than a decimal integer). The digit sequence shall not specify zero, nor a number greater than
2147483647. 2147483647.
4 A preprocessing directive of the form 4 A preprocessing directive of the form
# line digit-sequence "s-char-sequenceopt" new-line # line digit-sequence "s-char-sequenceopt" new-line
sets the presumed line number similarly and changes the presumed name of the source sets the presumed line number similarly and changes the presumed name of the source
@ -10627,6 +10627,11 @@ f,F A double argument representing a floating-point number is converte
any n-char-sequence, is implementation-defined. The F conversion specifier any n-char-sequence, is implementation-defined. The F conversion specifier
produces INF, INFINITY, or NAN instead of inf, infinity, or nan, produces INF, INFINITY, or NAN instead of inf, infinity, or nan,
respectively.243) respectively.243)
243) When applied to infinite and NaN values, the -, +, and space flag characters have their usual meaning;
the # and 0 flag characters have no effect.
e,E A double argument representing a floating-point number is converted in the e,E A double argument representing a floating-point number is converted in the
style [-]d.ddd e±dd, where there is one digit (which is nonzero if the style [-]d.ddd e±dd, where there is one digit (which is nonzero if the
argument is nonzero) before the decimal-point character and the number of argument is nonzero) before the decimal-point character and the number of
@ -10648,12 +10653,6 @@ g,G A double argument representing a floating-point number is converte
P - (X + 1). P - (X + 1).
-- otherwise, the conversion is with style e (or E) and precision P - 1. -- otherwise, the conversion is with style e (or E) and precision P - 1.
Finally, unless the # flag is used, any trailing zeros are removed from the Finally, unless the # flag is used, any trailing zeros are removed from the
243) When applied to infinite and NaN values, the -, +, and space flag characters have their usual meaning;
the # and 0 flag characters have no effect.
fractional portion of the result and the decimal-point character is removed if fractional portion of the result and the decimal-point character is removed if
there is no fractional portion remaining. there is no fractional portion remaining.
A double argument representing an infinity or NaN is converted in the style A double argument representing an infinity or NaN is converted in the style
@ -10686,13 +10685,13 @@ s If no l length modifier is present, the argument shall be a pointe
element of an array of character type.246) Characters from the array are element of an array of character type.246) Characters from the array are
244) Binary implementations can choose the hexadecimal digit to the left of the decimal-point character so 244) Binary implementations can choose the hexadecimal digit to the left of the decimal-point character so
that subsequent digits align to nibble (4-bit) boundaries. that subsequent digits align to nibble (4-bit) boundaries.
245) The precision p is sufficient to distinguish values of the source type if 16 p-1 > b n where b is 245) The precision p is sufficient to distinguish values of the source type if 16 p-1 > b n where b is
FLT_RADIX and n is the number of base-b digits in the significand of the source type. A smaller p FLT_RADIX and n is the number of base-b digits in the significand of the source type. A smaller p
might suffice depending on the implementation's scheme for determining the digit to the left of the might suffice depending on the implementation's scheme for determining the digit to the left of the
decimal-point character. decimal-point character.
246) No special provisions are made for multibyte characters. 246) No special provisions are made for multibyte characters.
@ -10758,7 +10757,7 @@ s If no l length modifier is present, the argument shall be a pointe
if an output or encoding error occurred. if an output or encoding error occurred.
Environmental limits Environmental limits
15 The number of characters that can be produced by any single conversion shall be at least 15 The number of characters that can be produced by any single conversion shall be at least
4095. 4095.
16 EXAMPLE 1 To print a date and time in the form ``Sunday, July 3, 10:02'' followed by to five decimal 16 EXAMPLE 1 To print a date and time in the form ``Sunday, July 3, 10:02'' followed by to five decimal
places: places:
#include <math.h> #include <math.h>
@ -10940,9 +10939,9 @@ s Matches a sequence of non-white-space characters.252)
If an l length modifier is present, the input shall be a sequence of multibyte If an l length modifier is present, the input shall be a sequence of multibyte
252) No special provisions are made for multibyte characters in the matching rules used by the c, s, and [ 252) No special provisions are made for multibyte characters in the matching rules used by the c, s, and [
conversion specifiers -- the extent of the input field is determined on a byte-by-byte basis. The conversion specifiers -- the extent of the input field is determined on a byte-by-byte basis. The
resulting field is nevertheless a sequence of multibyte characters that begins in the initial shift state. resulting field is nevertheless a sequence of multibyte characters that begins in the initial shift state.
@ -13509,10 +13508,10 @@ a,A A double argument representing a floating-point number is converted
is missing and FLT_RADIX is a power of 2, then the precision is sufficient is missing and FLT_RADIX is a power of 2, then the precision is sufficient
283) When applied to infinite and NaN values, the -, +, and space flag wide characters have their usual 283) When applied to infinite and NaN values, the -, +, and space flag wide characters have their usual
meaning; the # and 0 flag wide characters have no effect. meaning; the # and 0 flag wide characters have no effect.
284) Binary implementations can choose the hexadecimal digit to the left of the decimal-point wide 284) Binary implementations can choose the hexadecimal digit to the left of the decimal-point wide
character so that subsequent digits align to nibble (4-bit) boundaries. character so that subsequent digits align to nibble (4-bit) boundaries.
@ -13551,10 +13550,10 @@ s If no l length modifier is present, the argument shall be a pointer
p The argument shall be a pointer to void. The value of the pointer is p The argument shall be a pointer to void. The value of the pointer is
converted to a sequence of printing wide characters, in an implementation- converted to a sequence of printing wide characters, in an implementation-
285) The precision p is sufficient to distinguish values of the source type if 16 p-1 > b n where b is 285) The precision p is sufficient to distinguish values of the source type if 16 p-1 > b n where b is
FLT_RADIX and n is the number of base-b digits in the significand of the source type. A smaller p FLT_RADIX and n is the number of base-b digits in the significand of the source type. A smaller p
might suffice depending on the implementation's scheme for determining the digit to the left of the might suffice depending on the implementation's scheme for determining the digit to the left of the
decimal-point wide character. decimal-point wide character.
@ -13829,15 +13828,15 @@ n No input is consumed. The corresponding argument shall be a pointer to
thompson\0. thompson\0.
18 EXAMPLE 2 The call: 18 EXAMPLE 2 The call:
#include <stdio.h> #include <stdio.h>
#include <wchar.h> #include <wchar.h>
/* ... */ /* ... */
int i; float x; double y; int i; float x; double y;
fwscanf(stdin, L"%2d%f%*d %lf", &i, &x, &y); fwscanf(stdin, L"%2d%f%*d %lf", &i, &x, &y);
with input: with input:
56789 0123 56a72 56789 0123 56a72
will assign to i the value 56 and to x the value 789.0, will skip past 0123, and will assign to y the value will assign to i the value 56 and to x the value 789.0, will skip past 0123, and will assign to y the value
56.0. The next wide character read from the input stream will be a. 56.0. The next wide character read from the input stream will be a.
290) See ``future library directions'' (7.26.12). 290) See ``future library directions'' (7.26.12).
@ -14268,7 +14267,7 @@ n No input is consumed. The corresponding argument shall be a pointer to
4 If the subject sequence has the expected form for a floating-point number, the sequence of 4 If the subject sequence has the expected form for a floating-point number, the sequence of
wide characters starting with the first digit or the decimal-point wide character wide characters starting with the first digit or the decimal-point wide character
(whichever occurs first) is interpreted as a floating constant according to the rules of (whichever occurs first) is interpreted as a floating constant according to the rules of
6.4.4.2, except that the decimal-point wide character is used in place of a period, and that 6.4.4.2, except that the decimal-point wide character is used in place of a period, and that
if neither an exponent part nor a decimal-point wide character appears in a decimal if neither an exponent part nor a decimal-point wide character appears in a decimal
floating point number, or if a binary exponent part does not appear in a hexadecimal floating point number, or if a binary exponent part does not appear in a hexadecimal
floating point number, an exponent part of the appropriate type with value zero is floating point number, an exponent part of the appropriate type with value zero is