Стандарт, 2.9 - че за фигня
От: Sergey Россия  
Дата: 25.08.07 19:12
Оценка:
Читаю и офигеваю:
2.9 Preprocessing numbers [lex.ppnumber]
pp-number:
digit
. digit
pp-number digit
pp-number nondigit
pp-number e sign
pp-number E sign
pp-number .
1 Preprocessing number tokens lexically include all integral literal tokens (2.13.1) and all floating literal
tokens (2.13.3).
2 A preprocessing number does not have a type or a value; it acquires both after a successful conversion (as
part of translation phase 7, 2.1) to an integral literal token or a floating literal token.

Это получается, что .3. или 10.10.sdf_5 — нормальные такие preprocessing numbers? Или эту грамматику надо как-то по другому понимать?
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re: Стандарт, 2.9 - че за фигня
От: Roman Odaisky Украина  
Дата: 26.08.07 09:09
Оценка:
Здравствуйте, Sergey, Вы писали:

S>Это получается, что .3. или 10.10.sdf_5 — нормальные такие preprocessing numbers? Или эту грамматику надо как-то по другому понимать?


Ну да. Различие между 4.e2.f и 194.154.75.214. только в том, что первое представляет как preprocessing number, так и floating-point literal, а второе, хотя и preprocessing number, не подходит ни к какому типу литералов и потому делает программу ill-formed.
До последнего не верил в пирамиду Лебедева.
Re[2]: Стандарт, 2.9 - че за фигня
От: Sergey Россия  
Дата: 26.08.07 09:25
Оценка: 35 (2)
Здравствуйте, Roman Odaisky, Вы писали:

S>>Это получается, что .3. или 10.10.sdf_5 — нормальные такие preprocessing numbers? Или эту грамматику надо как-то по другому понимать?


RO>Ну да. Различие между 4.e2.f и 194.154.75.214. только в том, что первое представляет как preprocessing number, так и floating-point literal, а второе, хотя и preprocessing number, не подходит ни к какому типу литералов и потому делает программу ill-formed.


А я какое-то старое обсуждение сишного комитета на эту тему нашел: http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_003.html
Насколько понял, просто решили на грамматике сэкономить.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.