warnings: be less picky about occurrences of m4_/b4_ in the output

Reported by Marko Mäkelä.
<https://lists.gnu.org/r/bug-bison/2021-10/msg00026.html>

* src/scan-skel.l: It is ok to have foob4_ or foom4_.
* tests/skeletons.at (Suspicious sequences): New.
This commit is contained in:
Akim Demaille
2021-11-06 19:24:04 +01:00
parent 76301e7399
commit c95d0dd5f5
3 changed files with 47 additions and 2 deletions

View File

@@ -54,7 +54,9 @@ static void output_mapped_file (char const *name);
%}
/* Identifiers of our M4 macros. */
macro [bm]4_[a-zA-Z_0-9]*
macro [bm]4_[a-zA-Z_0-9]*
/* Safe sequence of word-constituent characters. */
identifier [A-Za-z_0-9]+
%x SC_AT_DIRECTIVE_ARGS
%x SC_AT_DIRECTIVE_SKIP_WS
@@ -90,7 +92,7 @@ macro [bm]4_[a-zA-Z_0-9]*
/* This pattern must not match more than the previous @ patterns. */
@[^@{}''(\n]* fail_for_invalid_at (yytext);
\n out_lineno++; ECHO;
[^bm@\n]+ ECHO;
[^a-z@\n]+ ECHO;
/* If there are still identifiers that look like macros, such as
b4_synbol, this probably an error, say a typo in M4, or
@@ -104,6 +106,7 @@ macro [bm]4_[a-zA-Z_0-9]*
"suspicious sequence in the output: %s", yytext);
ECHO;
}
{identifier} ECHO;
. ECHO;
<INITIAL><<EOF>> {