mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
lalrl1.cc: give a chance to user defined YYLLOC_DEFAULT.
* data/lalr1.cc (YYLLOC_DEFAULT): Move its definition from the header file to the implementation file, after the user %code sections. * NEWS: Document it. Conflicts: ChangeLog data/lalr1.cc
This commit is contained in:
@@ -1,3 +1,11 @@
|
|||||||
|
2010-05-11 Akim Demaille <demaille@gostai.com>
|
||||||
|
|
||||||
|
lalrl1.cc: give a chance to user defined YYLLOC_DEFAULT.
|
||||||
|
* data/lalr1.cc (YYLLOC_DEFAULT): Move its definition from the
|
||||||
|
header file to the implementation file, after the user %code
|
||||||
|
sections.
|
||||||
|
* NEWS (2.5): Document this.
|
||||||
|
|
||||||
2010-05-07 Akim Demaille <demaille@gostai.com>
|
2010-05-07 Akim Demaille <demaille@gostai.com>
|
||||||
|
|
||||||
c++: use YYRHSLOC.
|
c++: use YYRHSLOC.
|
||||||
|
|||||||
7
NEWS
7
NEWS
@@ -215,6 +215,13 @@ Bison News
|
|||||||
} \
|
} \
|
||||||
while (false)
|
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
|
||||||
|
|||||||
@@ -69,26 +69,6 @@ dnl FIXME: This is wrong, we want computed header guards.
|
|||||||
# define YYTOKEN_TABLE ]b4_token_table[
|
# define YYTOKEN_TABLE ]b4_token_table[
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
|
|
||||||
If N is 0, then set CURRENT to the empty location which ends
|
|
||||||
the previous symbol: RHS[0] (always defined). */
|
|
||||||
|
|
||||||
#define YYRHSLOC(Rhs, K) ((Rhs)[K])
|
|
||||||
#ifndef YYLLOC_DEFAULT
|
|
||||||
# define YYLLOC_DEFAULT(Current, Rhs, N) \
|
|
||||||
do \
|
|
||||||
if (N) \
|
|
||||||
{ \
|
|
||||||
(Current).begin = YYRHSLOC (Rhs, 1).begin; \
|
|
||||||
(Current).end = YYRHSLOC (Rhs, N).end; \
|
|
||||||
} \
|
|
||||||
else \
|
|
||||||
{ \
|
|
||||||
(Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \
|
|
||||||
} \
|
|
||||||
while (false)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
]b4_namespace_open[
|
]b4_namespace_open[
|
||||||
|
|
||||||
/// A Bison parser.
|
/// A Bison parser.
|
||||||
@@ -331,6 +311,26 @@ b4_percent_code_get[]dnl
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
|
||||||
|
If N is 0, then set CURRENT to the empty location which ends
|
||||||
|
the previous symbol: RHS[0] (always defined). */
|
||||||
|
|
||||||
|
#define YYRHSLOC(Rhs, K) ((Rhs)[K])
|
||||||
|
#ifndef YYLLOC_DEFAULT
|
||||||
|
# define YYLLOC_DEFAULT(Current, Rhs, N) \
|
||||||
|
do \
|
||||||
|
if (N) \
|
||||||
|
{ \
|
||||||
|
(Current).begin = YYRHSLOC (Rhs, 1).begin; \
|
||||||
|
(Current).end = YYRHSLOC (Rhs, N).end; \
|
||||||
|
} \
|
||||||
|
else \
|
||||||
|
{ \
|
||||||
|
(Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \
|
||||||
|
} \
|
||||||
|
while (false)
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Suppress unused-variable warnings by "using" E. */
|
/* Suppress unused-variable warnings by "using" E. */
|
||||||
#define YYUSE(e) ((void) (e))
|
#define YYUSE(e) ((void) (e))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user