(YYRHSLOC): New macro, taken from glr.c.

(YYLLOC_DEFAULT): Use the same macro as glr.c.
This commit is contained in:
Paul Eggert
2004-12-12 09:25:24 +00:00
parent 766de5eb7c
commit 24e0cbd0e1

View File

@@ -510,22 +510,25 @@ while (0)
If N is 0, then set CURRENT to the empty location which ends If N is 0, then set CURRENT to the empty location which ends
the previous symbol: RHS[0] (always defined). */ the previous symbol: RHS[0] (always defined). */
#define YYRHSLOC(Rhs, K) ((Rhs)[K])
#ifndef YYLLOC_DEFAULT #ifndef YYLLOC_DEFAULT
# define YYLLOC_DEFAULT(Current, Rhs, N) \ # define YYLLOC_DEFAULT(Current, Rhs, N) \
do { \ do \
if (N) \ if (N) \
{ \ { \
(Current).first_line = (Rhs)[1].first_line; \ (Current).first_line = YYRHSLOC(Rhs, 1).first_line; \
(Current).first_column = (Rhs)[1].first_column; \ (Current).first_column = YYRHSLOC(Rhs, 1).first_column; \
(Current).last_line = (Rhs)[N].last_line; \ (Current).last_line = YYRHSLOC(Rhs, N).last_line; \
(Current).last_column = (Rhs)[N].last_column; \ (Current).last_column = YYRHSLOC(Rhs, N).last_column; \
} \ } \
else \ else \
{ \ { \
(Current).first_line = (Current).last_line = (Rhs)[0].last_line; \ (Current).first_line = (Current).last_line = \
(Current).first_column = (Current).last_column = (Rhs)[0].last_column; \ YYRHSLOC(Rhs, 0).last_line; \
} \ (Current).first_column = (Current).last_column = \
} while(0) YYRHSLOC(Rhs, 0).last_column; \
} \
while (0)
#endif #endif