identifier: identifier-nondigit identifier identifier-nondigit identifier digit other implementation-defined charactersidentifier-nondigit: nondigit universal-character-name
nondigit: one of_ a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
digit: one of0 1 2 3 4 5 6 7 8 9
788
An identifier is a sequence of nondigit characters (including the
underscore
789 Lowercase and uppercase letters are distinct.
790 There is no specific limit on the maximum length of an identifier.
791 Each universal character name in an identifier shall designate a character whose encoding in ISO/IEC 10646 falls into one of the ranges specified in annex D.60)
792 The initial character shall not be a universal character name designating a digit.
793 An implementation may allow multibyte characters that are not part of the basic source character set to appear in identifiers;
794 which characters and their correspondence to universal character names is implementation-defined.
795 When preprocessing tokens are converted to tokens during translation phase 7, if a preprocessing token could be converted to either a keyword or an identifier, it is converted to a keyword.
796 60) On systems in which linkers cannot accept extended characters, an encoding of the universal character name may be used in forming valid external identifiers.
797
For example, some otherwise unused character or sequence of
characters may be used to encode the
798 Extended characters may produce a long external identifier.
799 As discussed in 5.2.4.1, an implementation may limit the number of significant initial characters in an identifier;
800 the limit for an external name (an identifier that has external linkage) may be more restrictive than that for an internal name (a macro name or an identifier that does not have external linkage).
801 The number of significant characters in an identifier is implementation-defined.
802 Any identifiers that differ in a significant character are different identifiers.
803 If two identifiers differ only in nonsignificant characters, the behavior is undefined.
804 Forward references: universal character names (6.4.3), macro replacement (6.10.3).
Next
Created at: 2005-06-29 02:18:57
The text from WG14/N1124 is copyright © ISO