Skip to content

Commit e95e4be

Browse files
committed
issue doxygen#11721 Doxygen internal Preprocessor cannot process digit group separator in C++
1 parent fe93d84 commit e95e4be

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

src/pre.l

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -399,6 +399,35 @@ ENDIMPORTopt [^\\\n]*
399399
// Optional white space
400400
WSopt [ \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

Comments
 (0)