Propagate parser_params to rb_yytnamerr

This commit is contained in:
Nobuyoshi Nakada 2019-05-10 16:40:34 +09:00
Родитель 9a4d39b95e
Коммит 15f45ae4d1
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4BC7D6DF58D8DF60
2 изменённых файлов: 6 добавлений и 3 удалений

Просмотреть файл

@ -649,8 +649,8 @@ rb_strterm_mark(VALUE obj)
}
#endif
#define yytnamerr(yyres, yystr) (YYSIZE_T)rb_yytnamerr(yyres, yystr)
size_t rb_yytnamerr(char *yyres, const char *yystr);
#define yytnamerr(yyres, yystr) (YYSIZE_T)rb_yytnamerr(p, yyres, yystr)
size_t rb_yytnamerr(struct parser_params *p, char *yyres, const char *yystr);
#define TOKEN2ID(tok) ( \
tTOKEN_LOCAL_BEGIN<(tok)&&(tok)<tTOKEN_LOCAL_END ? TOKEN2LOCALID(tok) : \
@ -12273,8 +12273,9 @@ count_char(const char *str, int c)
* "\"`class' keyword\"" => "`class' keyword"
*/
RUBY_FUNC_EXPORTED size_t
rb_yytnamerr(char *yyres, const char *yystr)
rb_yytnamerr(struct parser_params *p, char *yyres, const char *yystr)
{
YYUSE(p);
if (*yystr == '"') {
size_t yyn = 0, bquote = 0;
const char *yyp = yystr;

Просмотреть файл

@ -67,6 +67,8 @@ a\
/^yy_reduce_print/,/^}/{
s/fprintf *(stderr,/YYFPRINTF (p,/g
}
s/^yysyntax_error (/&struct parser_params *p, /
s/YYSYNTAX_ERROR yysyntax_error (/&p, /
s/\( YYFPRINTF *(\)yyoutput,/\1p,/
s/\( YYFPRINTF *(\)yyo,/\1p,/
s/\( YYFPRINTF *(\)stderr,/\1p,/