Допустимые имена заголовков

92
11

Я не могу правильно понять, что они означают в следующей статье:


http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1566.htm


Интересно отметить, что C89 явно допускал только буквы в заголовок и включить имена файлов. С++ добавлены символы подчеркивания, а C99 добавлен цифры. Вероятно, оба стандарта должны допускать оба.



Я нашел следующие утверждения во всех стандартах C и С++:


ISO/IEC 9899: 1990



6.1.7 Header names

Syntax
1 header-name:
< h-char-sequence >
" q-char-sequence "
h-char-sequence:
h-char
h-char-sequence h-char
h-char:
any member of the source character set except
the new-line character and >
q-char-sequence:
q-char
q-char-sequence q-char
q-char:
any member of the source character set except
the new-line character and "



ISO/IEC 9899: 1990



5.2.1 Character sets

...

Both the basic source and basic execution character sets shall have the following
members: the 26 uppercase letters of the Latin alphabet

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

the 26 lowercase letters of the Latin alphabet

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

the 10 decimal digits

0 1 2 3 4 5 6 7 8 9

the following 29 graphic characters

! " # % & ' ( ) * + , — . / :
; < = > ? [ \ ] ^ _ { | } ~



Например, я вижу символы подчеркивания и цифры даже в C89/C90.

спросил(а) 2013-03-31T19:24:00+04:00 7 лет, 7 месяцев назад
1
Решение
71

Он обращается к этому:


Должно существовать сопоставление, определяемое реализацией между разделителями последовательность и имя внешнего источника. Реализация обеспечивают уникальные отображения для последовательностей, состоящих из одного или нескольких буквы (как определено в 2.2.1.1), за которым следует период (.) и один письмо. Реализация может игнорировать различия в алфавитном порядке и ограничивать отображение до шести значительных символов до периода.



(C89)

Это версия C99:


Реализация должна обеспечивать уникальные сопоставления для последовательностей состоящий из одной или нескольких букв или цифр (как это определено в 5.2.1) за которым следует период (.) и одна буква. Первый персонаж должен быть буквой. Реализация может игнорировать различия в алфавитном порядке и ограничивать отображение восьми значимых символов до периода.


ответил(а) 2013-03-31T19:41:00+04:00 7 лет, 7 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема