From: matz@... (Yukihiro Matsumoto) Date: 2002-06-22T00:12:09+09:00 Subject: [ruby-dev:17540] Re: broken string when unterminated "#{". まつもと ゆきひろです In message "[ruby-dev:17539] Re: broken string when unterminated "#{"." on 02/06/21, Tanaka Akira writes: |この件に関しては、表明はしてみたものの同意が得られるとは思ってませんで |した。here document の中で __END__ を効かせるという話にしても、上位の |終端が下位でも効くようなのが好みかと推測しておりました。 いや、最初はそのほうが良いだろうと思ってたのは確かなんですけ どね。でも、いろいろ考えているうちに田中さんの主張ももっとも だと感じるようになりました。 |# でも、それを押し進めると dylan みたいに end if などと書く方向にいく? 昔はoptionalで許してたんですよ。modifier ifなどを加える前は。 |> あるいは当面yylex()をいじって「\"」は「"」と解釈するようにし |> ておいて、警告を出すようにするとか。 | |yylex() と同時に、parse_string などもいじらないと string 終端の \" の |認識で失敗するのではないかという気がします。 |(パッチは見ていないのでまとはずれだったら済みません) 今やってみたら、その通りでした。 |yylex() で \" を見つけたら parse_string などでは \" を終端とみなす、と |すれば動くんじゃないですかね。 もう、エラーにしちゃって「直してね」でいいような気がしてきま した。誰かから「互換性はどうした」とか突っ込まれそう。^^;;; |# という知見をここ一週間手掛けている Ruby パーザの経験から得た気もしま |# す。 そんなものを。ぜひ見たいものです。