mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 04:13:03 +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 ?.? (????-??-??):
|
* 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
|
** Additional yylex/yyparse arguments
|
||||||
|
|
||||||
The new directive %param declare additional argument to both yylex
|
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
|
determine which destructor to call for the lookahead upon a syntax
|
||||||
error or upon parser return. This bug has been fixed.
|
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 (????-??-??):
|
* Changes in version 2.4.3 (????-??-??):
|
||||||
|
|
||||||
** Problems with spawning M4 on at least FreeBSD 8 and FreeBSD 9 have
|
** Problems with spawning M4 on at least FreeBSD 8 and FreeBSD 9 have
|
||||||
|
|||||||
Reference in New Issue
Block a user