@@ -399,6 +399,35 @@ ENDIMPORTopt [^\\\n]*
399399 // Optional white space
400400WSopt [ \t\r]*
401401
402+ // - begin: NUMBER
403+ // Note same defines in commentcnv.l: keep in sync
404+ DECIMAL_INTEGER [1 -9 ][0 -9' ]*[0 -9 ]?[uU]?[lL]?[lL]?
405+ HEXADECIMAL_INTEGER " 0" [xX][0 -9a-zA-Z' ]+[0-9a-zA-Z]?
406+ OCTAL_INTEGER "0"[0-7][0-7' ]+[0 -7 ]?
407+ BINARY_INTEGER " 0" [bB][01 ][01' ]*[01 ]?
408+ INTEGER_NUMBER {DECIMAL_INTEGER}|{HEXADECIMAL_INTEGER}|{OCTAL_INTEGER}|{BINARY_INTEGER}
409+
410+ FP_SUF [fFlL ]
411+
412+ DIGIT_SEQ [0 -9 ][0 -9' ]*[0 -9 ]?
413+ FRAC_CONST {DIGIT_SEQ}" ." |{DIGIT_SEQ}?" ." {DIGIT_SEQ}
414+ FP_EXP [eE][+-]?{DIGIT_SEQ}
415+ DEC_FP1 {FRAC_CONST}{FP_EXP}?{FP_SUF}?
416+ DEC_FP2 {DIGIT_SEQ}{FP_EXP}{FP_SUF}
417+
418+ HEX_DIGIT_SEQ [0 -9a-fA -F][0 -9a-fA -F' ]*[0-9a-fA-F]?
419+ HEX_FRAC_CONST {HEX_DIGIT_SEQ}"."|{HEX_DIGIT_SEQ}?"."{HEX_DIGIT_SEQ}
420+ BIN_EXP [pP][+-]?{DIGIT_SEQ}
421+ HEX_FP1 "0"[xX]{HEX_FRAC_CONST}{BIN_EXP}{FP_SUF}?
422+ HEX_FP2 "0"[xX]{HEX_DIGIT_SEQ}{BIN_EXP}{FP_SUF}?
423+
424+ FLOAT_DECIMAL {DEC_FP1}|{DEC_FP2}
425+ FLOAT_HEXADECIMAL {HEX_FP1}|{HEX_FP2}
426+ FLOAT_NUMBER {FLOAT_DECIMAL}|{FLOAT_HEXADECIMAL}
427+ NUMBER {INTEGER_NUMBER}|{FLOAT_NUMBER}
428+ //- end: NUMBER ---------------------------------------------------------------------------
429+
430+
402431%option noyywrap
403432
404433%x Start
@@ -1956,6 +1985,11 @@ WSopt [ \t\r]*
19561985 BEGIN(SkipDoubleQuote);
19571986 }
19581987 }
1988+ <DefineText>{NUMBER} {
1989+ outputSpaces(yyscanner,yytext);
1990+ yyextra->defText += yytext;
1991+ yyextra->defLitText+=yytext;
1992+ }
19591993<DefineText>\' {
19601994 outputChar(yyscanner,' ');
19611995 yyextra->defText += *yytext;
0 commit comments