6.4.2.1 General

Previous Table of Contents

787

identifier:
                identifier-nondigit
                identifier identifier-nondigit
                identifier digit

identifier-nondigit: nondigit universal-character-name other implementation-defined characters

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 of 0 1 2 3 4 5 6 7 8 9

788 An identifier is a sequence of nondigit characters (including the underscore _, the lowercase and uppercase Latin letters, and other characters) and digits, which designates one or more entities as described in 6.2.1.

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 \u in a universal character name.

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