Contents   Index   Search   Related Documents   Previous   Next


2.3 Identifiers

1
   Identifiers are used as names.

Syntax

2/2
identifier ::=
   identifier_start {identifier_start | identifier_extend}
3/2
identifier_start ::=
     letter_uppercase
   | letter_lowercase
   | letter_titlecase
   | letter_modifier
   | letter_other
   | number_letter
3.1/2
identifier_extend ::=
     mark_non_spacing
   | mark_spacing_combining
   | number_decimal_digit
   | punctuation_connector
   | other_format
4/2
After eliminating the characters in category other_format, an identifier shall not contain two consecutive characters in category punctuation_connector, or end with a character in that category.

Static Semantics

5/2
     Two identifiers are considered the same if they consist of the same sequence of characters after applying the following transformations (in this order):
5.1/2
5.2/2
5.3/2
       After applying these transformations, an identifier shall not be identical to a reserved word (in upper case).

Implementation Permissions

6
   In a nonstandard mode, an implementation may support other upper/lower case equivalence rules for identifiers, to accommodate local conventions.
NOTES
6.1/2
3  Identifiers differing only in the use of corresponding upper and lower case letters are considered the same.

Examples

7
   Examples of identifiers:
8/2
Count      X    Get_Symbol   Ethelyn   Marion
Snobol_4   X1   Page_Count   Store_Next_Item
Πλάτων      -- Plato
Чайковский  -- Tchaikovsky
θ  φ        -- Angles

Contents   Index   Search   Related Documents   Previous   Next   Legal