预处理数
根据ISO/IEC 9899:2018标准第6.4.8 preprocessing numbers节,预处理数(preprocessing numbers)有以下9种形式:
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 .
其中digit为十进制数字字符(0~9);pp-number为预处理数;identifier-nondigit为非数字标识符,包括非十进制数字字符、通用字符名、其它实现定义的字符;非十进制数字字符包括下划线(_)、小写拉丁字母(a~z)、大写拉丁字母(A~Z);字符e和E用于十进制浮点常量,字符p和P用于十六进制浮点常量;sign表示符号(+或者-)。
预处理数没有值和类型;在成功转换为浮点常量标记或者整数常量标记后(在编译的第7个步骤进行这种转换。),预处理数获得值和类型。预处理数标记在词法上包括所有整数常量标记和浮点常量标记。