mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-20 01:33:03 +00:00
* src/scan-skel.l: Use a couple of asserts.
This commit is contained in:
@@ -1,3 +1,7 @@
|
|||||||
|
2005-11-09 Akim Demaille <akim@epita.fr>
|
||||||
|
|
||||||
|
* src/scan-skel.l: Use a couple of asserts.
|
||||||
|
|
||||||
2005-11-03 Akim Demaille <akim@epita.fr>
|
2005-11-03 Akim Demaille <akim@epita.fr>
|
||||||
|
|
||||||
In some (weird) cases, the final state number is incorrect.
|
In some (weird) cases, the final state number is incorrect.
|
||||||
|
|||||||
@@ -41,6 +41,9 @@
|
|||||||
#define QPUTS(String) \
|
#define QPUTS(String) \
|
||||||
fputs (quotearg_style (c_quoting_style, (String)), yyout)
|
fputs (quotearg_style (c_quoting_style, (String)), yyout)
|
||||||
|
|
||||||
|
#define BASE_QPUTS(File) \
|
||||||
|
assert (File), QPUTS (base_name (File))
|
||||||
|
|
||||||
%}
|
%}
|
||||||
%%
|
%%
|
||||||
|
|
||||||
@@ -60,13 +63,18 @@
|
|||||||
if (*file_name == '@')
|
if (*file_name == '@')
|
||||||
{
|
{
|
||||||
if (strcmp (file_name, "@output_header_name@") == 0)
|
if (strcmp (file_name, "@output_header_name@") == 0)
|
||||||
file_name = spec_defines_file;
|
{
|
||||||
|
assert (spec_defines_file);
|
||||||
|
file_name = spec_defines_file;
|
||||||
|
}
|
||||||
else if (strcmp (file_name, "@output_parser_name@") == 0)
|
else if (strcmp (file_name, "@output_parser_name@") == 0)
|
||||||
file_name = parser_file_name;
|
{
|
||||||
|
assert (parser_file_name);
|
||||||
|
file_name = parser_file_name;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
fatal ("invalid token in skeleton: %s", yytext);
|
fatal ("invalid token in skeleton: %s", yytext);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (outname)
|
if (outname)
|
||||||
{
|
{
|
||||||
free (outname);
|
free (outname);
|
||||||
@@ -84,8 +92,8 @@
|
|||||||
"@oline@" fprintf (yyout, "%d", lineno + 1);
|
"@oline@" fprintf (yyout, "%d", lineno + 1);
|
||||||
"@ofile@" QPUTS (outname);
|
"@ofile@" QPUTS (outname);
|
||||||
"@dir_prefix@" QPUTS (dir_prefix);
|
"@dir_prefix@" QPUTS (dir_prefix);
|
||||||
"@output_parser_name@" QPUTS (base_name (parser_file_name));
|
"@output_parser_name@" BASE_QPUTS (parser_file_name);
|
||||||
"@output_header_name@" QPUTS (base_name (spec_defines_file));
|
"@output_header_name@" BASE_QPUTS (spec_defines_file);
|
||||||
|
|
||||||
/* This pattern must not match more than the previous @ patterns. */
|
/* This pattern must not match more than the previous @ patterns. */
|
||||||
@[^{}@\n]* fatal ("invalid @ in skeleton: %s", yytext);
|
@[^{}@\n]* fatal ("invalid @ in skeleton: %s", yytext);
|
||||||
|
|||||||
Reference in New Issue
Block a user