DoS: Infinite loop in parser when ruby script contains an unclosed heredoc named with empty string

Reproduction

MRI

$ ruby -v
ruby 3.1.1p18 (2022-02-18 revision 53f5fc4236) [x86_64-darwin21]
$ ruby -e "+<<''&"
-e:1: can't find string "" anywhere before EOF
-e:1: syntax error, unexpected end-of-input
+<<''&
$ ruby -e "<<'DOC'&"
-e:1: can't find string "DOC" anywhere before EOF
-e:1: syntax error, unexpected end-of-input
<<'DOC'&

mruby

$ /usr/local/var/rbenv/versions/mruby-3.0.0/bin/mruby -v
mruby 3.0.0 (2021-03-05)
$ /usr/local/var/rbenv/versions/mruby-3.0.0/bin/mruby -e "+<<''&"
-e:3:0: syntax error, unexpected tHEREDOC_END
^C
$ /usr/local/var/rbenv/versions/mruby-3.0.0/bin/mruby -e "<<'DOC'&"
-e:3:0: can't find heredoc delimiter "DOC" anywhere before EOF
-e:3:0: syntax error, unexpected $end