市川です。
	
On Thu, 22 Oct 1998 18:41:29 +0900
Junichi Kurokawa <jun / mew.gol.com> wrote:
> Reply-To: ruby-devとしました。

	ruby-devには参加していないのでここで。
	(よくないでしょうか)

> yacc(1)で書けないというのは深い先読みが必要であるということですか。
> 
> また、こうなると「foo.each;」に意味があるのか否かを吟味する必要があると
> 思いますが。

	これは
	foo.hogehoge;
	に意味があるかというより、
	改行 .... ゆるやかな式の区切り (確定できれば確定)
	';' ..... 明示的な式の区切り
	というrubyの文法仕様のことを言っているんですよね?
	
	手元の1.1c2では、
		print 3.to_s { print "g" }
		print "f"
	の出力が
		3f
	で、to_sは与えられたブロックを無視しています。
	parse errorにもなりません。
		print 3.to_s
		{ print "g" }
		print "f"
	では、2行目に与えたブロックのところでparse errorに
	なりました。
		print 3.to_s; { print "g" }
		print "f"
	はもちろんブロックのところでparse errorです。
	というわけで、パーサーはメソッドの後のブロックを一応
	「イテレータブロックかもしれない」として評価しているように
	思えました。
	
	もしかして「改行は文の区切りになりえない」という仕様に
	変えたら改行をはさんだブロックも評価できるようになるのかな、
	と思いましたがどうでしょう。
	でもいちいち';'をつけなくてもいいrubyの仕様って気に入ってる
	ので、今のままのほうがいいなぁ。

-----
市川 裕隆     hirotaka.ichikawa / tosmec.toshiba.co.jp
東芝マイクロエレクトロニクス CAD基礎技術開発担当