diff options
-rw-r--r-- | lib/.gitignore | 16 | ||||
-rw-r--r-- | m4/.gitignore | 9 | ||||
-rw-r--r-- | src/scan-code.l | 84 | ||||
-rw-r--r-- | src/scan-gram.l | 22 | ||||
-rw-r--r-- | src/symtab.c | 8 | ||||
-rw-r--r-- | tests/actions.at | 72 | ||||
-rw-r--r-- | tests/input.at | 42 | ||||
-rw-r--r-- | tests/named-refs.at | 92 | ||||
-rw-r--r-- | tests/output.at | 12 | ||||
-rw-r--r-- | tests/regression.at | 32 |
10 files changed, 207 insertions, 182 deletions
diff --git a/lib/.gitignore b/lib/.gitignore index 45e0eb7b..54edced3 100644 --- a/lib/.gitignore +++ b/lib/.gitignore @@ -243,3 +243,19 @@ /xstrndup.c /xstrndup.h +/c-strcaseeq.h +/fd-hook.c +/fd-hook.h +/float.c +/fstat.c +/itold.c +/msvc-inval.c +/msvc-inval.h +/msvc-nothrow.c +/msvc-nothrow.h +/pathmax.h +/raise.c +/strerror-override.c +/strerror-override.h +/strerror_r.c +/xalloc-oversized.h diff --git a/m4/.gitignore b/m4/.gitignore index 7d812ebc..c50ed39a 100644 --- a/m4/.gitignore +++ b/m4/.gitignore @@ -157,3 +157,12 @@ /xsize.m4 /xstrndup.m4 +/fstat.m4 +/largefile.m4 +/ldexp.m4 +/msvc-inval.m4 +/msvc-nothrow.m4 +/pathmax.m4 +/raise.m4 +/ssize_t.m4 +/strerror_r.m4 diff --git a/src/scan-code.l b/src/scan-code.l index f1c97908..b81f7103 100644 --- a/src/scan-code.l +++ b/src/scan-code.l @@ -95,10 +95,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; @@ -117,7 +117,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> @@ -127,7 +127,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> @@ -197,12 +197,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; } @@ -220,16 +220,16 @@ 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 `;'")); - obstack_1grow (&obstack_for_string, ';'); + 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, ';'); } STRING_GROW; @@ -238,8 +238,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; @@ -626,8 +626,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) @@ -689,7 +689,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) | | | @@ -749,23 +749,23 @@ handle_action_dollar (symbol_list *rule, char *text, location dollar_loc) type_name = symbol_list_n_type_name_get (rule, dollar_loc, 0); if (!type_name) - { - if (union_seen | tag_seen) - { - if (rule->midrule_parent_rule) - complain_at (dollar_loc, - _("$$ 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"), - rule->content.sym->tag); - } - else - untyped_var_seen = true; - type_name = ""; - } + { + if (union_seen | tag_seen) + { + if (rule->midrule_parent_rule) + complain_at (dollar_loc, + _("$$ 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"), + rule->content.sym->tag); + } + else + untyped_var_seen = true; + type_name = ""; + } obstack_fgrow1 (&obstack_for_string, "]b4_lhs_value([%s])[", type_name); @@ -779,14 +779,14 @@ handle_action_dollar (symbol_list *rule, char *text, location dollar_loc) type_name = symbol_list_n_type_name_get (effective_rule, dollar_loc, n); if (!type_name) - { - if (union_seen | tag_seen) - complain_at (dollar_loc, _("$%s of `%s' has no declared type"), - cp, effective_rule->content.sym->tag); - else - untyped_var_seen = true; - type_name = ""; - } + { + if (union_seen | tag_seen) + complain_at (dollar_loc, _("$%s of '%s' has no declared type"), + cp, effective_rule->content.sym->tag); + else + untyped_var_seen = true; + type_name = ""; + } obstack_fgrow3 (&obstack_for_string, "]b4_rhs_value(%d, %d, [%s])[", @@ -800,7 +800,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. | `------------------------------------------------------*/ diff --git a/src/scan-gram.l b/src/scan-gram.l index f2819b74..81127f88 100644 --- a/src/scan-gram.l +++ b/src/scan-gram.l @@ -88,11 +88,11 @@ 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 /* Three 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 %%). */ %x SC_PROLOGUE SC_BRACED_CODE SC_EPILOGUE @@ -146,7 +146,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] | "//".* ; "/*" { @@ -397,7 +397,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> @@ -409,7 +409,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> @@ -420,7 +420,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> @@ -648,8 +648,8 @@ splice (\\[ \f\t\v]*\n)* } } - /* Tokenize `<<%' correctly (as `<<' `%') rather than incorrrectly - (as `<' `<%'). */ + /* Tokenize '<<%' correctly (as '<<' '%') rather than incorrrectly + (as '<' '<%'). */ "<"{splice}"<" STRING_GROW; <<EOF>> { @@ -840,7 +840,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 @@ -884,7 +884,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); } @@ -895,7 +895,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); } diff --git a/src/symtab.c b/src/symtab.c index bfd3ced1..35b61dea 100644 --- a/src/symtab.c +++ b/src/symtab.c @@ -409,11 +409,11 @@ 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"), - str->tag); + 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"), - sym->tag); + warn_at (loc, _("symbol '%s' given more than one literal string"), + sym->tag); else { str->class = token_sym; diff --git a/tests/actions.at b/tests/actions.at index ca03022e..87051cef 100644 --- a/tests/actions.at +++ b/tests/actions.at @@ -1409,42 +1409,42 @@ string;"} ]]) AT_BISON_CHECK([[-o input.c input.y]], [0], [], -[[input.y:8.48: warning: a `;' might be needed at the end of action code -input.y:8.48: warning: future versions of Bison will not add the `;' -input.y:9.48: warning: a `;' might be needed at the end of action code -input.y:9.48: warning: future versions of Bison will not add the `;' -input.y:10.48: warning: a `;' might be needed at the end of action code -input.y:10.48: warning: future versions of Bison will not add the `;' -input.y:11.48: warning: a `;' might be needed at the end of action code -input.y:11.48: warning: future versions of Bison will not add the `;' -input.y:12.48: warning: a `;' might be needed at the end of action code -input.y:12.48: warning: future versions of Bison will not add the `;' -input.y:13.48: warning: a `;' might be needed at the end of action code -input.y:13.48: warning: future versions of Bison will not add the `;' -input.y:20.1: warning: a `;' might be needed at the end of action code -input.y:20.1: warning: future versions of Bison will not add the `;' -input.y:21.1: warning: a `;' might be needed at the end of action code -input.y:21.1: warning: future versions of Bison will not add the `;' -input.y:22.1: warning: a `;' might be needed at the end of action code -input.y:22.1: warning: future versions of Bison will not add the `;' -input.y:23.1: warning: a `;' might be needed at the end of action code -input.y:23.1: warning: future versions of Bison will not add the `;' -input.y:24.1: warning: a `;' might be needed at the end of action code -input.y:24.1: warning: future versions of Bison will not add the `;' -input.y:25.1: warning: a `;' might be needed at the end of action code -input.y:25.1: warning: future versions of Bison will not add the `;' -input.y:31.1: warning: a `;' might be needed at the end of action code -input.y:31.1: warning: future versions of Bison will not add the `;' -input.y:32.1: warning: a `;' might be needed at the end of action code -input.y:32.1: warning: future versions of Bison will not add the `;' -input.y:33.1: warning: a `;' might be needed at the end of action code -input.y:33.1: warning: future versions of Bison will not add the `;' -input.y:34.1: warning: a `;' might be needed at the end of action code -input.y:34.1: warning: future versions of Bison will not add the `;' -input.y:35.1: warning: a `;' might be needed at the end of action code -input.y:35.1: warning: future versions of Bison will not add the `;' -input.y:36.1: warning: a `;' might be needed at the end of action code -input.y:36.1: warning: future versions of Bison will not add the `;' +[[input.y:8.48: warning: a ';' might be needed at the end of action code +input.y:8.48: warning: future versions of Bison will not add the ';' +input.y:9.48: warning: a ';' might be needed at the end of action code +input.y:9.48: warning: future versions of Bison will not add the ';' +input.y:10.48: warning: a ';' might be needed at the end of action code +input.y:10.48: warning: future versions of Bison will not add the ';' +input.y:11.48: warning: a ';' might be needed at the end of action code +input.y:11.48: warning: future versions of Bison will not add the ';' +input.y:12.48: warning: a ';' might be needed at the end of action code +input.y:12.48: warning: future versions of Bison will not add the ';' +input.y:13.48: warning: a ';' might be needed at the end of action code +input.y:13.48: warning: future versions of Bison will not add the ';' +input.y:20.1: warning: a ';' might be needed at the end of action code +input.y:20.1: warning: future versions of Bison will not add the ';' +input.y:21.1: warning: a ';' might be needed at the end of action code +input.y:21.1: warning: future versions of Bison will not add the ';' +input.y:22.1: warning: a ';' might be needed at the end of action code +input.y:22.1: warning: future versions of Bison will not add the ';' +input.y:23.1: warning: a ';' might be needed at the end of action code +input.y:23.1: warning: future versions of Bison will not add the ';' +input.y:24.1: warning: a ';' might be needed at the end of action code +input.y:24.1: warning: future versions of Bison will not add the ';' +input.y:25.1: warning: a ';' might be needed at the end of action code +input.y:25.1: warning: future versions of Bison will not add the ';' +input.y:31.1: warning: a ';' might be needed at the end of action code +input.y:31.1: warning: future versions of Bison will not add the ';' +input.y:32.1: warning: a ';' might be needed at the end of action code +input.y:32.1: warning: future versions of Bison will not add the ';' +input.y:33.1: warning: a ';' might be needed at the end of action code +input.y:33.1: warning: future versions of Bison will not add the ';' +input.y:34.1: warning: a ';' might be needed at the end of action code +input.y:34.1: warning: future versions of Bison will not add the ';' +input.y:35.1: warning: a ';' might be needed at the end of action code +input.y:35.1: warning: future versions of Bison will not add the ';' +input.y:36.1: warning: a ';' might be needed at the end of action code +input.y:36.1: warning: future versions of Bison will not add the ';' ]]) AT_MATCHES_CHECK([input.c], [[/\* TEST:N:2 \*/ \}$]], [[3]]) diff --git a/tests/input.at b/tests/input.at index af2b459e..8bd3ba42 100644 --- a/tests/input.at +++ b/tests/input.at @@ -33,8 +33,8 @@ exp: { @$ = @1 ; }; ]]) AT_BISON_CHECK([input.y], [1], [], -[[input.y:2.13-14: integer out of range: `$1' -input.y:3.13-14: integer out of range: `@1' +[[input.y:2.13-14: integer out of range: '$1' +input.y:3.13-14: integer out of range: '@1' ]]) AT_CLEANUP @@ -58,8 +58,8 @@ exp: foo { $$; } foo { $2; } foo ]]) AT_BISON_CHECK([input.y], [1], [], -[[input.y:5.12-13: $$ for the midrule at $2 of `exp' has no declared type -input.y:5.24-25: $2 of `exp' has no declared type +[[input.y:5.12-13: $$ for the midrule at $2 of 'exp' has no declared type +input.y:5.24-25: $2 of 'exp' has no declared type input.y:5.6-32: warning: type clash on default action: <bar> != <> input.y:6.6-8: warning: type clash on default action: <bar> != <> input.y:7.5: warning: empty rule for typed nonterminal, and no action @@ -669,9 +669,9 @@ AT_DATA_GRAMMAR([input.y], start: .GOOD GOOD ]]) AT_BISON_CHECK([-o input.c input.y], [1], [], -[[input.y:10.10: invalid character: `-' -input.y:11.10-16: invalid identifier: `1NV4L1D' -input.y:12.10: invalid character: `-' +[[input.y:10.10: invalid character: '-' +input.y:11.10-16: invalid identifier: '1NV4L1D' +input.y:12.10: invalid character: '-' ]]) AT_CLEANUP @@ -708,8 +708,8 @@ start: TOO_LARGE_DEC TOO_LARGE_HEX ]]) AT_BISON_CHECK([too-large.y], [1], [], -[[too-large.y:9.22-42: integer out of range: `999999999999999999999' -too-large.y:10.24-44: integer out of range: `0xFFFFFFFFFFFFFFFFFFF' +[[too-large.y:9.22-42: integer out of range: '999999999999999999999' +too-large.y:10.24-44: integer out of range: '0xFFFFFFFFFFFFFFFFFFF' ]]) AT_CLEANUP @@ -749,11 +749,11 @@ start: ; ]]) AT_BISON_CHECK([-o input.c input.y], 1, [], -[[input.y:1.10-2.0: missing `"' at end of line -input.y:4.10-5.0: missing `'' at end of line -input.y:14.11-15.0: missing `'' at end of line -input.y:16.11-17.0: missing `"' at end of line -input.y:19.13-20.0: missing `}' at end of file +[[input.y:1.10-2.0: missing '"' at end of line +input.y:4.10-5.0: missing ''' at end of line +input.y:14.11-15.0: missing ''' at end of line +input.y:16.11-17.0: missing '"' at end of line +input.y:19.13-20.0: missing '}' at end of file input.y:20.1: syntax error, unexpected end of file ]]) @@ -1200,9 +1200,9 @@ AT_CHECK([[perl -e "print 'start: \'';" >> empty.y || exit 77]]) AT_BISON_CHECK([empty.y], [1], [], [[empty.y:2.8-9: warning: empty character literal empty.y:3.8-4.0: warning: empty character literal -empty.y:3.8-4.0: missing `'' at end of line +empty.y:3.8-4.0: missing ''' at end of line empty.y:4.8: warning: empty character literal -empty.y:4.8: missing `'' at end of file +empty.y:4.8: missing ''' at end of file ]]) AT_DATA([two.y], @@ -1215,9 +1215,9 @@ AT_CHECK([[perl -e "print 'start: \'ab';" >> two.y || exit 77]]) AT_BISON_CHECK([two.y], [1], [], [[two.y:2.8-11: warning: extra characters in character literal two.y:3.8-4.0: warning: extra characters in character literal -two.y:3.8-4.0: missing `'' at end of line +two.y:3.8-4.0: missing ''' at end of line two.y:4.8-10: warning: extra characters in character literal -two.y:4.8-10: missing `'' at end of file +two.y:4.8-10: missing ''' at end of file ]]) AT_DATA([three.y], @@ -1230,9 +1230,9 @@ AT_CHECK([[perl -e "print 'start: \'abc';" >> three.y || exit 77]]) AT_BISON_CHECK([three.y], [1], [], [[three.y:2.8-12: warning: extra characters in character literal three.y:3.8-4.0: warning: extra characters in character literal -three.y:3.8-4.0: missing `'' at end of line +three.y:3.8-4.0: missing ''' at end of line three.y:4.8-11: warning: extra characters in character literal -three.y:4.8-11: missing `'' at end of file +three.y:4.8-11: missing ''' at end of file ]]) AT_CLEANUP @@ -1274,7 +1274,7 @@ input.y:3.27-36: invalid number after \-escape: Uffffffff input.y:3.26-37: warning: empty character literal input.y:3.40-49: invalid number after \-escape: U00000000 input.y:3.39-50: warning: empty character literal -input.y:4.9-10: invalid character after \-escape: ` ' +input.y:4.9-10: invalid character after \-escape: ' ' input.y:4.8-11: warning: empty character literal input.y:4.14-15: invalid character after \-escape: A input.y:4.13-16: warning: empty character literal diff --git a/tests/named-refs.at b/tests/named-refs.at index 4618d69e..c3721c03 100644 --- a/tests/named-refs.at +++ b/tests/named-refs.at @@ -255,16 +255,16 @@ exp: ]]) AT_BISON_CHECK([-o test.c test.y], 1, [], -[[test.y:50.51-60: invalid reference: `$<ival>lo9' +[[test.y:50.51-60: invalid reference: '$<ival>lo9' test.y:50.3-68: symbol not found in production: lo9 -test.y:51.51-60: warning: misleading reference: `$<ival>exp' +test.y:51.51-60: warning: misleading reference: '$<ival>exp' test.y:42.1-3: warning: refers to: $exp at $$ test.y:51.7: warning: possibly meant: $x, hiding $exp at $1 test.y:51.41: warning: possibly meant: $r, hiding $exp at $4 -test.y:52.51-52: $l of `exp' has no declared type -test.y:55.46-49: invalid reference: `$r12' +test.y:52.51-52: $l of 'exp' has no declared type +test.y:55.46-49: invalid reference: '$r12' test.y:55.3-53: symbol not found in production: r12 -test.y:56.29-33: invalid reference: `$expo' +test.y:56.29-33: invalid reference: '$expo' test.y:56.3-46: symbol not found in production: expo ]]) AT_CLEANUP @@ -280,7 +280,7 @@ foo: '1' foo.bar: '2' ]]) AT_BISON_CHECK([-o test.c test.y], 0, [], -[[test.y:11.22-29: warning: misleading reference: `$foo.bar' +[[test.y:11.22-29: warning: misleading reference: '$foo.bar' test.y:11.8-10: warning: refers to: $foo at $1 test.y:11.12-18: warning: possibly meant: $[foo.bar] at $2 ]]) @@ -356,43 +356,43 @@ factor: '(' expr ')' { $$ = $2; } ; ]]) AT_BISON_CHECK([-o test.c test.y], 1, [], -[[test.y:24.36-41: invalid reference: `$cond1' +[[test.y:24.36-41: invalid reference: '$cond1' test.y:23.11-24.62: symbol not found in production: cond1 -test.y:26.43-53: invalid reference: `$stmt.field' +test.y:26.43-53: invalid reference: '$stmt.field' test.y:25.11-26.60: symbol not found in production: stmt test.y:25.35-38: possibly meant: $then.field, hiding $stmt.field at $4 -test.y:28.43-52: invalid reference: `$stmt.list' +test.y:28.43-52: invalid reference: '$stmt.list' test.y:27.11-28.59: symbol not found in production: stmt test.y:27.30-38: possibly meant: $[stmt.list] at $4 -test.y:30.43-46: ambiguous reference: `$xyz' +test.y:30.43-46: ambiguous reference: '$xyz' test.y:29.35-37: refers to: $xyz at $4 test.y:29.50-52: refers to: $xyz at $6 -test.y:32.43-52: invalid reference: `$stmt.list' +test.y:32.43-52: invalid reference: '$stmt.list' test.y:31.11-32.63: symbol not found in production: stmt test.y:31.40-43: possibly meant: $then, hiding $[stmt.list] at $4 test.y:31.61-64: possibly meant: $else, hiding $[stmt.list] at $6 -test.y:34.43-58: invalid reference: `$stmt.list.field' +test.y:34.43-58: invalid reference: '$stmt.list.field' test.y:33.11-34.69: symbol not found in production: stmt test.y:33.40-43: possibly meant: $then.field, hiding $[stmt.list].field at $4 test.y:33.61-64: possibly meant: $else.field, hiding $[stmt.list].field at $6 -test.y:36.43-54: invalid reference: `$[stmt.list]' +test.y:36.43-54: invalid reference: '$[stmt.list]' test.y:35.11-36.71: symbol not found in production: stmt.list test.y:35.40-43: possibly meant: $then, hiding $[stmt.list] at $4 test.y:35.61-64: possibly meant: $else, hiding $[stmt.list] at $6 -test.y:38.43-49: invalid reference: `$then.1' +test.y:38.43-49: invalid reference: '$then.1' test.y:37.11-38.60: symbol not found in production: then test.y:37.40-45: possibly meant: $[then.1] at $4 -test.y:40.43-55: invalid reference: `$then.1.field' +test.y:40.43-55: invalid reference: '$then.1.field' test.y:39.11-40.66: symbol not found in production: then test.y:39.40-45: possibly meant: $[then.1].field at $4 -test.y:42.44-50: invalid reference: `$stmt.x' +test.y:42.44-50: invalid reference: '$stmt.x' test.y:41.12-42.57: symbol not found in production: stmt test.y:41.36-41: possibly meant: $[stmt.x].x, hiding $stmt.x at $4 test.y:41.36-41: possibly meant: $[stmt.x] at $4 -test.y:44.13-22: invalid reference: `$if-stmt-a' +test.y:44.13-22: invalid reference: '$if-stmt-a' test.y:43.12-44.59: symbol not found in production: if test.y:43.1-9: possibly meant: $[if-stmt-a] at $$ -test.y:46.46-54: invalid reference: `$then-a.f' +test.y:46.46-54: invalid reference: '$then-a.f' test.y:45.12-46.65: symbol not found in production: then test.y:45.41-46: possibly meant: $[then-a].f at $4 ]]) @@ -422,7 +422,7 @@ start: foo[ a d ] bar { s = $foo; } ]]) AT_BISON_CHECK([-o test.c test.y], 1, [], -[[test.y:11.15: unexpected identifier in bracketed name: `d' +[[test.y:11.15: unexpected identifier in bracketed name: 'd' ]]) AT_CLEANUP @@ -450,10 +450,10 @@ start: foo[ /* aaa */ *&-.+ ] bar { s = $foo; } ]]) AT_BISON_CHECK([-o test.c test.y], 1, [], -[[test.y:11.23: invalid character in bracketed name: `*' -test.y:11.24: invalid character in bracketed name: `&' -test.y:11.25: invalid character in bracketed name: `-' -test.y:11.27: invalid character in bracketed name: `+' +[[test.y:11.23: invalid character in bracketed name: '*' +test.y:11.24: invalid character in bracketed name: '&' +test.y:11.25: invalid character in bracketed name: '-' +test.y:11.27: invalid character in bracketed name: '+' ]]) AT_CLEANUP @@ -466,7 +466,7 @@ AT_DATA_GRAMMAR([test.y], start[a s]: foo; ]]) AT_BISON_CHECK([-o test.c test.y], 1, [], -[[test.y:11.9: unexpected identifier in bracketed name: `s' +[[test.y:11.9: unexpected identifier in bracketed name: 's' ]]) AT_CLEANUP @@ -513,37 +513,37 @@ sym_a: 'a'; sym_b: 'b'; ]]) AT_BISON_CHECK([-o test.c test.y], 1, [], -[[test.y:12.22-31: invalid reference: `$sym.field' +[[test.y:12.22-31: invalid reference: '$sym.field' test.y:12.3-35: symbol not found in production: sym -test.y:13.22-35: invalid reference: `$<aa>sym.field' +test.y:13.22-35: invalid reference: '$<aa>sym.field' test.y:13.3-39: symbol not found in production: sym -test.y:14.22-33: invalid reference: `$[sym.field]' +test.y:14.22-33: invalid reference: '$[sym.field]' test.y:14.3-37: symbol not found in production: sym.field -test.y:15.22-37: invalid reference: `$<aa>[sym.field]' +test.y:15.22-37: invalid reference: '$<aa>[sym.field]' test.y:15.3-41: symbol not found in production: sym.field -test.y:16.22-25: invalid reference: `$sym' +test.y:16.22-25: invalid reference: '$sym' test.y:16.3-29: symbol not found in production: sym -test.y:17.22-29: invalid reference: `$<aa>sym' +test.y:17.22-29: invalid reference: '$<aa>sym' test.y:17.3-33: symbol not found in production: sym -test.y:18.22-27: invalid reference: `$[sym]' +test.y:18.22-27: invalid reference: '$[sym]' test.y:18.3-65: symbol not found in production before $3: sym -test.y:18.52-61: invalid reference: `$<aa>[sym]' +test.y:18.52-61: invalid reference: '$<aa>[sym]' test.y:18.3-65: symbol not found in production: sym -test.y:22.22-31: invalid reference: `$sym-field' +test.y:22.22-31: invalid reference: '$sym-field' test.y:22.3-35: symbol not found in production: sym -test.y:23.22-35: invalid reference: `$<aa>sym-field' +test.y:23.22-35: invalid reference: '$<aa>sym-field' test.y:23.3-39: symbol not found in production: sym -test.y:24.22-33: invalid reference: `$[sym-field]' +test.y:24.22-33: invalid reference: '$[sym-field]' test.y:24.3-37: symbol not found in production: sym-field -test.y:25.22-37: invalid reference: `$<aa>[sym-field]' +test.y:25.22-37: invalid reference: '$<aa>[sym-field]' test.y:25.3-41: symbol not found in production: sym-field -test.y:26.22-25: invalid reference: `$sym' +test.y:26.22-25: invalid reference: '$sym' test.y:26.3-29: symbol not found in production: sym -test.y:27.22-29: invalid reference: `$<aa>sym' +test.y:27.22-29: invalid reference: '$<aa>sym' test.y:27.3-33: symbol not found in production: sym -test.y:28.22-27: invalid reference: `$[sym]' +test.y:28.22-27: invalid reference: '$[sym]' test.y:28.3-65: symbol not found in production before $3: sym -test.y:28.52-61: invalid reference: `$<aa>[sym]' +test.y:28.52-61: invalid reference: '$<aa>[sym]' test.y:28.3-65: symbol not found in production: sym ]]) AT_CLEANUP @@ -561,11 +561,11 @@ start: .field: ; ]]) AT_BISON_CHECK([[test.y]], [[1]], [], -[[test.y:4.12-18: invalid reference: `$.field' -test.y:4.13: syntax error after `$', expecting integer, letter, `_', `@<:@', or `$' +[[test.y:4.12-18: invalid reference: '$.field' +test.y:4.13: syntax error after '$', expecting integer, letter, '_', '@<:@', or '$' test.y:4.3-8: possibly meant: $[.field] at $1 -test.y:5.12-18: invalid reference: `@.field' -test.y:5.13: syntax error after `@', expecting integer, letter, `_', `@<:@', or `$' +test.y:5.12-18: invalid reference: '@.field' +test.y:5.13: syntax error after '@', expecting integer, letter, '_', '@<:@', or '$' ]]) AT_DATA([[test.y]], [[ @@ -576,7 +576,7 @@ start: ; ]]) AT_BISON_CHECK([[test.y]], [[0]], [], -[[test.y:4.9: warning: stray `$' -test.y:5.9: warning: stray `@' +[[test.y:4.9: warning: stray '$' +test.y:5.9: warning: stray '@' ]]) AT_CLEANUP diff --git a/tests/output.at b/tests/output.at index 95343bbe..058ae89a 100644 --- a/tests/output.at +++ b/tests/output.at @@ -72,7 +72,7 @@ AT_CHECK_OUTPUT([foo.y], [%defines %verbose %yacc],[], AT_CHECK_OUTPUT([foo.yy], [%defines %verbose %yacc],[], [y.output y.tab.c y.tab.h]) -# Exercise %output and %file-prefix including deprecated `=' +# Exercise %output and %file-prefix including deprecated '=' AT_CHECK_OUTPUT([foo.y], [%file-prefix "bar" %defines %verbose], [], [bar.output bar.tab.c bar.tab.h]) AT_CHECK_OUTPUT([foo.y], [%output="bar.c" %defines %verbose %yacc],[], @@ -157,21 +157,21 @@ AT_CLEANUP AT_CHECK_CONFLICTING_OUTPUT([foo.y], [], [--graph="foo.tab.c"], -[foo.y: warning: conflicting outputs to file `foo.tab.c' +[foo.y: warning: conflicting outputs to file 'foo.tab.c' ]) AT_CHECK_CONFLICTING_OUTPUT([foo.y], [%defines "foo.output"], [-v], -[foo.y: warning: conflicting outputs to file `foo.output' +[foo.y: warning: conflicting outputs to file 'foo.output' ]) AT_CHECK_CONFLICTING_OUTPUT([foo.y], [%skeleton "lalr1.cc" %defines], [--graph="location.hh"], -[foo.y: warning: conflicting outputs to file `location.hh' +[foo.y: warning: conflicting outputs to file 'location.hh' ]) AT_CHECK_CONFLICTING_OUTPUT([foo.y], [], [-o foo.y], -[foo.y: refusing to overwrite the input file `foo.y' +[foo.y: refusing to overwrite the input file 'foo.y' ], 1) @@ -213,7 +213,7 @@ AT_CLEANUP ]) # Notice that the header file name here cannot contain -# `"' since FILENAME in `#include "FILENAME"' cannot. +# '"' since FILENAME in '#include "FILENAME"' cannot. AT_CHECK_OUTPUT_FILE_NAME([[`~!@#$%^&*()-=_+{}[]|\:;<>, .']]) dnl Work around a bug in m4_expand that broke AT_SETUP in autoconf 2.62, dnl by using the definition from 2.63. diff --git a/tests/regression.at b/tests/regression.at index c7ed4b74..e71df138 100644 --- a/tests/regression.at +++ b/tests/regression.at @@ -162,7 +162,7 @@ AT_CLEANUP AT_SETUP([Braces parsing]) AT_DATA([input.y], -[[/* Bison used to swallow the character after `}'. */ +[[/* Bison used to swallow the character after '}'. */ %% exp: { tests = {{{{{{{{{{}}}}}}}}}}; }; @@ -184,7 +184,7 @@ AT_CLEANUP AT_SETUP([Duplicate string]) AT_DATA([input.y], -[[/* `Bison -v' used to dump core when two tokens are defined with the same +[[/* 'Bison -v' used to dump core when two tokens are defined with the same string, as LE and GE below. */ %token NUM @@ -197,7 +197,7 @@ exp: '(' exp ')' | NUM ; ]]) AT_BISON_CHECK([-v -o input.c input.y], 0, [], -[[input.y:6.8-14: warning: symbol `"<="' used more than once as a literal string +[[input.y:6.8-14: warning: symbol '"<="' used more than once as a literal string ]]) AT_CLEANUP @@ -387,14 +387,14 @@ default: 'a' } ]]) AT_BISON_CHECK([input.y], [1], [], -[[input.y:2.1: invalid character: `?' -input.y:3.14: invalid character: `}' -input.y:4.1: invalid character: `%' -input.y:4.2: invalid character: `&' -input.y:5.1-17: invalid directive: `%a-does-not-exist' -input.y:6.1: invalid character: `%' -input.y:6.2: invalid character: `-' -input.y:7.1-8.0: missing `%}' at end of file +[[input.y:2.1: invalid character: '?' +input.y:3.14: invalid character: '}' +input.y:4.1: invalid character: '%' +input.y:4.2: invalid character: '&' +input.y:5.1-17: invalid directive: '%a-does-not-exist' +input.y:6.1: invalid character: '%' +input.y:6.2: invalid character: '-' +input.y:7.1-8.0: missing '%}' at end of file input.y:7.1-8.0: syntax error, unexpected %{...%} ]]) @@ -428,7 +428,7 @@ AT_CLEANUP AT_SETUP([Token definitions]) -# Bison managed, when fed with `%token 'f' "f"' to #define 'f'! +# Bison managed, when fed with '%token 'f' "f"' to #define 'f'! AT_DATA_GRAMMAR([input.y], [%{ #include <stdlib.h> @@ -475,7 +475,7 @@ main (void) # the user specification is eliminated. AT_BISON_CHECK([-o input.c input.y], [[0]], [[]], [[input.y:22.8-14: warning: symbol SPECIAL redeclared -input.y:22.8-63: warning: symbol `"\\'?\"\a\b\f\n\r\t\v\001\201\001\201??!"' used more than once as a literal string +input.y:22.8-63: warning: symbol '"\\'?\"\a\b\f\n\r\t\v\001\201\001\201??!"' used more than once as a literal string ]]) AT_COMPILE([input]) @@ -524,7 +524,7 @@ AT_CLEANUP # The generation of the reduction was once wrong in Bison, and made it # miss some reductions. In the following test case, the reduction on -# `undef_id_tok' in state 1 was missing. This is stripped down from +# 'undef_id_tok' in state 1 was missing. This is stripped down from # the actual web2c.y. AT_SETUP([Web2c Report]) @@ -686,7 +686,7 @@ AT_CLEANUP ## Web2c Actions. ## ## --------------- ## -# The generation of the mapping `state -> action' was once wrong in +# The generation of the mapping 'state -> action' was once wrong in # extremely specific situations. web2c.y exhibits this situation. # Below is a stripped version of the grammar. It looks like one can # simplify it further, but just don't: it is tuned to exhibit a bug, @@ -1157,7 +1157,7 @@ AT_SETUP([[Extra lookahead sets in report]]) # state's one item that (1) is associated with the same rule as the reduction # and (2) has its dot at the end of its RHS. Previously, Bison also # erroneously printed the lookahead set next to all of the state's other items -# associated with the same rule. This bug affected only the `.output' file and +# associated with the same rule. This bug affected only the '.output' file and # not the generated parser source code. AT_DATA([[input.y]], |