mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 04:13:03 +00:00
global: remove unnecessary horizontal tabs.
This change was made by applying emacs' untabify function to nearly all files in Bison's repository. Required tabs in make files, ChangeLog, regexps, and test code were manually skipped. Other notable exceptions and changes are listed below. * bootstrap: Skip because we sync this with gnulib. * data/m4sugar/foreach.m4 * data/m4sugar/m4sugar.m4: Skip because we sync these with Autoconf. * djgpp: Skip because I don't know how to test djgpp properly, and this code appears to be unmaintained anyway. * README-hacking (Hacking): Specify that tabs should be avoided where not required.
This commit is contained in:
22
NEWS
22
NEWS
@@ -894,26 +894,26 @@ Bison News
|
||||
if the symbols have destructors. For instance:
|
||||
|
||||
exp: exp "?" exp ":" exp { $1 ? $1 : $3; }
|
||||
| exp "+" exp
|
||||
;
|
||||
| exp "+" exp
|
||||
;
|
||||
|
||||
will trigger a warning about $$ and $5 in the first rule, and $3 in
|
||||
the second ($1 is copied to $$ by the default rule). This example
|
||||
most likely contains three errors, and could be rewritten as:
|
||||
|
||||
exp: exp "?" exp ":" exp
|
||||
{ $$ = $1 ? $3 : $5; free ($1 ? $5 : $3); free ($1); }
|
||||
| exp "+" exp
|
||||
{ $$ = $1 ? $1 : $3; if ($1) free ($3); }
|
||||
;
|
||||
{ $$ = $1 ? $3 : $5; free ($1 ? $5 : $3); free ($1); }
|
||||
| exp "+" exp
|
||||
{ $$ = $1 ? $1 : $3; if ($1) free ($3); }
|
||||
;
|
||||
|
||||
However, if the original actions were really intended, memory leaks
|
||||
and all, the warnings can be suppressed by letting Bison believe the
|
||||
values are used, e.g.:
|
||||
|
||||
exp: exp "?" exp ":" exp { $1 ? $1 : $3; (void) ($$, $5); }
|
||||
| exp "+" exp { $$ = $1; (void) $3; }
|
||||
;
|
||||
| exp "+" exp { $$ = $1; (void) $3; }
|
||||
;
|
||||
|
||||
If there are mid-rule actions, the warning is issued if no action
|
||||
uses it. The following triggers no warning: $1 and $3 are used.
|
||||
@@ -1157,16 +1157,16 @@ Bison News
|
||||
In agreement with POSIX and with other Yaccs, leaving a default
|
||||
action is valid when $$ is untyped, and $1 typed:
|
||||
|
||||
untyped: ... typed;
|
||||
untyped: ... typed;
|
||||
|
||||
but the converse remains an error:
|
||||
|
||||
typed: ... untyped;
|
||||
typed: ... untyped;
|
||||
|
||||
** Values of mid-rule actions
|
||||
The following code:
|
||||
|
||||
foo: { ... } { $$ = $1; } ...
|
||||
foo: { ... } { $$ = $1; } ...
|
||||
|
||||
was incorrectly rejected: $1 is defined in the second mid-rule
|
||||
action, and is equal to the $$ of the first mid-rule action.
|
||||
|
||||
Reference in New Issue
Block a user