In the C programming language, preprocessing numbers is an integral part of the compilation process. This article will explore the syntax, description, and semantics of preprocessing numbers in C.
A preprocessing number (pp-number) in C has the following syntax:
pp-number:
digit
. digit
pp-number digit
pp-number identifier-nondigit
pp-number e sign
pp-number E sign
pp-number p sign
pp-number P sign
pp-number .
This syntax indicates that a pp-number can start with a digit or a period followed by a digit. It can be followed by another digit, an identifier-nondigit, or specific character sequences (e+, e-, E+, E-, p+, p-, P+, P-, or .).
A preprocessing number begins with a digit optionally preceded by a period (.) and may be followed by valid identifier characters and the character sequences e+, e-, E+, E-, p+, p-, P+, or P-. Preprocessing number tokens lexically include all floating and integer constant tokens.
A preprocessing number does not initially have a type or a value. It acquires both after a successful conversion (as part of translation phase 7) to a floating constant token or an integer constant token.