mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-11 05:13:04 +00:00
quote consistently and make tests pass with new quoting from gnulib
Updating to gnulib pulled in new quote and quotarg modules, by which quoting is now done like 'this' rather than `this'. That change induces many "make check" test failures. This change adapts code and tests so that "make check" passes once again. * src/scan-code.l: Quote like 'this', not like `this'. * src/scan-gram.l: Likewise. * src/symtab.c: Likewise. * tests/actions.at: Adjust tests to match. * tests/input.at: Likewise. * tests/named-refs.at: Likewise. * tests/output.at: Likewise. * tests/regression.at: Likewise. * lib/.gitignore: Regenerate. * m4/.gitignore: Likewise.
This commit is contained in:
@@ -96,10 +96,10 @@ ref -?[0-9]+|{id}|"["{id}"]"|"$"
|
||||
int braces_level = 0;
|
||||
|
||||
/* Whether a semicolon is probably needed.
|
||||
The heuristic is that a semicolon is not needed after `{', `}', `;',
|
||||
The heuristic is that a semicolon is not needed after '{', '}', ';',
|
||||
or a C preprocessor directive, and that whitespaces and comments
|
||||
do not affect this flag.
|
||||
Note that `{' does not need a semicolon because of `{}'.
|
||||
Note that '{' does not need a semicolon because of '{}'.
|
||||
A semicolon may be needed before a cpp direcive, but don't bother. */
|
||||
bool need_semicolon = false;
|
||||
|
||||
@@ -118,7 +118,7 @@ ref -?[0-9]+|{id}|"["{id}"]"|"$"
|
||||
%}
|
||||
|
||||
/*------------------------------------------------------------.
|
||||
| Scanning a C comment. The initial `/ *' is already eaten. |
|
||||
| Scanning a C comment. The initial '/ *' is already eaten. |
|
||||
`------------------------------------------------------------*/
|
||||
|
||||
<SC_COMMENT>
|
||||
@@ -128,7 +128,7 @@ ref -?[0-9]+|{id}|"["{id}"]"|"$"
|
||||
|
||||
|
||||
/*--------------------------------------------------------------.
|
||||
| Scanning a line comment. The initial `//' is already eaten. |
|
||||
| Scanning a line comment. The initial '//' is already eaten. |
|
||||
`--------------------------------------------------------------*/
|
||||
|
||||
<SC_LINE_COMMENT>
|
||||
@@ -198,12 +198,12 @@ ref -?[0-9]+|{id}|"["{id}"]"|"$"
|
||||
need_semicolon = true;
|
||||
}
|
||||
"$" {
|
||||
warn_at (*loc, _("stray `$'"));
|
||||
warn_at (*loc, _("stray '$'"));
|
||||
obstack_sgrow (&obstack_for_string, "$][");
|
||||
need_semicolon = true;
|
||||
}
|
||||
"@" {
|
||||
warn_at (*loc, _("stray `@'"));
|
||||
warn_at (*loc, _("stray '@'"));
|
||||
obstack_sgrow (&obstack_for_string, "@@");
|
||||
need_semicolon = true;
|
||||
}
|
||||
@@ -221,15 +221,15 @@ ref -?[0-9]+|{id}|"["{id}"]"|"$"
|
||||
"}" {
|
||||
bool outer_brace = --braces_level == 0;
|
||||
|
||||
/* As an undocumented Bison extension, append `;' before the last
|
||||
/* As an undocumented Bison extension, append ';' before the last
|
||||
brace in braced code, so that the user code can omit trailing
|
||||
`;'. But do not append `;' if emulating Yacc, since Yacc does
|
||||
';'. But do not append ';' if emulating Yacc, since Yacc does
|
||||
not append one. */
|
||||
if (outer_brace && !yacc_flag && language_prio == default_prio
|
||||
&& skeleton_prio == default_prio && need_semicolon && ! in_cpp)
|
||||
{
|
||||
warn_at (*loc, _("a `;' might be needed at the end of action code"));
|
||||
warn_at (*loc, _("future versions of Bison will not add the `;'"));
|
||||
warn_at (*loc, _("a ';' might be needed at the end of action code"));
|
||||
warn_at (*loc, _("future versions of Bison will not add the ';'"));
|
||||
obstack_1grow (&obstack_for_string, ';');
|
||||
}
|
||||
|
||||
@@ -239,8 +239,8 @@ ref -?[0-9]+|{id}|"["{id}"]"|"$"
|
||||
|
||||
/* Preprocessing directives should only be recognized at the beginning
|
||||
of lines, allowing whitespace including comments, but in C/C++,
|
||||
`#' can only be the start of preprocessor directives or within
|
||||
`#define' directives anyway, so don't bother with begin of line. */
|
||||
'#' can only be the start of preprocessor directives or within
|
||||
'#define' directives anyway, so don't bother with begin of line. */
|
||||
"#" STRING_GROW; in_cpp = true;
|
||||
|
||||
{splice} STRING_GROW;
|
||||
@@ -627,8 +627,8 @@ parse_ref (char *cp, symbol_list *rule, int rule_length,
|
||||
sym_loc.start.column += 1;
|
||||
sym_loc.end = sym_loc.start;
|
||||
const char *format =
|
||||
_("syntax error after `%c', expecting integer, letter,"
|
||||
" `_', `[', or `$'");
|
||||
_("syntax error after '%c', expecting integer, letter,"
|
||||
" '_', '[', or '$'");
|
||||
complain_at_indent (sym_loc, &indent, format, dollar_or_at);
|
||||
}
|
||||
else if (midrule_rhs_index)
|
||||
@@ -690,7 +690,7 @@ int max_left_semantic_context = 0;
|
||||
|
||||
|
||||
/*------------------------------------------------------------------.
|
||||
| TEXT is pointing to a wannabee semantic value (i.e., a `$'). |
|
||||
| TEXT is pointing to a wannabee semantic value (i.e., a '$'). |
|
||||
| |
|
||||
| Possible inputs: $[<TYPENAME>]($|integer) |
|
||||
| |
|
||||
@@ -755,12 +755,12 @@ handle_action_dollar (symbol_list *rule, char *text, location dollar_loc)
|
||||
{
|
||||
if (rule->midrule_parent_rule)
|
||||
complain_at (dollar_loc,
|
||||
_("$$ for the midrule at $%d of `%s'"
|
||||
_("$$ for the midrule at $%d of '%s'"
|
||||
" has no declared type"),
|
||||
rule->midrule_parent_rhs_index,
|
||||
effective_rule->content.sym->tag);
|
||||
else
|
||||
complain_at (dollar_loc, _("$$ of `%s' has no declared type"),
|
||||
complain_at (dollar_loc, _("$$ of '%s' has no declared type"),
|
||||
rule->content.sym->tag);
|
||||
}
|
||||
else
|
||||
@@ -782,7 +782,7 @@ handle_action_dollar (symbol_list *rule, char *text, location dollar_loc)
|
||||
if (!type_name)
|
||||
{
|
||||
if (union_seen | tag_seen)
|
||||
complain_at (dollar_loc, _("$%s of `%s' has no declared type"),
|
||||
complain_at (dollar_loc, _("$%s of '%s' has no declared type"),
|
||||
cp, effective_rule->content.sym->tag);
|
||||
else
|
||||
untyped_var_seen = true;
|
||||
@@ -801,7 +801,7 @@ handle_action_dollar (symbol_list *rule, char *text, location dollar_loc)
|
||||
|
||||
|
||||
/*------------------------------------------------------.
|
||||
| TEXT is a location token (i.e., a `@...'). Output to |
|
||||
| TEXT is a location token (i.e., a '@...'). Output to |
|
||||
| OBSTACK_FOR_STRING a reference to this location. |
|
||||
`------------------------------------------------------*/
|
||||
|
||||
|
||||
@@ -100,16 +100,16 @@ static void unexpected_newline (boundary, char const *);
|
||||
/* Strings and characters in directives/rules. */
|
||||
%x SC_ESCAPED_STRING SC_ESCAPED_CHARACTER
|
||||
/* A identifier was just read in directives/rules. Special state
|
||||
to capture the sequence `identifier :'. */
|
||||
to capture the sequence 'identifier :'. */
|
||||
%x SC_AFTER_IDENTIFIER
|
||||
/* A complex tag, with nested angles brackets. */
|
||||
%x SC_TAG
|
||||
|
||||
/* Four types of user code:
|
||||
- prologue (code between `%{' `%}' in the first section, before %%);
|
||||
- prologue (code between '%{' '%}' in the first section, before %%);
|
||||
- actions, printers, union, etc, (between braced in the middle section);
|
||||
- epilogue (everything after the second %%).
|
||||
- predicate (code between `%?{' and `{' in middle section); */
|
||||
- predicate (code between '%?{' and '{' in middle section); */
|
||||
%x SC_PROLOGUE SC_BRACED_CODE SC_EPILOGUE SC_PREDICATE
|
||||
/* C and C++ comments in code. */
|
||||
%x SC_COMMENT SC_LINE_COMMENT
|
||||
@@ -164,7 +164,7 @@ splice (\\[ \f\t\v]*\n)*
|
||||
<INITIAL,SC_AFTER_IDENTIFIER,SC_BRACKETED_ID,SC_RETURN_BRACKETED_ID>
|
||||
{
|
||||
/* Comments and white space. */
|
||||
"," warn_at (*loc, _("stray `,' treated as white space"));
|
||||
"," warn_at (*loc, _("stray ',' treated as white space"));
|
||||
[ \f\n\t\v] |
|
||||
"//".* ;
|
||||
"/*" {
|
||||
@@ -440,7 +440,7 @@ splice (\\[ \f\t\v]*\n)*
|
||||
|
||||
|
||||
/*---------------------------------------------------------------.
|
||||
| Scanning a Yacc comment. The initial `/ *' is already eaten. |
|
||||
| Scanning a Yacc comment. The initial '/ *' is already eaten. |
|
||||
`---------------------------------------------------------------*/
|
||||
|
||||
<SC_YACC_COMMENT>
|
||||
@@ -452,7 +452,7 @@ splice (\\[ \f\t\v]*\n)*
|
||||
|
||||
|
||||
/*------------------------------------------------------------.
|
||||
| Scanning a C comment. The initial `/ *' is already eaten. |
|
||||
| Scanning a C comment. The initial '/ *' is already eaten. |
|
||||
`------------------------------------------------------------*/
|
||||
|
||||
<SC_COMMENT>
|
||||
@@ -463,7 +463,7 @@ splice (\\[ \f\t\v]*\n)*
|
||||
|
||||
|
||||
/*--------------------------------------------------------------.
|
||||
| Scanning a line comment. The initial `//' is already eaten. |
|
||||
| Scanning a line comment. The initial '//' is already eaten. |
|
||||
`--------------------------------------------------------------*/
|
||||
|
||||
<SC_LINE_COMMENT>
|
||||
@@ -707,8 +707,8 @@ splice (\\[ \f\t\v]*\n)*
|
||||
"{"|"<"{splice}"%" STRING_GROW; nesting++;
|
||||
"%"{splice}">" STRING_GROW; nesting--;
|
||||
|
||||
/* Tokenize `<<%' correctly (as `<<' `%') rather than incorrrectly
|
||||
(as `<' `<%'). */
|
||||
/* Tokenize '<<%' correctly (as '<<' '%') rather than incorrrectly
|
||||
(as '<' '<%'). */
|
||||
"<"{splice}"<" STRING_GROW;
|
||||
|
||||
<<EOF>> {
|
||||
@@ -933,7 +933,7 @@ convert_ucn_to_byte (char const *ucn)
|
||||
|
||||
|
||||
/*----------------------------------------------------------------.
|
||||
| Handle `#line INT "FILE"'. ARGS has already skipped `#line '. |
|
||||
| Handle '#line INT "FILE"'. ARGS has already skipped '#line '. |
|
||||
`----------------------------------------------------------------*/
|
||||
|
||||
static void
|
||||
@@ -977,7 +977,7 @@ unexpected_end (boundary start, char const *msgid, char const *token_end)
|
||||
static void
|
||||
unexpected_eof (boundary start, char const *token_end)
|
||||
{
|
||||
unexpected_end (start, N_("missing `%s' at end of file"), token_end);
|
||||
unexpected_end (start, N_("missing '%s' at end of file"), token_end);
|
||||
}
|
||||
|
||||
|
||||
@@ -988,7 +988,7 @@ unexpected_eof (boundary start, char const *token_end)
|
||||
static void
|
||||
unexpected_newline (boundary start, char const *token_end)
|
||||
{
|
||||
unexpected_end (start, N_("missing `%s' at end of line"), token_end);
|
||||
unexpected_end (start, N_("missing '%s' at end of line"), token_end);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -444,10 +444,10 @@ void
|
||||
symbol_make_alias (symbol *sym, symbol *str, location loc)
|
||||
{
|
||||
if (str->alias)
|
||||
warn_at (loc, _("symbol `%s' used more than once as a literal string"),
|
||||
warn_at (loc, _("symbol '%s' used more than once as a literal string"),
|
||||
str->tag);
|
||||
else if (sym->alias)
|
||||
warn_at (loc, _("symbol `%s' given more than one literal string"),
|
||||
warn_at (loc, _("symbol '%s' given more than one literal string"),
|
||||
sym->tag);
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user