This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Universal Character Names, v2


Geoff Keating <geoffk@geoffk.org> writes:

> You are right, I forgot about that.  Yes, identifier characters (not
> digits) can be contained in preprocessor numbers.

Maybe you can help to interpret an aspect of C99 to me: The Annex is
titled "Universal character names for identifiers", and says

       [#1] This clause lists the hexadecimal code values that  are
       valid in universal character names in identifiers.

But then it has characters listed as "Digits" and "Special characters".

Do these classifications have any significance? If so, which one?
I.e. could I use \u0660 in identifiers? Can I use it to start an
identifier?

I took 6.4.2.1p3 into consideration, which says

# The initial character shall not be a universal character name
# designating a digit.

and came to the following conclusions:

- Only the category named "Digits" has special meaning. All other
  characters listed in the annex can appear anywhere in an identifier
  an a pp-number.
- A UCN from the "Digits" section may appear both in identifiers
  and pp-numbers, but not as the first character.

Do you agree?

Regards,
Martin


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]