Ответ 1
Номера предварительной обработки - это странные звери, которые в большинстве случаев предназначены для упрощения записи препроцессора.
pp-number:
digit
. digit
pp-number digit
pp-number identifier-nondigit
pp-number ' digit
pp-number ' nondigit
pp-number e sign
pp-number E sign
pp-number p sign
pp-number P sign
pp-number .
12
- действительный токен числа pp, так что 0xe+foo
(см. Пример в [lex.pptoken]/4), и так. .12.CA'TS_RULE..56.me+owp-urr
. Если последние два делают его прошлой фазой перехода 6, то программа плохо сформирована, потому что она не может быть преобразована в действительный токен в фазе 7. До тех пор, однако, это действительно так, поэтому максимальный мунк говорит, что мы анализируем 0xe+foo
или 100.0_f.temp
как один токен предварительной обработки.