From 4449dcac15c64d93462babaacb6fd8bf4c5d3c6b Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Mon, 25 Sep 2023 17:56:41 +0900 Subject: [PATCH] Reduce stack usage in `string_content` --- parse.y | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/parse.y b/parse.y index 02eca2eee3..a9890d9535 100644 --- a/parse.y +++ b/parse.y @@ -5401,17 +5401,13 @@ string_content : tSTRING_CONTENT /*% %*/ /*% ripper: string_dvar!($3) %*/ } - | tSTRING_DBEG + | tSTRING_DBEG[term] { CMDARG_PUSH(0); COND_PUSH(0); - } - { /* need to backup p->lex.strterm so that a string literal `%!foo,#{ !0 },bar!` can be parsed */ - $$ = p->lex.strterm; + $term = p->lex.strterm; p->lex.strterm = 0; - }[term] - { $$ = p->lex.state; SET_LEX_STATE(EXPR_BEG); }[state]