minor refactoring: shorten variable names

* src/scan-skel.l (at_directive_argc, at_directive_argv)
(AT_DIRECTIVE_ARGC_MAX): Rename as...
(argc, argv, ARGC_MAX): these, as there is no possible confusion.
(flags): New.
(QPUTS): Remove, inline its only use.
This commit is contained in:
Akim Demaille
2012-08-11 09:16:08 +02:00
parent 6fbe73b6a0
commit b9c3c10c1c

View File

@@ -41,11 +41,7 @@
#define YY_DECL static int skel_lex (void) #define YY_DECL static int skel_lex (void)
YY_DECL; YY_DECL;
#define QPUTS(String) \ static void at_directive_perform (int argc, char *argv[],
fputs (quotearg_style (c_quoting_style, String), yyout)
static void at_directive_perform (int at_directive_argc,
char *at_directive_argv[],
char **outnamep, int *out_linenop); char **outnamep, int *out_linenop);
static void fail_for_at_directive_too_many_args (char const *at_directive_name); static void fail_for_at_directive_too_many_args (char const *at_directive_name);
static void fail_for_at_directive_too_few_args (char const *at_directive_name); static void fail_for_at_directive_too_few_args (char const *at_directive_name);
@@ -63,10 +59,10 @@ static void fail_for_invalid_at (char const *at);
/* Currently, only the @warn, @complain, @fatal, @warn_at, @complain_at, and /* Currently, only the @warn, @complain, @fatal, @warn_at, @complain_at, and
@fatal_at directives take multiple arguments, and the last three already @fatal_at directives take multiple arguments, and the last three already
can't take more than 7. at_directive_argv[0] is the directive name. */ can't take more than 7. argv[0] is the directive name. */
#define AT_DIRECTIVE_ARGC_MAX 8 #define ARGC_MAX 8
int at_directive_argc = 0; int argc = 0;
char *at_directive_argv[AT_DIRECTIVE_ARGC_MAX]; char *argv[ARGC_MAX];
%} %}
"@@" fputc ('@', yyout); "@@" fputc ('@', yyout);
@@ -76,12 +72,12 @@ static void fail_for_invalid_at (char const *at);
@\n continue; @\n continue;
"@oline@" fprintf (yyout, "%d", out_lineno + 1); "@oline@" fprintf (yyout, "%d", out_lineno + 1);
"@ofile@" QPUTS (outname); "@ofile@" fputs (quotearg_style (c_quoting_style, outname), yyout);
@[a-z_]+"(" { @[a-z_]+"(" {
yytext[yyleng-1] = '\0'; yytext[yyleng-1] = '\0';
obstack_grow (&obstack_for_string, yytext, yyleng); obstack_grow (&obstack_for_string, yytext, yyleng);
at_directive_argv[at_directive_argc++] = obstack_finish (&obstack_for_string); argv[argc++] = obstack_finish (&obstack_for_string);
BEGIN SC_AT_DIRECTIVE_ARGS; BEGIN SC_AT_DIRECTIVE_ARGS;
} }
@@ -110,21 +106,19 @@ static void fail_for_invalid_at (char const *at);
@\n continue; @\n continue;
@[,)] { @[,)] {
if (at_directive_argc >= AT_DIRECTIVE_ARGC_MAX) if (argc >= ARGC_MAX)
fail_for_at_directive_too_many_args (at_directive_argv[0]); fail_for_at_directive_too_many_args (argv[0]);
at_directive_argv[at_directive_argc++] = argv[argc++] = obstack_finish0 (&obstack_for_string);
obstack_finish0 (&obstack_for_string);
/* Like M4, skip whitespace after a comma. */ /* Like M4, skip whitespace after a comma. */
if (yytext[1] == ',') if (yytext[1] == ',')
BEGIN SC_AT_DIRECTIVE_SKIP_WS; BEGIN SC_AT_DIRECTIVE_SKIP_WS;
else else
{ {
at_directive_perform (at_directive_argc, at_directive_argv, at_directive_perform (argc, argv, &outname, &out_lineno);
&outname, &out_lineno); obstack_free (&obstack_for_string, argv[0]);
obstack_free (&obstack_for_string, at_directive_argv[0]); argc = 0;
at_directive_argc = 0;
BEGIN INITIAL; BEGIN INITIAL;
} }
} }
@@ -135,15 +129,12 @@ static void fail_for_invalid_at (char const *at);
<SC_AT_DIRECTIVE_SKIP_WS> <SC_AT_DIRECTIVE_SKIP_WS>
{ {
[ \t\r\n] continue; [ \t\r\n] continue;
. { yyless (0); BEGIN SC_AT_DIRECTIVE_ARGS; } . yyless (0); BEGIN SC_AT_DIRECTIVE_ARGS;
} }
<SC_AT_DIRECTIVE_ARGS,SC_AT_DIRECTIVE_SKIP_WS> <SC_AT_DIRECTIVE_ARGS,SC_AT_DIRECTIVE_SKIP_WS>
{ {
<<EOF>> { <<EOF>> complain (fatal, _("unclosed %s directive in skeleton"), argv[0]);
complain (fatal, _("unclosed %s directive in skeleton"),
at_directive_argv[0]);
}
} }
%% %%
@@ -174,125 +165,110 @@ skel_scanner_free (void)
yylex_destroy (); yylex_destroy ();
} }
static void static inline warnings
at_directive_perform (int at_directive_argc, flag (const char *arg)
char *at_directive_argv[],
char **outnamep, int *out_linenop)
{ {
if (STREQ (at_directive_argv[0], "@basename")) switch (arg[1])
{ {
if (at_directive_argc > 2) case 'w': return Wother;
fail_for_at_directive_too_many_args (at_directive_argv[0]); case 'c': return complaint;
fputs (last_component (at_directive_argv[1]), yyout); case 'f': return fatal;
default: aver (false); break;
} }
else if (STREQ (at_directive_argv[0], "@warn") }
|| STREQ (at_directive_argv[0], "@complain")
|| STREQ (at_directive_argv[0], "@fatal")) static void
at_directive_perform (int argc, char *argv[], char **outnamep, int *out_linenop)
{
if (STREQ (argv[0], "@basename"))
{ {
warnings complaint_flag; if (argc > 2)
switch (at_directive_argv[0][1]) fail_for_at_directive_too_many_args (argv[0]);
{ fputs (last_component (argv[1]), yyout);
case 'w': complaint_flag = Wother; break; }
case 'c': complaint_flag = complaint; break; else if (STREQ (argv[0], "@warn")
case 'f': complaint_flag = fatal; break; || STREQ (argv[0], "@complain")
default: aver (false); break; || STREQ (argv[0], "@fatal"))
} {
switch (at_directive_argc) warnings w = flag (argv[0]);
switch (argc)
{ {
case 2: case 2:
complain (complaint_flag, "%s", _(at_directive_argv[1])); complain (w, "%s", _(argv[1]));
break; break;
case 3: case 3:
complain (complaint_flag, _(at_directive_argv[1]), complain (w, _(argv[1]), argv[2]);
at_directive_argv[2]);
break; break;
case 4: case 4:
complain (complaint_flag, _(at_directive_argv[1]), complain (w, _(argv[1]), argv[2], argv[3]);
at_directive_argv[2], at_directive_argv[3]);
break; break;
case 5: case 5:
complain (complaint_flag, _(at_directive_argv[1]), complain (w, _(argv[1]), argv[2], argv[3], argv[4]);
at_directive_argv[2], at_directive_argv[3],
at_directive_argv[4]);
break; break;
case 6: case 6:
complain (complaint_flag, _(at_directive_argv[1]), complain (w, _(argv[1]), argv[2], argv[3], argv[4], argv[5]);
at_directive_argv[2], at_directive_argv[3],
at_directive_argv[4], at_directive_argv[5]);
break; break;
default: default:
fail_for_at_directive_too_many_args (at_directive_argv[0]); fail_for_at_directive_too_many_args (argv[0]);
break; break;
} }
} }
else if (STREQ (at_directive_argv[0], "@warn_at") else if (STREQ (argv[0], "@warn_at")
|| STREQ (at_directive_argv[0], "@complain_at") || STREQ (argv[0], "@complain_at")
|| STREQ (at_directive_argv[0], "@fatal_at")) || STREQ (argv[0], "@fatal_at"))
{ {
warnings complaint_flag; warnings w = flag (argv[0]);
location loc; location loc;
if (at_directive_argc < 4) if (argc < 4)
fail_for_at_directive_too_few_args (at_directive_argv[0]); fail_for_at_directive_too_few_args (argv[0]);
switch (at_directive_argv[0][1]) boundary_set_from_string (&loc.start, argv[1]);
{ boundary_set_from_string (&loc.end, argv[2]);
case 'w': complaint_flag = Wother; break; switch (argc)
case 'c': complaint_flag = complaint; break;
case 'f': complaint_flag = fatal; break;
default: aver (false); break;
}
boundary_set_from_string (&loc.start, at_directive_argv[1]);
boundary_set_from_string (&loc.end, at_directive_argv[2]);
switch (at_directive_argc)
{ {
case 4: case 4:
complain_at (loc, complaint_flag, "%s", _(at_directive_argv[3])); complain_at (loc, w, "%s", _(argv[3]));
break; break;
case 5: case 5:
complain_at (loc, complaint_flag, _(at_directive_argv[3]), complain_at (loc, w, _(argv[3]), argv[4]);
at_directive_argv[4]);
break; break;
case 6: case 6:
complain_at (loc, complaint_flag, _(at_directive_argv[3]), complain_at (loc, w, _(argv[3]), argv[4], argv[5]);
at_directive_argv[4], at_directive_argv[5]);
break; break;
case 7: case 7:
complain_at (loc, complaint_flag, _(at_directive_argv[3]), complain_at (loc, w, _(argv[3]), argv[4], argv[5], argv[6]);
at_directive_argv[4], at_directive_argv[5],
at_directive_argv[6]);
break; break;
case 8: case 8:
complain_at (loc, complaint_flag, _(at_directive_argv[3]), complain_at (loc, w, _(argv[3]), argv[4], argv[5], argv[6],
at_directive_argv[4], at_directive_argv[5], argv[7]);
at_directive_argv[6], at_directive_argv[7]);
break; break;
default: default:
fail_for_at_directive_too_many_args (at_directive_argv[0]); fail_for_at_directive_too_many_args (argv[0]);
break; break;
} }
} }
else if (STREQ (at_directive_argv[0], "@output")) else if (STREQ (argv[0], "@output"))
{ {
if (at_directive_argc > 2) if (argc > 2)
fail_for_at_directive_too_many_args (at_directive_argv[0]); fail_for_at_directive_too_many_args (argv[0]);
if (*outnamep) if (*outnamep)
{ {
free (*outnamep); free (*outnamep);
xfclose (yyout); xfclose (yyout);
} }
*outnamep = xstrdup (at_directive_argv[1]); *outnamep = xstrdup (argv[1]);
output_file_name_check (outnamep); output_file_name_check (outnamep);
yyout = xfopen (*outnamep, "w"); yyout = xfopen (*outnamep, "w");
*out_linenop = 1; *out_linenop = 1;
} }
else else
fail_for_invalid_at (at_directive_argv[0]); fail_for_invalid_at (argv[0]);
} }
static void static void
fail_for_at_directive_too_few_args (char const *at_directive_name) fail_for_at_directive_too_few_args (char const *at_directive_name)
{ {
complain (fatal, _("too few arguments for %s directive in skeleton"), complain (fatal, _("too few arguments for %s directive in skeleton"),
at_directive_name); at_directive_name);
} }
static void static void