[lex.ppnumber] # 5 Lexical conventions [[lex]](./#lex) ## 5.7 Preprocessing numbers [lex.ppnumber] [pp-number:](#nt:pp-number "5.7 Preprocessing numbers [lex.ppnumber]") [*digit*](lex.name#nt:digit "5.11 Identifiers [lex.name]") . [*digit*](lex.name#nt:digit "5.11 Identifiers [lex.name]") [*pp-number*](#nt:pp-number "5.7 Preprocessing numbers [lex.ppnumber]") [*identifier-continue*](lex.name#nt:identifier-continue "5.11 Identifiers [lex.name]") [*pp-number*](#nt:pp-number "5.7 Preprocessing numbers [lex.ppnumber]") ' [*digit*](lex.name#nt:digit "5.11 Identifiers [lex.name]") [*pp-number*](#nt:pp-number "5.7 Preprocessing numbers [lex.ppnumber]") ' [*nondigit*](lex.name#nt:nondigit "5.11 Identifiers [lex.name]") [*pp-number*](#nt:pp-number "5.7 Preprocessing numbers [lex.ppnumber]") e [*sign*](lex.fcon#nt:sign "5.13.4 Floating-point literals [lex.fcon]") [*pp-number*](#nt:pp-number "5.7 Preprocessing numbers [lex.ppnumber]") E [*sign*](lex.fcon#nt:sign "5.13.4 Floating-point literals [lex.fcon]") [*pp-number*](#nt:pp-number "5.7 Preprocessing numbers [lex.ppnumber]") p [*sign*](lex.fcon#nt:sign "5.13.4 Floating-point literals [lex.fcon]") [*pp-number*](#nt:pp-number "5.7 Preprocessing numbers [lex.ppnumber]") P [*sign*](lex.fcon#nt:sign "5.13.4 Floating-point literals [lex.fcon]") [*pp-number*](#nt:pp-number "5.7 Preprocessing numbers [lex.ppnumber]") . [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/lex.tex#L760) Preprocessing number tokens lexically include all [*integer-literal*](lex.icon#nt:integer-literal "5.13.2 Integer literals [lex.icon]") tokens ([[lex.icon]](lex.icon "5.13.2 Integer literals")) and all [*floating-point-literal*](lex.fcon#nt:floating-point-literal "5.13.4 Floating-point literals [lex.fcon]") tokens ([[lex.fcon]](lex.fcon "5.13.4 Floating-point literals"))[.](#1.sentence-1) [2](#2) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/lex.tex#L765) A preprocessing number does not have a type or a value; it acquires both after a successful conversion to an [*integer-literal*](lex.icon#nt:integer-literal "5.13.2 Integer literals [lex.icon]") token or a [*floating-point-literal*](lex.fcon#nt:floating-point-literal "5.13.4 Floating-point literals [lex.fcon]") token[.](#2.sentence-1)