まつもと ゆきひろです

In message "[ruby-math:00831] Re: [ruby-dev:19316] Re:  Re: -3**2 == 9 ?"
    on 03/01/22, Tanaka Akira <akr / m17n.org> writes:

|> 今のCVSでは結局1.6の挙動に戻してます。が、これが良いかという
|> と全然納得してないんですけど。
|
|まず、どういう挙動にしたいのかという仕様が問題でしょう。どうもそのへん
|がはっきりしないんですよね。

まったくです。いや、矛盾の少ない仕様がそうそうあるわけではな
いので並べて考えたいという甘えた気持ちはあるのですが。

|merd の horizontal layout についてはどう思います?
|http://merd.net/choices_syntax.html#horizontal_layout

私は好きです。が、ちょっとRubyの「保守的」という方針からは離
れちゃうかなあ。

|> もうちょっと具体的にお願いします。ちょっと考えたんですが、よ
|> くわかりませんでした。
|
|直後が [0-9.] な - は tNUMUMINUS にして
|
|arg : ...
|                | arg tPOW arg
|                | tNUMUMINUS tINTEGER tPOW arg
|                | tNUMUMINUS tFLOAT tPOW arg
|                | ...
|
|numeric         : tINTEGER
|                | tFLOAT
|                | tNUMUMINUS tINTEGER
|                | tNUMUMINUS tFLOAT
|
|というようなのを想定しています。むろんこれは曖昧で shift/reduce
|conflict が出るんですが、仕様を実現するには常に shift を選べばいいので、
|parse するぶんにはとくに問題ありません。

なる。

|これがなぜマシかというと、文法だけ取り出しても困んないところが良いわけ
|です。parser を再利用しようとすると、ああいう怪しげな所は扱いが難しく
|て、例えば xmlize ではなにも対処してないので XML 化した結果を読み込む
|プログラムが 1.6 と同様な怪しげなことする必要が出て来ます。おそらく
|ripper も同様ですし、Rite に入ると噂される parser module でも事情は同
|じかもしれません。というわけでああいう怪しげなところはなくなってくれる
|に越したことはない、と思っています。

いや、まったくです。1.8で当初あのようにした最大の理由がそれ
ですから。