mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
NEWS: fix chronology.
* NEWS (C++ parsers use YYRHSLOC): Move from ?.? to 2.5.
This commit is contained in:
78
NEWS
78
NEWS
@@ -3,42 +3,6 @@ Bison News
|
||||
|
||||
* Changes in version ?.? (????-??-??):
|
||||
|
||||
** C++ parsers use YYRHSLOC
|
||||
|
||||
Similarly to the C parsers, the C++ parsers now define the YYRHSLOC
|
||||
macro and use it in the default YYLLOC_DEFAULT. You are encouraged
|
||||
to use it. If, for instance, your location structure has "first"
|
||||
and "last" members, instead of
|
||||
|
||||
# define YYLLOC_DEFAULT(Current, Rhs, N) \
|
||||
do \
|
||||
if (N) \
|
||||
{ \
|
||||
(Current).first = (Rhs)[1].location.first; \
|
||||
(Current).last = (Rhs)[N].location.last; \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
(Current).first = (Current).last = (Rhs)[0].location.last; \
|
||||
} \
|
||||
while (false)
|
||||
|
||||
use:
|
||||
|
||||
# define YYLLOC_DEFAULT(Current, Rhs, N) \
|
||||
do \
|
||||
if (N) \
|
||||
{ \
|
||||
(Current).first = YYRHSLOC (Rhs, 1).first; \
|
||||
(Current).last = YYRHSLOC (Rhs, N).last; \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
(Current).first = (Current).last = YYRHSLOC (Rhs, 0).last; \
|
||||
} \
|
||||
while (false)
|
||||
|
||||
|
||||
** Additional yylex/yyparse arguments
|
||||
|
||||
The new directive %param declare additional argument to both yylex
|
||||
@@ -266,6 +230,48 @@ Bison News
|
||||
determine which destructor to call for the lookahead upon a syntax
|
||||
error or upon parser return. This bug has been fixed.
|
||||
|
||||
** C++ parsers use YYRHSLOC
|
||||
|
||||
Similarly to the C parsers, the C++ parsers now define the YYRHSLOC
|
||||
macro and use it in the default YYLLOC_DEFAULT. You are encouraged
|
||||
to use it. If, for instance, your location structure has "first"
|
||||
and "last" members, instead of
|
||||
|
||||
# define YYLLOC_DEFAULT(Current, Rhs, N) \
|
||||
do \
|
||||
if (N) \
|
||||
{ \
|
||||
(Current).first = (Rhs)[1].location.first; \
|
||||
(Current).last = (Rhs)[N].location.last; \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
(Current).first = (Current).last = (Rhs)[0].location.last; \
|
||||
} \
|
||||
while (false)
|
||||
|
||||
use:
|
||||
|
||||
# define YYLLOC_DEFAULT(Current, Rhs, N) \
|
||||
do \
|
||||
if (N) \
|
||||
{ \
|
||||
(Current).first = YYRHSLOC (Rhs, 1).first; \
|
||||
(Current).last = YYRHSLOC (Rhs, N).last; \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
(Current).first = (Current).last = YYRHSLOC (Rhs, 0).last; \
|
||||
} \
|
||||
while (false)
|
||||
|
||||
** YYLLOC_DEFAULT in C++
|
||||
|
||||
The default implementation of YYLLOC_DEFAULT used to be issued in
|
||||
the header file. It is now output in the implementation file, after
|
||||
the user %code sections so that its #ifndef guard does not try to
|
||||
override the user's YYLLOC_DEFAULT if provided.
|
||||
|
||||
* Changes in version 2.4.3 (????-??-??):
|
||||
|
||||
** Problems with spawning M4 on at least FreeBSD 8 and FreeBSD 9 have
|
||||
|
||||
Reference in New Issue
Block a user